본문 바로가기

반응형

#c++

(3)
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..
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..

반응형