Processor Architect.... egoist
프로세서, SoC, ASIC 설계에 대한 재미난 이야기들. 그리고, 쉼표...
BLOG main image
Notice
babyworm은?
CATEGORY
전체 (307)
SoC 설계 관련 (126)
마이크로 프로세서 이야기 (24)
유용한 설계도구 (7)
검증이야기 (15)
관련 새소식 (38)
초보자 코너 (17)
북마크 (2)
코덱 (0)
개인적인 (137)
책이야기 (19)
만화/애니메이션 (3)
영화/드라마이야기 (4)
음악이야기 (13)
Boards
질문 게시판
ASIC plannet
Recent Entries
열심히 살아야겠다.
잡담 몇 가지..
애증의 관계? 아래아 한글... (1)
창조를 위해서 필수적으로... (2)
VP8 and WebM (2)
새로 blog들을 모아봤어요..
일단 끝.. 이라고 할 수도... (2)
Cygwin1.7에서 Eclipse CD...
AMBA 4.0 공개 (1)
그러게 진작에 잘하지 (3)
Recent Comments
저도 한컴사의 워드는 1.5때...
06/21 - likesam
당연하지~!
06/12 - babyworm
저도 얼마전에 한국에 있는...
06/07 - 홍용재
Homesick을 겪을때는 지났잖...
05/25 - babyworm
읽어보려다가 초반부터 비명...
05/24 - 홍용재
한RSS에 추가 add to Bloglines
add to google


Add to Technorati Favorites



TAGS
마이크로 프로세서 synopsys verification SystemVerilog verilog HDL 개인적인 EISC PLI ARM AMD Mentor GPU FPGA 검증 Intel VMM LaTex EDA Synthesis Cadence
Recent Trackbacks
WebM 조금 이르지 않을까?
내 맘대로 보는 세상
tkhwang의 생각
tkhwang's me2DAY
똑똑한 32비트 마이콤? Cantus
Dr.Lee's Blog..
죠커의 생각
jokka's me2DAY
불필요하게 어려운 말을 쓰는...
한날은 생각한다
Calendar
«   2010/07   »
일 월 화 수 목 금 토
        1 2 3
4 5 6 7 8 9 10
11 12 13 14 15 16 17
18 19 20 21 22 23 24
25 26 27 28 29 30 31
Archive
2010/07
2010/06
2010/05
2010/04
2010/03
2010/02
2010/01
2009/12
2009/11
2009/10
2009/09
2009/08
Link Site
Dreamer GUNDAM의 블로그
EDA board
Luuvish's agit
Planet KTUG
[B]babyworm의 개인적인 블로그
[B]PAPA JOHN'S
[JW]iDea Holic
[JW]JS™
[JW]Jung-Hyeon's weB@LOG
[JW]Kino's blog
[JW]애니와 만화의 세계!
[JW]첫사랑 첼로
[JW]최신컴터 놀이~
[W] eetimes
[W] KERIS 학술 정보 서비스
[W] Microprocessor Report
[W] verification guild
[W]ASIC&FPGA cafe
[W]filedic
[W]WWW CA Page
[W]아람92
332373 Visitors up to today!
Today 21 hit, Yesterday 177 hit

English Ver. (by Google)
Creative Commons License
이 블로그의 모든 저작물은 크리에이티브 커먼즈 코리아 저작자표시-비영리-변경금지 2.0 대한민국 라이센스에 따라 이용하실 수 있습니다.
'synopsys'에 해당되는 글 17건
합성할 때 시뮬레이션에 사용한 list을 이용하기 | 2009/06/03
Chip IDEA가 MIPS에서 Synopsys로 넘어갔군요. (2) | 2009/05/17
책 몇가지 (2) | 2009/01/23
Synopsys 버전을 찾아보기.. (4) | 2008/04/11
Low Power Methodology Manual 무료 배포! (6) | 2007/08/17
Synopsys Discovery Seminar | 2007/05/02
Verilog와 VHDL.. Simulator/Verfication 툴 점유율 (4) | 2007/04/29
EDA, Foundary 모두 성장한 한해 2006년 (2) | 2007/04/24
시납시스 세미나가 있습니다. | 2007/04/01
시납시스는 역시 대단해! (2) | 2007/02/26
방명록에 쓰여진 문의에 대한 답변..(설계의 결과를 보는 법..) (2) | 2007/01/16
Design Compiler의 TNS, WNS.. (10) | 2006/11/08
multiple port net의 fixing | 2006/11/02
Synopsys XG모드로 가야 하나.. (3) | 2006/10/31
TLM으로 설계가 이동할 것인가? (4) | 2006/10/23
DC Ultra의 Topographical Synthesis (2) | 2006/10/16
시납시스의 여전한 이야기.. SNUG Seoul 2006, MiniDAC | 2006/09/14
합성할 때 시뮬레이션에 사용한 list을 이용하기
[babyworm, 2009/06/03 22:49, SoC 설계 관련/초보자 코너]
합성 스크립트 만들다가 얼마전에 모 선배가 합성에 필요한 파일 리스트 만드는 거 귀찮다고 한 것이 기억나서 만들어봤습니다.
뭐, TCL을 사용하시는 분들이면 다들 생각하실 만한 것이라 팁이라고 할 것 까지야 없겠습니다만, 처음 접하시는 분들에게는 도움이 될 것 같아서 올립니다.
보통 ncverilog로 시뮬레이션 할때 (다른 것도 마찬가지지만...), .f 파일로 불리는 파일리스트를 만들어서 사용하는데, 합성할때 이걸 왠만하면 사용할 수 있습니다.
위의 코드 보시면 아시겠지만, 파일을 읽어서 리스트에 넣는 것 이외에는 특별한 것이 없습니다.
단지, 공백행 처리와 주석 처리 부분이 들어가 있습니다.
만일 f 파일에서 ++ 옵션을 사용하시는 분은 여기에 대한 처리를 추가해 주시면 편합니다. (필요하시다면 해당 부분에 간단한 parser를 걸어도 되구요)

요즘은 directory단위로 읽을 수 있는 acs_read_hdl가 더 널리 사용되는 추세입니다. list 파일이 없다면 이것이 절대적으로 편하지요. 디렉토리만 지정하면 subdirectory 뒤져서 파일을 끌고 오니까요.
단, 필요없는 파일은 EXCLUDE_LIST로 지정해야 되어서 약간 귀찮을 때가 있긴합니다.
list가 있다면 위의 코드를 사용하는 것이 더 편하시겠지요.
여하튼.. 도움이 되면 좋겠습니다.

참고적으로 list file에 $MY_HOME/aaa/aaa.v 와 같은 형태로 지정된 경우 위와 같은 analyze를 사용할 수 없습니다. 이때는 간단하게 subfunction을 하나 만들고 synopsys에서 제공하는 parse_proc_arguments 함수를 이용해서 이걸 처리하면 됩니다.1
이 방법은 나중에 설명하죠 ^^;

참고적으로 합성 과정에서 define할 것이 없다면 analyze 대신 read_verilog를 사용하셔서 위의 문제를 쉽게 해결 할 수 있습니다. read_verilog는 이미 parse_proc_arguments 를 사용하고 있거든요




  1. 더 간단하게는 eval을 사용하면 됩니다만 복잡해지면 subfunction이 더 편하죠 [Back]
babyworm
2009/06/03 22:49 2009/06/03 22:49
Creative Commons License
이 저작물은 크리에이티브 커먼즈 코리아 저작자표시-비영리-변경금지 2.0 대한민국 라이센스에 따라 이용하실 수 있습니다.
synopsys

Trackback0 : Comment0
Trackback Address :: http://babyworm.net/tatter/trackback/293
[로그인][오픈아이디란?]
Name
Password
Homepage

Secret
Chip IDEA가 MIPS에서 Synopsys로 넘어갔군요.
[babyworm, 2009/05/17 02:26, SoC 설계 관련/관련 새소식]
IP 업계에서는 꽤나 유명한 Chip IDEA가 몇년전에 MIPS로 인수되더니만, 어제는 다시 Synopsys로 인수되었다고 하네요. 

ChipIDEA는 아날로그 IP 분야에 있어서 상당한 이름을 가지고 있고, 거기에 걸맞는 상당한 가격(?)을 가지고 있는 회사이기도 하지요. 2007년인가 MIPS로 인수되어 MIPS Analog business group(ABG)이라는 이름으로 사업을 전개해왔었는데, 이번에 시납시스로 인수된 것이지요. 

MIPS가 프로세서 플랫폼이라는 관점에서 ABG와 상당한 시너지를 기대했던것으로 기대했는데, 생각보다 좋은 결과가 없었던지 MIPS가 많이 어려웠던지 둘중에 하나겠지요. 상당히 탄탄한 디지털 IP 군인 DesignWare를 지니고 있는 Synopsys에 있어서는 매우 좋은 결과를 이끌어낼 수 있는 M&A임에는 틀림 없을 것 같습니다. 향후 시납시스가 지향하는 방향도 대충 짐작이 가구요. 

--

사실 지난 한달동안은 이런 저런 일로 인하여 개인적으로 매우 바쁘고 정신없었습니다. 모모 국책 과제 입찰에 참여해서 제안서쓰고, 과제 발표 준비하고, 협상하고 등등의 일을 처리해야 했고, 지난주에는 강의도 있었고..  또 다른 국책 프로젝트의 T/O 날자도 다가오고 있고 해서 정신 없습니다. 워낙 일이 많이 벌어지고 있어서, 집중력을 길게 가져가는 것보다 순간 순간 집중하고 하나씩 해결해 나가려고 노력중입니다. 

이 이야기는 아마도 이번달에도 뜸할 것 같다는 슬픈(?) 이야기죠 ^^;



babyworm
2009/05/17 02:26 2009/05/17 02:26
Creative Commons License
이 저작물은 크리에이티브 커먼즈 코리아 저작자표시-비영리-변경금지 2.0 대한민국 라이센스에 따라 이용하실 수 있습니다.
chipidea, MIPS, synopsys

