본문 바로가기

전자 공학/소자

[FPGA] FPGA란 무엇인가?

반응형

 

 

 

안녕하세요. 취업한 공대누나입니다.

오늘은 FPGA에 대해 알아보도록 하겠습니다.

저희 팀원중에서는 FPGA만을 코딩하는 사람이 따로 있는데요.

저는 아직 실무에서는 사용해 본 경험이 없고

학부생 때만 프로젝트를 진행한 경험이 있습니다.

 

1. FPGA(Field Programmable Gate Array)란?

 

 

FPGA 사진 출처 디바이스마트

 

FPGA란 이름에서 알 수 있듯이 프로그램 가능한 논리소자의 배열의 일종입니다.

개발자가 논리회로를 원하는 의도에 맞춰 동작하게 할 수 있습니다.

로직 설계가 이루어지지 않은 형태로 기업에 납품하여 개발자가 직접 설계를 하게 됩니다.

FPGA 기업들은 프로그래밍 소프트웨어를 제공하며

사용자는 프로그래밍을 진행 후 다운로드 하여 사용하게 됩니다.

 

우리가 원하는 설계를 하려면 HDL(Hardware Description Language)를 사용해야합니다.

가장 대표적인 HDL은 Verilog와 VHDL입니다.

HDL로 소스를 작성한 후 비트 파일로 변환시켜 FPGA를 구성하게 합니다.

 

FPGA는 1985년 Xilinx(자일링스)사에 의해서 처음 소개 되어 만들어졌습니다.

 

 

 

2. FPGA의 내부 구조

 

 

칩셋 내부에 로직 게이트를 자유자재로 구현 할 수 있도록 진리표를 이용해

로직을 만들어내는 RAM과 플립플롭이 있고

내부 결선을 직접 변경할 수 있기 때문에 사용자의 용도에 맞게 설계가 가능합니다.

 

단순 MCU 대체 용도에서 부터 시작해서 DSP나 아예 자기가 원하는 방식대로

새로운 논리 소자나 CPU를 만드는 것도 가능합니다.

 

주요 성능의 지표로는 동작 속도가 아닌 논리 블록의 수로 평가되는데,

이는 게이트 간 결선을 통해 동시에 수만에서 수백만의 명령을 단 한번에 병렬적으로 실행할 수도 있기 때문이다.

 

 

일반적인 프로세서는 메모리에 있는 프로그램을 불러와서 CPU에서 해독하여 작업을 실행하지만

FPGA는 아예 프로세서 내부 회로를 프로그램에 맞게 직접 설계해 놓고 

곧바로 병렬적으로 실행시킴으로서 CPU보다 압도적인 계산 속도를 낼 수 있다.

연산을 순차적으로 실행하는 CPU와는 다르게 아무 제약없이 병렬로 처리하기 때문에 빠른 속도로 연산이 가능하다는 장점이 있습니다.

 

 

내용 참고 : fpga.tistory.com/28

 

FPGA 이야기

FPGA에 대해서 살펴봅니다. FPGA는 Field Programmable Gate Array의 약자입니다. Field Programmable이란 말 그대로 현장에서 프로그래밍이 가능하다는 뜻입니다. 즉, 현장에서 프로그래밍 가능한 Gate Array라..

fpga.tistory.com

 

 

저도 지금 하는 업무가 자유자재로 익숙해지면 베릴로그나 VHDL을 공부해서

FPGA를 제대로 배워보고 싶습니다.

미래에는 다재다능한 하드웨어 엔지니어가 되어있기를 바랍니다.

 

반응형