ASIC SoC2015. 12. 7. 13:46

길고긴 산고 끝에 나온 ARRIA 10 FPGA/SoC 보드입니다.

전신 사진은 나중에 촬영하고 일단 FPGA SoC 부분만 올립니다.




정말 우여곡절 끝에 만든 것이라 잘 되길 바랍니다.

그런데 Package에 한국이라고 되어 있는 것을 보니 모 회사에서 만든 것 같습니다.


Posted by GUNDAM_IM
ASIC SoC2011. 3. 8. 00:02

ZYNQ-7000



드디어 자이링스에서 ZYNQ-7000 디바이스 라인이 발표되었습니다.
다 아시는것 처럼 작년부터 계속  자이링스  내부적으로 나오네 마네로 알려진 디바이스입니다.
ARM-A9이 들어간 제품군이 준비되고 있다는 소문이었는데 드디어 이번에 나왔습니다.


800MHz급의 A9프로세서에  NEON FPU Architecture를 포함하고 있습니다. 그외에 다양한 IP를 포함하고 있으니
남은것은 유저의 Design을 쉽게 포함 시킬 수 있는 디자인 플랫폼을 제공하는 것입니다.

가장 중요한 것이 개발 플랫폼입니다. 
특히 Xilinx는 예전에 극악의 EDK를 발표한 전과(?)가 있어서 이번에는 기대가 됩니다.
최초의 EDK를 테스트 의뢰를 받아서 한적이 있는데 사용중에 잘못 연결했을때에 UNDO조차 안되는 플랫폼에  기절했었습니다.
그떄 이후 거의 사용할 생각을 안했었습니다.
이번에는 좋은 개발 플랫폼으로 잘 만들었기를 바랍니다.

FPGA에서 SoC로 가는 서비스

그리고 재미있는 포인트는 저렇게 만든 Platform을 SoC로 바꾸어 줄 수 있는 서비스를 제공하는가 입니다.
양산을 어떤 방법으로 지원할 것인가에 대한 것인데요,
 FPGA만으로 양산할 것인가 아니면 알테라의 하드 카피 같은 서비스를 지원하여
양산 가격을 가격을 낮출 수 있도록 해줄것인가 등등.. 이래저래 관전 포인트가 많습니다.

전례로 보면, Xilinx는 정책적으로 FPGA에만 올인하고 하드카피 서비스를 제공하지 않는 정책을 펴왔기 때문에 
당장 그렇게 쉽게 SoC로 가는 Service를 제공할 것 같지는 않습니다. EasyPath라는 서비스도 있지만 이는 Hardcopy와는 조금 틀리게 Test vector를 컨트롤해서 양산 단가를 조금 낮추는 기술입니다.

FPGA Traning Kit 솔루션 회사들...
   
저 디바이스가 나오면  사용할 사람들 중에서 관심을 가질만한 회사가 FPGA Traning Kit관련 솔루션을 제공하는 회사입니다.

   FPGA Traning Kit Solution 회사들은 좀더 재미있을것 같습니다. 그동안 여러가지 트레이닝 키트에 ARM을 연결하는 과정에서 매우 복잡하였습니다.  ARM에서 제공하는 CoreTile B/D를 연결하는 것이 일반적인 솔루션이었는데  그렇게 하여도 AHB와 AXI등의 연결에서 조금 실제와 틀린 부분이 있어서 고민을 하였습니다. 하지만 이제는 아예 대놓고 ARM이 FPGA에 들어간 상태이니 나머진는 어떤 방법으로 교육용 과정을 준비하는가만 고민하면 쉽게 됩니다.

  그만큼 만들기가 쉬워졌습니다.

  그러니 반대로 이야기한다면, 업체간에 변별력을 유지하기가 쉽지 않을 것으로 보입니다.
  타사와의 차이점을 제공하는 것은 결국 교육용 플랫폼으로서의 교보재 준비일것 같습니다.
  그외에는 S/W지원 수준이 문제가 되겠네요

  
가격은 ?
   이런 디바이스에게 가격을 묻는것은 실례곘죠 ?
   감히 어따 대고 가격을 묻는거야 ? 어따 대고 질문질이야 라는 말을 지금 하는것 같습니다
    그래도 그만큼 저렴하게 나와서 많이 사용해볼 수 있으면 합니다.

   ATMEL에서도 ARM9+FPGA 솔루션으로 만들어서 판적이 있는데 
   요새도 그 명목이 유지되는지는 모르겟습니다. 나올 때는 기대가 컸고 많이 사용하기를 바랬지만,  
    너무 저렴한게 유지(?) 하기 위해서 FPGA 용량을 많이 줄이는 바람에 가격도 성능도 어정쩡한 제품이 되어 버렸습니다.
    
   가격 정책을 발표한 자료를 보면 수량이 많다면 15불 밑으로도 가능합니다 라고 발표하고 있습니다.
   http://www.computertimes.co.kr/news/articleView.html?idxno=30556
   이정도 가격이면 엔트리 디바이스일테니 가장 낮은 성능 (용량)의 가격이겠고 실질적인 가격대는 좀더 두고봐야 하곘습니다. 
    당연한 이야기이지만,  가격 조건에서 수량이 많다면에 방점이 크게 찍힐것 같습니다.

