SystemC로 설계하는 도중에 정리를 하지 못한것이 있었습니다.
- 이 문제로 반나절을 버그 찾느라고 날렸습니다.
- 알고나면 아주 간단한건데 역시 모르면 닭질하는군요
이 내용는 KAP의 SystemC: from the ground up에서 가지고 왔습니다.
Chapter 10절에 해당하는 내용입니다.
계층적으로 설계할 경우 서브 모듈에서 다른 서브 모듈을 불러서 할 경우 2가지 방법이 있습니다.
하나는 Direct sub module header only implementation 방식이고
다른 하나는 Indirect sub module header only implementation 방식입니다.
아래와 같은 방식이 전자인 직접 연결 방식입니다.
SC_MODULE(body)
{
.......
Wheel wheel_R ;
Wheel wheel_L ;
........
CTOR(body)
: wheel_R("WHEEL_R"),
wheel_L("WHEEL_L")
{
......
......
}
};
아래 방식이 간접 연결 방식입니다.
SC_MODULE(body)
{
.......
Wheel pWheel_R ;
Wheel pWheel_L ;
........
CTOR(body)
{
......
pWheel_R = new Wheel("Wheel_R");
pWheel_L = new Wheel("Wheel_L");
......
}
...
};
차이점은 직접 인스턴스를 만드느냐 아니면 포인터로 받느냐 입니다.
에궁 이 단순한것도 몰라서 고생하다니 웬지 억울합니다.
매뉴얼 안보고 게임하는거나 같군요
'ASIC SoC' 카테고리의 다른 글
HD Quad Display/Processing Engine (1) | 2010.03.12 |
---|---|
Sound Effect Processor (0) | 2010.02.01 |
[MIPS] OSX에서 MIPS C Compiler를 빌드하기 (0) | 2009.12.17 |
PERL TIP (0) | 2009.12.05 |
Timing Chart (0) | 2009.11.08 |