사악한 쌍둥이 full_case와 parallel_case
Design | 2008/03/15 16:57
원제은 "full_case parallel_case", the Evil Twins of Verilog Synthesis 이다. [download]

RTL 시뮬레이션과 gate-level 시뮬레이션 결과가 달라지는 이유가 무엇일까? 그 중 한가지는 case문의 잘못된 사용때문이다. 이것이 얼마나 중요한 것인가는 저 페이퍼의 제목만 봐도 알 수 있다. 오죽하면 '사악한 쌍둥이'라고 했겠는가? 또 이 페이퍼는 SNUG-1999에서 Best Paper로 선정된 것을 봐도 짐작할 수 있다.

Verilog를 잘 다루는 설계자라면 분명 if-else문보다는 case문을 선호할 것이다.
Design Compiler에서 합성을 해보면 초기 HDL Compile단계에서 각 case문에 대하여 아래와 같은 내용을 출력한다.


Verilog합성을 하면서 이 내용을 그동안 눈여겨보지 않았다면 앞으로는 꼭 확인하길 바란다.
case문은 잘 사용하면 매우 강력한 능력을 발휘한다. 하지만 잘못사용하면 그만큼 애를 먹이는 존재이다. 근본적으로는 RTL 기술을 잘하면 문제가 없지만, 이를 돕기 위해서 Synopsys는 "//synopsys full_case parallel_case" 와 같이 RTL내에 directive를 사용할 수 있도록 하였다.

문제는 이 directive들을 어떻게 사용함에 따라 같은 RTL코드라도 합성결과가 달라진다. 설계자를 돕기위한 이 기능이 '사악한 쌍둥이'가 된 이유는 시뮬레이션시에는 이 directive들이 반영되지 않기 때문에 gate-level시뮬레이션과 차이를 만들기 때문일 것이다.

더 자세한 설명은 다음 기회로 미루고, 쉽게 설명되어있는 내용이므로 직접 읽어보길 권한다.  [download]
2008/03/15 16:57 Donny 

, , , ,
Trackback http://donny.co.kr/tt/trackback/6
Tracked from Processor Architect.... egoist 2008/03/17 23:03 x
Title : Coding style; 잘 사는 방법
예전에 C 언어를 한참 할때, 코딩스타일이란 이야기를 처음 들었었습니다. K&R style이라느니, ansi style이라느니.. 그런 것이지요. indent를 2를 써야 한다.. 아니다 4를 써야 한다 등등도 있었구..
BLACKENGINE 2008/03/26 13:09
도니님의 simplecore설계를 읽어보고 감명받은 한사람입니다. 이렇게 베이비웜 님이랑 같이 웹상에서 보게되다니 반갑네요. 저도 이제 4학년을 마치면 좀 더 전문적인 아키텍쳐의 길을 걷게 될 듯합니다. 아무튼 종종 들르겠습니다.
donny 2008/03/26 14:19
반갑습니다.
꽤 오래전에 연재했던 강좌인데도 기억하시는 분들이 계셔서 보람을 느끼네요. 시간나는 대로 연재했던 칼럼을 찾아서 블로그에 올려놔야겠습니다.
도움되실 만한 글들을 자주 쓰도록 노력하겠습니다.
donny 2008/04/05 20:46
메일 계정이 꽉차서 스팸메일을 지우다 작년에 블랙엔진님이 보내신 메일을 이제야 봤습니다. ㅡㅡ;;
답장드렸어요 ^^
Name
Password
Homepage
  Secret
Description
 

BLOG main image
Chip Designer, Donny (drdonny@gmail.com)
전체 (133)
Portfolio(Eng.) (20)
Design (8)
Microprocessor (11)
Verification (5)
Technology (7)
Lecture (13)
Silicon Valley (2)
Travel (6)
Family (37)
KoreaInlineCup (1)
Donny Thinks (23)
Wishlist (0)
Microprocessor 재희 MIPI 집적회로설계 마이크로프로세서 DSI DDI 두개골 유합증 Verilog 인테리어 Qualcomm MDDI ARM Synthesis Display Driver IC HSSI 애플 재인 simplecore Synopsys
2011/10
2011/03
2011/01
2010/12
2010/11
저는 완전 ..
    04/19 - 11
요새 검증하..
    03/27 - 나상권
좋은 자료감..
    03/06 - 박진철
조규형 교수..
    02/26 - 카이스트
이미 늦었을..
    01/20 - 지금쯤이면...
반도체, 칩..
    2009 - :::: for Ne..
Synopsys 버..
    2008 - Processor A..
Coding styl..
    2008 - Processor A..
Dreamer GUN..
Natural Bor..
Processor A..
지극히 개인..
79
45
135496

태터툴즈 배너