기존의 프로세서랑 관계는
   가격이 15불이면 좋을것 같은데 또 그렇지도 않습니다.
   요새 하도 좋은 프로세서들이 저렴하게 시중에 돌아다니기 때문에 15불이면 일부에서는 비싸다는 소리를 들을 수 있겠습니다.

   그럼 그에 걸맞는 우수한 또는 고유한 성능의 엔진을 FPGA부에 넣어서 그만큼의 가치를 창출해야 하는데 
   FPGA 부에서 그정도의 부가가치를 창출할 만큼 큰 또는 우수한 성능을 넣을 수 있는가가 관건이 될 것 같습니다.
  
    요새 프로세서 성능이 하도 좋다보니까 
   단순한 Performance는 웬만큼 빠른 ARM으로도 즉 S/W로도 대치가능할 수 있습니다.
    어정쩡한 FPGA기능은 잘못하면 S/W에 먹힐 수 있는 위치에 존재합니다. 
    그만큼 요새 프로세서 기술이 발달되어 있습니다.
    SoC쟁이들도 먹고 살기 힘든 세상이 되었습니다. TT_TT + OTL
   
사실 일반 벤쳐에서 A9을 써서 28n급으로 디자인할 기회는 거의 없습니다.
그런 분이 계시다면 복받으신분입니다. 전생에 많은 음덕을 쌓으신분이나 가능합니다.
FAB비용과 다른 비용을 합치면 웬만한 회사 하나를 가뿐히 날리는 효과를 쉽게 얻을 수 있기 때문입니다. 
하지만, 간접적으로 나마 그런 기회를 가질 수 있다면
엔지니어로서는 좋은 기회가 되겠습니다.




'ASIC SoC' 카테고리의 다른 글

Optimized Mapping  (0) 2011.05.20
2의 보수 곱셈과 Coner case  (0) 2011.04.04
나에게 프로세서란..  (0) 2011.03.01
Mac book Pro의 thunderbolt  (0) 2011.03.01
자이링스 세미나에서 회사 제품 전시..  (0) 2011.02.26
Posted by GUNDAM_IM
ASIC SoC2011. 1. 22. 16:01
현재 개발중인 SoC용 ProtoType Board FPGA  보드입니다.

Virtex-6중 구할 수 있는것 중 가장 크고 빠른것을 사용했습니다.
그레이드가 낮으면 나중에 P&R이 잘 안되어서 불필요하게 시간을 까먹기 때문에 미리 미리 빠른것으로 주문하였습니다.  그레이드가 높아질 수록 많이 비싸지지만, 인건비 생각하면 이 방식이 더 저렴하고(?) 효율적입니다.

당장의 손익계산서 때문에 선택을 잘못하면 나중에 반드시 누군가가 고생하게 되어 있더군요

작은 불꽃(?) 쇼가 있었지만,  한방에 동작중이니. 다행입니다.

보드가 A4 두장보다 더 커서 iPhone으로 찍으면 잘 안나오네요
나중에 다시 잘 찍어서 정리하고,이번에는 패스...

보드의 Layer나  사이즈에 제한을 받지않고 만들 수 있어서 다행입니다.

그동안 보드 노우하우가 쌓여서 이젠 이정도 보드는 2년차 직원이 해도 금방 하네요.
그만큼 울회사 교육이 빡셀런지도 모르겠습니다만, 하여튼 수고하셨습니다.
( 이 멘트는 검심의 스승 히코 세이쥬로를 연상케하는 멘트입니다. 다 나의 강하고 완벽한 트레이닝이 너를 성장시켰다는 ㅋㅋ)

사용자 삽입 이미지

Posted by GUNDAM_IM
ASIC SoC2009. 3. 26. 07:49

이번에 칩을 하나 만들면서 SilverChip 기능을 넣었습니다.


ARM926-EJS로 여러가지 기능을 많이 넣어서 만들었습니다만,


그중에 백미는

 Graphic Accelerator 와

 SilverChip기능입니다.


Silver Chip이란 프로세서 Core와 그 Core의 AHB버스가 밖으로 나와서 동작하는 Chip입니다.