Trackback0 : Comment2
Trackback Address :: http://babyworm.net/tatter/trackback/291
홍용재 | 2009/05/17 06:04 | PERMALINK | EDIT/DEL | REPLY
글을 기다리는 독자의 한사람으로 아쉽기는 하지만, 바쁘시다니 좋은 일이라 생각합니다. ^^
석사 때 같이 공부했던 친구가 시놉시스에 디자이너로 있는데 메신저에서 볼 때마다 회사 자랑이군요. Harry 블로그의 포스팅을 봐도 그렇고 ( http://theasicguy.com/2009/05/12/synops ··· rsion%2F ) , 대단한 것 같긴하네요. ^^
babyworm | 2009/05/21 00:40 | PERMALINK | EDIT/DEL
일이 많은 것이 좋은 건지는 잘 모르겠어 ^^;
요즘 일이 대부분 문서 작업이고, 일이 많아지면서 오래 집중해야 해야 하는 일은 되도록 손을 안대는 경향이 늘어나니 문제군..
일이 없는 것 보다야 좋지만서도.. ^^;
[로그인][오픈아이디란?]
Name
Password
Homepage

Secret
책 몇가지
[babyworm, 2009/01/23 00:52, 책이야기]
ASIC/processor 관련 책을 많이 보시라는 이야기를 해 드리고 있습니다만, 책이 워낙에 비싸죠.
모모 사이트와 당나귀를 적절히 이용하면 왠만한 책은 pdf로 구할 수도 있습니다만..

클리앙에서 http://www.scribd.com/ 라는 곳에 대한 소개가 있어서 가 봤는데, 괜찮은 책이 많군요. Google 검색을 통해서 갔을때는 그냥 단순히 리포트같은거 모아둔 사이트라고 생각했는데..


잠깐 검색해서 보이는 책 몇권 소개해 드릴께요.

Advanced ASIC Chip Synthesis (http://www.scribd.com/doc/4291121/advan ··· esis-2ed)
시납시스 툴을 이용하여 합성하고 STA 하는 방법에 대하여 나와있는 책이죠. 예전에 본 책입니다만, 아직도 유효한 부분이 많고, 처음 ASIC flow를 사용해 보시는 분은 한번 읽어두면 좋습니다. 간단한 예제 스크립트도 쓸만하구요.
물론, Synopsys Tool에 있어서 가장 좋은 책은 Manual이에요.. 워낙에 잘쓰여져 있으니까요. 이 책은 메뉴얼 보기에 시간이 없을 때 보시면 좋습니다. 분량도 적고...

HDL Chip Design (http://www.scribd.com/doc/6888130/dougl ··· ynthesis)
아마도 이책 모르시는 분은 없으실 거라 생각됩니다. 설계 방법에 대하여 Verilog/VHDL 을 모두 사용하여 설명한 아주 훌륭한 책입니다. 제가 예전에 처음 VHDL만 사용하다가 verilog쓰기 시작하면서 처음 본 책이고, 가장 많이 참고한 책중에 하나입니다.



Principles of Verifiable RTL Design (2nd Ed)(http://www.scribd.com/doc/7179064/kluwe ··· n-2nd-ed)
Assertion based verification에 대하여 관심을 가지시는 분들이 반드시 보여야 한다고 생각하는 책입니다. 이 책의 저자인 Foster에서부터 ABV가 정착되었다고 해도 과언이 아니니까요(제가 알기로는 그런데, 실제로 그런지는 잘 몰라요 ^^; 논문 Survey를 해본건 아니니까요.. 이런 무책임한 ㅋㅋ)

ARM System Developers Guide-Designing and Optimizing System Software(http://www.scribd.com/doc/6654432/arm-s ··· software)
상당히 유명한 책이죠. 제가 본 느낌으로는 약간은 Application note의 집합과 같다는 생각이 들었습니다만, ARM 프로세서를 '사용하시는 분께' 아주 유용한 책이라는 느낌입니다. 사용하시는 분이라는 점을 강조한 이유는 최적화 프로그래밍 방법에 방점이 찍혀 있는 책이기 때문입니다. 국내에 번역서도 제 생각으로는 괜찮은 수준으로 번역되어 있습니다. (몇몇 눈에 띄는 부분이 있습니다만, 그래도 몇몇 번역서에 비하면 아~주 잘한 번역입니다.)


이외에도 좋은 문서와 책이 널려 있군요. 가끔 시간되면 몇권 더 소개해드리죠. 제가 읽은 책이 검색 되는 경우에만 소개해 드릴 수 있다는 것이 문제지만요 ^^;


아.. 요즘 보고 있는 책 중에서는 processor design: System on Chip Computing for ASIC and FPGA라는 책이 괜찮더군요. 이에 반해서, 기대를 많이 하고 봤던 Designing Embedded Microprocessor; Low power perspective 는 기대를 많이하고 구입한 책이라 그런지 기대에는 좀 못미치는 책이었습니다.
babyworm
2009/01/23 00:52 2009/01/23 00:52
Creative Commons License
이 저작물은 크리에이티브 커먼즈 코리아 저작자표시-비영리-변경금지 2.0 대한민국 라이센스에 따라 이용하실 수 있습니다.
ABV, ARM, ASIC, ebook, synopsys

Trackback1 : Comment2
Trackback Address :: http://babyworm.net/tatter/trackback/269
죠커의 생각
Tracked from jokka's me2DAY | 2009/01/23 04:00 | DEL
하드웨어도 좀 보자
홍용재 | 2009/01/23 05:31 | PERMALINK | EDIT/DEL | REPLY
헉...이런 훌륭한 곳이...감사합니다. 가지고 있는 것도 있군요. HDL Chip design은 산지 몇일 안됐는데...ㅜㅜ
저는 지금까지 verilog만 했었는데 이제부터는 VHDL을 주로 해야할 것 같습니다. ^^
컴퓨터로 책을 보면 금방 피로해져서 빌리던지 사던지 하는데, 너무 비싸네요. 자주 애용해야겠습니다. ^^
kal9 | 2009/01/30 15:29 | PERMALINK | EDIT/DEL | REPLY
악...왜..처음껀 안열릴까요 ㅠㅠ
클량에서 보긴했는데... 이렇게 사용될줄은....ㅎㅎ
좋은 정보 감사합니다.
[로그인][오픈아이디란?]
Name
Password
Homepage

Secret
Synopsys 버전을 찾아보기..
[babyworm, 2008/04/11 09:30, SoC 설계 관련/유용한 설계도구]

Solvnet newsletter으로 보내진 reference script를 보다보니, 세상이 많이 바뀌긴 한거 같습니다. ^^;

Doony님께서도 블로그에 쓰셨습니다만, 저희도 Synopsys의 Design Compiler에 대한 의존도가 높다보니, Reference Methdology에 대하여 관심을 가지지 않을 수 없지요.

Design Compiler를 여러가지 버젼을 혼용하는 환경에서는 하나의 스크립트로 통합하여 사용하는데 어려움을 겪을 수도 있는데요.. (음.. 실제적으로 한 회사내에서 혼용하는 경우는 적겠지만, 저희 같은 경우는 IP 제공이 주된 업무이다보니, 버전을 적게 타는 스크립트를 주로 생각하게 되죠..)

이때는 compatibility_verion 이라는 synopsys의 내부 변수를 살펴보면 되죠. (printvar compatibility_verion 하면 현재 구동중인 버전을 알수 있어요. ) 근데 예전에는 이 버전의 형식의 그냥 숫자라서 여러 연산이 가능했는데, 이제는 Y니 A니 SP니 이런 영문자가 들어가서 좀 따지기 귀찮죠.. (여기에 대해서는 밑에)

이 변수를 어떻게 쓰느냐하면, 버전에 따라 지원하는 명령을 바꿀수 있도록 지원하는 거죠.
예를 들어 shell_is_in_upf_mode나 shell_is_in_xg_mode, shell_is_in_topographical_mode와 같은 환경에 대한 명령은 synopsys version이 올라가면서 추가된 것이라 예전 버젼에서 돌리면 에러가 발생합니다. 뭐, 덤덤히 그냥 지우고 돌리세요 해도 되지만 ^^;

이런 경우에는 다음과 같이 버젼 체크를 통해 간단히 벗어날 수 있지요.. 음.. 더 좋은 방법이 있을수도 있지만, 제가 잘 모르는 관계로.. ㅋㅋ

if {[string match {*2007*} $compatibility_version]} {
  set DC_SUPPORT_UCF        "true"
  set DC_SUPPORT_TOPO_MODE  "true"

} else if {[string match {*2006*} $compatibility_version]} {
  set DC_SUPPORT_UCF        "false"
  set DC_SUPPORT_TOPO_MODE  "true"
} else {
  set DC_SUPPORT_UCF        "false"
  set DC_SUPPORT_TOPO_MODE  "false"
}


if { $DC_SUPPORT_TOPO_MODE == "true" } {
  if {[shell_is_in_topographical_mode]} {
   ...

  }

}

Design Compiler에서 TCL을 지원하면서 여러가지 편해졌습니다. file system 조작도 file 명령어를 쓰면 되고, 문자 대치하는 것도 훨씬 쉬워지고요.. ㅎㅎ

여담입니다만, 텍스트 큐브로 업그레이드하면서, 소스 하이라이팅 기능과 박스 넣기가 좀 이상해져서, 이쁜 모양으로 소스코드 보여드리기가 상당히 힘드네요.. 집에서 컴퓨터 만질 시간이 생기면  한번 손을 봐야 겠습니다.

babyworm
2008/04/11 09:30 2008/04/11 09:30
Creative Commons License
이 저작물은 크리에이티브 커먼즈 코리아 저작자표시-비영리-변경금지 2.0 대한민국 라이센스에 따라 이용하실 수 있습니다.
design compiler, synopsys

Trackback0 : Comment4
Trackback Address :: http://babyworm.net/tatter/trackback/228
Help by Grace | 2008/04/11 10:20 | PERMALINK | EDIT/DEL | REPLY
Synopsys는 한번도 쓸일이 없어서 아쉽네요. FPGA를 한다면 시놉시스 FPGA compiler 를 쓴다고 하더라도 결국엔 P&R 과 JTAG 은 Quartus 를 써야된다고 들어서 걍 첨부터 Quartus 를 사용하고 있습니다.

시놉시스에는 FPGA쪽에 JTAG Programming 까지 지원해 주지는 않죠?...
babyworm | 2008/04/11 12:39 | PERMALINK | EDIT/DEL
Synopsys는 ASIC을 만들때 사용하고, FPGA에는 거의 사용안되지요.^^;
로직 합성에서 FPGA 분야에서 가장 유명한 건 synplify인데,얼마전에 synopsys로 합병되었죠.
JTAG programming은 FPGA에 대한 P&R까지 끝나야 programming 파일이 나오는 거라. 해당 회사의 툴을 반드시 거쳐야 하는 걸로 알고 있습니다.
나중에 semi-custom 방법으로 칩을 만드실 때는 지겹도록 사용하셔야 할 거에요 ^^;
donny | 2008/04/12 02:13 | PERMALINK | EDIT/DEL | REPLY
한 수 배워갑니다. Version을 확인하여 script를 적용할 수가 있네요.
저도 IP개발을 하는데 전 그냥 제가 만든 버젼으로 컴파일하라고 합니다. ^^;; 다행히 제 IP를 쓰는 쪽이 아쉬운 상황이다보니 알아서 쓰더군요.
요새 포스팅이 뜸하신걸 보니 많이 바쁘셨나봅니다.
babyworm | 2008/04/14 18:13 | PERMALINK | EDIT/DEL
한시도 눈을 돌릴 수 없는 50일 된 아기를 키우면서, 2개의 프로젝트가 진행되고 있으니 시간을 참 안나네요.. (이런 핑계를.. ^^ )
[로그인][오픈아이디란?]
Name
Password
Homepage

Secret
Low Power Methodology Manual 무료 배포!
[babyworm, 2007/08/17 14:34, 책이야기]

지난 DAC07 best selling book에서 1위를 차지한 Low Power Methodology Manual(이하 LPMM)이 synopsys를 통하여 무료 배포되고 있습니다.
단, Solvnet에 등록 아이디를 가지신 Synopsys 고객분들에 한하여 배포되면, Printing이나 Copy등이 불가능한 버전입니다.
게다가, 각 파일마다 personalized(어떻게 했는지는 모르겠습니다만)되어 있어서, 배포하면 걸린다더군요.

아이디를 가지신 분들은 다음 링크에서 받으시기 바랍니다. http://www.synopsys.com/lpmm 입니다.

babyworm
2007/08/17 14:34 2007/08/17 14:34
Creative Commons License
이 저작물은 크리에이티브 커먼즈 코리아 저작자표시-비영리-변경금지 2.0 대한민국 라이센스에 따라 이용하실 수 있습니다.
Low Power, LPMM, synopsys

Trackback0 : Comment6
Trackback Address :: http://babyworm.net/tatter/trackback/188
blueecho | 2007/08/18 10:21 | PERMALINK | EDIT/DEL | REPLY
앗.. 모르고 있었는데 덕분에 좋은 자료 받았습니다. ^^
babyworm | 2007/08/20 11:10 | PERMALINK | EDIT/DEL
도움이 되셨다니 저도 기쁘네요 :)
gnil | 2007/08/30 00:56 | PERMALINK | EDIT/DEL | REPLY
이건 최근에 책아저씨를 통해 구입한 무언가 였군요 ㅋ
babyworm | 2007/08/30 09:16 | PERMALINK | EDIT/DEL
혹시 건대? 아님 딴곳인가요? 안그래도 제본하려고 했는데 벌써 배포되었다면 이용을 해야 겠군요.
gnil | 2007/08/30 14:00 | PERMALINK | EDIT/DEL | REPLY
건대요^^;
제가 나온 학교라서 가끔 들러 보곤 하거든요...
간김에 SystemVerilog 책들도 확~ 샀죠 ㅋ
amyjung | 2007/09/05 10:19 | PERMALINK | EDIT/DEL | REPLY
그런데 건대아저씨를 만나려면 어디로 가야하나요. 읽고 싶은 책이 많은데 그 학교 출신이 아니여서
.... ^^;
[로그인][오픈아이디란?]
Name
Password
Homepage

Secret
Synopsys Discovery Seminar
[babyworm, 2007/05/02 23:21, 분류없음]
5월 11일에 Discovery seminar가 COEX에서 있습니다.
개인적으로는 요즘 최대의 관심 분야가 저전력과 functional verification인데, VMM에 대해서 집중적으로 다룰 예정이라 아주 구미를 자극하고 있습니다.  대략 90%는 참석할 예정입니다. (10%는 회사의 사고에 대비해서..^^;)

참석하고 나서, 대충 요약해서 올리도록 하지요.


등록은:  http://www.synopsys.com/news/events/sem ··· sem.html




≫ Primary Multi Track Agenda

Track A1 Abstract
Introduction to SystemVerilog testbench with the VMM Methodology
- Making the move from directed tests to constrained-random verification
- SystemVerilog testbench basics
- Strategies for adopting SystemVerilog testbench and the Verification Methodology Manual (VMM)

Debug and Analysis with DVE
- An overview of DVE (Discovery Visualization Environment)
- Using DVE for assertion, testbench and SystemC debug
- Using DVE with analog simulatioins

Track A2 Abstract
Formal Verification with Megellan
- Making the move from directed tests to constrained-random verification
- SystemVerilog testbench basics
- Strategies for adopting SystemVerilog testbench and the Verification Methodology Manual (VMM)

Verification of Low Power Designs
- An overview of DVE (Discovery Visualization Environment)
- Using DVE for assertion, testbench and SystemC debug
- Using DVE with analog simulatioins

Track B1 Abstract
Introduction to VMM Applications
- Register modeling and verification
- Block-to-system reuse and memory allocation techniques
- Data stream scoreboarding

Using Verification IP in a VMM Environment
- Using transaction-level SystemC models in a SystemVerilog environment
- Transaction-level Interface techniques in VCS
- Debugging mixed-abstraction, mixed-language environments in DVE

Track B2 Abstract
SystemC and SystemVerilog Design Verification with VCS
- Using transaction-level SystemC models in a SystemVerilog environment
- Transaction-level Interface techniques in VCS
- Debugging mixed-abstraction, mixed-language environments in DVE

Accelerating Verification using the VMM Hardware Abstraction Layer with ZeBu
- Introduction to hardware-assisted acceleration with the EVE ZeBu platform
- Using the VMM HAL to reuse a common testbench for simulation and acceleration
- Implementing acceleration-friendly checkers, monitors and data generators

Track C1 Abstract
Verifying Performance and Reliability of Nanometer Designs with HSIMplus
- Solutions for post-layout analysis with millions of extracted RC parasitics
- Verifying performance and reliability for IR drop effects and electromigration

Mixed-Signal Verification (MSV) challenges and solutions
- Bottom-up, mixed-signal Verification w/ Verilog, VHDL, & SPICE
- Mixed-language / Mixed-level simulation top down design and verification
- Transistor-level sign-off: why is this important?

Track C2 Abstract
Advanced high-accuracy circuit simulation with HSPICE
- Performing faster simulations
- Ensuring silicon accuracy with advanced models
- Improving productivity with behavioral modeling
- Employing high-speed signal integrity analysis capabilities
- Simulating process variability effects
- Accurately predicting PLL and VCO performance

babyworm
2007/05/02 23:21 2007/05/02 23:21
Creative Commons License
이 저작물은 크리에이티브 커먼즈 코리아 저작자표시-비영리-변경금지 2.0 대한민국 라이센스에 따라 이용하실 수 있습니다.
Seminar, synopsys, SystemVerilog, VMM

Trackback0 : Comment0
Trackback Address :: http://babyworm.net/tatter/trackback/167
[로그인][오픈아이디란?]
Name
Password
Homepage

Secret
Verilog와 VHDL.. Simulator/Verfication 툴 점유율
[babyworm, 2007/04/29 01:04, SoC 설계 관련/관련 새소식]
이 포스팅은 DVCon07에서 ESNUG의 John Cooley가 참석자 800여명을 대상으로 조사한 내용을 바탕으로 하고 있으므로, 전체 시장 점유율이나 비중을 반영한다고 이야기할 수는 없습니다. 하지만, DVCon에 참석하는 사람들이 각 사의 funcational verification을 담당하고 있는 사람이 대부분이라는 점에서 이쪽 분야의 "향후" 경향을 대변하는데는 부족함이 없을 것이라 생각됩니다.

Verilog HDL이 대세다!

이 이야기는 제 Blog전반에 걸쳐서 몇번 이야기 했었습니다. HDL을 배우고 사용하는데 있어서 Verilog HDL이 대세라는 것이지요. John Cooley는 VHDL을 고수하는 업체는 미군과 계약하고 일하는 업체나 일부 유럽 회사밖에는 없다고 이야기합니다. (VHDL을 미국방부에서 만들었으니 아직도 이쪽에 납품하려면 써야 하나봅니다.)


  Verilog only : ############################ 55.3%
mostly Verilog : ######### 18.0%
 both equally  : ### 6.5%
   mostly VHDL : ######## 16.4%
     VHDL only : ## 4.0%

[source: ESNUG-DVCon-Item02]


VHDL만 사용하는 사용자의 비율은 불과 4.0%에 불과하며, VHDL을 main으로 사용하는 사용자를 포함해도 전체의 20% 정도입니다.  Verilog사용자의 경우 VHDL을 사용하는 가장 큰 이유로 "기존에 있던 코드 때문에(legacy code)"라는 답변이 대부분입니다.

더욱 재미있는 것은 ^^; 이런 Mixed simulation을 사용할 때 사용하는 툴이 (이 응답에서는) 대부분 Modelsim이라는 점입니다. (modelsim이 주력 시뮬레이터는 아니구요.) Modelsim에게는 조금 위협적인 이야기가 되겠지요. 지금의 market share가 대부분 legacy code에 의한 것이라면 점차 legacy code의 사용이 줄어들면서 Modelsim의 입지도 줄어들 가능성이 있으니까요.



VCS의 약진!

전반적으로 functional 전 개인적으로 Simulator부분에 있어서 cadence design system의 NCsim series보다 Synopsys VCS series가 이 정도의 market share를 차지한다는 것에 놀라움을 느낍니다. 다시 한번 말씀드리듯이 DVCon은 functional verification engineer을 대상으로 하므로, 현재 상황이라기 보다 미래의 상황을 더 나타낸다고 보고 있으니, 더 놀라운 것입니다.

    Cadence NC-Sim : ######################## 24.3%
        NC-Verilog : ################## 18.0%
        Verilog-XL : # 0.7%
           NC-VHDL : # 1.1%

      Synopsys VCS : ############################################# 44.7%
            VCS-MX : ######### 8.5%

   Mentor ModelSim : ################################### 35.3%

             Aldec : ### 2.8%
            Icarus : .4%
Veripool Verilator : # .6%
 SimuCAD Silos-III : 0%
            Finsim : 0%



        Cadence 2004 total :  ############################## 51.0%
        Cadence 2005 total :  ############################## 51.0%
        Cadence 2007 total :  ########################## 44.1%

       Synopsys 2004 total :  #################### 34.0%
       Synopsys 2005 total :  ############################ 47.0%
       Synopsys 2007 total :  ############################### 53.2%

         Mentor 2004 total :  ######################### 41.0%
         Mentor 2005 total :  ##################### 35.0%
         Mentor 2007 total :  ##################### 35.3%

         others 2004 total :  ###### 11.0%
         others 2005 total :  ### 5.0%
         others 2007 total :  ## 3.5%


사실 저는 VCS를 제대로 사용해 본적이 없어서 뭐라 이야기하기 어렵습니다. Icarus, Verilator, Silos-III, Finsim은 잠깐씩이라도 다 써봤군요.. Silos-III와 Finsim은 수업에서 쓸까 해서 Evaluation version을 사용한 적이 있었고, 다른 것은 개인적인 관심으로...

여하튼.. VCS의 점유율이 늘어나고 Cadence의 점유율이 줄어드는 경향은 아마도 VMM의 힘이 아닌가.. 라는 의견도 있군요.
사실 Cadence가 Verilog기반의 회사임에도 그간 System-C 기반의 설계/검증 환경에 강점을 보인 반면, Synopsys는 VMM으로 SystemVerilog 검증의 기반을 잡아나갔다는 것도 하나의 이유일 수 있다고 분석되는 군요.
Mentor의 Modelsim의 선방도 인상적이긴합니다. 아직 국내 학생들 사이에서는 최고의 인기이지요? 가격적으로도 메리트가 있구요. 하지만, Modelsim에 검증 부분을 강화한Questa에 대한 반응이 아직은 본격적으로 나타나고 있지 않으니 좀 답답하겠습니다. DVCon의 설문 조사인데 말입니다. Questa의 경우 SystemVerilog나 System-C모두에 대하여 약간은 중립적인 견지에 있지요.

여하튼, Big3 EDA 업체가 functional verification에 대한 지배력을 점차 늘려가고 있는 형태네요..



Linting과 Coverage는 Built-in?

저는 사실 Linter에 대해서 처음에는 상당히 호의적이었는데, 지금은 약간 갸웃~하는 입장인데요.
Linter라는 것이 문제가 발생할 부분을 코딩 스타일 점검 과정에서 미리 확인하는 툴은데요..유용하다는 데는 이견이 없습니다만, Simulator나 Synthesizer에서 "상당히 빠르게" 미리 문제를 확인할 수 있기 때문에 약간은 비관적입니다.

Code Coverage에 대해서는 가능성이 많다고 보는데, 문제는 현재 각 Simualtor에서 제공하는 기능이 일반적인 Code coverage기능(최소한 Line coverage정도는..)을 지원하고 있고, 어짜피 functional coverage는 assertion을 사용해야 할테니 강력한 code coverage를 요구하지 않는 다는 것이 문제겠지요. (아니, 실은 요구하는데 그 기능을 위하여 지갑을 열기가 쉽지 않은 것이겠습니다.)

여하튼..

             Cadence built-in :  ######################## 24.0%
                  Cadence HAL :  ########### 11.3%
                     Verisity :  ## 2.0%

            Synopsys built-in :  ############################ 28.2%
                Synopsys LEDA :  ##################### 20.8%

          Mentor MTI built-in :  ####################### 23.0%
         Mentor DesignAnalyst :  ## 1.9%
               0-In CheckList :  ## 1.6%

               Aldec built-in :  ## 2.4%

             Atrenta Spyglass :  ########################## 25.9%

                  Novas nLint :  ### 2.7%
                     TransEDA :  ## 2.2%
            Certess Certitude :  # 1.1%
                        Axiom :  # 0.8%

                    homegrown :  ## 1.9%

결과를 보시면 알겠지만, SpyGlass가 아주 눈에 뜨입니다!
게다가 더욱 놀라운 것은 SpyGlass의 점유율이 2005년보다 약 8%나 증가했다는 것이죠.

또 하나 재미있는 것은 Leda사용자들이 Leda를 무지 싫어한다는 점입니다. 일단 Leda를 쓰지만 'Leda는 X같아서 못쓰겠고, 나중에는 SpyGlass를 쓰겠다'는 식으로요..


Waveform Viewer와 Environment는?

Waveform viewer는 실질적으로 Designer와 verification engineer들이 그야말로 끼고 사는 툴중의 하나인데요..(물론, verification enginner는 약간 덜 끼고 살죠..^^;)
대부분 Simulator에 번들링 되어온 툴을 많이들 사용합니다.

저같은 NCsim 사용자는 Simvision이나 Signal Scan을 사용하겠고, Modelsim 사용자는 Modelsim자체 툴을 사용하시겠고, Nanosim사용자는 Novas nWave가 번들링 되어 있으니 이넘을 사용하시겠죠.

그런데, 사실 요즘 세상에서는 파형만 보여주는 걸로는 부족합니다. 어떤 신호가 시점에서 unknown이 발생했으면, 어떤 신호에서부터 unknown이 타고 들어온건지 분석해주었음 좋겠고..
신호를 그래픽으로 따라 들어가 주었으면 좋겠고, 그 값이 어디서부터 바뀌어 들어온지도 알고 싶지요.

별거 아닌듯 한데, 이게 "생산력"을 아주 급격히 증가시켜줍니다!!
즉, 설계를 마치고 문제가 생기면 가장 시간이 오래 걸리는 부분이 파형보면서 문제를 파악하고 추적하는 건데, 이것을 편하게 해 주는 것은 정말 중요한 거죠.

밑에 표를 보시면 Novas의 툴들 Debussy/Verdi의 점유율이 아주 놀라운데요. 이런 맥락에서 이해하면 될 것 같습니다.
그래도, 제 생각으로는 simvision도 현재 상당히 강력해진 상황인데, 이 넘과 싸워서 사용자의 지갑을 열도록 만들수 있을 정도로 가치를 인정받았다는 의미이므로, 상당히 선전하고 있다는 거죠.
하긴 제 주변에도 Novas Debussy의 팬들이 몇 분 계시기는 하죠..^^;

         Cadence built-in debug :  ############################## 29.6%
         Cadence DAI SignalScan :  ## 1.7%

        Synopsys built-in debug :  ################################# 33.2%

      Mentor MTI built-in debug :  ########################## 26.3%

           Aldec built-in debug :  ### 2.5%

                  Novas Debussy :  ################################# 33.1%
                    Novas Verdi :  ##################### 20.8%
                  Novas nSchema :  ##### 4.5%
                    Novas nWave :  # 1.3%
                   Novas Siloti :  0.3%

             Veritools UnderTow :  ### 2.8%
                 Bybell GTKwave :  # 0.8%
             Veripool Dinotrace :  # 0.6%
           Axiom built-in debug :  # 0.8%
----
In the case of Novas!
           2005 - Novas Debussy :  ############################## 30%
                    Novas Verdi :  ######### 9%
                  Novas nSchema :  # 1%

           2007 - Novas Debussy :  ################################# 33.1%
                    Novas Verdi :  ##################### 20.8%
                  Novas nSchema :  ##### 4.5%
                    Novas nWave :  # 1.3%
                   Novas Siloti :  0.3%



EDA 업계 소식을 보다보면, '야~ 이 툴 정말 써보고 싶다'라는 생각을 해보곤 해요.
근데, 아시다시피 EDA 툴 한 카피의 가격도 가격이거니와.. EDA Tool의 Evaluation이라는 것이 회사 업무에 영향을 받기 때문에 회사 차원에서 evaluation하려면 여러 가지로 귀찮아요..

그래서, 그냥 개인적으로 evaluation 해 볼 수 있는 뭐 그런거 없나 싶기도 합니다. Technical Report정도를 작성하면서 말입니다. 외국의 경우에는 책이나 이런저런것에서 지원받는 경우를 보았습니다만, 사실 국내에서는 EDA 시장 자체의 규모가 작으니 불가능하겠지요. ^^;

babyworm
2007/04/29 01:04 2007/04/29 01:04
Creative Commons License
이 저작물은 크리에이티브 커먼즈 코리아 저작자표시-비영리-변경금지 2.0 대한민국 라이센스에 따라 이용하실 수 있습니다.
Cadence, Debussy, Mentor, NCsim, NCverilog, Novas, synopsys, VCS, Verdi

Trackback0 : Comment4
Trackback Address :: http://babyworm.net/tatter/trackback/166
Help by Grace | 2007/04/29 12:56 | PERMALINK | EDIT/DEL | REPLY
잘 읽었습니다. 전 시뮬레이션이라고는 ModelSim( Freeware 로 사용가능하니까요.)만 써봐서 다른거는 잘 모르겠네요. 학생수준에서는 '공짜'가 좋죠. 그래서 제가 썼던 찰떡궁합이 ISE WebEdition + ModelSim Free Version 이었답니다. 이렇게 두개만으로도 배울게 무궁무진하더라구요 -.-;;
babyworm | 2007/05/01 22:52 | PERMALINK | EDIT/DEL
Modelsim만 잘써도 많은 걸 할수 있지요. TK와 결합도 아주 좋은 툴이구요. PLI도 편하게 사용할 수 있게 되어 있지요.
gnil | 2007/04/30 01:27 | PERMALINK | EDIT/DEL | REPLY
음... 회사에서는 Waveform viewer로
보통 SandWork 사의툴이나
TurboWave(Synopsys 툴 안에 같이 있었는데 보니까 Novas 예전 툴인듯)를 주로 씁니다....
아무래도 둘다 analog 파형 나타내고 다루기가 좋아서 쓰는데요...
이천 쪽 설계 사람들은 전자를, 청주 쪽 설계 사람들은 후자를 주로 써요...
워낙 끼고 살아야 하는 툴이라 앞으로 통합될 가능성이 없는 것 같구요;;
babyworm | 2007/05/01 22:53 | PERMALINK | EDIT/DEL
그쪽 분야는 아무래도 Mixed signal을 볼일이 많으시니 nWave(TurboWave)가 좋겠지요.^^;
[로그인][오픈아이디란?]
Name
Password
Homepage

Secret
EDA, Foundary 모두 성장한 한해 2006년
[babyworm, 2007/04/24 23:10, SoC 설계 관련/관련 새소식]
관련 새소식은 아닙니다만..

2006년에는 전반적으로 EDA 업체나 foundary 업체나 매출이 대략 15%이상씩 증가한 것으로 보고되었습니다.
그런데, 실제로 돈을 벌었냐.. 라는 말로 넘어가면 좀 이야기가 달라지는데요..

소위 EDA업계의 big 3라고 이야기되는 Cadence, Synopsys, Mentor의 경우 상당한 수익이 난 반면..
소위 Foundary big 3라고 이야기되는 TSMC, UMC, Chartered의 경우 수익이 많이 악화되었죠.
(물론 case-by-case 입니다.)

이러한 경향은 deep-sub micron 시대로 들어서면서 더 심해진 듯 한데요..
기술 투자에 심각히 고민해야 하는 foundary에 비하여, EDA 업계의 경우 약간은 좀 더 수월하겠지요.
게다가, EDA 업계에서 EDA 툴 자체의 수익률보다 service라던지 IP 매출의 비중이 높아진 것도 재미있는 일입니다.

아.. 제목과는 관계없는건데..
EET-Korea(전자엔지니어)의 보고서를 보다가, 재미있는 부분이 있던데요..

첫 번째는 한국, 중국, 대만 모두 자국 Foundary 사용율이 압도적으로 높다는 것...
두 번째는 국내에서는 ASIC 설계에 있어서 가장 고려대상이 되는 것이 Cost 인 반면에, 중국은 Turn-Around Time 이라는 점이 재미 있더군요..

이 이야기는 국내의 ASIC(SoC/ASSP)에서 원가 경쟁이 심각하다는 것을 시사하는데.. (사실 뭐가 잘된다고 하면 몽땅 우르르~~~ 달려드는 상황상 원가 경쟁이 없을 수가 없지요..).. 국내 foundary가 그리 싸진 않거든요..
중국의 경우 원가에 대한 부분보다, 빨리 치고 빠지는 걸까요? ^^;
(그냥 just guess에요~!)

세번째.. 중국/대만에 비하여 국내의 경우 사용하는 FPGA의 크기가 압도적으로 크다는 것도 좀 재미있네요..
비메모리 반도체에서 강자라고 알려진 대만의 경우 만드는 ASIC의 크기가 아주 작다는 것도 재미있구요..^^;

babyworm
2007/04/24 23:10 2007/04/24 23:10
Creative Commons License
이 저작물은 크리에이티브 커먼즈 코리아 저작자표시-비영리-변경금지 2.0 대한민국 라이센스에 따라 이용하실 수 있습니다.
Cadence, EDA, foundary, Mentor, synopsys

Trackback0 : Comment2
Trackback Address :: http://babyworm.net/tatter/trackback/165
meme | 2007/06/12 19:10 | PERMALINK | EDIT/DEL | REPLY
안녕하세요...

마지막에 ASIC 설계에 있어서 고려 대상이 한국과 중국이 다르다는 기사는 참 재미 있는것 같은데요. 소스를 찾아보려고 해도 찾아 볼 수가 없네요.
혹시 URL을 알 수 없을까요??
수고하세요....
babyworm | 2007/06/12 20:18 | PERMALINK | EDIT/DEL
아.. 두번째 항목 말씀이시군요..
저도 예전에 받은 e-mail에 적혀있던 주소에서 본것이라 지금은 찾기가 어렵네요. 여기서 직접적으로 인용된 보고서의 제목은 EETimes의 보고서중에 IC design house survey 2006입니다.
사실은 원문상에서는 "foundary와 계약시 가장 어려운 점이 무엇인가? "(이런 비슷한 질문)에 대한 응답이었던 걸로 기억하는데요.. 다른 결과들과 같이 이야기하면서 이런식으로 표현된 것 뿐입니다. :)
[로그인][오픈아이디란?]
Name
Password
Homepage

Secret
시납시스 세미나가 있습니다.
[babyworm, 2007/04/01 00:14, SoC 설계 관련/관련 새소식]
시납시스에서 저전력 분야에 대한 설계 세미나(실제적으로는 툴 소개겠지요?)가 있습니다.
작년에도 참가하긴 했었는데.. 작년과 비슷한 내용이 아닐까.. 라는 선입견이 약간 생깁니다.
시납시스의 저전력 세미나는 최신 경향을 받아들이기는 좋은데, 문제는 synopsys에서 제안하는 methodology를 지원하는 fab이 TSMC, UMC정도 밖에 없고.. 이 methodology를 지원하는 라이브러리를 사용하려면 추가 NRE를 내야 하는 경우가 많다는 점이겠지요. (즉, 대기업의 methodology team이 아니면 해당 기법을 바로 받아들이기가 상당히 어렵다는 말이 됩니다.)

그래도, 올해는 뭐가 바뀌었는지 궁금하기도 하고... 해서 가볼 확률이 상당히 높네요..

메일로 받은것인데.. 그대로 올립니다. 관심있으신 분은 참가신청을 하십시요.

 
09:00 ~ 09:20 Registration
09:20 ~ 09:30 Welcome
09:30 ~ 10:30 Synopsys Low-Power Solution Overview
10:30 ~ 11:00 Silicon-proven Low-Power Design Case Studies
11:00 ~ 11:15 Break
11:15 ~ 12:00 Advanced Low-Power Technology Overview
12:00 ~ 13:00 Lunch
13:00 ~ 14:15 Low-Power Design Tutorial including RTL Simulation and Synthesis,
Physical Implementation; Analysis and Signoff
14:15 ~ 14:30 Break
14:30 ~ 15:15 Low-Power Design Tutorial (cont.)
15:15 ~ 15:45 Low-Power Design Solution Demo
15:45 ~ 16:00 Conclusion and Prize Drawing
 
http://pass.postman.co.kr/Check.html?TV9JRD0xMzY3MDU5MDIw&U1RZUEU9TUFTUw==&TElTVF9UQUJMRT1FQkFEMDM2MA==&UE9TVF9JRD0yMDA3MDMyODEwMDAwMDE2OTYxMA==&VEM9MjAwNzA0MDQ=&S0lORD1D&Q0lEPTAwMg==&URL=http://www.synopsys.com/news/events/seminars/lp_sem.htmlhttp://pass.postman.co.kr/Check.html?TV9JRD0xMzY3MDU5MDIw&U1RZUEU9TUFTUw==&TElTVF9UQUJMRT1FQkFEMDM2MA==&UE9TVF9JRD0yMDA3MDMyODEwMDAwMDE2OTYxMA==&VEM9MjAwNzA0MDQ=&S0lORD1D&Q0lEPTAwMw==&URL=http://218.38.34.168/mailform/synopsys/synopsys_0421_map.html

Synopsys registration에 가서 보았더니, 이 세미나 이외에 5월 11일에 discovery 세미나가 잡혀있더군요. 거기에 VMM 세션이 있으니, 관심있으신 분은 참가하시면 되겠습니다. 해당 세미나도 곧 메일이 오겠지요..
이건 꼭 참가할 예정입니다. ^^; 뭐 회사에 별일 없어야 가능한 일이겠습니다만 말입니다.






babyworm
2007/04/01 00:14 2007/04/01 00:14
Creative Commons License
이 저작물은 크리에이티브 커먼즈 코리아 저작자표시-비영리-변경금지 2.0 대한민국 라이센스에 따라 이용하실 수 있습니다.
synopsys, 세미나, 저전력

Trackback0 : Comment0
Trackback Address :: http://babyworm.net/tatter/trackback/153
[로그인][오픈아이디란?]
Name
Password
Homepage

Secret
시납시스는 역시 대단해!
[babyworm, 2007/02/26 00:02, SoC 설계 관련/관련 새소식]
EE-times에서 시납시스의 수익이 15% 늘어났다길래... '얼마나?'라는 순진한 생각에 클릭.

흠.. 헉!
1/4분기 수익이 " $300.2 million "!

대단합니다. 예전에 deep submicron으로 접근하면서 공정 회사는 부진해지고, 툴회사의 수익성은 좋아지는 듯하다라는 이야기를 드린적이 있는데요..
역시 그렇나 봅니다. 지난번에는 TSMC를 비롯한 많은 fab들의 실적이 별로라는 기사도 있던데..

역시 시납시스는 대단해요..
babyworm
2007/02/26 00:02 2007/02/26 00:02
Creative Commons License
이 저작물은 크리에이티브 커먼즈 코리아 저작자표시-비영리-변경금지 2.0 대한민국 라이센스에 따라 이용하실 수 있습니다.
synopsys

Trackback0 : Comment2
Trackback Address :: http://babyworm.net/tatter/trackback/145
이권형 | 2007/03/04 00:56 | PERMALINK | EDIT/DEL | REPLY
괜시리.. 선배님들이 어떻게 계시나 궁금해서 여기저기 돌아다니고...

얼마전에 준기형이 adchips 들어갔다길래, 그냥 네이버에서 adchips쳐서

관련글들 읽고 있었는데.. 어쩌다보니, 현규형 홈피까지 오게 됐네요..

잘 지내고 계시죠?

전 아직 군대에 있어요.. 이제 전역이 한 .. 100일 정도 남았구요..

이번주에는 영어문제로 교수님 찾아뵙고 상담하려고 해요..

한.. 6개월 정도 있다가 다음년도 시작하면 복학하는거에 대해서 말씀드려 보려고요..

언제한번 회사 찾아가도 되나요?

형두 보구싶구.. 준기형두 보고싶은데..

그럼 항상 행복하세요~~! ^^
babyworm | 2007/03/08 13:15 | PERMALINK | EDIT/DEL
제대나 하셔~ :)
[로그인][오픈아이디란?]
Name
Password
Homepage

Secret
방명록에 쓰여진 문의에 대한 답변..(설계의 결과를 보는 법..)
[babyworm, 2007/01/16 14:03, SoC 설계 관련/초보자 코너]
(말머리: e-mail로 답변을 달라고 하셨지만, 기본적으로 문제는 공유하는 것이 좋다고 생각해서 posting합니다. e-mail로도 알려 드리겠습니다. 아.. 이제보니 비공개 문의셨군요.. 제가 항상 로그인 상태라서 몰랐습니다. 성함은 제외하였습니다. )

Algorithm쪽, 혹은 System을 배우는 연구실에서 알고리즘의 하드웨어적인 측면의 우수성을 알려고 할때 hardware구현을 시도해 보는 일반적입니다. (혹은 실제 동작을 확인할때도 많이 사용되지요..)

이때, 그 전의 선배들이 hardware performance를 비교한 적이 있어서 기틀이 잡혀 있는 랩이라면 아무런 문제가 없겠지만, 그렇지 않은 랩에서는 엄청나게 고생하게 되어 있습니다.

그래서 비교적 설치/사용이 간편한 FPGA 기반으로 hardware를 비교하는 경우가 종종있습니다. 하지만, FPGA는 사실 예전 글에서 설명드렸지만, functional verification에 사용되는 것이지, FPGA에서의 크기/속도를 기반으로 실제 hardware가 어느정도 크기/속도로 짐작하기는 매우 어렵습니다.
ASIC은 P&R이 자유롭기 때문에 복잡한 로직을 잘 표현하지만, FPGA는 각 Cell 에서 표현 할 수 없는 형태의 복잡한 로직(많은 입력/많은 출력이 관여하는)이라면, 여러개의 cell을 사용할 수 밖에 없고 이 과정에서 속도/크기가 나빠지기 마련입니다.

따라서, FPGA에서 나오는 속도/크기는 그냥 FPGA에서 의미를 가지며, ASIC에서는 하드웨어 형태를 추정하기는 어렵습니다(물론, 어느정도 연관관계가 있으므로, 전혀 무의미하다 할 수는 없습니다.)

문의 하신  부분의 테이블은 Artisan에서 제작된 0.18um (어느 회사 공정인지는 모르겠습니다만..) standard cell library를 이용하여 합성하고 그 값을 비교한 값입니다. Artisan은 잘 알려진 Physical IP제작 회사이면서 라이브러리 제작회사죠.. 이번에 ARM에 합병되었습니다만.. ^^;
전 세계적으로 상당히 많은 회사에서 artisan라이브러리를 지원하고 있는데,
국내에서는 동부-아남에서 Artisan라이브러리를 쓰고 있죠.  (Hynix도 사용하던가요? hynix는 virage였나? 가물..)

Table III) comparison of synthesized results
| Li's Architecture | Our Architecture
--------------------------------------------------------------------------------------------------Technology | 0.18um Artisan CMOS | 0.18us Artisan CMOS
Critical path | 10ns | 6ns
Working frequency | 100MHz |148.5Mhz
Gate count | 13.6k | 15K
Decoding speed | less than 1 code per cycle | 1code per cycle
Capacity | SDTV | HDTV
--------------------------------------------------------------------------------------------------

위의 테이블에서는 동일 공정에서 critical path delay 가 예전것이 10ns이고, 제안된 것이 6ns이므로, 더 좋을 것이다. 뭐 이런 이야기겠죠? ^^;


unix 컴퓨터에 synopsys 환경 구축은 기본이겠지요?
보고 따라할 수 있는 자료나 책이 있으면 링크 혹은 추천 부탁드리겠습니다.
또는 이러한 교육을 받을 수 있는 곳이 있다면 소개 부탁드립니다.

위의 결과가 synopsys에서 수행되었다는 보장은 없습니다만, synopsys일 가능성이 90%이상이겠구요(ASIC용 logic합성 시장에서 90%이상의 market share를 가지고 있으니까요..).

가장 좋은 방법은 IDEC이나 IT-SoC 교육을 한번 다녀오셔서, 전반적인 flow에 대해서 이해하시는 것이 좋을 것입니다. Synopsys Korea의 교육이 있습니다만, 워낙에 비싸구요.. (IDEC 교육과 동일합니다)

기본적으로 보고 따라하실 수 있는 자료도 IDEC에 교육 자료 부분에 보시면 design compiler부분에 있습니다.
설치에서 따라하실 수 있는 자료는 synopsys에서 같이 따라나온 install guide를 보시는 것이 가장 정확합니다.

툴 설치를 정상적으로 마치셨고, 기본적인 사용법을 익히셨다면 이제 합성이 가능합니다.
로직 합성을 할때 툴과는 별개로 target library라는 것이 필요한데, 이것은 어떤 공정(위의 테이블에서는  0.18um공정에 해당하는 artisan library였죠..)을 대상으로 합성할 것인지 결정하는 것입니다. (FPGA에서 device선택과 비슷하달까요?)
이건 IDEC에서 배포하는 MPW용 몇몇 라이브러리를 사용하시면 될 것 같습니다. 하지만, 이 MPW용 라이브러리는 MPW기간에만 사용할 수 있으므로, 연구용으로 계속 사용하시기는 어려울 것입니다.

따라서, IDEC에서 배포하는 MPW용이 아닌 IDEC 자체 제작 라이브러를 사용하시거나(상용 라이브러리에 비하여 약간 라이브러리의 질이 떨어집니다만...), 교수님께 부탁드려서 몇몇 회사(삼성, Hynix, 동부/아남)에 NDA(정보 비공개 각서)를 채결하시고, 이를 연구용으로 받는 방법도 있습니다. 이 경우 NDA 조건을 잘 지키셔서 좋은 정보를 제공해준 회사들과 문제가 발생하지 않도록 신뢰를 유지하시는 것도 중요합니다.

학생일때는 최대한 IDEC을 활용하는 것이 좋겠죠.. ^^;
답변이 되었을까요?
babyworm
2007/01/16 14:03 2007/01/16 14:03
Creative Commons License
이 저작물은 크리에이티브 커먼즈 코리아 저작자표시-비영리-변경금지 2.0 대한민국 라이센스에 따라 이용하실 수 있습니다.
synopsys, Synthesis, 설계

Trackback0 : Comment2
Trackback Address :: http://babyworm.net/tatter/trackback/137
gnil | 2007/01/26 13:15 | PERMALINK | EDIT/DEL | REPLY
요새 IDEC 보단 IT-SoC가 더 나아 보이던데...
( 혹시 서울에 있는 사람만 그런가요?;; )
IT-SoC는 어떤가요?
babyworm | 2007/01/26 20:25 | PERMALINK | EDIT/DEL
사실 IT-SoC 전공 인증 과정쪽에 가장 좋겠죠.. :)
근데, MPW에 있어서는 아직도 IDEC이 좋은것 같습니다.

