Category Archives: CAD tools

wxPython

예전에 simulator를 만들때 cross platform에서 GUI를 만드는 것이 참 어려웠던 기억이 있습니다.

그나마 좀 쓸만한 것이 TK 기반의 gui들인데, 그나마 perl-tk를 이용하는 것이  가장 무난했던 것 같습니다. (그 전에는 TCL/TK를 썼지만, linux에 perl은 windows를 제외한 대부분의 platform에 porting되어 있으니까요.. 단, perl-tk는 가끔 없는 것도 있다는 것이 함정)

Python을 잘쓰지는 못하지만, 역시 TK inter가 있으니까요. 문제는 다들 느끼시듯이 TK가 그다지 이쁘지 않다는 것..

회사 분이 소개시켜주셔서 wxPython에 관심을 가지게 되었는데.. platform의 native GUI API library를 사용한다니, TK보다야..

여하튼, 찾아보니 아래와 같은 PDF 문서가 검색되네요.. 아쉽게도 번역서는 없고.. 좀 봐야겠습니다. Python은 예전에 마눌님께서 bioinformatics에 관심이 있다고 하셔서 잠시  봤던 것이 전부인데(마눌님은 안하시고, 저만 교양삼아 봤다는..).. 그래도 뭐 언어가 다 언어죠..

시간이 될 때 틈틈히 봐야겠습니다.

http://eduunix.ccut.edu.cn/index2/pdf/Manning.Publications.wxPython.in.Action.Mar.2006.pdf

Synopsys 버전을 찾아보기..

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 명령어를 쓰면 되고, 문자 대치하는 것도 훨씬 쉬워지고요.. ㅎㅎ<br /><br />여담입니다만, 텍스트 큐브로 업그레이드하면서, 소스 하이라이팅 기능과 박스 넣기가 좀 이상해져서, 이쁜 모양으로 소스코드 보여드리기가 상당히 힘드네요.. 집에서 컴퓨터 만질 시간이 생기면  한번 손을 봐야 겠습니다.

Mentor의 verifiaction seminar

Tool Vendor들의 세미나 계절인지라, Mentor도 검증 관련 세미나를 하는군요. 관심있으신 분은 참고하세요.


행사 일정: 5월 16일/ 임페리얼 펠리스 호텔


행사 등록: http://mentorkr.com/event/200705/form.html




오늘날의 SoC 디자인은 전체 SoC Verification 플로우 측면에서 최적의 효율성과 능률성을
가져올 수 있는 솔루션을 필요로 하고 있습니다.

Mentor Graphics는 ESL(electronic system level design) 및 High-level-synthesis technology, 그리고 Advanced verification platform, Assertion-based verification, DFT 등의 업계 선도적인 verification 솔루션들을 통하여, 디자인 효율 및 생산성을 향상시키기 위한 다양하고
새로운 기술과 방법론을 데모와 함께 선 보일 예정입니다.

꼭 참석하셔서 Mentor Graphics의
최신 Design & Verification 솔루션
들을 만나보시기 바랍니다.

행  /사  /일  /정

09:30 – 10:00- 행사 등록

10:00 – 10:20- Welcome / Opening; Johnny Chang

10:20 – 11:10- ESL – Embracing the differences is key to design success;  Gary Dare

11:10 – 12:00- Catapult synthesis – A Proven Methodology for DSP Hardware Creation; Dan Gardner

12:00 – 13:00- Lunch

13:00 – 13:50- Advanced Functional Verification Platform; ED&C

13:50 – 14:05- Break / Coffee

14:05 – 14:55- Finding the toughest bugs with 0-In Verification;Rindert Schutten

14:55 – 15:45- From ATPG to Compression and Yield Improvement;T.P.Tai

——————–


사실 mentor의 경우 SystemVerilog에 무게를 두고 VMM을 밀고 있는 synopsys나 SystemC에 무게를 두고 있는 cadence에 비하면 약간은 중립적인 입장을 취하고 있는 기분입니다.


실제적으로 AVM(Advanced Verification Methodology)이라고 불리는 Mentor의 Verification Kit은 SystemVerilog와 SystemC를 모두 지원할 수 있도록 되어 있지요.


문서나 Technical Report/Paper도 비교적 다른 회사에 비하여 얻기 쉽고 말입니다. 오랫만에 갔더니만 AVM Cookbook도 새버젼이 나와 있고, 용어도 잘 정리해서 문서로 만들어놨더군요.


처음 검증을 시작하시는 분들에게는 참 도움을 많이 주는 회사인건 맞는 것 같습니다. 이제 남은 건 분발 뿐인가요.. ^^;

p.s.
얼마전 Modelsim SE도 systemVerilog를 지원하신다는 분이 계셨는데, 찾아보니 NCVerilog와 마찬가지로 SystemVerilog Design 부분만 지원하는 것이더군요. 제가 필요한건 SystemVerilog Verification 분야거든요.. Assertion이라던지 모델을 이용해서 작업을 해볼 예정이라.. ^^;  참고적으로, Questa는 SystemVerilog Verification을 지원하는 군요.. 관련 자료는 여기 있습니다.
툴 구매가 이루어지기 전에는 일단 예전처럼 C++/PLI를 사용하는 방향으로 작업할 예정입니다. 왠지 SystemVerilog관련 verification책은 좀 일찍 산 듯 한 느낌이 ㅠㅠ;