Category Archives: SoC & IP design

SystemVerilog

IT-SoC 센터에서 SystemVerilog Verification을 한다기에 들어왔습니다. 
몇년째 책을 보고 예제 몇 개 끄적이다가 잊고.. DPI오~ 예제 몇 개 끄적여보다 잊고.. OVM사용해보고.. 예제 몇 개 끄적여보다 잊고.. UVM 오~~ 예제 몇 개 끄적여보다 잊고를 반복하고 있어서, 이번에는 제대로 듣고 업무에 적용을 해 봐야겠다는 생각이 있습니다. 

근데.. 초반 2일이 SystemVerilog for Design section이네요..
음.. 음.. 내일 부터가 기대됩니다. 2일동안 verification을 얼마나 깊이 다룰지 걱정이 쪼금(이라고 쓰고, ‘많이’라고 읽는..)됩니다. 

예전부터 (개인적으로) 주장하던 것인데..
SystemVerilog가 Design Language의 대세가 될 것이냐.. 에는 약간 회의가 있습니다. (물론, 강사님 말로는 많이들 사용한다고 하시더군요..)
일단 SystemVerilog의 문법을 제대로 처리하는 tool과 못하는 tool이 혼재해 있는 상태에 적어도 IP단계에서는 systemverilog를 도입하는 것이 거의 어렵다고 봐야겠죠. (물론 SystemVerilog도 Synthesizable Subset이 정의되어 있지만… 음 Verilog 2001 문법도 아주 많이 제한해서 사용하는 판국에..)

그럼 Verification에서는.. 이라는 질문에는 아주 긍정적으로 봅니다. (사실 제가 긍정할 필요도 없을 정도로 대세죠.. 희안하게도 국내에서는 좀 적게 사용하는 경향이 있지만)

OVM이나 UVM(사실 UVM은 paper를 본 것이 다라서 뭐라 이야기하기 어렵고.) 같은 것이 SystemVerilog를 기반으로 하고 있어서 뭐 별 일 없이 그냥 표준이 되어가고 있어요..

p.s.
이거 왜 공개되었다가 없어졌나했더니.. SCV관련된 이야기했다가 확인을 못해서 비공개처리하고 잊었었나 보군요.. 일단 지우고..공개

p.s.2.
음.. 별 기대없이 들었는데.. http://verificationacademy.com/course-modules/uvm-ovm-verification/basic-uvm-universal-verification-methodology VA에서 하는 UVM basics 꽤 쓸만하네요.. 이제 목표는 적용해보는것..

Verification Goldmine

Functional Simulation를 주력 tool로 삼고 있는 Cadence와 Mentor에서는 각각 functional verification method와 다양한 라이브러리, 그리고 양질의 자료를 주고 있는데요.
물론, 자사의 simulation tool을 위주로 설명하고 있지만, 개념을 이해하는데는 별로 어려움이 없으니 한번 볼만 하죠. 
Cadence에서 중요한 검증 관련 자료를 모아둔 곳이 있습니다. 이번에 Cadence에서는 verification goldmine이라는 글이 올라왔는데, 괜찮은 읽을 거리들이 모여 있습니다. (로그인이 필요한데 cadence user가 아니더라도 등록가능합니다.)
다들 알고 계시겠지만 Mentor의 경우 verification academy를 운영하고 있지요. 아주 훌륭한 강의들이 있으니 한번 살펴보실만합니다. 
요즘에는 이런 저런 이유로 verification에 좀처럼 신경쓰고 있지 못한데.. 
에고고.. 안쓰니 잊네요.. 

Microsoft의 ARM지원

마이크로 소프트 windows에서 ARM을 지원한다는 소식이 지면을 장식한 것으로 이런 저런 이야기가 많은데요.

저는 별로 새로울 것도 없네.. 정도의 느낌입니다. 물론 한 걸음 갔다는 정도의 의미는 있습니다.
일단 windows의 속성상 binary compatibility를 가지고 있지 않은 두 아키텍쳐를 지원하는 것은 어차피 application이 바로 재활용될 수 없을 것이기 때문입니다.
즉, 모든 application이 재컴파일되어야 한다는 건데요..
개발의 입장에서 일단 비쥬얼스튜디오에서는 ARM 아키텍처를 지원하겠죠. (하지만, 지금이라고 지원 못하는 건 아닙니다. mobile 버전이었지만요..)
Windows API를 이제 ARM용 application에서도 직접적으로 사용할 수 있겠죠.  (하지만, windows CE도 API의 많은 부분을 계속 통합하던 중이었습니다. 물론, 차이도 있었지요..)
위의 두 가지가 결정적인 장점으로 작용할 것입니다.
하지만 3rd party의 library를 사용했다면, 3rd party에서 ARM architecture용 라이브러리를 내 놓을때까지 기다려야 겠네요. 즉, 시간이 상당히 걸릴것이고 intel base PC에 비해서 minor일 것으로 보이는 netbook 시장을 위해서 얼마나 많은 업체들이 뛰어들지는 모르겠습니다.
어플리케이션 입장에서는 일단 MS의 강력한 지원을 받을 수도 있을 것이라는 기대가 있습니다. 특히 최고의 killer app인 office의 지원을 받을 가능성이 매우 높아졌네요. 사실 저는 그것만으로도 기대가 좀 있습니다.
하지만, 기사에서 이야기하는 것처럼 세상이 바뀔 것이라는 생각은 아직 좀처럼 들지 않네요. 모르죠. 한 2년쯤 지나서 netbook/tablet의 시장이 지금보다 훨씬 커지고(지금은 niche market일 뿐이죠..), 그때까지도 intel의 대응이 실패한다면 가능성이 있겠죠.
참고적으로 android에서 다른 architecture(MIPS, Intel)을 지원하는 것은 약간 다른 이야기가 됩니다. 아시다시피 android는 java(실제적으로는 dalvik VM에 맞게 compile하지만..)를 기반으로 하고 있으므로, 시스템이 어딘가에 포팅되는 것에 application이 받는 영향이 아주 크지 않을 것이라고 생각됩니다.  (적다고 이야기는 못합니다. ㅎㅎ 하지만, 전혀 안도는 수준이 되지는 않죠.. )
여하튼, ARM 아키텍쳐가 좀 더 높은 시장을 공략하는데 있어서 중요한 step이라는 것은 부인할 수 없겠네요.
추가…
아래 커맨트를 보시면 .net framework에 대해서 이야기 해주셨습니다. 감사합니다. 제가 잊고 있던 건데요.. 닷넷도 virtual machine상에서 도는 bytecode로 되어 있어서 포팅(?)이 아주 편하겠습니다.
따라서, ARM용 windows가 나오면 적어도 .NET framework 기반의 어플 정도는 거의 완전히 구동되지 않을까 생각합니다.
물론 모든 어플의 호환은 좀 더 먼 이야기겠죠.
하지만, 앞에서 설명했지만, 중요한 한 걸음이라는 의의가 있겠네요.