'instance'에 해당되는 글 2건

  1. 2010.01.18 [SC] Structure
  2. 2009.10.21 SystemC : Module을 인스턴스 할 때에 파라미터 전달 하기.
ASIC SoC2010. 1. 18. 17:04
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
Posted by GUNDAM_IM
ASIC SoC2009. 10. 21. 12:55

SystemC에서 Module을 생성할 때에 파라미터를 전달하는 방법이 가끔 필요합니다.

같은 모듈을 인스턴스로 생성시키지만, 특정 파라미터를 바꾸어서 동작을 틀리게 할 경우에 유용하게 사용할 수 있습니다.


이런 경우에 아래와 같이 구성하면 됩니다.


#if 0

SC_CTOR(AXI_TestMaster)  {

// main function

SC_CTHREAD(AXI_TM_entry,CLK.pos());

}//end of SC_CTOR

#else

SC_HAS_PROCESS(AXI_TestMaster);

AXI_TestMaster(sc_module_name nm, char * filename = "Default.tsq") : sc_module(nm) {

// main function

FileName = filename;

SC_CTHREAD(AXI_TM_entry,CLK.pos());

}

#endif


........
사용 예
      AXI_TestMaster AXI_TM0("TestMaster0.cfg");
      AXI_TestMaster AXI_TM1("TestMaster1.cfg");
      AXI_TestMaster AXI_TM2("TestMaster2.cfg");

각각의 모듈이 기본적인 동작은 같지만 운용 방법을 조금 씩 틀리게 할 경우 위와 같이 준비하여 두면 편리합니다.

이 방식에 대한 참고 사이트는 아래와 같습니다.

http://www.doulos.com/knowhow/systemc/faq/
 

'ASIC SoC' 카테고리의 다른 글

SystemC에서 배포가능 버전 만들기  (0) 2009.11.01
취업 씨즌이 시작되었군요  (0) 2009.10.27
SystemC에서 typdedef과 switch사이의 관계  (0) 2009.09.25
SystemC : Thread 2nd  (0) 2009.08.26
GTKWave 를 OSX에서 구동하기  (0) 2009.08.24
Posted by GUNDAM_IM