Electronic Component
Electronic component는 프로그램 가능 논리 소자(PLD, Programmable Logic Device)와 주문형 반도체(ASIC, Application Specific Integrated Circuit)로 나뉜다. PLD는 다시 PROM(Programmable ROM), PAL(Programmable Array of Logic), PLA(Programmable Logic Array), CPLD(Complex PLD), FPGA(Field Programmable Gate Array)로 나뉜다.
PLD (Programmable Logic Device)
기본 소자가 어레이 형태로 배열되고 어레이의 각 격자점에 있는 퓨즈를 접속, 단절함으로써 목적하는 논리 회로를 실현하는 소자이다. PLD는 AND array가 고정되어있고 OR array는 프로그램 가능한 PROM과 AND array는 프로그램 가능하고 OR array가 고정되어 있는 PAL, 둘 다 프로그램 가능한 PLA이 있다.
PROM (Programmable ROM)
![]() |
한 개의 디코더(AND 배열 부분)와 Memory array의 이차원 배열(OR 배열)로 이루어져 있다.
|
PAL (Programmable Array of Logic)
![]() |
PAL의 구조는 AND 배열 부분을 사용자가 프로그램을 할 수가 있고 OR 배열은 고정되어 있다. 이 구조는 생산의 비용이 비교적 적게 들고 속도의 성능이 빠른 편이어서 많은 반도체 회사들이 이와 같은 기본 구조와 유사한 프로그램 가능한 소자들을 만들어 내고 있다.
|
PLA (Programmable Logic Array)
CPLD (Complex Programmable Logic Device)
![]() |
Complex Programmable Logic Device (CPLD)의 블록은 disjunctive normal form식과 더 특별한 논리 연산을 실행하는 logic이 포함된 macrocell이다.
하나의 (Programmable Interconnection array)PIA가 존재하므로 정확한 타이밍 예측이 가능하다.
|
FPGA (Field Programmable Gate Array)
![]() |
일반적인 기본 구조는 configurable logic blocks 어레이와 라우팅 채널로 구성된다. 일반적으로 모든 라우팅 채널은 동일한 폭을 가지고 있다. 응용회로는 적합한 자원을 가지는 FPGA를 반드시 매핑 해야 한다. 일반적인 FPGA의 논리 블록은 4개의 입력 룩업 테이블 (lookup table)과 플립플롭으로 구성된다.
|
ASIC (Application Specific Integrated Circuit)
ASIC은 특정한 종류의 전송 프로토콜이나 휴대용 컴퓨터 등과 같이 특별한 용도를 위해 설계된 칩이다. ASIC은 사용자의 주문 그대로 처음부터 회로를 설계하여 만드는 주문형(custom)과, 기본적인 게이트들을 여러 개 배열해 놓고 이들 사이의 배선만 이어주는 게이트 어레이(gate array)형, 그리고 카운터, 타이머, 플립플롭 등 기본적인 부품을 칩에 미리 구성해 놓은 반제품으로부터 이들을 칩 내에서 연결하여 원하는 회로를 만드는 표준 셀(standard cell) 등 세 가지 종류가 있다.
ASIC와 FPGA의 차이점
FPGA같은 경우 회로설계의 앞부분만 끝마치면 보드에 장착된 FPGA상에 바로 회로를 다운로드하여 보드의 동작이 가능하다. 하지만, ASIC은 회로설계의 뒷부분 즉, 웨이퍼 상에 셀(게이트)가 놓일 위치를 정해주고, 그 웨이퍼 상에서 피지컬로 각 셀들을 메탈을 이용하여 Front-End에서 작성된 회로대로 연결하여 주는 작업을 해야 한다. FPGA는 이미 특정 셀들이 FPGA내부에 구성되어 있어서 단순히 선만 연결하거나 끊어서 회로도를 작성하는 반면, ASIC는 셀들이 어느 위치에 놓일지 알 수 없다. 즉, FPGA는 시뮬레이션 할 때 타이밍의 예측이 쉽지만, ASIC은 쉽지 않다. ASIC은 IC를 만들고 나서 그 IC가 제대로 만들어 졌는지 테스트해야 한다. FPGA는 이미 수백 ~ 수만 개의 셀들을 이미 IC안에 만들어 놓기 때문에 쓰지 않는 셀들이 상당히 많이 있을 수 있다. 그만큼 웨이퍼 다이가 커지게 되며, 생산량이 ASIC에 비해서 떨어지게 된다. 그래서 일반적으로 FPGA는 Prototype 용으로 많이 쓰이고, ASIC은 양산용으로 많이 쓴다.