SystemC는 무엇인가?
반도체 설계 분야에 일하는 사람들은 한 번 쯤 들어 보았을 것이다. 하지만 아직까지 현업에서 널리 사용되고 있지는 않은 것 같다. RTL 설계에서는 아직까지 HDL이 대세이고 검증에서도 Specman 이나 vera가 많이 쓰이는 것 같다. SystemC를 HDL같은 하드웨어 설계 언어로 생각하는 사람도 많은 것 같은데 실제론 그렇지 않다. SystemC는 사실 C++ 그 자체이고 단지 C++를 사용하여 Hardware modeling을 하기위해 만든 class library라고 하는 편이 맞을 것이다. 즉 SystemC는 동시성(concurrency), input/output port, clock, fifo 등과 같은 하드웨어 특성을 쉽게 구현 할 수 있는 class와 이 class들로 모델링한 시스템을 simulation할 수 있는 scheduler로 구성 되어 있는 것이다. SystemC를 공부하고 사용하다 보면 SystemC spec에도 나와 있듯이 SystemC는 system level modeling이나 검증에 사용하기 좋은 tool이다. 특히 transaction level의 설계 및 검증에는 탁월한 기능들을 갖추고 있다. 앞으로 이런 SystemC의 특성과 활용 방법들에 대해 글을 올리고자 한다.
참고로 이글의 독자는 Verilog 또는 VHDL과 같은 HDL 언어를 사용해 본 경험이 있고 C++에 대한 기초 지식이 있다는 것을 가정으로 하였습니다. 또한 https://www.accellera.org/downloads/standards/systemc에 있는 spec과 각종 자료를 참조하여 같이 보시면 많은 도움이 될 것입니다.
'SystemC Tutorial' 카테고리의 다른 글
Ch5. sc_export 사용하기 (0) | 2008.01.17 |
---|---|
Ch4. SystemC 활용하기 - 사용자 정의 인터페이스/채널 (2) | 2007.11.10 |
Ch3. SystemC의 구성 요소 - Primitive Channel (0) | 2007.11.10 |
Ch2. SystemC의 구성 요소 - 인터페이스,포트,채널 (0) | 2007.11.10 |
Ch1. SystemC의 구성요소 - module (0) | 2007.05.15 |