내부에서는 ARM926 Core와 약간의 Glue Logic이 들어간 것입니다.

ARM사에서 제공하는 CoreTile B/D의 칩을 생각하시면 맞습니다.


이번에 개발한 칩은 본래 목적은 그래픽/미디어 처리 프로세서이지만

그 외에도 내부 개발용으로 사용하기 위해서 Silver Chip 기능을 추가해서 만든 것입니다.


보드를 만들때,  "그분" 전용으로 만들려고 붉은색으로 PCB를 만들었습니다.

패키지도 "그분" 전용 답게 붉은색으로 하면 좋지만, 검정색 밖에 없어서 아쉽습니다.

물론 통상 3배의 속도로 동작하지는 않습니다. (^^)


멋질거라 생각했고 나온 보드 색상도 나름 괜찮은데,


보드 색상에 대해서 결과물을 보고 멤버들이 비난아닌 비난을 조금 해서..

맘 상했습니다. 쩝..

아직도 건담의 로망을 모르다니..


AHB에 대한 테스트와 , SoC Chip의 프로토 타입 FPGA 검증 등, 보드 개발시에 편리성 등을 따져보면,

통상 3배의 (속도가 아니고) 개발 편의성을 자랑할 수 있습니다.ㅋㅋ


아래에 사진을 올립니다


사용자 삽입 이미지

밑에 있는 보드는 자체 개발한 프로토 타입 보드입니다.

그동안 프로토타입 보드를 3개를 개발했는데 그중 3번째보드입니다.

Virtex 5 제일 큰것이 2개 들어간 막강 보드입니다.


사용자 삽입 이미지

이것이 마지막 프로토타입보드가 되었으면 하는데 Virtex6가 가을에 나오고

용량이 Virtex5의 2배가 된다고 하니


나중에는 그분 전용 프로토 타입보드를 개발해야 하지 않을까 합니다.


아니면 그때는 GOLD로 해볼까요 ? KOG를 고려해 봐야하지 않을까 생각합니다.

그럼 파티마도  필요할텐데~

Posted by GUNDAM_IM
ASIC SoC2009. 2. 3. 09:14

사람을 찾습니다.


어디에 


C  언어 이해하고 있으면서

Computer Architecture를 이해하는 사람을 보셨나요 ?


취업 사이트에 올린 구인 광고나 회사 홈피에 있는 구인 광고는 정말 거창한것 같지만 사실 딱 두가지만 바라는 겁니다. C언어와 Computer Architecture 입니다. (신입은 C만 잘해도 됩니다. ^^)


몇년 전부터 사람을 찾느라고 매달 2~3명씩 면접을 보는 것 같습니다.

그런데 아직도 사람을 찾고 있습니다. 


거듭 말씀드리지만, 신입사원이라면 C언어만 이해해도 좋은데 사람 찾기가 쉽지 않네요


회사가 크고 작고의 문제가 아닌듯 합니다.

사상 최대의 취업 난이네 하여도 회사는 사상 최대의 구인난에 시달리고 있으니 아이러니 합니다.


그동안 면접 본 사람이 못해도 000명은 넘은 것 같습니다만, 실제 채용된 사람은 3명 정도입니다.

그렇다고 회사가 정말 고난도의 인력을 요청하는 것도 아니라는 생각을 합니다.

정말 기본적인 것이죠.


채용 기준을 낮추라는 압력(?)이 조언이 주변에서 들어오지만, 이미 이정도의 채용 기준이면 한껏 낮추었다고 생각합니다.

 

요새는 왜 이렇게 사람뽑기가 힘들까요 ?


생각해보면 


1. 반도체 설계라는 직업군이 사실은  3D업종 이라는 비밀이 만천하에 공개 되었고

2. 공대 기피현상의 여파가 구인난까지 밀려들어온것 같습니다.


1번에 대해서는

3D직군이라는 것은 재론의 여지가 없이 사실입니다. 엄청 몸빵하는 직군임에 틀림이 없습니다. FAB-IN할때에는 모두 신경이 곤두서서 밤을 새며 지내기 일쑤이기 떄문에, 엄청 고로운 직군입니다. 이건 사실이기 때문에 변명할 거리가 없네요 하지만 다른 직군을 좀 봐주세요.. 다른 직군도 힘들기는 매 한가지 입니다.


2번에 대해서는 

사실, 지금은 영업, 연구, 마케팅의 구분이 없는 시대가 되기 시작했습니다.

직군의 구분은 있을런지 모르지만, 생각과 행동은 구분이 없습니다. 

엔지니어가 마케팅을 이해하여야 하고, 세일즈를 이해해야 하는 것 처럼

