Friday, November 14, 2014

[오늘의 반도체 용어] What is FPGA

반도체 설계를 위한 '[오늘의 반도체 용어] What is ASIC' 와 '[오늘의 반도체 용어] What is SoC' 을 알아보았는데 이번에는 반도체에서 새로운 라인을 만들어 가고 있는 FPGA에 대하여 알아보도록 하자.


FPGA : Field Programmable Gate Array의 약자로 직역하면 '현장에서 프로그램 가능한 게이트 어레이' 가 되시겠다. 더 쉽게 풀어 해석하면 프로그램 가능한 논리 요소와 내부선이 포함된 반도체 소자가 FPGA 이다. 더더 쉽게 풀어 해석하면 '프로그램 가능한 칩' 정도가 되려나? 사실 FPGA가 단번에 나온 것은 아니다.

FPGA의 근원은 1978년 모놀리식 메모리社가 내놓은 칩을 PAL(Programmable Array Logic)이라고 부르면서 시작했다. 이외에도 GAL(Generic Array Logic), PLD(Programmable Logic Device)이 나오게 되고 내부 Logic을 더 많이 사용하게 됨으로써 1980년대초 CPLD(Complex Programmable Logic Device)가 나오게 되었다. FPGA는 자일링스 공동 창립자인 로스프리맨(Ross Freeman)이 1984년에 FPGA를 발명하였다.

보통은 FPGA와 CPLD를 기준으로 많이 비교하는데 이유는 두가지의 가장 큰 특징이 휘발성이냐 비휘발성이냐 이다. FPGA의 경우에는 휘발성으로 비휘발성 외부 메모리를 통해 전원이 OFF/ON 되더라도 FPGA의 프로그램은 없어졌지만 비휘발성 메모리를 통해 프로그램을 올려 동작시킨다. 그러나 CPLD는 이런 복잡한 작업 없이 한번 프로그램하면 전원이 OFF/ON 되더라도 같은 동작을 하게된다.

그럼 왜 다들 불편한 FPGA를 사용하는 것일까?

이유는 간단하다. 구조상 FPGA가 CPLD보다 훨씬 더 많은 로직을 만들고 구현할 수 있기 때문이다. 예전에 간단한 하드웨어 로직만을 설계하고 개발했을 때는 CPLD를 많이 이용하였다. 그러나 시대가 변하면서 하드웨어 로직 설계가 많이지고 복잡해져 CPLD의 가격/용량/크기 대비 FPGA를 사용하는 것이 훨씬 효율적이게 되었고 모두들 FPGA를 사용하게 되었다.

FPGA는 최적화된 하드웨어가 필요하지만 ASIC/SoC를 진행하기에는 초기비용이 많이 들어가기 때문에 이를 대체하기 위해 개당 가격은 비싸지만 FPGA를 사용하게 된다. 따라서 주로 우주과학, 국방, ASIC 초기 검증용, 의료, 컴퓨터 비전, 인식 등 개수는 많지 않지만 고가의 제품들을 위주로 많이 사용된다.

FPGA의 대표적인 회사로는 자일링스(Xilinx)와 알테라(Altera)가 있으며 이들의 전용 EDA 툴과 기타 IP들의 전방위적인 지원으로 많은 사람들이 FPGA를 많이 사용하고 있는 추세이다. 국내의 경우 산업에서는 주로 Xilinx社 제품들을 주로 사용하고 있으며 Altera社의 경우 대학이나 교육용으로 많이 사용되고 있다. FPGA는 HDL([오늘의 반도체 용어] What is HDL)을 이용하여 하드웨어 로직을 구성하게 된다.

No comments :

Post a Comment