[로그인][오픈아이디란?]
Name
Password
Homepage

Secret
Design Compiler의 TNS, WNS..
[babyworm, 2006/11/08 20:09, SoC 설계 관련/유용한 설계도구]

오늘은 지난번 posting에 이어서 front-end 설계 엔지니어에게 있어서 주요 설계 도구중의 하나인 Design Compiler의 constraint 주는 방법에 대해서 Total negative slack과 Worst Negative slack의 관점에서 간략히 설명해 보겠습니다.

Design compiler는 잘 아시다시피 constraint 기반으로 optimization을 진행합니다.
즉, 설계를 어떤 방식으로 합성하여 최적화시키는지는 사용자가 해당 모듈에 대하여 원하는 목표치들.. 동작 주파수, 크기를 설정하면 그 값에 맞추어 합성 및 최적화을 진행하게 됩니다.

만일 constraint가 존재하지 않는 경우, 더 이상 최적화를 진행하지 않고 mapping으로 끝나게 되죠.

Slack?
모든 함성이 끝난 후 지정된 constraint 대비 합성 결과를 비교하여 slack을 나타내게 되는데, 아래 그림처럼 지정된 것보다 일찍 신호가 도착하면 positive slack이라 하지요. 이런 경우 설계자로서는 행복한 순간이니 바로 호프집으로 가서 뒷풀이하면 되겠습니다.