마케팅이 엔지니어링을 이해하지 못하고는 발 붙이기 힘든 시대입니다. 

시작할때야 차이가 존재하지만 점점 차이가 없어지고, 결국 종합적인 능력을 가진 사람이 더 높은 세상을 향해 

나아가게 되어 있습니다.


아무것도 모르는 사람이 마케팅을 한다고 자리에 눌러 앉아서 기울어가는 회사를 보는게 한두군데가 아니어서

더욱 그런 시대라는 것을 절감하게 됩니다.





그렇지만~~!!!! 버뜨...


자신이 만든 칩이 움직이는 것을 보는 것이 


얼마나 신기한 것인지,

얼마나 두군거리는 것인지 

얼마나 황홀한 것인지


느낄 수 있는 사람이라면, 느껴보고 싶은 사람이라면 연락을 주세요.. 



얼마전에 연구 결과물을 보니 국내에 약 150개 정도의 FAB-Less가 있고 인력은 4000명 정도 된다고 합니다.


마치 F.S.S( 파이브 스타 스토리의 약어죠.. 유명한 애니)에 보면 

기사는 숫자가 늘지도 줄지도 않는다는 대사가 나옵니다.  한사람의 기사가 만들어질려면 한사람의 기사가 죽어야 하는것 처럼

한사람의 엔지니어가 은퇴할때가 되어야 한사람의 엔지니어가 탄생하는게 아닌가 하는 생각이 듭니다.


우리나라 반도체 인력 종사자가 4000명일지에 대해서는 약간 의문이긴 합니다만,  (실상은 더 적을것이라 생각합니다.)

4000명의 엔지니어로 이 넓은 세상을 커버하기는 버거울 것 같습니다.


지금 있는 회사에서도 사람을 채용하기 위해서는 기존의 방법으로는 안된다고 생각이 됩니다.

뭔가 다른 방법과 대안을 찾아서 준비를 시작해야 합니다.


개인적으로도

회사에서도

국가에서도


다른 방안이 필요한 때입니다.



===========================

오해의 소지가 좀 있을것 같아서.. 

- 우리회사 대우가  낮지는 않습니다. 

- 다른 것들도 잘 해주는 편입니다.

- 위치가 불리한 것은 인정.. 음.. 얼렁 이사가야지..




'ASIC SoC' 카테고리의 다른 글

"그분" 전용의 SilverChip  (0) 2009.03.26
한사람의 기사를 맞이 하기 위해서는... (2)  (0) 2009.02.09
DSP Design [2]  (0) 2009.01.30
소프트 마이크로프로세서의 네 가지 라이선싱 모델  (0) 2009.01.20
DSP Design [1]  (0) 2009.01.15
Posted by GUNDAM_IM
ASIC SoC2009. 1. 30. 16:18

DSP Design [2]


앞서의 글에서 공개된 아키텍쳐를 이용해서 만드는 것이 좋다고 말씀드렸습니다.

공개된 아키텍쳐 중에서 당장 눈에 뛰는 것은 4가지 입니다.


- OpenCores 와

- SUN Sparc Processor

- Core-A

- MIPS-I


각각의 프로세서를 간략하게 정리하였습니다.


2-1 OpenCore - 1000/1200


Damjanl Lampret 라는 사람이 만든 OpenCores에서 공개한 프로세서로서 32비트 및 64비트까지 지원하는

명령어 세트를 가지고 있습니다.


오픈 코아는 명령어 자체가 걸려있는 것이 아닌것으로 생각되어, 구현 해도 큰 문제는 없을 것으로 생각합니다.


다만 현재 있는 것도 잘 되어 있어서 큰 문제는 없고, 실제 사용한 적도 있기 때문에

굳이 구현할 필요까지는 없을 것 같습니다.

무엇보다 공짜인데.. 라는 생각이 강한 오픈 코아이기 때문에 개인적으로는 위화감이 있습니다.



2-2 SUN Sparc


요게 맘에 들긴 합니다.

뭣보다도 정식 라이센스도 가능하고, 컴파일러와 O/S도 다 갖추고 있기 때문에 구현후에 좋습니다.


선에서 구할 수 있는 것은  T1과 T2프로세서 입니다.


T2는 서버를 원칩에 담겠다는 개념으로 만들어서 코드네임도 “NAIAGARA"로 명명했습니다.

결과물을 보면 물량전에서 절대 지지 않는 울트라 리스크 러쉬라고 할까요 ?

그런 정도의 엄청난 물량을 가지고 있습니다.


사용자 삽입 이미지


T1도 잘 만들었고 실제 이넘에서 프로세서 하나를 떼서 사업화 하겠다던 회사도 있었습니다.

