FPGA 합성 도구.. 삼파전?

[wp]FPGA[/wp]의 사용이 늘어나면서 이쪽 합성 분야에 눈독을 들이는 회사들이 늘어나고 있군요..

사실 FPGA 설계/합성 도구는 무료로 제공되는 경우가 많아서.. ([wp]xilinx[/wp] webpack이나 [wp]altera[/wp]의 quartus II web version과 같이 말입니다.)비교적 돈이 덜 됩니다만.. 무료로 제공되는 설계도구가 비교적 약한 편이라, 다른 툴을 많이 찾아다니게 되지요..

게다가 많은 FPGA 업체들이 simulation과 logic 합성 자체는 3rd party툴에 도움을 받고, P&R쪽만 in-house 툴을 사용하는 방향으로 나아가고 있는데.. 각 회사의 입장에서는 아주 합리적인 선택입니다.

Simulation에서는 가장 많이 번들링 되고 있는 것이 아무래도 [wp]Mentor[/wp]의 [wp]Modelsim[/wp]이지요. (사실 modeltech의 것이지만..)
국내에서 학생 유저들이 가장 많이 사용하는 시뮬레이터일텐데요.. 윈도우 환경에서 안정적인데다, verilog/VHDL/SystemC까지 가리지 않고 컴파일해서 single kernel로 시뮬레이션하는 능력을 지닌 좋은 시뮬레이터 입니다. 산업체에서는 아직 Golden simulator로 받아들여지는 NCsim에 밀리지만, 많은 엔지니어가 사용하고 있는 좋은 시뮬레이터입니다. (이 이야기는 주관적인 내용이 아니고 ESNUG 설문 결과인데 modelsim은 폭 넓은 사용자에 비해서 golden simulator라기 보다, secondary simulator느낌으로 사용되고 있습니다.)

FPGA 합성툴로는 우선 xilinx나 altera의 자체 툴이 있겠지요.

사실 저는 altrea툴을 max-plusII 시절에 많이 사용하고, quartus는 초기 버젼만 잠시 다루어봐서 평가하기 어렵습니다만.. 좋은 인상은 받기 어려웠습니다.
Xilinx의 XST도 역시 뭐 그리 잘 만들어진다 볼 순 없겠습니다. 물론, 예전에 비하면 아주 좋아졌습니다만 말입니다.

오늘 제목에 FPGA 합성도구 삼파전이라는 약간 “찌라시틱”한 제목은 사실 FPGA 제조사의 툴은 제외하고 3rd party의 FPGA합성도구 3가지를 보려고 합니다.

첫번째로 FPGA 합성 시장에서 가장 많이 사용되고 있는 synplicity의 synplify가 있습니다. 얼마전에 보니 국내 지사도 생겼더군요.. SCOPE라는 손쉬운 constraint editor도 있고, 그림도 이쁘게 보여주더군요..
가장 좋은 점은 합성 결과가 만족스럽다는 점입니다. 특히, DSP function을 지정하는 경우 이것을 각사의 macrocell로 변환을 아주 잘하는 편입니다.
최근에 synplicity가 synplify의 힘을 믿고 synplifyAISC을 발표해보았습니다만.. 합성시에 오류가 몇개 발견되고 있다네요…아직은 ASIC진입은 좀 이르지만, 시간이 지나면 어찌 될지 모르겠습니다.

약간 민감하긴한데.. 현재로서는 FPGA합성 부분에 있어서는 가장 좋은 방법이 아닐까 생각합니다.





[image source: synplify homepage]

두번째는 합성 시장의 절대 강자.. synopsys의 DC-FPGA입니다.
사실 synopsys는 예전에 FPGA-Express라는 툴을 갖추고 있었고 Xilinx에 번들로 제공했던 적도 있었습니다. 하지만, 명성에는 조금 못 미치는 툴이였는데, 이를 자사의 flagship tool인 Design Compiler에 접목하려는 노력을 하더니만(ASIC to FPGA migration guide가 있었지요..), 결국 DC-FPGA라는 이름으로 나왔지요.
DC에 익숙한 엔지니어가 워낙 많아서 이것도 비교적 많이 사용되고 있다고는 합니다만, 새로운 디바이스에 대한 지원이 좀 느린것이 단점이랄까요.. 요즘에는 약간 시들한 느낌입니다.
하지만, 워낙에 ASIC flow상에서 강하니까, script상에 별 변경없이 FPGA를 만들수 있다는 건 큰 장점이겠지요.