그 반대의 경우 negative slack이라 하는데, 지정한 constriant을 맞추지 못하는 것입니다.
따라서, 코드를 바꾸던, 툴이 더 힘을 낼수 있도록 스크립트를 작성하던..더 열심히 최적화를 해봐겠죠.


사용자 삽입 이미지

[slack의 이해- 출처는 잊었네요..]




TNS와 WNS
그럼 오늘의 주제인 TNS와 WNS는 무엇일까요?
TNS는 total negative slack이라해서, negative slack의 합입니다. 즉, 설계의 모든 net에서 발생한 negative slack을 더한 값이죠. 전반적으로 설계가 어떻다.. 를 의미합니다.
WNS는 worst negative slack이라해서, negative slack중에 가장 나쁜 값 하나를 이야기합니다.

이 값들이 어떤 의미를 가지냐 하면, WNS는 나쁘지만 TNS는 그리 나쁘지 않은 경우, WNS만 최적화하면 되기 때문에 front-end에서건, back-end에서건 그 path가 잡힐 확률이 아주 높습니다.
반대로 WNS는 별로 나쁘지 않지만 TNS가 매우 나쁜 경우, 설계상의 대부분의 path가 worst case에 몰려 있는 상태이므로, 더 이상 최적화와 P&R을 열심히 돌려도 별로 좋아지기 힘들다고 보시면 됩니다.