그후에 소식은 못들어서 또 역사의 물결 속으로 사라진게 아닌가 하는 의구심도 듭니다.


하여튼 개인적으로는 이러한  레지스터 윈도우 방식은 참으로 좋은 아이디어로 생각합니다.
일정 수준까지의 함수의 호출에서는 스택을 건드리지 않고 파라미터와 내용을 전달하기 때문에
속도가 아주 빠릅니다.


다만 일정 수준을 넘어가면 Exception이 발생하고, 그 후에 다시 처리하는 것이 조금 시간이 걸린다는 단점이 있습니다.


개인적으로는 Embedded IP에서 게이트 카운트에 압박을 벗어나는 시대이므로, 용량이 좀 되는 어플리케이션에서는 좋은 어프로치라고 생각합니다.



 2-3 Core-A


작년 여름께 발표된 것으로, 특허청과 국내 대학 연합에서 만들어서 발표한 아키텍쳐입니다.


아키텍쳐가 공개된는지는 모르겠습니다만, 명령어 세트를 구하는 것은 쉬운 것이라서

구현이 가능한 범주에 넣었습니다.


NOP를 명령어 비트에 집어넣은 발상으로 만들었기 때문에 Data forwarding이 필요 없다는

개념을 가진 아키텍쳐로 보입니다.

컴파일러와 시뮬레이터가 아직 완전하지 않은것으로 보여 이 부분에 대한 보완이 시급한 것 같습니다.


하지만, 이제 시작이고  국내에서 EISC외에 새로운 아키텍쳐가 나왔다는 점에서 의미가 있다고 생각합니다.


2-4 MIPS-I


사용자 삽입 이미지

위의 사진은 도시바에서 만든 MIPS-4400입니다.

MIPS WIKI페이지에서 옮겼습니다.


ARM과 쌍벽을 이루면서, 미국에서 자존심을 걸고 지켜주는 프로세서이죠

프로세서 아키텍쳐 바이블 서적인 Computer Organization and Design: The Hardware/Software Interface 에서 설명하는 구조입니다.

프로세서 공부하시는 분들은 모르는 사이에 한번 공부한 아키텍쳐죠..



사용자 삽입 이미지

MIPS의 클론 프로세서를 검토한다면 렉서라라는 회사에 대해서 알아야 합니다. 이것에 대해서는  아래 링크를 한번 읽어보시면 좋겠습니다.

(눈물 없이는 읽을 수 없는 글입니다.)

http://jonahprobell.com/lexra.html

LEXRA는 MIPS-I 클론을 만들었고, 특허를 피해가기 위해서 노력을 했습니다만,  MIPS의 현질 공세에 밀려서 사라진 회사입니다.  저자는 MIPS가 Lexra에 대항했을 때의 그 노력으로 ARM에 대항했다면, 훨씬 좋은 결과를 만들었을 거라는 아쉬움을 이야기합니다.



MIPS-I에서 특허로 보호받는 부분은 명령어중 4개 정도 입니다. 그리고 이 명령어들은 Memory Miss Alignment에 대한 것들입니다.

이 것에 대해서는 우여 곡절이 많지만 하여튼 2006년 12월에 특허가 완전히 풀렸습니다.

따라서 구현에 법적인 문제는 없는것으로 되어 있습니다.


관련해서 오픈 코아의 Plasma프로세서가 MIPS-I을 이용해서 구현했습니다.

http://www.opencores.org/projects.cgi/web/mips/overview



앞서 말씀드린 바와 같이 MIPS-I의 특허는 완전히 풀렸기 때문에 이것을 이용해서 프로세서를 만드는 것이 가능합니다.


2-5 어떤 아키텍쳐를 ??


어떤 것을 구현하는게 좋은지는 법적인 문제와 실제 문제 그리고, 프로세서의 개발 환경 문제도 검토해야 합니다.

그리고  컴파일러의 최적화 문제에 대해서 고민을 해봐야 하고 또, 프로세서의 용도에 따라서 선택해야 하는 문제입니다.


이번에 만들고 싶은 프로세서는 고성능 DSP프로세서이기 때문에 명령어 확장도 가능한 형태로 가야 합니다. 이 부분을 고려하여서 위의 4가지 아키텍쳐 중에서 하나를 선택해서 구현합니다.



---------


그외에 공개된 아키텍쳐가 있다면 좋겠습니다.

이 자료는 현재까지 알고 있는 아키텍쳐에 대해서 검토한 과정을 정리한 것입니다.

언제나 그렇듯 제가 알고 있는 부분과 사실과 틀릴수도 있습니다. ㅋㅋ




Posted by GUNDAM_IM
ASIC SoC2009. 1. 20. 09:19

