본문 바로가기
Computer/디지털시스템

[FPGA] FPGA Architectures(2): Programming Technologies

by 거부기씨 2024. 6. 3.
728x90
반응형

FPGA의 가장 중요한 특징은 바로 reconfigurability/programmability이다. 이러한 특성은 fabrication 이후에도 pre-fabricated chip으로 바뀌는 것을 가능하게 하는 programming technology에 기인한다. 이번 글에서는 바로 reconfigurability를 가능하게 하는 programming technology에 대해 알아본다.

 

"programming technology"는 FPGA의 내부 회로와 연결을 설정하거나 변경하는 데 사용되는 방법을 의미한다.

 

reconfigurable architecture를 구현하기 위한 많은 programming technology들이 있지만 여기서는 그 중에서도 가장 잘 알려진 세 가지(static memory, flash, anti-fuse)를 알아보도록 하겠다.

 

1. SRAM-based Programming Technology

SRAM-based FPGA에는 static memory(SRAM) cell이 basic cell로 사용된다. 대부분의 제작사에서는 SRAM-based programming technology를 채택한다. 

 

SRAM-base programming technology는 reconfigurability를 제공하고 표준 CMOS process technology를 사용하기 때문에  FPGA에 이용되는 지배적인 접근방법이 되었다.

 

하지만 몇 가지 단점 또한 존재한다. SRAM cell은 6개의 transistor를 필요로 하는데, 다른 programming technology들에 비해 공간적인 관점에서 많은 비용을 부과한다. 또한, SRAM cell은 본질적으로 휘발성이기 때문에 configuration data를 영구적으로 저장하기 위해서는 외부 장치가 필요하다. 이러한 외부 장치는 FPGA에서의 비용과 공간 비효율성을 증가시킨다.

 

2. Flash Programming Technology

Flash-based programming technology는 본질적으로 비휘발성이다. 또한 SRAM-base programming technology보다 더 공간적으로 효율적이다. 하지만 무한하게 reconfigurable하지 않으며, non-standard CMOS process를 사용한다는 단점이 있다.

3. Anti-fuse Programming Technology

wire connection을 하는 방법에는 fuse, anti-fuse 두 가지가 있다.

  • fuse: 기본적으로 연결되어 있고, 원치 않는 연결이 있을 때 그것을 끊는다.
  • anti-fuse: 기본적으로 연결되어 있지 않고, 원하는 연결이 있을 때 그것을 잇는다.

anti-fuse programming technology는 많은 이점을 가진다. 먼저 공간 차지가 적고, 저항이 적어 효율적이다. 또한 본질적으로 비휘발성이라는 장점을 가진다. 하지만 reprogramming이 불가능하고, standard CMOS process를 이용하지 않는다는 단점이 있다.


세 가지 기술은 모두 흔하게 사용된다. 하지만 이들은 각기 다른 장단점을 가지고 있다.

  reprogrammable volatile standard CMOS
SRAM-based O O O
Flash-based O (limited) X X
Anti-fuse X X X

 

물론 가장 이상적인 경우는 reprogram 가능하고, non-volatile하며 standard CMOS process를 사용하는 경우이다. 하지만 SRAM-based programming technology가 가장 널리 사용되는데, standard CMOS process를 사용한다는 장점이 다른 programming technology를 사용했을 때 얻을 수 있는 이점보다 훨씬 크다고 여겨지기 때문이다.

728x90
반응형