WNS와 TNS의 처리
Synopsys DesignCompiler에서 delay를 최적화 시키는 방법은 기본적으로 Worst Negative Slack(WNS)를 하나씩 줄여나가는 방법에 기반을 둡니다.

즉, 로직을 mapping시키고, negative slack이 발생한 net들을 주욱~ 나열한 후, 그중에 가장 나쁜 넘(WNS)에 해당하는 net을 최적화하고,
다시 negative slack net을 주욱~ 나열하고, 또 WNS를 최적화하고.. 이런식의 반복입니다.
단, WNS를 줄이면서 TNS가 늘어나면 안되게 하고 있습니다. 즉, 합성 과정에서 WNS를 줄일 수 있더라도 TNS가 늘어나는 경우라면 synopsys에서 받아들이지 않습니다.

Synopsys의 기본적인 합성 방법이 이해되시나요?


TNS도 같이 줄이기

위의 설명에서 synopsys에서 기본적으로 사용하는 WNS기반의 최적화를 보여드렸는데, 이 경우 전반적인 path가 WNS근처에 몰려 있을 확률이 아주 높습니다. (design_vision이나 primetime에서 histogram으로 확인하실 수 있습니다.)
즉, 이 말은 앞에 설명하였듯이 나중에 P&R이 아주 귀찮아 진다는 거죠..
그래서, TNS를 좀더 빡~시게 고려할 수 있는데.. 이것이 바로 오늘 이야기 하려하는 critical_range에 대한  이야기입니다. 우선 문법.