아래 글은 EE에서 발췌한 글입니다. 원문을 그대로 옮깁니다.


마이크로 프로세서IP를 어떤 모델로 라이센싱할 것인가에 대한 의견을 개진한 글입니다. 여러가지 방법이 있지만 FPGA라는 특성을 반영하여 라이센스하는 것을 말하고 있습니다. 이 글에서는  프로세서를 어떻게 파느냐의 글입니다. 어떻게 시장에서 자리매김하는가에 대해서는 언급하지 않고 있습니다. 파는것 보다도 중요한 부분은 자리매김이라고 생각합니다. 자리 매김이 되어야 파는 부분에 대해서도 성립하기 때문에 자리매김에 대한 내용이 정리되어야 합니다.   


소프트 마이크로프로세서의 가지 라이선싱 모델


Gordon Hands

Director of Strategic Marketing 

Lattice Semiconductor Corp.


FPGA 설계자들은 점점 많은 디자인에 소프트 마이크로프로세서를 내장하고 있다. 이에 따라, FPGA 벤더들과 써드파티 IP 벤더들은 가장 최신 모델인 오픈소스를 비롯하여 여러 가지 방식의 라이선스를 갖는 다수의 소프트 마이크로프로세서를 개발해왔다.

설계자들은 보통 자신들의 소프트 마이크로프로세서를 위한 소프트웨어 코드 개발에 상당한 시간을 투자한다. 때문에 이들이 관련 라이선싱 모델들이 무엇을 의미하는 이해하는 것은 중요한 일이다.


어려운 결정


일단 소프트 마이크로프로세서를 구현하기로 결정되었으면 설계자들은 어떤 라이선싱 모델이 자신들의 요구에 가장 맞는지를 결정해야 한다. FPGA 벤더들이 소프트 마이크로프로세서와 MCU 이용하는 기본적인 라이선싱 모델에는 가지가 있다.

써드파티 IP 벤더들은 보통 IP 구매 모델을 이용한다. 여기서 이들이 취한 접근 방식을 논하지는 않겠지만 대부분은 FPGA 벤더들의 접근 방식과 유사하다.


모델 1: IP 구매─FPGA 소프트 마이크로프로세서를 공급하는 전통적인 모델은 IP 구매이다

    이 모델은 가지 해결 과제들을 가져다준다.

마이크로프로세서 개발툴과 생성된 HDL 코드의 사용권에 비용을 지불해야 한다

    툴을 계속 사용한다든가 소프트웨어 유지 관리를 하는 경우 비용은 매년 들어가게 된다.

마이크로프로세서의 HDL 디스크립션은 보통 암호화되어있다

     이는 설계자가 구현물을 제한적으로만 최적화시킬 있도록 하며, 버그를 수정하기 위해서는 FPGA 벤더에 의존해야 한다.

마이크로프로세서를 지원하는 개발 자원들은 FPGA 벤더가 선택한 것으로 제한된다.

     설계자가 아니라 벤더가 자원들의 우선순위를 정하게 된다.

IP 구매 시의 라이선싱 조항으로 벤더의 FPGA 디바이스에 대한 구현이 제한된다

     마이크로프로세서에 대해 개발된 코드가 축적될수록 설계자가 다른 FPGA 벤더로 옮겨가기는 어려워진다.

설계자가 벤더를 전환하지 못함으로 인하여 벤더에게 경쟁 상의 이유로 압박을 가하지 못하게 된다

     이는 최종 제품이 고객들의 관심을 끌게 만든다. 또한, 미래에 FPGA 벤더로부터 가격 상의 양보를 제한적으로만 받게 한다.


모델 2: 무료 레퍼런스 디자인무료 레퍼런스 디자인 접근 방식은 IP 구매 모델과 관련된 가지 문제를 없애준다

     업프론트 비용이 없다는 것은 분명 매력적이다

     그리고 이러한 디자인들이 변함없이 소스 코드 포맷으로 제공됨으로 인해 디자인의 스트럭처에 접근할 있다.

    하지만, FPGA 벤더가 디자인의 소유권을 갖기 때문에 디자인에 대한 추가적인 코드 개발의 인센티브가 없어진다

    마지막으로, IP 구매 방식에서와 같이 레퍼런스 디자인의 구현은 벤더의 디바이스 아키텍처로 제한된다.


모델 3: IP 암호화─IP 암호화는 IP 구매 방식의 가지 문제를 해결하려는 새로운 시도이다

     모델에서 FPGA 설계툴들과 생성된 암호화 비트스트림을 이용한 디자인에 IP 통합된다.

    비트스트림을 이용하려면 미리 프로그램된 특수 FPGA 복호화 키와 함께 표준 FPGA보다 비싼 값에 구매해야 한다

    접근 방식은 업프론트 비용을 없애주며, 표준 마이크로프로세서 아키텍처가 FPGA 내에 사용될 있게 해준다.


