53. 세미 커스텀, 프로그래머블・로직 IC의 종류와 특징

전자 기기 제조사가 원하는 기능을 탑재한 반도체 칩을 입수하는 방법은 크게 4가지로 나눌 수 있습니다. 첫 번째는 커스텀 칩을 설계하는 방법입니다. 이 방법을 사용하면 원하는 것과 거의 다르지 않은 기능을 갖춘 칩을 입수할 수 있으나 개발 기간이 길어지고 개발 비용도 매우 비싸집니다. 두 번째는 기성품(ASSP)을 구매하는 방법입니다. 원하는 기능을 갖춘 칩이 시장에 존재하면 비용은 큰 폭으로 절감할 수 있습니다. 그러나 그러한 칩이 시장에 반드시 존재한다고는 할 수 없습니다. 그래서 현재는 다음과 같은 두 가지 방법이 주류를 이루고 있습니다. ASIC 등과 같은 세미 커스텀 칩을 사용하는 방법과 FPGA/CPLD라고 하는 프로그래머블 디바이스를 사용하는 방법입니다. 그러나 세미 커스텀/프로그래머블 디바이스는 다양한 종류가 있으므로 용도(애플리케이션)에 맞게 구분하여 사용할 필요가 있습니다. 다음의 표에 각종 세미 커스텀/프로그래머블 디바이스의 특징을 설명합니다.

IC의 종류 특징

게이트 어레이
(Gate Array)

기본이 되는 논리 회로(게이트 회로)를 미리 칩에 장착하여 사용자마다 개별적으로 배선 층만을 설계하여 제작하는 세미 커스텀 디바이스입니다. 배선 층을 설계/제조하는 것만으로 LSI가 완성되기 때문에 개발 기간이 짧다는 장점이 있습니다. 또한, 게이트만 설치된 마스터 칩을 대량으로 제조할 수 있으므로 비용을 낮출 수 있습니다. 그러나 반면에 표준 게이트를 조합하여 회로를 구성하기 때문에 집적도와 처리 성능이 비교적 낮다는 단점이 있습니다.

셀 베이스
(Cell Based Array)

기본이 되는 논리 회로(게이트 회로)를 미리 칩에 장착하여 사용자마다 개별적으로 배선 층만을 설계하여 제작하는 세미 커스텀 디바이스입니다. 배선 층을 설계/제조하는 것만으로 LSI가 완성되기 때문에 개발 기간이 짧다는 장점이 있습니다. 또한, 게이트만 설치된 마스터 칩을 대량으로 제조할 수 있으므로 비용을 낮출 수 있습니다. 그러나 반면에 표준 게이트를 조합하여 회로를 구성하기 때문에 집적도와 처리 성능이 비교적 낮다는 단점이 있습니다.

임베디드 어레이
(Embedded Array)

게이트 어레이의 기초 부분의 일부에 이미 설계되어 있는 기능 블록을 집어넣고 나머지 로직은 게이트 어레이를 이용하여 배선하는 세미 커스텀 디바이스입니다. 게이트 어레이와 셀 베이스의 절충 타입이라고 할 수 있습니다.

스탠다드 셀
(Standard Cell)

일반적으로 셀 베이스 타입의 ASIC 명칭으로 사용됩니다. 그러나 반도체 제조사에 따라 게이트 어레이와 셀 베이스, 임베디드 어레이의 3가지 타입의 통칭으로 사용되는 경우도 있습니다.

스트럭처드 ASIC
(Structured ASIC)

반도체 제조사가 용도마다 필요한 기능 블록을 집적한 마스터 칩을 몇가지 준비해 두고 사용자가 그중에서 가장 적합한 마스터 칩을 선택하여 배선 층만을 설계하는 것으로 원하는 기능을 얻을 수 있는 세미 커스텀 디바이스입니다. 사용자 입장에서 보면 게이트 어레이나 셀 베이스와 비해 마스크 세트의 개발 기간과 비용을 줄일 수 있는 장점이 있습니다. 그러나 반면에 많은 사용자의 수요에 응하려고 하면 마스터 칩의 종류를 많이 보유해야 하므로 반도체 제조사 입장에서는 큰 단점이 됩니다.

FPGA
(Field Programmable GateArray)

규모가 작은 기본 로직 셀을 이용한 프로그래머블 로직 디바이스입니다. 각 기본 로직 셀의 입출력부는 배선 층과 접속하고 있고 배선 층의 접속 형태를 사용자가 설계(프로그램)하는 것으로 임의의 기능을 실현할 수 있습니다. 설계 정보(프로그램 데이터)는 SRAM과 플래시 메모리에 저장하고 디바이스 전원이 들어옴과 동시에 정보(데이터)를 다운로드하여 동작을 시작합니다. 설계 자유도가 높다는 장점이 있습니다. 그러나 반면에 설계한 디바이스의 성능(처리 속도, 게이트 사용 효율)은 설계자와 개발 툴의 성능에 크게 좌우된다는 단점이 있습니다.

CPLD
(Complex ProgrammableLogic Device)

비교적 큰 기본 로직 셀을 이용한 프로그래머블 로직 디바이스입니다. FPGA와 비교하면 설계 자유도가 낮지만, 설계자와 개발 툴의 능력 차이에 따라 성능의 편차가 크지 않다는 장점이 있습니다.