이 명령은 WNS에서 critical range로 지정된 값 이내의 path에 대해서도 같이 optimization을 수행하도록 합니다.
이렇게 하면 DesignCompiler는

1) 우선 WNS를 줄이려 노력합니다.
2) WNS줄이기가 끝나면 critical range에 해당하는 path들을 줄이기 위해 노력합니다.

이 과정에서 WNS보다는 좋지만 여전히 neagtive slack을 발생시키는 net들에 대하여 더 합성을 하게 되는 것입니다. 따라서, 전반적으로 histogram을 보면 slack이 WNS쪽에 몰리지 않고 약간 더 뒤로 이동합니다.
이는 P&R과정에서 WNS를 해결할 가능성을 높이는 결과는 보여줍니다.


Back-End Tools로 hand-off하기..

지난번에 이야기한 것 처럼, 공정이 미세해지면서 front-end에서 wireload model을 사용하면 합성의 정확성이 떨어지고 P&R과정에서 여러가지로 힘들어집니다.
따라서, P&R을 좀더 쉽게 진행하려면 front-end에서 약간 더 빡세게 합성해줄 필요가 있습니다.
(물론, S사나 L사와 같이 back-end team에서 로직 수준까지 바꿔치기 해줄 수 있는 팀이 회사내에 존재한다면 뭐가 걱정이겠습니까? ^^; )

이때 흔히 사용하는 방법이 over constraint입니다.
즉, 타겟 주파수가 100MHz라면 110MHz에서 돌수 있도록 front-end에서는 합성하는 거죠..
(물론, back-end design house 잘못 만나면 10% 마진.. 어림도 없습니다..! orz)

over-constraint와 더불어 좋은 방법이 바로 TNS를 줄여서 전달하는 겁니다.
예를 들어 110MHz에서 sign-off할 것이라면 약 clock period를 8ns정도주고, critical_range를 1ns정도 주는 것이지요.

그럼, 툴은 좀더 노력하지만, 설계보다 constraint가 너무 심하게 들어가 있으니 WNS는 대략 -0.5이상이 발생할 거고.. TNS도 큰 값이 되어 있을 겁니다. 이때 critical range를 지정하면, 많은 path가 더 좋은 delay를 가지게 됩니다. (물론, sign-off시에는 110MHz로 STA해야겠죠?)

이렇게 보내면, P&R과정에서 WNS로 잡혔던 path에 대한 time-driven placement가 별 고민 없이 최적화를 시킬 수 있으므로, design house를 좀 잘못만나도 빠르게 timing closure를 이룰 수 있습니다.

결론적으로, 디자인 하우스를 잘 만나자! (농담입니다.^^;) critial_range를 이용하여 TNS 줄임으로, back-end에서 P&R에 따른 고민을 적게 하는 것이 좋겠습니다. ^^;

사용자 삽입 이미지

역시 뭐든 타이밍을 잘 맞춰야 합니다.

babyworm
2006/11/08 20:09 2006/11/08 20:09
Creative Commons License
이 저작물은 크리에이티브 커먼즈 코리아 저작자표시-비영리-변경금지 2.0 대한민국 라이센스에 따라 이용하실 수 있습니다.
constraint, Desgin Compiler, optimization, synopsys, TNS, WNS

Trackback0 : Comment10
Trackback Address :: http://babyworm.net/tatter/trackback/90
gnil | 2006/11/09 13:48 | PERMALINK | EDIT/DEL | REPLY
좋은 글 잘 읽었습니다 ^^
저희는 좀 더 수율을 높이기 위해서
GIO를 좀 더 과도하게 모델링하거나 process skew 값을 좀 더 키우거나 한 후 시뮬레이션을 돌리는 것 같아요...

... 아래 gif 그림은 은근히 중독성 있네요;;
babyworm | 2006/11/10 13:28 | PERMALINK | EDIT/DEL
front-end에서도, back-end에서도, 공정에서도 서로 마진 많이 달라고 싸우죠..^^; 마진이 많아야 실수해도 문제가 안 생길 여지가 많으니까요 :)
lichie | 2008/01/04 10:24 | PERMALINK | EDIT/DEL | REPLY
안녕하세요. 우연히 들어와 좋은글 많이 읽고 있습니다. 저도 front만 하고(합성도 초보급이라..--; synplify_asic사용했습니다.) backend 를 외부업체에서 진행하고 있습니다. 합성시 clock constaint를 10% over-contrait 적용 후 STA에서도 over-constraint 적용해야 하나요? 제가 많이 미흡해서 그런데 설명을 부탁드려도 될까요? ^^ 앞으로 자주 들러서 많이 배워가도록 하겠습니다. 감사합니다.
babyworm | 2008/01/10 08:50 | PERMALINK | EDIT/DEL
일단 결론 부터 말씀드리자면, '회사의 정책마다 다르다'입니다.
STA시에는 over constatint를 주지않고 target freq.에 맞추는 것이 정석입니다만, 일부 회사에서는 칩이 나온 이후에 동작을 좀더 보장하기 위하여 충분한 마진을 가져가는 정책을 채택하는 곳도 있습니다.

실제적으로, 클럭에 대해서는 목표 주파수로 놓더라도, uncertainty의 경우 초기에 skew+PLL jitter를 고려한 것에서 skew 성분을 제외하고 PLL jitter 정도만 포함하는 것이 정석입니다만, 이 부분에서 약간의 마진을 포함하는 시키는 것이 일반적입니다.
어짜피 frontend나 backend에서 constraint meet하는 것은 실제 칩이 나왔을때 동작할 것이라는 "추정"이니, 좀더 마진을 가져가는 것이 제품에 입장에서는 좋겠지요.
lichie | 2008/01/22 18:15 | PERMALINK | EDIT/DEL | REPLY
답변 감사드립니다.^^ 그리고 다시 한번 좋은글 감사드려요..
비밀방문자 | 2009/03/12 15:10 | PERMALINK | EDIT/DEL | REPLY
관리자만 볼 수 있는 댓글입니다.
babyworm | 2009/03/12 16:45 | PERMALINK | EDIT/DEL
그 경우에는 합성을 하실때 constraint라는 것을 주셨을 텐데요.
slack은 설정하신 constraint 대비 해당 path의 지연 시간입니다.

예를들어 경로 지연을 10ns로 설정했는데, 해당 경로를 합성해 보니 4ns가 되었으면 +6ns slack이 됩니다.
만일 합성해보니 11ns가 되었다면 -1ns slack이 되겠지요.

어짜피 slack은 자신이 준 constraint와 비교하는 것이므로 크다고 좋은 건 아니고, 자신의 goal에 맞으면 좋은것이겠지요. (물론, 속도만 놓고 보면 slack이 positive로 크게 나오면 좋습니다. 단, 이걸 크게 하려고 -즉, constraint보다 빠르게 하려고- 노력할 필요는 없다는 거지요)
비밀방문자 | 2009/03/13 09:51 | PERMALINK | EDIT/DEL | REPLY
관리자만 볼 수 있는 댓글입니다.
babyworm | 2009/03/13 10:43 | PERMALINK | EDIT/DEL
slack per endpoints 라고 보시면 될것 같습니다.
endpoint라는 용어는 path delay를 계산할 때 마지막 지점(endpoint), 즉 f/f의 입력, 혹은 output port와 같은 부분을 의미합니다.

하나의 endpoint에 대해서는 다수의 path가 존재할 수 있는데요. endpoint slack이라는 건 일반적으로 해당 endpoint에 걸리는 worst path의 path를 의미합니다.
Timing report를 뽑으실때 endpoint 마다 최대 몇개의 path를 뽑을지도 지정할 수 있지요 ^^;

제가 DesignCompiler위주로 작업하다 보니 design vision을 거의 사용을 안해서 기억이 가물 가물 한데, 혹시 endpoint histogram(맞나..)때문에 의문이 생긴 건지도 모르겠군요.
이넘은 전체적인 path delay의 분포를 보여주는 거라고 보면 되요. 이 posting에서 나온 것 처럼 TNS를 좋게 만들면 endpoint histogram이 잘 분포되는 결과를 보이구요, WNS 위주로 합성이 되면 constraint 부분에 histogram이 몰리는 현상을 보여주죠. :)
orange | 2009/03/13 14:53 | PERMALINK | EDIT/DEL | REPLY
답변 정말정말 감사합니다~~ 정말 많은 도움이 되었어요~~ 감사합니다^^
[로그인][오픈아이디란?]
Name
Password
Homepage

Secret
multiple port net의 fixing
[babyworm, 2006/11/02 17:10, SoC 설계 관련/초보자 코너]
오늘은 HDL을 이용해서 설계하시는 초보자 분들께서 많이 실수하시는 feedthrough net 문제에 대해서 이야기하고, 이를 synopsys에서 해결하는 방법에 대해서 간략히 설명하겠습니다.

HDL을 가지고 예술을 하는 것이 아니라면, 최종적으로 구현에 목적을 두어야 한다는 것은 자명합니다.
따라서, 합성 도구에서 좀 더 잘 받아들일 수 있는 형태로 코드를 만드는 것이 더 좋은 결과를 보일 것이라는 것도 당연하겠지요.

초보분들중에 설계하실때 module로 필요하지 않은 포트를 무조건 많이 만들어두고, 해당 포트를 다시 (이름만 바꿔서) 출력으로 보내는 경우가 간혹 있습니다.

예를 들어 별 이유없이 ina를 받고, 이를 outa로 출력하는 것이지요..


이런 경우는 (ina가 다른 곳에서 사용되더라도..) 원래 outa라는 출력 자체가 별 의미가 없는 상황입니다. 모듈 외부에서 ina를 연결하면 될테니까요.. 그런데, 간혹 이런 것을 사용하시는 분들이 있습니다.
이게 왜 문제가 되냐하면, assign문에 의하여 부가적인 로직의 사용없이 전달되는 "feedthrough net"의 경우 verilog netlist상에서 assign으로 표현되고, 이는 backend P&R도구에서 대부분 문제를 일으킵니다.
동일한 이름의 넷이 서로 다른 포트에 붙어있는 경우니까요.

따라서, synopsys design compiler에서는 이러한 것을 해결하기 위해서 multiple port라는 것을 지정하고, 필요한 경우 이를 fix할 수 있도록 하고 있습니다.

우선 synopsys design compiler에서 multiple port라 정의되는 넘들의 종류는 아래와 같이 2가지 입니다.
1) feedthrough net (모듈상의 입력이 바로 출력과 연결되는 net. 위의 예입니다.)
2) multiple port net (logic의 출력이 1개 이상의 출력 포트와 연결되는 net)

이 두 가지 경우 모두 synopsys에서는 netlist를 기록할때 assign문을 이용하게 됩니다.
그런데, 앞에서 설명하였듯이 backend툴들이 assign문과 동작을 잘 안하는 경우가 많기 때문에, 기본적으로 backend tool과 연동하는 netlist의 경우 assign을 사용하지 말것이 권장되고 있습니다.
이러한 문제를 없애기 위해서 가장 좋은 방법은 의미 없는 logic을 중간에 삽입하는 것이겠지요..

따라서, 이 경우 set_fix_multiple_port_nets 라는 컴파일 옵션을 사용하게 됩니다.
이 옵션에서는 대상을 선택하기 위한 3가지 옵션이 있습니다.



그리고, 어떤 방식으로 해결할 것인지 정하는 2가지 옵션이 있습니다.



따라서 일반적으로는 아래와 같은 명령을 준다면, feedthrough에 대한 문제를 synopsys에서 대부분 해결해 주게되니, 합성 스크립트상에 반드시 추가시킬것을 권장합니다.


babyworm
2006/11/02 17:10 2006/11/02 17:10
Creative Commons License
이 저작물은 크리에이티브 커먼즈 코리아 저작자표시-비영리-변경금지 2.0 대한민국 라이센스에 따라 이용하실 수 있습니다.
assign, feedthrough net, multiple port, synopsys, 설계, 초보

Trackback0 : Comment0
Trackback Address :: http://babyworm.net/tatter/trackback/91
[로그인][오픈아이디란?]
Name
Password
Homepage

