전공 이야기/Digital System Design

#1 FPGA

[감자] 2023. 12. 24. 20:45

반도체 설계 군에는 메모리 설계와 System 반도체라고도 불리는 비메모리 설계로 나뉜다.

이러한 비메모리 반도체는 주문형 반도체 곧 ASIC라고 불리기도 한다.

 

주문형 반도체 ASIC는 설계 방식에 따라 다음 그림과 같이 나뉜다.

 

이강 교수님, Digital System Design, 2023

 

Full - Custom ASICs는 반도체를 설계할때의 mask같은 그림을 다 직접 그리는 것으로

비효율적이나 Performance는 가장 높다.

반면에 Semi - Custom ASICs는 multiplexer와 같은 많이 사용되는 모듈들을 라이브러리에 넣어두는 방식이다.

 

Semi - custom ASICs에도 여러 종류가 있다.

Standard-Cell based ASICs 는 설계할 때 라이브러리를 사용이 가능하게 하여 Full - Custom 에 비해 설계 시간을 줄인 방법이다. 하지만 생산은 Full - Custom 과 같다.

Gate-Array Based ASICs 는 미리 기본 틀을 만들어 둔 것으로 내부 설계를 패턴화하여 고정시켜둔 것이다. 곧 규격화된 틀이 생겨 소량 생산이 편해지고 비용이 줄어든다.

하지만 Gate-Array 방식이 Standard Cell의 방식에 비교해서 비교적 비용이 적게 든다는 것이지 해당 방법으로도 경제적으로 많은 비용이 들어간다. 곧 작동 도중 기능을 바꿀 수 있는 HW, 대량 생산 이전에 test 하는 것이 가능하도록 하는 모델의 필요성을 느낀다.

 

여기에는 몇가지 아이디어가 있다.

1. PLD (Programmable Logic Device)

회로를 미리 구조화한 것으로 PAL, PLA, ROM, CPLD 등이 있다.

하지만 SOM, SOP만 구현 가능하고 더 복잡한것은 구현이 어렵다.

 

2. FPGA (Field Programmable Gate Array)

CPLD 곧 복잡한 회로의 PLD 또한 20000 Gate 이상은 커버하기 어렵다. 그 이상은 FPGA를 사용한다.

구성 요소로는 Function을 제공하는 Logic Block, I/O pin과 Logic을 연결하는 I/O Block, block들을 연결해주는 것으로 switch들이 잔뜩 들어 있는 Interconnecion wire이 있다.

 

이강 교수님, Digital System Design, 2023

 

 

이러한 FPGA를 사용하여 설계를 하기 위해서는

 

 1. Functional Specification

 2. HDL을 이용하여 제작

 3. Simulation

 4. Synthesis

 5. Implementation

 6. Generate and bitstream 의 단계를 따른다.