세번째는 이글을 쓰게된 직접적인 계기인 mentor의 precision이라는 합성도구 입니다.
사실 precision은 예전에 mentor의 FPGA advantage를 evaluation해보면서 처음 접해봤었는데.. Le사실 사라진줄 알았습니다. ^^;
그런데, EETimes의 기사를 보니 아직도 건재하고, 많은 기능이 추가된 것 같습니다. DesignWare의 지원이나 Clock Gating지원, DSP/Memory macrocell inference기능들을 지원한다는 것으로 보아 상당한 수준으로 올라왔군요..


Precision Physical
[image source: mentor homepage]

ASIC logic합성쪽은 DesignComiler가 압도적인 우위를 점하고 있는 가운데.. BuildGates, Synplify ASIC같은 것들이 도전하는 형국이고..

FPGA 합성쪽은 Synplify가 가장 우위를 점하고 있지만, DC-FPGA, Precision의 추격도 가속화되고 있는 느낌입니다.

뭐.. 사용자야 즐겁지요..^^;

8 thoughts on “FPGA 합성 도구.. 삼파전?

  1. 역시 FPGA 합성은 Synplify가 짱이죠…
    대학원 시절에 3사의 툴을 잠깐식은 다 써 볼 수 있었는데..
    Synplify 맛들이면 다른 합성툴은 쳐다보지도 않아지던걸요

  2. 검색하다가 우연히 들어와봤습니다.
    학부 2학년인데 이쪽으로 관심이 있어서 공부중에 있습니다.
    저는 quartus ii 5.0버젼을 사용중인데 실무에서 쓰이는 버젼은 몇정도가 되는지 알고 싶습니다.
    가끔 5.0과 6.0에서의 합성에서 발생하는 오류가 다르게 나와서 말이죠.. 어느쪽으로 깊숙히 팔까 고민중입니다…
    조언 부탁드립니다 ^^

    1. 학부 2학년이신데, 벌써부터 Quartus를 이용하시다니 대단하십니다. ^^;
      우선, 실무에서는 별문제 없는 한 되도록 최신 버젼을 사용합니다. 버젼이 올라가면서 더 좋은 결과가 나오는 경우가 많기 때문이지요.
      버젼이 바뀌면서 합성 오류가 다르게 발생한다면 coding style에 문제가 있기 때문일 가능성이 높습니다.
      HDL에는 합성 가능한 문법이 어느 정도 정해져 있고, 실무에서는 (불필요한 버그에 고민하지 않기 위해) 이 룰을 엄격히 지켜서 작성하기 때문에 버젼이나 툴에 의한 영향을 거의 받지 않습니다. 🙂
      사실 학부 2학년이시니, 특정 툴에 대해서 익숙해지시는 것은 좋습니다만 파실 필요는것 보다는, 디지털 로직, Architecture부분과 (각종)알고리즘쪽에 비중을 두시는 것이 좋습니다.
      음.. term project같은 것 때문에 툴을 다루어야 한다면 최신 버젼으로 익숙해지시는 것이 향후에 새 버젼이 나왔을때도 편하실 것입니다.

  3. DC-FPGA는 이미 생산 중단되었습니다. 그리고 Synplify ASIC도 Synplicity에서 개발 중단을 선언한지 오래되었습니다. 참조하시기 바랍니다.

    1. 좋은 말씀 감사드립니다.
      DC-FPGA는 2005.09이후에 나오고 있지 않은 이유가 사업 철수인가 보군요. 얼마전까지만 해도 ESNUG에서 이에 대항 이런 저런 이야기가 있어서 계속 개발 중인것으로 생각했습니다. 지적해주셔서 감사드립니다.
      말씀하신것 처럼 SynplifyASIC은 완전 철수군요. 완전 철수는 아닐 것이라 생각했었는데.. 오늘 홈페이지를 보니 product에도 빠져있군요. 😉 역시 합성된 로직이 완전하지 않다는 치명적인 단점을 극복하지 못하는군요.

Leave a Reply