Secret
Synopsys XG모드로 가야 하나..
[babyworm, 2006/10/31 23:20, SoC 설계 관련/유용한 설계도구]

사실 logic synthesis에 있어서 synopsys design compiler가 가지고 있는 비중은 정말로 큽니다.

ASIC designer가 거치는 전체 설계 flow에서 logic synthesis는 어찌보면 implementation의 시작지점이기 때문에 아주 중요합니다.
거기서 만들어진 netlist의 질, 지정된 constraint들이 이후의 툴들에 얼마나 효과적으로 반영될 수 있는가.. 등등..

Synopsys가 design compiler라는 툴로, 이 logic synthesis를 잡아버리면서 (90%이상의 점유율이랍니다.. 완전 독점에 가깝지요..), 이 강력한 파급력으로 DFT, Floorplan, P&R까지 이전의 강자들을 무너트리고 있는 상태입니다.

물론, 다른 회사들도 이 황금어장을 그냥 놓아둘수 없었던지, cadence는 build gates라는 툴로, mentor는 percision으로, synplicity는 synplify AISC으로 대항하고 있지만.. 흠.. 안타깝게 아성은 무너지지 않고 있으며 오히려 더 견고해지고 있는 느낌입니다.

여하튼..

지난번에 synopsys의 topographical synthesis에 대하여 잠시 말씀드렸었는데..오늘 말하려 하는 것은 synopsys가 2004.06버젼부터 선보인(혹 틀릴수도 있어요..) XG 모드라는 것입니다.

처음에 XG모드는 memory를 더욱 효율적으로 사용하고, 더 빠르게 분석할 수 있도록 하자는 목적으로 기존의 DB형식을 대치하려 개발된 synopsys의 내부 표현 저장방식입니다.

저는 개인적으로 예전에 XG모드를 썼다가 크게 덴 적이 있습니다.
온갖 수사로 포장된 2004.06에서의 XG모드... SNUG에 tutorial로 설명된 것으로 보고 혹~ 해서 얼마간 썼었는데..DB모드에서는 정상적으로 합성되는 verilog HDL 소스들이.. 죽기도 하고, 운좋으면 합성되는데 netlist가 이상하기도 하고... 온갖 고생을 시겼었습니다.

그 이후 사실 쳐다보지도 않고 있지요..^^; (소심해서..)
새로 구입한 Design Compiler 2006.x 버젼은 실행시키면 바로 XG,TCL모드로 뜨는데, 일부러 db_mode로 띄워서 쓸 정도니까요..

그런데, 얼마전에 DFT compiler 교육에 교양삼아 참가했었는데, XG모드 이야기가 나오더군요..
뭐, 여러가지 "XG 좋네~ 쓰세요~" 이런류의 이야기 말미에.. "2007년부터 DB 모드는 없어집니다."

사용자 삽입 이미지

캬아악~! DB모드가 없어진다구? orz


1993년 1월호 마이크로 소프트웨어 커버 기사의 이름이 생각납니다.

"이제는 변화에 순응해야 할때..." (C++의 시대가 온다.)

음.. 이제는 XG모드에 맞춰서 스크립트도 작성해야 겠군요..
사실 뭐, 바뀐다고 별일 있겠습니까..
단지, XG모드에 익숙해지고, 믿어가는데 시간이 좀 필요할 뿐이지요.^^;

Synopsys는 꽤 오랜 시간 XG모드로의 전이에 공을 드려왔습니다. 뭐, 여러가지 최적화된 결과를 보이는 모드니까요.. QoR의 관점에서 XG가 월등하다고 보는데, db기반에 익숙한 사람들이 안넘어오니까요..^^;

사용자 삽입 이미지

XG 모드로 이전하기 위한 모든 정보가 있는 곳.


자.. 이제 변화에 순응합시다..

p.s.
DFT Compiler Lab에서 사용해본 DC-XG 모드는 아주 훌륭하더군요.. 속도도 훌륭하고.. ^^;
거기 랩하는 동안 시간이 남아 topographical synthesis도 해봤는데.. 초반에 library 분석하는 데 꽤 오랜 시간이 걸리더군요.. 라이브러리 셋팅이 되고나면, 그 다음 부터는 빠릅니다.

아! 또한가지 design vision 새버젼은 Solaris 버젼을 타더군요.. Solaris 업데이트하시고, DC2006.0x를 깔아야 합니다.

babyworm
2006/10/31 23:20 2006/10/31 23:20
Creative Commons License
이 저작물은 크리에이티브 커먼즈 코리아 저작자표시-비영리-변경금지 2.0 대한민국 라이센스에 따라 이용하실 수 있습니다.
design compiler, DFT compiler, synopsys, XG mode

Trackback0 : Comment3
Trackback Address :: http://babyworm.net/tatter/trackback/88
gnil | 2006/11/01 13:04 | PERMALINK | EDIT/DEL | REPLY
Magma Design Automation (http://www.magma-da.com) 이라는 회사의 툴은 어떤가요...?
저희는 이걸로 std cell lib setup 하는 것 같은데...
babyworm | 2006/11/02 00:39 | PERMALINK | EDIT/DEL
오~! blaster fusion용으로 라이브러리를 만드시나보군요..
사실 소문만 들었지 사용해본적은 없습니다. RTL2GDSII가 되는 두가지 가장 유명한 툴중의 하나이니, 괜찮을 것이라 생각됩니다. :)

아, Magma 홈에보니 finesim도 Magma것이군요.. 예전에 verilog-XL보다 빠르고, 상당히 저렴한 가격에 마케팅을 해서 랩에서 evaluation해본 경험이 있습니다.
아쉽게도 얼마지나지 않아 NC-verilog가 출시되어 finesim은 자취를 감추었지만요.. 홈페이지에는 아직 있네요..
gnil | 2006/12/08 16:52 | PERMALINK | EDIT/DEL | REPLY
아... 지금보니 그냥 Synopsys 툴로 synthesis 하구요... APnR을 blastfusion 쓰네요;;
[로그인][오픈아이디란?]
Name
Password
Homepage

Secret
TLM으로 설계가 이동할 것인가?
[babyworm, 2006/10/23 11:04, SoC 설계 관련/검증이야기]
Transaction Level Modeling(이후 TLM)이라는 것이 한 2-3년전부터 SoC설계 분야에서 논문/책/툴을 쏟아내고 있습니다. 그만큼 이제 시장 상황이 익어간다는 것이겠지요.

하지만 설계라는 분야에서 RTL에서 TLM 수준으로 추상화 수준이 이동할 것이라고 믿었던 사람들도 이제는 거의 TLM 수준에서 설계가 이루어질 것이라 믿고 있지 않습니다. 그 이유는 무엇일까요?

예전에 schematic capture수준에서 HDL을 기반으로 하는 RTL수준으로 설계가 옮겨 갈수 있었던 가장 큰 이유는 logic synthesis 기술의 혁신적인 발전에 있습니다.
(저가 처음 digital logic 설계를 배우던 시절이 이 개념이 한창 바뀌던 시절이었던것 같습니다. 학부 3학년때는 schematic capture툴로 설계를 했는데, 학부 4학년때는 VHDL을 시작했거든요.. 개인적으로는 schematic capture툴로 설계를 시작한 것이 설계의 기본기를 많이 배울수 있었던 기회였기에 아주 행운이었다고 생각합니다. )
초기에 logic synthesis는 사실 (전문가가 한) schematic 설계보다는 못하지만, 그 생산성에 있어서 비교할 수 없이 훌륭했고, 어느정도 시간이 흐른 이후에는 설계의 질 또한 훌륭한 수준이 되면서 대부분의 설계가 RTL에서 이루어지게 되었습니다. (물론, 아직도 schematic capture를 이용하여 설계하시는 분들이 계십니다. 몇년전에 일본에서 온 할아버지 엔지니어였던 야노상.. HDL도 잘 모르고, STA도 몰라서 같이 일하는데 아주 괴롭고, 걱정스러웠습니다만.. 동작 잘하는 칩을 만드는 엔지니어였습니다. ^^; 일면 부럽기도 하고요..그 나이까지 엔지니어를 한다는 것이요..)

TLM 수준에서 설계가 이행되지 못하고 있는 큰 이유는 구현(implementation)을 위하여, 손으로 재설계를 해야 하기 때문입니다. 즉, TLM으로 만들고 난 이후에 이를 RTL로 이전시킬 만한 (괜찮은) CAD 툴이 아직 없다는 것이 문제입니다.

뭐, 여러가지 시도가 있기는 합니다만.. 99년에 제가 한창 CAD 알고리즘을 공부할때 behavioral synthesis라는 논문들을 보고.. 이거 돈 되겠다.. 라고 생각했었는데..^^; 사실 이 분야에서 제대로 된 CAD툴이 아직도 못나오고 있는 실정입니다. (비슷한 것으로 자연어 통역기.. 70년대부터 계속 연구되었지만.. 아직까지 못나오고 있습니다... 인공 지능 분야에서 나오지 못할것으로 예상되는 프로젝트 중의 하나로 나와있더군요..^^; 아직 연구는 많이 하지만요..)
여하튼.. TLM 수준에서 RTL로 가는 건 앞에 말한 예보다는 쉬운 것이니 향후 몇년 내에 나올것이라 예상됩니다만.. 아직은 아닌 것이지요..

그럼.. TLM 수준의 설계는 이대로 사망하는 건가요?


TLM은 검증을 싣고..

TLM이 새로운 개념이 아니라는 것은 verification engineer쪽에서는 기본입니다.
왜냐.. 예전부터 검증계에서는 TLM이 좋은 방법이었거든요..
SystemC는 이제 설계 언어라기 보다 검증언어입니다. 물론, architectural simulation하려고 할때 timed model을 예전 C++만을 이용할때 보다 아주 편하게 해주기는 합니다만, 이것이 설계는 아니지 않습니까...

이런 모습을 반영하듯, 초기 systemC는 synopsys에서 synthesizable subset을 지정하고 했습니다만.. 설계 언어로는 대부분 아무도 사용하지 않습니다. (정말 불편하죠..)

이제 SystemC에 추가되고 있는 기능은 대부분 검증 관련입니다. HVL(Hardware verification language)로의 확장에 역점을 두는 것이지요..

SystemVerilog도 마찬가지 입니다. verilog 2001에서 확장되어 발표된 SystemVerilog는 System설계 언어라기 보다 현재로서는 Verilog+HVL이라 할 수 있습니다. (많이 약합니다만..)

TLM기반의 SystemC, systemVerilog의 확장 라이브러리들

