Blog | Tag | Local | Guest | Login | Write |  RSS
ASIC?FPGA?
 안녕하세요~~17-2기 이호성입니다.
 이번에 FPGA 관련 시그를 하면서 공부한 내용을 차근차근 정리해 보도록 하겠습니다. 

 VerilogHDL로 FPGA 개발을 하기전에 배경지식을 알아본다. 반도체 칩을 설계 하는 방법에는 무엇이 있고 특징들은 무엇인지 지금부터 살펴 보겠다.

1. ASIC & FPGA
 현대의 전자제품시장은 여러가지 기능의 다양한 제품이 출현하여 그 제품들 사이의 경쟁력을 가중시키고, 부가가치가 높은 다양한 기능의 고성능,고집적화된 제품들을 빠른 시간내에 개발하여 생산할 것을 요구하게 되고 이러한 문제들을 해결하기 위해 사용자의 주문에 따라 특정용도에 사용하는 ASIC (Application Specific Integrated Circuit)이 등장하게 되었다. 즉 반도체 부품의 저가격화, 다기능화, 제품수명 (Life Cycle)의 단축으로 ASIC기술이 도입되었고 이로 말미암아 반도체 부품의 개발기간이 단축되고 개발 비용이 절감되었다.

 PLD (Programmable Logic Device)는 반도체 제조업체 측에서 보면 다량으로 제조되어 일반적인 용도로 판매되므로 범용성 칩의 범주에 속하고, 사용자 측에서 보면 사용자의 요구에 맞게 일시적으로나 영구적으로 칩내의 기본소자들을 물리적으로 연결시켜 사용하게 되므로 ASIC의 범주에 속하게 된다. PLD는 일반 ASIC보다 회귀시간(Turn-around Time)이 훨씬 줄어들고 개발비가 필요 없지만 PLD를 프로그래밍 할 또다른 장비를 필요로 한다. 이러한 PLD들은 기능적인 유연성(Flexibility)과 확장성 (Expansibility)의 한계를 가지고 있어, 이를 해결하기 위해 FPGA (Field Programmable Gate Array)가 등장하여 Mask Programming된 ASIC의 Gate Arreay와 경쟁상대로 널리 사용되고 있다.

2. LSI 분류

ASIC  : Application Specific IC
ASCP : Application Specific Custom IC
USIC : User Programmable IC
ASSP : Application Specific Custom Standard Product
UPIC : User Programmable IC
CPLD : Complex Programmable Logic Device
FPGA : Field Programmable Gate Array
PLD : Programmable Logic Device
PROM : Programmable Read Only Memory

3. FPGA?
 
이미 설계된 하드웨어를 반도체로 생산하기 직전 최종적으로 하드웨어와 동작및 성능을 검증하기 위해 제작하는 중간 개발물 형태의 집적 회로(IC).
 반도체 제조업자 측에서 보면 양산되어 일반적 용도로 사용 되므로 범용 IC의 범주에 속하고, 사용자 측에서 보면 사용자 요구에 맞게 프로그래밍하여 사용할 수 있으므로 주문형 반도체(ASIC) 범주에 속한다.
 칩안에 수많은 논리 게이트(NAND, NOR, Flip-Flop...)등이 연결이 되지 않은 채로 들어가 있다. 자신이 만들고자 하는 회로를 설계하여 해당 FPGA의 CAD툴(Synthesizer:합성장치)을 돌리면 게이트들의 결선 정보로 변환되어 나온다. 이것을 FPGA에 써주면 원하는 칩으로써 동작한다. 이러한 과정은 한번이 아니고 반영구적으로 무한히 가능하므로 이런회로 저런회로 얼마든지 만들어 볼 수 있다. FPGA 자체 단가는 비싸다. 갓 출시된 수백만 게이트짜리 제품들은 수급상황에 따라 개당 천만원을 넘어가기도 한다.

4. ASIC?
 일반 집적회로와 달리 전자정보통신 제품에 사용할 목적으로 설계된 비메모리 반도체 칩을 말한다. 논리회로형 반도체(FPGA)에 비해 값은 싸지만 상품화하는데 오랜 시간이 필요하다.
 주로 PC에 사용되는 마이크로프로세서나(microprocessor)나 메모리칩(memory chip) 등 일반 집적회로와 달리 특정한 전자정보통신 제품에 사용할 목적으로 설계된 비메모리 반도체 칩이다. 전자제품을 제조하는 업체가 반도체 설계 업체에 개발을 주문하는 형태로 제작되는데, 전자제품의 성능을 좌우하는 핵심 기능을 포함한다.
 설계자 의도를 반영해 회로를 설계하는 논리회로형 반도체(FPGA)에 비해 값은 싸지만 상품화 하는데 오랜시간이 필요하다. 수용자가 제품의 규격을 정해놓고 제조업체에 주문하는 특정 용도 주문제품(ASCP)과 제조업체가 스스로 규정한 용도를 위해 설계제작하는 표준제품(ASSP)으로 분류된다.
 완성된 주문형 반도체를 도입하면 복잡한 중간 개발단계를 생략함으로서 개발에 필요한 인력과 비용을 대폭 줄일 수 있다. 제품의 고급화, 성능의 다양화 등도 가능해 계속 수요가 증가하는 상황이다.
 주문형 반도체 업체에서는 연산장치, 제어장치, 출력장치, 입력장치 등의 부품으로 쓰이는 각종 집적회로를 개발한다. 또 새로운 제조기술과 제조방법 등에 관한 연구, 제조장비의 설치와 유지, 보수는 물론 반도체 칩의 실험 프로그램을 개발하고, 완성품의 작동여부에 대한 점검까지 담당하는 경우가 많다.
 디자인된 회로를 Transistor Level로 그대로 Silicon Wafer안에 그려 넣는다.이렇게 만들어진 집적회로는 기능이 딱 결정이 되어 수정이 불가능하다. 반도체 라인에 한번의 ASIC을 돌리려면 라인 이용료로 한번의 많은 비용(수억)이 들어가지만 이후 양산 물량은 굉장히 저렴하게 대량생산이 가능하다.

 ASIC으로 바로 칩을 만들기 전에 FPGA로 디자인한 회로를 먼저 검증하고, 잘 돌아가는 것이 확인되면 ASIC을 돌리게 된다. FPGA나 ASIC이나 둘다 집적회로이다. ASIC은 목적에 맞게 그 기능이 딱 제한된 IC이고 FPGA는 그 기능을  Programmable하게 바꿀수 있는 장치가 더 들어가 있는 IC라고 생각하면 된다.

참고 : 기초부터 응용까지 Verilog HDL (다다미디어)
         'http://blog.naver.com/bstu24