Category Archives: SoC & IP design

시납시스는 역시 대단해!

EE-times에서 시납시스의 수익이 15% 늘어났다길래… ‘얼마나?’라는 순진한 생각에 클릭.

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

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

역시 시납시스는 대단해요..

변화가 싫다?

이 이야기는 설계 회사에 들어가실 분들에게 유용할 수도 있는 글이라 생각하여 써봤습니다. ^^;
—–
차라리 백지가 좋은데, 그렇지 않은 경우가 있습니다.
학교에서 배워온 코딩 스타일(사실 학교에서 코딩 스타일을 가르쳐주지는 않지요?)과 회사의 코딩 스타일이 다를때 자기 자신이 납득할 때까지 바꾸기도 쉽지 않지요 (그게 바로 엔지니어니까요!)

회사에서는 왜 특정 코딩 스타일을 고집할까요?
반대로 학교에서는 왜 코딩 스타일에 둔감할까요?

회사에서는 “칩이 정상적으로 도는 것”이 가장 중요한 목표인 반면에, 학교에서는 시뮬레이션을 돌려서 “결과를 뽑는 것”이 가장 중요한 목표이기 때문이지요.

따라서, 회사에서는 아주 안전하고, depensive한 코딩 스타일을 유지하게 됩니다. 즉, 시뮬레이션과 합성 이후의 결과에 차이가 나기 어려운 코딩 스타일을 유지한다고 보시면 됩니다.

학교에서는 아이디어를 빨리 구체화해서 도는 걸 보이는 것이 목표니까.. 약간은 offensive한 문법을 사용합니다. 좀 위험한 넘도 많이 사용하구요. 그래서, 가끔은 질문 게시판에 “시뮬레이션은 도는데, 합성하면 이상하다.. 툴이 이상한거 아니냐.. “라는 질문이 올라옵니다.

이런 측면에서 예전 SIPAC 코딩 스타일이나, RMM의 코딩 스타일 가이드는 실무적으로 아주 중요합니다.
(SIPAC은 이제 사라졌지만 말입니다.) 학교에서만 끝낼것이 아니라면 RMM[1]RMM: Reuse Methodology Manual. Cadence, Synopsys 엔지니어들이 코딩 스타일에 대하여 가장 체계적으로 정리한 실무서입니다. 저는 SIPAC나 IPCOS의 코딩스타일 가이드라인이 모두 RMM에서 출발했다고 보는 입장입니다. ^^; 예전에 학회에서 SIPAC의 서책임님과 이런 이야기를 나누었다가 반박당한적도 있습니다만 ^^; 요기에 간단히 소개되어 있습니다. 을 보세요
—-

버젼 관리라는 것은 아주 중요합니다. 절대적으로 중요합니다.
하지만, 학교에서 버젼 관리하는 경우는 거의 못봤습니다.
회사에서도 하는 회사도 있고, 하지 않는 회사도 있습니다.

회사에서 소스 코드에 대한 버젼관리를 하고 있다면, 귀찮아하시지 마시고 긍정적으로 따라가십시요. 버젼 관리를 통해서 구원받을 날이 반드시 있습니다.
그리고, 버젼 관리를 하지 않는다면 반드시 버젼관리를 시작하십시요. CVS와 같은 강력한 툴이 있습니다. 하드웨어 검증 책마다 강조하는 것들이 있는데 빠지지 않는 것이 있다면 바로 버젼관리입니다.

버그 트래킹이란 것이 생소하신가요? 아직 체계적인 버그 보고 체계가 없다면, 지금부터는 고려할 때가 되었습니다. (이건 뭐, 상품 카피 같기도 하네요.. ^^;)
버그 트래킹은 어찌보면 “버그를 확인하고, 정확히 정의하고, 동일한 문제가 발생하지 않도록 체계적으로 관리하는 방법”이라 보는 것이 맞겠습니다.

Trac이나 Mantis, Bugzilla가 버그 트래킹 시스템에서 가장 많이 알려져 있겠습니다.

저도 사실 위의 3가지를 기반으로 저희 회사에 맞는 방법을 저울질 중인데.. 초반에는 버그 질라에.. 지금은 trac쪽에 약간 무게를 두고 있습니다. 사실 버그 트래킹 기법이라것이 소프트웨어 개발쪽에서 출발한 것이라, HDL에는 약간 귀찮은 면이 있습니다.

그것보다 더 귀찮을 것이라 생각되는 부분은 “변화를 싫어하는 마음”입니다.
버그 트래킹이나, 버젼 관리 좋다.. (듣기는 들었으니..) 하지만, 나를 귀찮게 하는 건 싫다..
이런 마음이 가장 문제겠지요..

귀찮더라도 도전합시다.

Notes & References

Notes & References
1 RMM: Reuse Methodology Manual. Cadence, Synopsys 엔지니어들이 코딩 스타일에 대하여 가장 체계적으로 정리한 실무서입니다. 저는 SIPAC나 IPCOS의 코딩스타일 가이드라인이 모두 RMM에서 출발했다고 보는 입장입니다. ^^; 예전에 학회에서 SIPAC의 서책임님과 이런 이야기를 나누었다가 반박당한적도 있습니다만 ^^; 요기에 간단히 소개되어 있습니다.