표준 아키텍처의 이러한 사용은 코드가 독립 칩과 ASIC 같은 다른 FPGA 솔루션에 구현될 있게 해준다. 하지만, 설계자들은 다시 벤더의 디바이스에 묶이게 된다. 코드를 눈으로 없다는 문제와 벤더가 개발 우선순위를 정하게 된다는 문제는 이러한 접근 방식으로는 없다.


모델 4: 오픈소스오픈 소스 접근 방식은 다른 라이선싱 모델들과 관련된 고통스러운 문제들을 해결해 것을 약속한다. 이것은 코드를 눈으로 있게 해주어 설계자가 디자인의 기능을 이해할 있게 해주고, 자신들의 사용에 최적화시킬 있도록 한다.

이것은 설계자들이 코드를 수정할 있도록 융통성을 제공해 주며, 사용자들이 코드를 개선하여 넓은 개발 커뮤니티가 사용할 있도록 장려하는 IP 권리를 제공한다.

오픈 소스는 무료이며, 아마도 중요한 것은 이것이 어떠한 FPGA 아키텍처에도, 심지어는 ASIC 같은 FPGA 구현물에도 구현될 있게 해주는 이식성을 제공한다는 것일 것이다.


오픈소스 소프트웨어를 위한 GPL

오픈소스 운동은 소프트웨어 영역에서 시작되었다. 소프트웨어 영역에서는 많은 오픈소스 라이선싱 접근 방식들이 취해지고 있는데, 유명한 하나가 GNU General Public License (GPL)이다.


기부자가 자신의 작업을 인정받을 권리와 작업이 퍼블릭 도메인에 남아있도록 하는 , 그리고 미래 사용자의 필요요건 간에 GPL 취하고 있는 균형이 소프트웨어 개발 커뮤니티에서 이것이 인기있는 이유의 하나이다. 하지만 GPL 궁극적으로 하드웨어에 구현될 IP에는 불완전한 라이선스이다.


구매자가 알아야 것들

FPGA 내에 임베딩되는 소프트 마이크로프로세서가 널리 유행함에 따라 설계자들은 라이선싱 조항에 세심한 주의를 기울일 필요가 있다. 기사에서는 가지 라이선싱 접근 방식을 살펴보았다. 오픈소스 접근 방식을 제외한 나머지는 향후 설계자들의 FPGA 디바이스 선택을 제한시켰다. 또한 접근 방식의 일부는 설계자가 코드에 접근하는 것을 제한함으로써 버그 수정을 IP 공급업체의 손에 맡길 밖에 없게 하고 있다.


소프트 마이크로프로세서의 오픈소스 라이선싱은 설계자에게 FPGA 아키텍처를 바꿀 융통성을 제공하고 그들이 필요로 하는 프로세서 아키텍처를 눈으로 있게 해준다.


하지만, 오픈소스라 하더라도 라이선싱 세부 사항에 대해 세심한 주의가 필요하다. 이는 소프트웨어 영역에서 인기있는 많은 오픈소스 라이선스들이 하드웨어를 대상으로 하는 IP 적용될 때는 심각한 문제들을 드리우는 경우도 있기 때문이다. 라이선스 없이 하드웨어를 배포해야 필요나 단일 하드웨어 구현물에 공개 코드와 고유 코드를 혼용해야 필요가 그러한 문제들에 포함된다.


Posted by GUNDAM_IM
ASIC SoC2009. 1. 15. 11:49

DSP가 필요해졌습니다. 에구~~


갑자기 DSP가 필요해졌습니다. 

엄밀하게 말하면 뜬금없이 갑자기 필요한것은 아니었지만, 

그동안 굳이 개발할 필요가 있겠냐 라는 마인드로 외면하면서 버티고 있었습니다.


SoC같은 부류의 일을 하다 보면 프로세서가 2가지 종류가  필요하게 됩니다.

하나는 내부 컨트롤을 위한 MCU이고, 나머지 하나는 고속으로 동작하며 필요한 정보 처리를 씩씩하게 해낼 수 있는 프로세서 입니다. 전자를 컨트롤러개념에 가까운 프로세서 이며,  후자를 데이터 처리를 위한 프로세서 개념으로 분류를 합니다.



필요해 진것은 표준에 부합된 프로세서가 아니라 필요한 기능을 재조립 가능한 데이터 처리용 프로세서입니다.

그것도 빵빵한 속도로 돌아가는 프로세서 입니다. H/W Accelerator만으로 해결 할 수있는 부분이 

