CMOS VLSI

ASIC vs FPGA

나오_주인장 2026. 1. 31. 17:13

오늘은 ASIC과 FPGA에 대해서 다뤄보려고 합니다.

아마 반도체 설계를 해보신 분이나 관련 교육을 들었던 분들은 들어봤던 이름일 것 같습니다. 

저는 대학교때 verilog HDL 과목을 수강하면서 처음으로 접했던 단어인데, 그 때는 잘 모르다가 대학원에 진학해서 정확한 의미를 찾아봤던 것 같습니다. 

 

ASIC과 FPGA가 외형적인 이미지는 차이가 없지만, 대조되는 이미지를 보여주기 위해 아래의 사진을 가져와 봤습니다.

Source: https://www.vemeko.com/blog/67198.html

 

1. ASIC( Application Specific Integrated Circuit )

ASIC은 한국어로 하면 주문형(맞춤형) 반도체로 트랜지스터와 연결선이 놓여질 위치에 제한을 두지 않은 반도체 설계 방식입니다. FPGA보다 저렴하고 빠르며 전력 효율이 좋습니다. 하지만 칩이 한번 완성되면 수정이 어렵기 때문에 초기 비용이 많이 들어 충분한 검증의 과정이 필요합니다. 이러한 특징에 때문에 대량 생산에 적합하고 일반적으로 ASIC으로 칩을 생산하기 전에 FPGA를 사용하여 회로를 검증합니다.

 

2. FPGA(Field Programmable Gate Array)

FPGA는 트랜지스터와 연결선이 놓여질 위치가 한정되어 있는 반도체 설계 방식으로 프로그래밍을 통해 칩에 넣어주면 그에 따라 칩의 기능을 바꿀 수 있습니다. 완제품에 가까운 형태로 프로그래밍만 하면 되기 때문에 적은 시간을 들여서 만들어보기에 좋습니다. ASIC보다 가격이 비싸 범용적으로는 사용 못하지만 수정이 자주 필요한 분야에 적절하고 이러한 특징에 따라 소량 생산에 적합합니다.

 

 

즉, ASIC은 특정 목적에 맞게 설계되는 칩이고, FPGA는 특정 목적이 아닌 필요에 따라 범용적으로 사용하기 위해 설계된 칩이라고 보면 될 것 같습니다. 그럼 ASIC과 FPGA의 장단점에 대해서 비교해보겠습니다.

3. ASIC과 FPGA 장단점 비교

ASIC은 주문형 반도체이기 때문에 아래의 ASIC 레이아웃과 같이 메모리, BUS, IP, CPU가 여기저기 붙어 있습니다. 따라서 칩마다 다른 형태를 가지고 있습니다. 반면에 FPGA를 보면 Programmable logic 블록에 대해서 규칙적으로 이미 다 배열이 되어 있습니다. 추가로 필요한 메모리랑 DSP, FastBUS 등에 대해서는 중앙이나 사이드에 위치해서 Programmable logic 들에 대해서 통신이 잘 될 수 있도록 연결해주고 있습니다.

 

여기서 market time은 설계를 한 뒤에 고객들이 칩을 받는 시간을 의미하고 프로그래밍이 가능한 FPGA가 훨씬 빠릅니다.  그리고 NRE는 초기 개발 비용을 의미하고 하나의 제품을 설계할 때 그 칩에 대해서 내가 커스터마이징해서 공정을 태우는 것이 아니라 프로그래밍이 가능하도록 회로를 만들어 줬으면 하나의 칩만 가지고도 다양한 회로를 만들어 볼 수 있습니다. 따라서 하나의 칩을 가지고도 다양한 테스트를 할 수 없기 때문에 FPGA가 훨씬 저렴합니다. 

 

이런 점만 놓고보면, FPGA가 정말 좋아보이지만,  FPGA도 많은 단점이 존재합니다.

예를 들어 제품을 만들 때 FPGA가 들어간 전자제품에 대해서 10개 정도 판매하고 끝나는 것이 아니라, 생각보다 좀 잘 팔려서 천대, 만대, 억대를 판다고 가정하면, 거기에 들어가는 FPGA의 unit cost가 굉장히 높습니다. 그리고 performance(성능) 측면에서 봤을 때도, FPGA는 이미 구성된 로직을 가지고 다시 재배치를 하는 것이기 때문에 성능이 좋을 수가 없습니다. 반면에 ASIC은 사용 목적에 맞게 최적화시키면서 설계를 하기 때문에 성능 측면에서 훨씬 좋습니다. 전력 소모 또한, FPGA는 쓸데 없는 로직 블록들도 전력을 소모하기 때문에 효율적이지 못합니다. 반면에 ASIC은 사용 목적에 맞지 않는 쓸데 없는 블록을 설계하지 않기 때문에 전력 소모 측면에서도 훨씬 효율적입니다. 마지막으로 unit size(area) 관점에서도 FPGA 보다 ASIC이 큰 강점을 가지고 있습니다. 왜냐하면 위와 같은 이유로 ASIC은 애초에 필요 없는 블록은 설계하지 않기 때문에 낭비되는 area가 없습니다.  

 

 

위의 비교만 놓고보면, ASIC이 훨씬 좋겠다고 생각이 들 수 있을 것 같습니다.

그럼에도 불구하고 FPGA는 초기 개발 비용이 낮다는 장점이 존재하기 떄문에 아래의 그래프처럼 FPGA의 N(개수)에 따른 Cost(비용)가 ASIC의 N(개수)에 따른 Cost(비용)보다 낮을 때 FPGA를 사용하는 것이 더 효율적일 수 있습니다. 그 외에도 초기에 FPGA를 사용하다가 수요가 증가하게 되어 ASIC으로 전환하는 경우도 존재합니다.

 

 

 

그리고 여전히 FPGA는 현업에서 많이 쓰이고 있습니다. 

일반적으로 프로세서는 CPU, GPU, NPU, FPGA, ASIC 등 여러개가 존재합니다.

이 중에서 CPU, GPU, FPGA, ASIC에 대해서 performance(성능)과 Flexibility(유연성)를 비교했을 때 FPGA가 중간 정도에 해당합니다. 즉, ASIC은 성능과 비용에 대한 부분이 좋겠지만 Flexibility가 가장 떨어지는 문제가 있습니다. 반면에 CPU는 범용 프로세서로 게임, 영화, 코딩 등 다양한 작업을 할 수 있지만 특정 부분에 최적화되어 있지 않기 때문에 가장 낮은 Efficiency(효율성)을 가지고 있습니다. 

그에 대한 대책으로서 GPU나 NPU가 존재하지만, FPGA의 Flexibility와 Efficiency의 중간 지점을 따라올 수 없습니다. 그렇기 때문에 FPGA가 아직도 많이 사용되고 있습니다.

 

'CMOS VLSI' 카테고리의 다른 글

메모리 반도체 (1)  (0) 2026.02.03
Mosfet(Planar, Finfet, GAA, MBCFET)  (0) 2026.02.03
IC Design Flow  (0) 2026.01.08
What is PDN?  (1) 2023.08.14
What is VLSI design?  (0) 2023.08.14