Category Archives: SoC & IP design

Matlab Expo 2015 짧은 후기

대학원 이후 처음 접하는 Matlab.

사실 예전에는 Matlab을 많이 쓸 일이 별로 없었는데, 요즘은 하는 일이 하는 일이기도 하고, HLS 부분을 조금보다 보니 이럴꺼면 Matlab은 어떤 상황일까..생각까지 도달한 건데요…비슷한 내용이 있어서 한번 가봤습니다.

예전에 비하면 Matlab의 활용도가 많이 넓어졌다는 점이 일단 눈에 띄더군요.

예전에는 알고리즘 개발에서 Matlab을 활용하고, 이후에 C coding, HDL coding 순으로 작업을 했었는데 요즘에는 Matlab에서 적어도 C까지는 쓸만한 수준이 나오는 것 같네요. (이건 데모만 봐서 그렇고, 실제로는 어떨지 모르겠네요.)
아.. C model을 Matlab에서 라이브러리로 만들어 부를 수 있던데.. 예전에는 안되던거 맞죠?  예전에 이거 되면 참 좋겠다는 생각을 했었는데.. 당시에는 안된다고 생각하고 있었거든요. (예전부터 되던거면 예전에 삽질한건데.. ㅠㅠ)

HDL은 실제 코드는 보지 못하고,  짧게 flow만 봐서 뭐라 이야기하기는 많이 이른 것 같습니다만.. 그냥 되기는 하더라.. 정도? (예전에는 사실 좀 많이 안 좋은 코드가 나왔죠..)

Matlab에서 여러가지 알고리즘에 대해서 hardware implementation에 적합한 라이브러리를 가지고 있고 추가하고 있다는 점은 긍정적이었습니다만..  (이 Toolbox는 얼마나 비쌀까도.. 하는 생각도 같이 났다는 것을 부인할 수 없지만.. )

 

이런 종류의 세미나(즉, 툴 회사들이 진행하는 세미나)는 일부 세션의 경우 시간이 아까울 때도 있지만, 어떤 툴이 어떤 것까지를 할 수 있는지 알려준다는 점에서 가끔은 가볼만 한 것 같습니다.

운 좋은 날은 새로운 아이디어를 얻어올 때도 있거든요.

EDA playground

오랫만에 포스팅하네요.

사실 그동안 심신을 지치게 했던 project를 마무리했기 때문에 비교적 가벼운 마음이 되었습니다.

오늘 소개할 것은 EDA playground 라는 사이트입니다.

http://www.edaplayground.com/home

 

그 동안 UVM이니 뭐니 이야기를 많이 했는데, 직장인 분들은 회사 밖에서는 뭔가를 할 수 없는 환경이라서 집에서는 간단한 공부하기도 쉽지 않았을 것입니다. (물론 능력 되시는 분들께서는 좋은 시뮬레이터를 사용하실 수 있으시겠지만 말이죠..)

위의 사이트에서 아주 간단한 예제 정도는 처리해 줄 수 있습니다.

물론, 개인적으로 환경을 구성하는 것이 속도나 관리 면에서 더 좋겠지만, 간단한 것 정도는 위의 사이트에서 파일들을 추가하고 테스트 해 보면 되니까 개인적으로는 비교적 쓸만 한 것 같습니다.

한 가지 단점(?)은 Waveform viewer가 GTKwave를 Web으로 보여주는 거라 써서 보는 거라.. 기능이 좀 약하고, 제어가 불편하다는 정도.. 그래도 대충 해보는데 문제는 없습니다.

제 생각에는 학부 수업 정도까지는 cover 하는데 별 문제가 없을 것으로 보이네요.

 

또하나, EDAplayground에 보면  이런 저런 예제들과 간단한 Verilog tutorial을 가지고 있으니, 초보자 분들께도 도움이 될 것으로 보입니다. (로그인도 Facebook 혹은 Google 계정으로 가능하고..)

오랫만에 괜찮은 사이트인 것 같습니다.

Embedded Processor Market; 2012 review

주말에 시간이 좀 있어서 오랫만에 미뤄둔 MPR(Microprocessor report; 이전에 이 블로그의 주요 소재가 되어주었던 report인데… 요즘에 읽어도 별로 글을 안써서.. 여하튼 잡설은 끝내고..)을 읽고 있는 중인데…몇 가지 재미있는 부분이 있어서 오랫만에 글을 쓰게 되었습니다..  MPR에 있는 내용의 순서와는 약간 차이가 있네요. 실질적인 내용은 fact를 제외하면 내 의견입니다.

1.
32비트 프로세서 시장은 언제 이익의 45%를 차지하지만, 갯수로 봤을 때는 17%에 불과하다. (Although 32-bit microcontrollers represented 45% of total microcontroller revenue in 2011, they nevertheless represented only 17% of units shipped.)

많은 경우 high-end 부분에만 눈을 돌리기 쉽지만, embedded processor의 많은 부분을 8-bit, 16-bit 시장에서 나온다는 거죠. 이 부분은 아직 embedded에서 기회가 상당히 남아 있다는 의미로 받아들일 수 있습니다.

2.
저가 프로세서 시장을 공략하기 위해서  ARM도 매우 작은 프로세서를 출시했습니다.

