2017-04-21 7 views
0

여러 모듈을 동시에 인스턴스화하여 동일한 FIFO에서 읽고 동시에 읽을 수는 없다고 가정 할 수 있습니까? 예를 들어동일한 모듈을 읽는 배수 모듈

:

int _tmain(int argc, _TCHAR* argv[]) 
{ 
    sc_fifo<int> PacketTx(24); 
    sc_fifo<int> PacketRx(20); 

    Transmit t1("Transmit"); 
    t1.PacketRx(PacketRx); 
    t1.PacketTx(PacketTx); 

    Receive r1("Receive1"); 
    r1.PacketTx(PacketRx); 
    r1.PacketRx(PacketTx); 

    Receive r2("Receive2"); 
    r2.PacketTx(PacketRx); 
    r2.PacketRx(PacketTx); 

    sc_start(); 

    return 0; 
} 

답변

0

그것은 가능하지만 당신은 모듈의에 동기화 신호를 추가해야합니다.

귀하의 요구 사항에 가까운 샘플 구현을 위해서는 SystemC 소스 코드 Accellera SystemC 다운로드 페이지에서 사용 가능합니다.

다운로드 "코어의 SystemC 언어 및 예"zip 파일 :

  • 파일의 압축을 풉니 다.
  • 디렉토리로 이동하여 ""디렉토리를 찾으십시오.

    • 예/SysC에/pkt_switch/
      참고 :이 예에서는 사용하지 않는 sc_fifo 년대하지만 sc_in/출력 포트의를 활용 예에 따라

    귀하의 요구 사항에 더 가깝다.

  • 예/sysc/simple_bus/
    참고 :이 예제는 CPU 버스 모델을 모델링하는 유스 케이스를 보여줍니다. 이 예제는 현재 sc_fifo를 활용하지 않습니다.

그러나 구현 세부 정보에 대해 훨씬 더 좋은 아이디어를 얻을 수 있습니다.