본문 바로가기

반응형

전체목록

(125)
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..
Ch3. SystemC의 구성 요소 - Primitive Channel 앞서도 얘기 했지만 primitive channel에는 대표적으로 sc_signal과 sc_fifo가 있다. 그 외 여러가지가 있지만 자세한 것은 spec을 참조 하도록 하고 여기서는 가장 사용 빈도가 높은 sc_signal과 sc_fifo에 대해서만 알아 보자. 1. sc_signal 이 channel에는 sc_signal_inout_if의 read/write method 함수가 구현 되어 있다. 즉 sc_signal은 verilog HDL의 wire와 같은 개념으로써 module과 module간의 통신 매개체가 되는 것이다. channel을 사용할 때 공통적으로 주의해야 할 사항이 있다. 그것은 동시성을 위한 메카니즘인데 channel의 read/write method를 통해 어떤 값을 읽고 쓸 경우..
Ch2. SystemC의 구성 요소 - 인터페이스,포트,채널 자 이제 SystemC를 이용하여 하드웨어 모듈을 정의할 수 있었다. 그러면 모듈과 모듈간의 통신은 어떻게 할까? Verilog에서 모듈과 모듈을 연결할 때는 input/output port를 wire로 연결 해 주면 된다. SystemC에서는 약간 복잡한 메카니즘을 갖고 있다. 하지만 사용자 입장에서 세부적인 사항까지 다 이해할 필요는 없다. SystemC의 모듈간 통신을 위해서는 3가지 class가 필요하다. 그 하나는 인터페이스(interface) class이고 또 하나는 포트(port) class 그리고 마지막으로 채널(channel) class이다. SystemC의 모듈은 class이다. 모듈간 통신은 class간 통신과 같다. 그런데 class라는 것은 sw component이기 때문에 ver..
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특성을 기술할 수 있는 것이다..
Ch0. SystemC - Introduction SystemC는 무엇인가? 반도체 설계 분야에 일하는 사람들은 한 번 쯤 들어 보았을 것이다. 하지만 아직까지 현업에서 널리 사용되고 있지는 않은 것 같다. RTL 설계에서는 아직까지 HDL이 대세이고 검증에서도 Specman 이나 vera가 많이 쓰이는 것 같다. SystemC를 HDL같은 하드웨어 설계 언어로 생각하는 사람도 많은 것 같은데 실제론 그렇지 않다. SystemC는 사실 C++ 그 자체이고 단지 C++를 사용하여 Hardware modeling을 하기위해 만든 class library라고 하는 편이 맞을 것이다. 즉 SystemC는 동시성(concurrency), input/output port, clock, fifo 등과 같은 하드웨어 특성을 쉽게 구현 할 수 있는 class와 이 cl..

반응형