Metal Gate로 더 빠르게..

ZDnet의 기사를 보니 메탈 게이트를 사용하는 트렌지스터가 상용화된다는 이야기가 써 있군요. 이 이야기는 하드웨어 리뷰 사이트들을 통해서 개략적으로 접하고 있었는데, ZDnet의 기사를 통해서 좀더 자세히 알게 되었습니다. (이번 MPR에도 잘 나와 있습니다만, 한글로 읽는 것이 더 편해서 ^^;)


사실 저는 반도체 물성과 같은 부분은 전공이 아니라 잘 모릅니다. 학부와 대학원때 과목을 들은 정도지요.. ^^ 간략하게나마 뭐가 어떻게 돌아가는 건지 설명드리자면, 우선 간단히 CMOS에 대해서 설명드리고 시작하는 것이 편할 것 같습니다.
트렌지스터라는 것이 일종의 스위치와 같은 것입니다. 버튼을 누르면 전류가 흐르고, 누르지 않으면 전류가 흐르지 않는 것이죠. CMOS 트렌지스터에서 이 버튼에 해당하는 부분이 바로 Gate라고 보시면 되겠습니다. 즉, Gate에 일정 전압이 가해지면 가로막혀 있던 부분이 열리는 그런 원리랄까요..


근데, CMOS transitor에는 문턱전압(Vth)이란 것이 있죠. Gate에서 어느 정도 전압이 가해져야 “문턱을 넘어서” 전류가 흐를 수 있는 것이냐는 것인데요.. 가끔 Gate에 전압이 가해지지 않더라도 문턱을 넘어가는 날랜 전자가 있습니다. 이런 넘들에 의해서 게이트의 상태에 변화가 없더라도 흐르는 전류가 바로 “leakage current”라고 보시면 됩니다. 말 그대로 줄줄 세는 거죠..
쉽게 생각해서, 문턱이 높으면 높을수록 게이트에서 전압이 없을때 필요없이 전류가 흐를 가능성이 낮아집니다. 근데, 문턱이 낮으면 낮을수록 게이트에서 전압이 공급되지 않더라도 문턱을 넘어가는 전자의 비율이 높아지죠. 반대로, 문턱이 높으면 높을 수록 Gate에 전압을 가해서 스위치를 켜는 시간이 오래 걸립니다.


이런 원리로 빠른 공정 = 낮은 문턱 전압 = 많은 leakage current로 연결됩니다. (뭐, 설명은 아주 대충했지만 말입니다.)
예전에 0.18um정도까지만 해도 leakage current를 신경쓰는 일은 거의 없었어요.. (사실 0.35um까지는 전혀, 0.18um부터는 조금.. ) 공정이 줄어들면서 문턱 자체를 구성하는 부분도 기껏해서 원자 수십개 수준으로 줄어들게 되었습니다(그것 보다 적나요? 정확하진 않네요.^^;). 그러다보니, 문턱전압도 낮아지고 leakage current라는 것이 동작할때 소모되는 것보다 더 많은 전력을 소모하게 된 거죠.


그래서, High-K라는 것이 나온 건데요.. K라는 것이 유전율(전자가 얼마나 빨리 흐를 수 있느냐)인데요.. K가 높아지면 문턱을 높인 다음에, 문턱을 약간만 내려도 그 좁은 길로 전자가 빨리 빨리 흘러갈 수 있다는 거죠. 좁은 대신 전자의 흐름 자체를 좋게 만들었으니까요.. (역시 쉽게 말하느라고 아주 정확한 표현은 아닙니다만..)


45nm에서 인텔에서는 그동안 사용하였던 poly silicon(지금까지 대부분의 공정은 silicon substrate위에 poly silicon으로 gate 얹어서 사용해 왔습니다. 이때 NMOS냐 PMOS냐에 따라서 N+/P+를 선택하는 거죠)대신에 NMOS나 PMOS에 맞는 Metal gate를 구성했다는 거죠. 아주 대단한 일입니다. 이로 인해서 속도는 유지하면서 leakage current는 잡을 수 있을테니 말입니다. 그리고, 또하나.. 이론대로라면 대부분의 전통적인 공정이 변경될 필요가 없을 것 같습니다. 단지 poly silicon대신 metal(물론 그렇게 쉽게 바뀔 부분은 아니지만 말입니다. ^^;)로 변경되는 정도니까요.


기사에서처럼 당연히 metal의 혼합비는 극비겠죠.. 뭘 물어보고..


IBM에서도 high-K를 채택한다고 하던데.. (이것도 어디 기사에서 봤는데 말이죠..), AMD와 IBM이 비교적 가까우니..이쪽 진영에서도 금방 바뀌지 않을까 생각합니다.


Moore 선생님.. 기쁘시겠어요.. ^^;