제한적이 될 것 이고, 내부에 고속으로 동작하는 프로세서가 있어서 이놈이 역활을 크게 해야 할 것으로 

생각합니다.


컨트롤로와 데이터 처리 프로세서 중에서 DSP를 먼저 설계하는 이유는 DSP에서 컨트롤러로 가는 것은 쉽지만, 컨트롤러에서 DSP로 가는 것은 결코 쉽지 않습니다  그래서 DSP를 먼저 설계하고, 튜닝해서 컨트롤러로 다운 사이징을 하는 것이 맞다고 생각합니다.




사용 가능한 것들을 총 망라해보면 비싼(?) 상용 프로세서를 사용하자니.. 곤란하구요.. 

벤쳐에서 언강생심 ARM이나 MIPS를 쓴다는 것은 큰일입니다. 그것도 데이터 처리를 위한 프로세서에

넣자고 하면 만만치 않은 투자 비용이 들어갑니다.



OpenCore에서 개발된 프로세서를 사용하는 것도 가능합니다. 그런데  이 프로세서의  재미있는 부분이 초기에는  OpenCore Processor 저자가 라이센스가 무료입니다 하고 외쳤지만, 어느날 부터인가는 조용해지더니 지금은 떡 하니 회사를 차려 놓고 있습니다.


실제로 국내에서 모 회사가 이 회사랑 계약하였습니다. 

그래서 돈주고 라이센스 하여야 하는것이 아닌가 하는 상태까지 의심이 갑니다. 실제로 국내에서 계약한 회사는 초기 라이센스 비용이 있다고 하였습니다. - 괜히 걸려서 오해사느니.. 이 OpenCore는 포기.. 


그외에는 SunSparc의 Clone프로세서인 Leon이 좋은데요. 실적도 있고 오픈도 되어 있습니다.

코드를 보신 분은 아시겠지만 VHDL이 아니라 거의 C++수준이라고 생각될 정도로 코딩이 되어 있습니다.

나중에 기능을 추가할려면,  골치아픈 구조라고 생각됩니다.


사용자 삽입 이미지
                                 위의 그림은 LEON3 프로세서입니다. 0.25 공정을 사용했다고 합니다. 

                               






공개된 프로세서를 사용하지 않고 개발한다면 몇가지 선결 과제를 고려해야 합니다.


 

 (1) 컴파일러는 어떻게 할 것인가 ?

       GCC에 포팅한다면, 프로세서의 최적화는 그렇다고 하더라도 인라인 어셈블러에 대해서는 웬만큼 

       익숙해지지 않고서는 사용하기 힘든 사태가 됩니다.  


 (2) 개발 환경은 어떻게 할 것인가 ?

       내부 용이긴 하지만, 그래도 어느정도 개발 환경을 지원해야 합니다.

       디자인 초기에 이 부분이 잘 정의 가 안되어 있으면 진행하는 과정에서 추가하는 것은 아주 어렵습니다.

      

 (3) 내부에 연산 크기는 어떻게 할 것인가 ?

       오디오 용인지 , 비디오 용인지 ,  신호 처리 용인지 등에 따라서 연산자가 많이 바뀌어야 합니다.

       복잡한 연산을 하드웨어가 한다면 편하지만, 프로세서가 한다면, 어떻게 연산자를 정하고 컴파일러/어셈블러에서 지원하는지 정의를 해야 합니다.



옵션에 따라서 파이프라인을 조절하면 컨트롤러 용으로 사용할 수 있도록 구성해 둘 생각입니다.


아키텍쳐로는 어떤게 좋을까 생각을 해보면,


(1) 상용 프로세서의 클론 프로세서로.. 하여본다.

(2) 새로운 아키텍쳐의 프로세서를 과감하게 설계해 본다.

   (3) 적당한 돈을 주면 아키텍쳐 라이센스를 주는 프로세서를 설계해본다.


중 하나를 선택해서 진행하여야 하겠죠


꿈을 가진 엔지니어라면 과감하게 (2) 번 모드로 진입을 하겠지만, 엄청난 닭질이 기다리기 때문에,

(1)번이나 (3)으로 가야겠죠. .그래서 (2)번은 아웃.. 예전에 한번 해봐서 굳이 이 모드로 갈 필요가 없습니다.


(1)번 모드일 경우 항상 두근거리는 스릴을 느끼면서 지내야 합니다. 몰래 MIPS나 ARM Clone을

만들어서 사용할 경우 당장은 무난하더라도 언젠가는 걸려서 큰일 한번 치루게 됩니다.


그래서 (3)번 모드로 갑니다.


나머진 다음에 또.. 2부에서.. 


Posted by GUNDAM_IM