SystemC에서는 Cadence의 TestBuilder(이제는 CVE), 그리고, 이를 기반으로 한 SCV가 있습니다.
또한, 최근 멘토에서 AVM(Advanced Verfication Method)라는 검증 methodology(실은 라이브러리)가 나왔습니다. (http://www.mentor.com/products/fv/_3b71 ··· load.cfm). 아마도 Cadence가 donation한 SCV(SCV good to go. Sir! ^^;)에 대한 대항마로 생각되는 부분이 많은데요.. 둘다 무료이고, 공개된 library이니까 설계하는 저희들이야 고맙죠.
국내에서는 CoSOC이라는 서울대 사업단에서 SCV기반의 검증 라이브러리가 나왔는데..  저는 사실 교육을 받고 왔지만 아직도 목적성을 잘 모르겠더군요.. 아무래도 업체가 아니고, 학교 연구소에서 국책 과제로 수행하는 것이다보니 완성도가 아직은 부족한 것 같습니다. (흠..이름을 잊어서 홈페이지에 가봤는데 없는 걸 보니 그냥 접었나보군요)

두 라이브러리 모두 역점을 두고 있는 부분이 assertion, functional coverage, constrant random vector generation입니다. 사실 검증에 있어서 coverage directed constrant random testing이 대세니까요..

요즘에 검증쪽 일을 할라고 슬슬 작업중인데.. 음.. 삽질을 많이 할듯 해서 걱정입니다.
babyworm
2006/10/23 11:04 2006/10/23 11:04
Creative Commons License
이 저작물은 크리에이티브 커먼즈 코리아 저작자표시-비영리-변경금지 2.0 대한민국 라이센스에 따라 이용하실 수 있습니다.
assertion, AVM, HVL, SCV, synopsys, SystemC, SystemVerilog, verilog HDL, 검증

Trackback0 : Comment4
Trackback Address :: http://babyworm.net/tatter/trackback/76
gnil | 2006/10/23 13:23 | PERMALINK | EDIT/DEL | REPLY
메모리 공정은 cell cap. 위주라 peri tr. 성능이 잘 안 나오는 것 같아요...
그리고 기능도 복잡한 것은 아니니
메모리 설계는 schematic capture를 어느정도 계속 하지 않을까... 생각됩니당
Static CMOS logic & edge-triggered FF 조합은 overhead가 크다고 보고 있거든요...

그래도 나중엔 차근차근 RTL design flow를 따르는 것도 생길 것 같지만요... (reuse 압박 때문)
그럼 TLM은 너무 머나먼 얘기? ^^;
babyworm | 2006/10/29 21:36 | PERMALINK | EDIT/DEL
게이트의 서킷 수준까지 고려하셔야 하니. 당연하겠지요..^^;
파파존스 | 2006/10/24 01:36 | PERMALINK | EDIT/DEL | REPLY
TLM..
저 박사 논문 쓰면서도 일부 블록은 이 TLM으로 설계해서 검증했더랬죠..
그런데.. 생각만큼 툴이 빨리빨리 못받쳐주네요..
이젠 저에게서도 기억 저편으로 멀어져 갔구요...
Synthesis tool이 똑똑해지면서 RTL이 대접 받은 것 처럼
이 TLM도 EDA의 도움이 절실하죠.. ^^
67hoyah | 2007/02/28 14:57 | PERMALINK | EDIT/DEL | REPLY
퍼갑니다.
[로그인][오픈아이디란?]
Name
Password
Homepage

Secret
DC Ultra의 Topographical Synthesis
[babyworm, 2006/10/16 23:17, SoC 설계 관련/유용한 설계도구]
로직 합성에 많이 사용되는 Design Compiler에서는 전통적으로 통계적인 wire load model을 이용하였습니다.
즉, 합성된 로직의 크기가 어느정도라면, 이때 적용되는 wire의 R, C값이 어느정도가 될지 대략 통계값을 통하여 추정하는 방법입니다.

이러한 wire load model은 0.35um 이전의 공정까지는 어느정도 적용하는데 큰 무리가 없었습니다.
왜냐하면, 로직의 지연(delay)에 있어서 대부분이 cell이라 불리는 logic primivie에서 발생하였기 때문입니다.

그러나, 0.18um 이하의 공정으로 내려가면서 wire load model(이후 WLM)을 이용하는 방법은 한계에 부딛히게 되는데요, cell에 의한 경로 못지않게 wire delay의 비중이 커졌으며, 요즘에 와서는 cell보다 wire delay의 비중이 많이 늘어났기 때문입니다.
따라서, 기존의 WLM을 이용해서 합성한 모델은 그 정확성에 문제가 있기때문에 P&R을 하고 난 이후의 결과와 현격한 차이가 발생하여, synthesis -> P&R -> in-place optimization의 과정을 수회 거쳐야지만 정상적인 chip을 만들어낼 수 있게되는 것입니다. 이는 전반적으로 설계 효율시간에 문제를 발생시킵니다.
(보통 synthesis에서 10%이상의 over constraint를 주고 합성해야, P&R에서 비슷한 값을 얻을 수 있곤합니다. 이러한 문제가 발생하는 가장 큰 이유는 WLM의 부정확성에 있습니다.)

이를 극복하기 위하여 처음에 나왔던 방법은 Custom WLM방법입니다.
즉, 시작은 WLM으로 합성하고, P&R을 통하여 Custom WLM을 만들어낸 후 이를 이용하여 synthesis함으로써 해당 칩에 좀더 가까운 wire load model을 사용할 수 있도록 하자는 방법입니다.
이 방법은 0.35um부터는 당연히 사용되어야 하는 방법으로 정착하였습니다.

또다른 방법은 physical synthsis라는 방법인데, physical compiler라는 설계 도구에서 방법적으로 정착되었습니다. 이는 synthesis단계에서 pdef(floorplane정보)를 이용하여 가상적으로 place를 해보고 이를 이용해서 각 cell간에 좀더 정확한 경로 지연을 찾아낸다는 기법이었습니다.

사용자 삽입 이미지

[physical compiler: 그림 출처 http://www.hbi.de/clients/Synopsys/bilder/pc_screenshot.jpg]


이렇게 발전해 나가던 것이 이제는 DC에 모두 통합되었습니다.
DC ultra에서 topographical synthesis라는 이름으로 모두 통합되었습니다.

이전의 DC ultra는 automatic hierarchycal ungroup과 같은 기능을 가지고 있는 것이었는데, 이제는 physical compiler에서 발전한 topographical synthesis기능까지 추가되어, P&R이후와 가장 근접한 형태로 합성해 낸다고 합니다.
사용자 삽입 이미지

뭐, synopsys의 발표자료는 거의 다 좋다는 것이겠구요..^^;

ESUNG에 보니 상당히 개선된 것 같습니다. (http://www.deepchip.com/items/0457-05.html)
회사에서는 라이센스 비용 관계로 아직 사용하지 못하지만.. (ㅠㅠ) 아주 기대되는 기술입니다.
babyworm
2006/10/16 23:17 2006/10/16 23:17
Creative Commons License
이 저작물은 크리에이티브 커먼즈 코리아 저작자표시-비영리-변경금지 2.0 대한민국 라이센스에 따라 이용하실 수 있습니다.
DesginCompiler, synopsys, Synthesis, Topographical Synthesis, Wireload model

Trackback0 : Comment2
Trackback Address :: http://babyworm.net/tatter/trackback/67
gnil | 2006/10/17 21:22 | PERMALINK | EDIT/DEL | REPLY
옷~ 잘 읽었습니다 ^^
babyworm | 2006/10/18 08:51 | PERMALINK | EDIT/DEL
항상 좋은 댓글 달아주셔서 감사합니다. :)
[로그인][오픈아이디란?]
Name
Password
Homepage

Secret
시납시스의 여전한 이야기.. SNUG Seoul 2006, MiniDAC
[babyworm, 2006/09/14 22:08, SoC 설계 관련]

HDL을 이용해서 로직을 설계하고, 비메모리 반도체 만드는 사람들에게 있어서 필수 설계 도구(CAD)툴로는 synopsys의 design compiler를 들수 있겠습니다.

사용자 삽입 이미지

로직 합성 분야에서 약 90%이상의 점유율을 보이고 있는 것으로 조사(ESNUG에 따르면)되고 있으니, 거의 표준 설계 도구겠지요..

이 synopsys에서 오늘 miniDAC을 진행했습니다. babyworm은 이런 쇼를 좋아하는 편이라 올해도 빠지지 않고 갔지요. 시납시스에 있어서 가장 중요한 이슈는 이제 더이상 로직합성이 아닙니다 (가장 중요한 돈 벌이도구임에는 틀림없고, 여전히 중요합니다만..).
전체 설계 과정인 "HDL설계 및 시뮬레이션" -> "로직 합성" -> "auto P&R" 과정에서 중간에서 압도적인 점유율을 가지고 있고, 가장 중요한 과정을 잡고 있는 시납시스는 요즘 auto P&R부분에 상당한 신경을 쓰고 있습니다.
즉, HDL 설계 이후의 모든 과정을 점유하고자 하는 의욕을 보이고 있고, 그 성과는 아주 가시적으로 보입니다. auto P&R에서 한창 잘 나가던 apollo라는 툴을 가지고 있던 avant!사를 인수합병하면서, 새롭게 astro라는 툴을 내놓았고(사실 거의 apollo와 비슷했습니다.), 이제는 design compiler의 GUI인 design vision과 유사한 모양새를 가진 IC compiler를 주력으로 만들었으니까요.

사용자 삽입 이미지

시납시스에서는 Galaxy Design Platform을 표방하고, 로직 합성과 physical synthesis, P&R 과정을 하나의 플랫폼으로 동일한 DB를 묶는 큰 과정을 벌이고 있습니다.

이러한 과정은 예정되어 있던 수순이라고 할수 있는데, 좀 아쉬운 면이 있습니다.
사실 2년전쯤에 ESNUG에서는 RTL2GDSII라는 툴로 시끌 시끌했습니다. 위의 모든 과정을 하나로 묶는 굉장한 툴을 시납시스에서 개발중이라는 루머가 흘러나왔고, 이 툴이 IC-Compiler라는 이름으로 이름 지워졌다는 이유였습니다.

하지만, 공개된 결과는 실망스럽게도 Design-Compiler부분을 건드리지 않는 방법(하지만, design compiler 에서 virtual P&R을 하면서 정밀도를 높이는 - topological synthesiss - 방법을 사용하는)을 이용하는 것으로 결정되었기 때문입니다.
사실, 현재의 모양도 거의 합성 과정에서 P&R이 고려되고, P&R과정에서 합성도 병행되므로 합치려 했다는 말이 설득력이 있으며, 합치는 것이 더 맞겠지요..
아마도, 두가지 툴을 합치면 과도한 프로그램 값을 받아야 한다는 압박감.. (이 전체 플로우를 합치면 툴값만 한 10억하니까.. 여러툴에 10억을 지출할 회사도 1툴에 10억을 지출할 회사가 많을까.. 하는 의구심이랄까요.. 게다가 로직합성까지만 하는 회사도 많고, p&r만하는 회사도 많으니까요..), 혹은 수익에 대한 고려.. 이런게 아니었을까 싶습니다.

시납시스의 최근 miniDAC은 power minimization, 특히 clock gating/(MTCMOS를 이용한) power gating.
DFM에서 더 나아간 DFY. DesignWare (verification) IP, system verilog에 대한 적극적인 지원.. 이렇게 진행됩니다.

사실 첫번째 아이템은 항상 제가 관심을 가지고 보는 것인데.. 사실 power gating의 경우 공정에서 지원해 줘야 하는 것이니.. 좀 어려움이 많고요.. (TSMC와 같은 leading fab이 아닌 경우 별로 지원 안해줍니다...)
clock gating에 필요한 ICG cell도 사실 SMIC나 GSMC모두 구하기가 상당히 어려웠습니다. (말도 안되는 이야기같지만, 디자인 하우스의 이야기를 믿자면.. 국내에서 저희회사에서 처음으로 요구했다네요.. 왠지 신뢰가 안가는 말입니다.. clock gating은 외국에서라면 자주 쓰는 건데 말입니다... 아무 둘러댄거 아닌가 생각하는데, 사실이라면 좀 심각합니다.  )

DFM, DFY는 physical synthesis, P&R에서 고려되는 부분이니, 저희 같은 front end회사는 좀 밋밋한 느낌입니다. (볼때마다.. 아~ 그래야지~  그런 느낌이랄까요)

DesignWare verification IP를 국내에서 대기업말고 쓰는 곳이 있을지 좀 의문도 들구요.. ^^; 워낙 비싼데다가, 국내 ASIC회사중에 그정도로 검증에 대한 인식이 있는 회사가 있을까요?

System Verilog에 대한 지원은 좀 의외이긴 합니다. 사실 SystemC가 synopsys/cadence의 지원으로 커가고 있는 중이어서, 예전에 systemC에 대한 지원을 시납시스에서 줄일 예정이라는 말을 들었을때... "에이~ 거짓말~".. 그랬는데.. 사실인지도 모르겠습니다.

SCV를 필두로 cadence의 영향력이 systemC에 커지는 것이 별로 보기 안좋게 여겨져서, system verilog에 대한 지원을 강화하는 걸로 나타났는지도..

사실 miniDAC에 가면 선/후배들을 볼 기회가 많아서 오랫만에 사람보는 재미도 있고 합니다.

오늘의 miniDAC에서 생긴 수익은...바로.. 이겁니다.
사용자 삽입 이미지

시납시스에서 준 타거스 가방

가끔은 이맛에 CAD vendor쇼에 갑니다.
babyworm
2006/09/14 22:08 2006/09/14 22:08
Creative Commons License
이 저작물은 크리에이티브 커먼즈 코리아 저작자표시-비영리-변경금지 2.0 대한민국 라이센스에 따라 이용하실 수 있습니다.
SNUG, synopsys

Trackback0 : Comment0
Trackback Address :: http://babyworm.net/tatter/trackback/44
[로그인][오픈아이디란?]
Name
Password
Homepage

Secret
*1
Location : Tag : GuestBook : Admin
babyworm’s Blog is powered by Tattertools.com / Designed by Hisday / Modified by Daisy