32비트 프로세서 부분에서도 controller 부분의 경우 “매우 작은” 크기를 요구하고, “code density”  부분을 중시하는 시장입니다.  이 시장을 공략하기 위해서 ARM에서는 Cortex-M 시리즈를 출시했으며, 사실 Cortex-M0가 공략의 선봉에 서 있었는데, 작년 M0+를 출시했다고 하네요 (솔직히 요즘 신경 안쓰고 있어서 몰랐습니다.). 근데, 그게  정말 작다네요.

캐시 따위는 개나 줘버려. M0보다 작고, 당연히 느리지만, 이쪽 시장에서는 빨라서 더 좋을 것이 없습니다.

결론적으로 다시 이야기하지만, 아직 MCU 시장은 남아 있습니다. 최적화만 잘하면 됩니다. 전력, 크기 두 가지에만 집중해야 합니다.

3.
고가 embedded 프로세서 시장은 버려라. 모바일은 ARM이 다 먹어가고 있다.

멀티미디어의 MIPS, 통신용 칩의 PowerPC.. 아쉽게도 점진적으로 ARM에게 시장을 빼앗기고 있습니다.
예를 들자면, PowerPC의 산실 중의 하나인 Freescale의 통신용 칩에서 PowerPC대신 ARM Cortex-A7와 A15를 사용하기로 했습니다. 말하자면, 본진 털렸습니다.

MIPS를 꾸준히 지원하던 Broadcom 역시 ARM을 license했답니다.

모바일/저전력 부분을 ARM이 가져 가고 있지만, MIPS의 경우 아직 저전력이 비교적 덜 필요한 부분(비디오 콘솔이나 셋탑박스, 라우터 등등)에서는 마켓을 꾸준히 가져가고 있다고 합니다. 이건 꾸준하군요. 기본적인 성능은 좋으니까요.

Imagination에 인수되면서, AMD처럼 CPU+GPU의 조합을 얼마나 뽑아내 줄 것인가가, 이 시장을 공고히 해서 반격을 할 것인지를 결정할 수 있을 것입니다.

4.
DSP시장은 Ceva 혹은 Tensilica(이제 프로세서라기 보다는 Audio용 DSP라 보는 것이 맞다.)가 먹고 있습니다. 시장은 잘 모르겠네요. 솔직히 별 관심이 없기도 하고요.  32비트 프로세서 시장의 일부가 DSP 시장과 겹쳐지고 있는데, Tensilica와 ARC는 이 시장을 잘 공략했습니다. 특히 tensilica는 AudioDE를 비롯한 엔진으로 공략을 잘했죠.

 

결론적으로 이제 프로세서 시장에서 먹을꺼리가 별로 남지 않았습니다.

ARM에서 가장 큰 시장을  성공적으로 점유해 버렸고, Ecosystem 역시 너무나도 안정적이라 뒤집을 수 없는 단계라 봅니다. 또한, 그 영향력이 다른 부분에까지 확대되고 있는 단계이니, 이제 좀 힘든 단계죠.

남은 시장은 소위 이야기하는 MCU market밖에 없다고 보는 것이 맞습니다. 이 시장은 아직은 M0가 완전히 점유한 것이 아니라 현재 몇년째 점유해 가는 단계인데요.. 이 부분을 효과적으로 공략해야 합니다.
일견, 비교적 간단하게 진입할 수 있는 시장이라고 생각할 수 있으나(사실 Superscalar같은 시장보다야 훨씬 편한거 사실이다.), 실은 생각보다 훨씬 비용에 민감하기 때문에 고통스러운 최적화 과정을 이겨내야 합니다.

그래도, 이쪽 시장을 어떻게 공략하느냐가 관건이죠.

이 글을 쓰고 싶었던 가장 큰 이유…(보통 주제라고 부르는..)

맨날 프로세서 과제 나오면 ARM을 이기겠다고 하는데요.. 네 좋은 겁니다. 연구용으로는 좋습니다. Paper로 맨날 이기시는것도 좋습니다.

상용과제로는 살짝 다시 생각해 볼 필요가 있습니다. 프로세서는 하드웨어만 이겨서 될 시장이 아니므로, 어느 정도 환경을 맞춰 나갈 수 있는 가능성에 투자해야 합니다.

상용 과제로 나오면서, 하드웨어만 하는 교수들에게 휘둘려서 1GHz를 넘겨야 한다느니, ARM을 발라버리겠다느니.. 하는데 집중하고, 컴파일러는 매일 GCC 포팅 정도(그것도 버그 투성이로..)에서 멈추고, 최적화 라이브러리, 디버거, 개발환경은 어느 집 개가 물어주는 것인지 알고 계시는 분들께서는 정말 생각을 “조금만” 바꿀 필요가 있습니다.

지금 하는 과제가 show-up이 목적이면 좋은데, “제대로된 상용화”라면 될 시장에 집중해야 합니다. 옆에서 꼬셔가는 교수님들도 개인 돈 투자해서 그 시장에서 성공하고, 투자금을 회수 할 수 있다고 생각하시는지 물어보고 싶을때가 많습니다.
좋은 이야기하면 프로젝트 따기, 위원들 설득하기 쉬우시죠. 하지만, 결과물이 잘되어 상용화까지 가는 경우가 (있으면 더할 나위 없이 좋겠지만..개인적으로는 상당히 부정적입니다.) 별로 없겠죠.

이쪽 필드에서는 몇 년간 들어갈 일이 없이, 옆에서 구경하는 입장에서 그냥 아쉬움에 적어봤습니다.