본문 바로가기

반응형

SystemC

(4)
Ch6. Process Process 는 SytemC에서 기본적인 실행 단위 이다. SystemC에서 Proecess는 아래 3가지 종류가 있다. * Method * Thread * Clock Thread 각 preocess는 공히 sensitivity list라는 것을 갖는데, sensitivity list에 기술된 signal에 event가 발생할 때 process가 실행된다. 여기서 evnet라 함은 signal의 value가 바뀌는 것을 말한다. 1. Method Method는 sensitivity list 에 기술된 signal의 event가 발생할 경우 시작하고 순차적으로 실행된 후에 simulation kernel로 return한다. example) #include "systemc.h" SC_MODULE(my_mo..
Ch5. sc_export 사용하기 SystemC 2.1에서 부터 sc_export가 도입 되었다. sc_port와 뭔가 유사할 것 같은 느낌이 들지 않는가? 그렇다. sc_port는 sc_interface class를 매개로 하여 channel과 연결되고 이 channel은 또다른 sc_port와 연결 된다는 것을 배웠다. 즉 하나의 모듈에서 다른 모듈과 연결 되려면 반드시 channel을 통해야 한다. 하지만 sc_export를 사용하면 channel을 통할 필요 없이 직접 다른 모듈의 sc_port와 연결할 수 있다. 이것의 의미는 interface 구현 함수를 구현 하는channel을 module안으로 가져온다는 의미이다. 다시 말해 A라는 module과 B라는 모듈을 연결하기 위해 C라는 channel을 사용하는 경우 기존 sc_..
Ch4. SystemC 활용하기 - 사용자 정의 인터페이스/채널 앞선 장에서 모듈간 통신을 위해 Interface/port/channel이 필요하다는 것을 배웠다. SystemC에서 제공하는 in/output port와 primitive channel을 이용하여 하드웨어 통신을 모델링할 수 있었다. 그러나 SystemC를 제대로 활용하기 위해서는 이것으론 부족하다. 기존의 RTL level 모델링은 Verilog/VHDL과 같은 HDL이 더 편리할 것이다. 진정 SystemC가 필요한 부분은 좀 더 high level의 모델링과 검증 분야이다. 나중에 이야기할 기회가 있겠지만 SCV(SystemC Verification Standard)와 같은 library로 검증 분야에서 SystemC는 훌륭한 기능을 발휘할 수 있게 되었다.그러면 high level modelin..
Ch1. SystemC의 구성요소 - module SystemC는 hardware를 표현하고 시뮬레이션 하기 위한 class library라고 할 수 있다. 그러면 어떤 class들이 있을까? 그 중 대표적인 것이 sc_module이다. Verilog에서 hardware를 기술할 때 module이라고 하는 keyword를 사용하여 hardware module을 기술한다. Hardware module은 input, output port와 내부에 function을 기술하기 위한 always문과 같은 process들이 존재한다. process라고 하는 것은 sensitivity list에 감응하여 동작하는 단위 기능이라고 생각하면 좋을 것이다. 주지 하다 싶이 process들은 서로 concurrent하게 동작하여 hardware특성을 기술할 수 있는 것이다..

반응형