프로세서/비메모리 반도체 설계를 희망하시는 분들께..

간혹, 학부의 후배들이 반도체 설계쪽 일을 하려면 어떻게 해야 하냐고 물어보더군요.
뭐, 저같은 경우는 해당 연구실에 들어가라고 하지만.. 참 추상적인가 봅니다.

비메모리 반도체라는 것은 사실 상당히 넓은 범위를 의미하므로, 제가 하는 쪽 분야 즉, 로직 설계 부분(소위  front-end라고 하는..)에 대해서만 이야기를 하고자 합니다.

학부때 필수적으로 알아야 하는/혹은 들어두어야 하는 과목들은 다음과 같습니다.

1. 디지털 로직: 로직에 대한 기본이 있어야만 이 일을 제대로 할 수 있습니다. 어려울거 없고, 학부 정도의 디지털 로직 부분의 기초만 탄탄하면 됩니다. 사실 디지털 로직은 대학의 전자공학/컴퓨터 공학과에 처음 배우는 것이고 그 이전의 배경지식이 필요없으므로, 가장 편한 과목중의 하나입니다.

2. C/C++ , 컴퓨터 언어: C/C++는 사실 엔지니어간에 있어서 기본 언어입니다. (그야말로 언어! 입니다.) 어떤 동작을 구현하자.. 이런걸 그냥 C/C++로 짜서 전달하는 경우도 많습니다. 그리고, C의 경우 컴퓨터 구조를 많이 포함하고 있어서 도움이 됩니다.

3. 컴퓨터 아키텍쳐: 컴퓨터 아키텍쳐는 딱히 프로세서 설계를 지망하지 않더라도, 하드웨어 설계에 필요한 I/O 프로토콜등의 기본적인 대부분의 지식이 들어 있습니다. 하드웨어 설계를 지망하시는 분들께는 매우 매우 중요한 과목입니다. 소프트웨어 하시는 분들도 “최적화된” 소프트웨어를 작성하시는데 아키텍쳐의 지식이 중요합니다.

아마도 위의 3가지 과목은 하드웨어 설계를 희망하시는 분들께는 가장 중요한 기본 과목이 아닐까 생각합니다. 또한 위의 과목은 “소프트웨어 개발”을 하고자 하시는 분들께도 중요합니다.

하드웨어 설계를 하시고자 하시는 분들은 이외에도 아래 과목을 반드시 들어야 합니다.

디지털 설계: 학교마다 이름이 다릅니다만, 실무적인 일들.. HDL을 다룬다던지 하는 첫 과목입니다. 조금 진보적인 교수님들은 디지털 로직 과정에서 HDL을 다루기도 합니다만..  HDL을 배울때는 반드시 HDL로 로직을 만들었을때 어떻게 구현될 것인가.. 즉 어떤 회로가 나올 것인가를 배워두는 것이 좋습니다. 🙂
게다가 HDL은 하드웨어 설계를 하시는 분들에게는 주된 설계 방법이므로, verilog던 VHDL이던 한가지는 “정통하게” 배워두시는 것이 좋습니다. 그리고, 다른 언어도 읽을 수 있을 정도는 되셔야 합니다.

교양적으로 들어야 하는 과목은 무수히 많습니다만..

  • 전기회로/전자회로/물리전자: 설계시에 여러가지를 이해하는데 많은 도움을 줍니다.
  • 신호처리/디지털 신호처리: 요즘 프로세서가 대부분 신호를 다룹니다. 그래픽, 영상, 음성.. 이런것에 대한 알고리즘을 하드웨어로 만드는 일이 많은데.. 이런일을 하게 될때 도움이 됩니다.
  • 디지털 통신: 통신 프로토콜을 아는 것이 I/O등의 프로토콜을 만ㄴ드는데 참 많이 도움이 됩니다. 물론, 이쪽 설계를 하는 경우도 많고요..
  • 소프트웨어공학: 의외시겠지만.. 소프트웨어 공학에서 배우는 team work 개념은 회사에서 일할때 많은 도움을 줍니다.

실무에서 도움을 줄만한  것들로는

리눅스/유닉스 관리도 해보셨으면 도움이 되고요.. 스크립팅 언어를 배워두는 것도 중요합니다. 노가다를 줄이기 위해서.. ^^;

아마도, 제가 있는 비메모리 설계 분야가 인력 부족을 심하게 겪고 있는 분야가 아닌가 생각됩니다. 발전 가능성도 많고요.. 잘 아시는 대기업들과 많은 중소기업들이 이쪽 분야에 많이 배치되어 있습니다.
위에서 보셨겠지만, 수학/물리의 기본이 적더라도 시작할 수 있는 분야이기도 합니다. 🙂

많은 분들이 도전하셨으면 합니다.

기러기 아빠들..

기러기 아빠들이라는 용어가 주위에서 회자되기 이전부터, 내 주위에는 기러기 아빠들이 많았다.
바로 교수님들이다.

대부분 미국유학을 다녀오신 분들이라 외국의 교육환경과 우리나라의 교육환경을 너무나도 적나라하게 비교할 수 있게 되어서 그러신지 모르겠지만..
많은 분들이 교수님 혼자만 기숙사에서, 원룸에서 생활하시면 방학기간에 해외에 체류하시는 경우가 많으셨다.

한편으로는 이해가 되지만.. 한편으로는 이해가 되지 않는다.
교수님들의 경우는 그나마 방학이라는 기나긴 공백이 있기에 그래도 가족과 함께할 시간이 많다.

일반적인 기러기 아빠들은 어떠한가?

자식들의 행복? 혹은 나은 미래를 위해서 자신의 삶을 포기한다.
자식들에게 더 나은 교육의 기회를 주고 싶다는 생각, 나보다는 더 좋은 생활을 할 수 있게 하겠다는 생각..
그런것일 수도 있다.

그렇지만… 행복은? 자녀들을 아버지 없는 가정에서 치열한 경쟁에 내모는 것이 더 삶의 질을 높여주는 방법인지는 모르겠다. 행복한 가족의 모습을 보여주고, 자신의 길을 갈 수 있도록 해주는 것이 더 좋은 교육이 아닐런지..

시납시스의 여전한 이야기.. SNUG Seoul 2006, MiniDAC

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쇼에 갑니다.