2007년 10월 22일 월요일

성공적인 스트럭처드 ASIC 설계

성공적인 스트럭처드 ASIC 설계
게재 : 2007년 09월 03일

By Frank McMillan
Senior Applications Engineer / ChipX Inc.
E-mail: frankm@chipx.com

딥서브미크론 스탠다드 셀 ASIC에 수반되는 비경상 엔지니어링 비용이 증가하고 설계 기간이 늘어남에 따라 주문형 IC 디자인에 스트럭처드 ASIC을 이용하는 것은 점점 더 매력적인 옵션이 되어가고 있다. 스트럭처드 ASIC은 경쟁력 있는 단가로 우수한 실리콘 성능과 훨씬 낮은 NRE를 제공한다. 스트럭처드 ASIC에 광범위한 사이즈가 이용될 수 있다는 것은 주요 시스템 칩으로도 사용될 수 있고 작고 경제적인 보조칩으로도 사용될 수 있다는 것을 의미한다.

스트럭처드 ASIC 슬라이스 디자인에서 많은 물리적 설계 문제들이 이미 해결되었다. 따라서 백엔드 레이아웃 작업에 들어가는 시간이 줄어들 수 있으며, 이는 사인오프와 시제품 전달을 앞당긴다. 그러나 ASIC 슬라이스들은 사전 정의된 스트럭처를 가지고 있고, 따라서 설계자들은 원하는 성능을 얻기 위해서 칩 리소스의 배열을 세심하게 고려해야 한다.

FPGA는 ASIC에 대한 또 다른 대안이 될 수 있다. 이것들은 보통 룩업 테이블과 컨피규러블 로직 셀들을 기반으로 하며, 이에 견줄만한 ASIC 기술에 비해 면적 효율이 떨어지고 전력은 더 많이 잡아먹는다. 연간 생산량이 일단 5,000 피스를 넘으면 스트럭처드 ASIC을 이용하는 것이 훨씬 경제적이다. 그러나 아직 많은 어플리케이션에서 FPGA가 낮은 업프론트 비용으로 빠른 턴어라운드를 제공하는 이상적인 시제품 제작 툴이 되어주고 있다.

디자인의 시제품이 FPGA로 제작되었다면 스트럭처드 ASIC으로의 이동을 계획하는 것이 중요하다. 이상적으로는, FPGA와 ASIC 라이브러리를 이용한 동시 개발이 일찍 이루어질 수 있다. 그러나 그렇게 하지 않았다고 하더라도 조금만 계획하면 마이그레이션이 훨씬 고통없이 이루어질 수 있다.

해야 할 일

- 미스매치를 피하는 합성툴 전략을 채택하라. 보통 설계자들은 벤더 네트리스트이든 아니면 RTL에서의 HDL 디스크립션이든 자신들이 선택한 프론트엔드 환경을 사용할 수 있다. 그러나 FPGA 합성이나 ASIC 합성에는 서로 다른 툴이나 동일한 툴의 서로 다른 버전이 사용될 수 있다. 코드 체커와 least-common-denominator 코딩 방식을 이용하여 결과의 불일치를 피하라. 그렇게 하여 서로 다른 툴들이 RTL 코드를 서로 다르게 해석하지 않도록 한다.

- 상세한 타이밍 정보를 전달하라. ASIC 벤더는 합성, 타이밍 주도 레이아웃, 포스트 레이아웃 정적 타이밍 분석을 수행하는데 그러한 정보를 필요로 한다. 좋은 시스템 클럭 정보와 I/O 시스템 타이밍 예산, FPGA 합성 스크립트 상의 잘못된 경로 및 멀티사이클 경로 정보를 제공함으로써 레이아웃 속도를 올릴 수 있다.

