verilog HDL, System Verilog, system C, e, vera.. PLI

대충 ASIC 엔지니어들이 사용하는 언어들이죠..

아니! VHDL을 빼 먹었잖아~! 하고  말 하시는 분도 있겠지만, 개인적으로 석사 3학기때 이후로 VHDL은 안쓰고 있는지라, 잘 몰라서 그렇다.. 라고 생각하셔도 좋겠습니다.
또한, 개인적으로는 VHDL이 verilog에 비하여 많은 부분에서 상당히 밀리고 있으며, 그것이 요즘 경향이라고 생각하고 있는 점도 없지않아 있습니다.

VHDL 사용자 분들은 VHDL의 유연함과 OOP적인 요소를 장점으로 꼽으시는데, 예 맞습니다. ^^;
근데, VHDL의 유연함과 OOP적인 장점은 검증이나 description에서는 편하지만, 설계 자체에 있어서는 그리 편하지 않지요..
verilog HDL의 장점은 말 그대로, 간단히 설계할 수 있다는 점 아니겠습니까.

96년도 정도에는 VHDL이 세상을 곧 지배할 것 같았지만, 사실 95년도에 verilog가 IEEE표준이 되고, 열약했던 시뮬레이션 툴들이 (네, verilog-XL이 있습니다만, 다른 대안이 없었지요..) 정비되면서, 실무쪽에서는 거의 verilog HDL로 정리된것 같습니다.

학교쪽에서야 아직 VHDL을 많이 사용합니다만.. ^^; 학교 이야기겠구요..

오늘 주절히 주절히 ASIC에서 사용되는 언어들을 제목으로 단 것은 바로, verilog의 약점인 검증 부분을 채우기 위한 노력들입니다.
verilog HDL은 verilog 2001이라는 새로운 표준에서 검증을 위한 다양한 기능과 좀더 편한 설계를 위하여 보강하고 있으며 (이 부분에 대해서는 예전 posting인 verilog HDL 2001을 보세요~), 좀더 강력한 기능으로 system verilog를 정의하였습니다.

system verilog는 강력한 assetion과 더불어 데이터 구조의 지원등으로 설계쪽 보다는 검증의 편의성을 노린 흔적이 역력합니다.
이는 최근에 역시 IEEE표준으로 지정된 검증계의 기린아 ‘e’ 언어를 노리고 있는 것이 거의 확실한듯 합니다.
아직은 e과 약간 다른 전장을 놓고 다투고 있습니다만, 거의 다가갔죠.. 전운이 감도는 시장입니다.
물론, e가 cadence를 위주로 지원되고 있다면, system verilog는 좀더 많은 EDA업계의 지원을 받고 있으니까 약간 더 유리하지 않을까 하는 생각입니다.

단, 그동안 e 언어가 가지고 있던 그 화려한 경력과 know-how가 가득담긴 코드들이 있으니, 최종 일전이 어떻게 될지는 모르겠습니다.

vera의 경우 synsopsys가 밀어주는 검증언어인데, 상대적으로 VCS가 약하니까 덩달아 사그러드는 느낌입니다. 몇년전 부터 vera spec을 open하고 openvera를 퍼트리려고 노력중인데, 아직 멀었습니다.
e 언어가 공개되기 전에 하지.. 아쉽…

한때 차세대로 불리우던 systemC가 있군요..
뭐, 아직도 차세대 system C라고 해야 할까요?
설계 언어로서는 좀 그런것 같구요.. (synthesiable subset만으로 설계하느니 verilog로 하는게 100만배 쉽습니다. ^^; 역시 각각에 분야에 맞는 것이 있는 것이죠) 최근에는 cadence에서 낼롬 기증한 SCV(예전의 testbuilder인데, 일부를 기증해서 표준화 했습니다.)를 필두로, 검증을 위한 환경으로는 폭넓게 받아들여지고 있는 듯 합니다.

아무래도, coverification의 관점에서도 C기반의 interface가 지원되는 것이 편하니까요..

system C와 verilog간의 co-simulation에 약간 그림 이쁘게 보여주고, 좀 쉽게 해주는 것에 여러 회사가 도전중입니다. CoWare도 있구요..
뭐, 전반적으로 회사들의 평은 거의 “악평일색”입니다.  놀라운 이야기입니다.
그림 나오고 다 좋은데, 잘 안돌죠.. 아직은 1~2년 정도 지나서 좀더 진화해야 할 듯 합니다.

차라리, PLI에 TCL/TK를 연결하는 것이 이쁘고 좋습니다. ^^; 무료인데다 자유롭죠..
PLI도 재미있고, TCL/TK도 재미있고..
아주 즐겁지 않습니까?

얼마전에 회사에서 재미삼아 virtual UART라는 시뮬레이션때 사용가능한 터미날 프로그램을 PLI와 TCL/TK로 만들었는데, 개인적으로 즐거운 작업이었습니다. ^^;

나중에 이 블로그로 공개될 기회가 있겠죠..

4 thoughts on “verilog HDL, System Verilog, system C, e, vera.. PLI

  1. 아직도 학교에서 왜 VHDL을 가르치는지 모르겠네요. VHDL, Verilog HDL을 사용해 본 바로는 verilog HDL이 이해하기가 훨씬 쉽고 더 빨리 배울 수 있는데, -_-;; VHDL은 학술 연구 부분으로 사장되어버리려나 봅니다..

    1. 아마도 많은 교수님들께서 HDL을 새로 배우실 시절에 IDEC도 없었고, 학교에서 구매해서 쓸만했던 합리적인 가격의 시뮬레이션툴리 VHDL만 지원했기 때문이라고 생각합니다. (당시의 modelsim은 거의 VHDL전용이었습니다. verilog 시뮬레이션에 오류가 많았죠.)

      저도 학부와 석사 초기에는 있을때 Verilog simulator의 가격때문에 VHDL 시뮬레이터만 썼었거든요.. 물론, 나중에 IDEC에 가입하면서, verilog simulator로 변했습니다만..

      이제 바뀔때가 된 것도 같은데.. 아직은 쉽지 않네요.

    2. VHDL은… 아직 사용하고 있는 곳(특히 유럽)이 있기 때문에
      정말 간혹가다가 밖에서 쓸모있을 때가 있습니다…
      예를 들면 고객이 DRAM model로 VHDL을 요청할 때 해주면 좋죠…
      또한 Verilog에 비해 VHDL을 잘 쓰는 사람이 드뭅니다.

      하지만 처음에 Verilog랑 VHDL이랑 뭐 배워야 하는지
      선택한다면 당근 Verilog이라고 생각합니다 ^^;

    3. 유럽쪽은 아무래도 VHDL이 강세죠..
      사실 전자쪽에서 VHDL-유럽; Verilog-북미식의 표준화 대결 구도는 좋은점도 나쁜점도 있는 것 같습니다.

      HDL에 한정지어 이야기 하자면 저처럼 IP만드는 사람은 두가지 다 신경써야 되니까 싫지만 말입니다. ^^;

Leave a Reply to babyworm Cancel reply