- ASIC 공급업체와 DFT 요건에 대하여 빨리 논의하라. FPGA 프로토타입에 테스트 회로가 포함될 필요는 없지만 ASIC내에 테스트할 수 없는 회로가 있다면 디바이스의 결함 커버리지를 낮출 뿐만 아니라 불량 부품이 테스터를 통과하게 할 수 있다. 몇몇 ASIC 벤더들은 자신들의 NRE에 테스트 삽입과 자동 테스트 프로그램 생성을 포함시키기도 한다. 그러나 전용 테스트핀 또는 다중화된 테스트핀이 필요할 수도 있으며, 추가적인 테스트 회로가 필요할 수도 있다.

- 리셋과 초기화 로직을 추가하라. FPGA가 필요로 하지 않는다고 할지라도 리셋과 초기화 로직을 추가하여 완성된 프로토타입에 사용된 테스트 벡터들이 시뮬레이션에서 동일한 결과를 얻을 수 있도록 해야 한다.

- 패키지 스타일과 핀아웃을 일찍 결정하라. 스트럭처드 ASIC 벤더들은 비용과 보드 면적을 절약하면서도 설계 요건에 정확하게 맞는 넓은 범위의 패키지를 제공할 수 있다. FPGA에서는 패키지 선택이 제한된다. FPGA 프로토타입과의 핀 호환성이 요구된다면 ASIC 벤더와 빨리 핀아웃과 패키지 선택에 대하여 논의함으로써 요건을 충족시킬 수 있도록 해야 한다.

해선 안될 일

- ASIC에 맞지않는 프로토타입 FPGA RAM 기능을 이용하지 마라. 스트럭처드 ASIC의 RAM은 보통 구성 능력이 뛰어나기 때문에 서로 다른 RAM 사이즈가 문제가 되지는 않는다. 그렇지만 전체 RAM 용량과 이용 가능한 인스턴스의 수를 넘어서면 안 된다. 비동기식 액세스와 서로 다른 워드 크기를 갖는 비대칭 read/write 포트를 갖는 것은 가능하지 않거나 여분의 wrapper, 그리고 로직의 추가를 필요로 할 수 있다.

- ASIC 라인업에서 사용할 수 없는 FPGA I/O를 선택해서는 안 된다. ASIC 라이브러리를 확인하고 거기서 이용할 수 있는 것을 매치시켜라. 그렇게 함으로써 ASIC을 시제품 보드에 끼워넣을 때 깜짝 놀라는 일을 피할 수 있을 것이다.

- FPGA 벤더들이 공급한 고유 IP를 이용하지 마라. 가급적 이름있는 업체에서 만든, FPGA와 ASIC 모두에 쉽게 이용될 수 있는 합성 가능한 IP를 사용하라. PLL 같은 아날로그 IP가 사용되는 곳에서 타깃 ASIC 벤더가 디자인이 요구하는 주파수 생성이나 디스큐(deskew) 요건에 맞는지 확실히 해야 한다.

- 긴 인터커넥트를 사용해서는 안 된다. 백엔드 툴들은 연결된 회로들을 가까이 배치함으로써 인터커넥트 지연을 감소시켜준다. 그러나 스트럭처드 ASIC에서는 RAM 위치가 고정된다. RAM을 다이 하단의 I/O에 수반되는 회로와 함께 다이 상단에 연결하면 지연이 증가할 것이다. 임계 타이밍 인터페이스를 가지고 있다면 레이아웃 작업 후 긴 인터커넥트를 만들어내는 핀아웃과 RAM 배치를 피하라.

- 가능한 한 비동기식 로직을 사용해서는 안 된다. 스트럭처드 ASIC에 FPGA 비동기식 로직 경로를 재생성시킬 수 없을 것이다.


ASIC 개발에 수반되는 NRE 비용과 설계 시간의 증가로 스트럭처드 ASIC이 더 매력적인 옵션이 되고 있다.



출처: http://www.eetkorea.com/ART_8800477935_839575_NT_d9b5c8da.HTM

댓글 없음: