FPGA는 무엇입니까?

青灯夜游
풀어 주다: 2023-01-29 15:59:43
원래의
54798명이 탐색했습니다.

FPGA는 프로그래밍 가능 논리소자(PLD)의 일종인 디지털 회로를 기반으로 한 집적 칩으로, FPGA는 ASIC(주문형 집적 회로) 분야에서 반맞춤형 회로로 등장하며, 이러한 단점을 해결할 뿐만 아니라 맞춤형 회로를 개발할 뿐만 아니라 원래 프로그래밍 가능 장치의 게이트 회로 수가 제한되어 있다는 단점도 극복합니다.

FPGA는 무엇입니까?

이 튜토리얼의 운영 환경: Windows 7 시스템, Dell G3 컴퓨터.

FPGA란

FPGA(Field Programmable Gate Array)는 PAL(Programmable Array Logic), GAL(General Array Logic) 등 프로그래밍 가능한 장치를 기반으로 더욱 발전된 제품입니다. 주문형 회로의 단점을 해결할 뿐만 아니라 원래 프로그래밍 가능 장치의 제한된 게이트 수의 단점도 극복한 ASIC(주문형 집적 회로) 분야에서 세미 맞춤형 회로로 나타납니다.

FPGA는 본질적으로 칩, 주로 디지털 회로로 구성된 통합 칩입니다.

FPGA는 Xilinx의 창립자 중 한 명인 Ross Freeman이 1985년에 발명했습니다. 프로그래밍 가능 논리 장치(PLD)의 일종입니다. 이는 유명한 무어의 법칙이 등장한 때보다 약 20년 정도 늦은 시점이지만, FPGA가 발명된 이후 이후의 개발 속도는 대부분의 사람들이 상상하는 것보다 빨랐다.

그림 1은 FPGA 칩의 물리적 그림을 보여줍니다.

FPGA는 무엇입니까?
그림 1 FPGA 칩의 물리적 그림

FPGA 개발 역사

PLD가 발명되기 전에 엔지니어들은 여러 논리 게이트가 포함된 개별 논리 칩을 사용했습니다. 회로 시스템을 구축할 때 복잡한 논리 기능을 구현하는 것은 어렵습니다.

이 문제를 해결하기 위해 1970년대에 PLC(Programmable Logic Array)가 나왔습니다. PLA에는 각각 "AND 평면"과 "OR 평면"을 형성하는 고정된 개수의 AND 게이트와 NOT 게이트가 포함되어 있습니다. ", 즉 "AND 연결 행렬" 및 "OR 연결 행렬"뿐만 아니라 한 번만 프로그래밍할 수 있는 연결 행렬(여기서 프로그래밍은 퓨즈 프로세스를 기반으로 하기 때문)이므로 상대적으로 복잡한 AND 또는 다중 PLA의 내부 구조는 그림 2와 같습니다.


그림 2 PLA의 내부 구조

PLA와 동시에 PROM(Programmable Read-Only Memory)이 나왔고 내부 구조 그림 3과 같습니다. PROM은 PLA와 마찬가지로 내부적으로 "AND 연결 행렬"과 "OR 연결 행렬"을 포함하지만 AND 게이트의 연결 행렬은 하드웨어에 고정되어 있으며 OR 게이트의 연결 행렬만 프로그래밍할 수 있습니다.


그림 3 PROM 내부 구조

AND 게이트의 연결 매트릭스만 프로그래밍 가능하고 OR 게이트의 연결 매트릭스가 하드웨어에 의해 고정된 경우 이러한 칩을 PAL(Programmable Array Logic)이라고 합니다. ), 출력 회로의 다양한 작동 모드에 따라 PAL은 3상태 출력, 레지스터 출력 및 보완 출력으로 나눌 수 있지만 PAL은 여전히 ​​퓨즈 기술을 사용하며 한 번만 프로그래밍할 수 있습니다. PAL의 구조 다이어그램은 그림 4에 나와 있습니다.


그림 4 PAL 구조 다이어그램

PAL을 기반으로 일반 배열 논리 장치(Generic Array Logic, GAL)가 개발되었습니다. PAL과 비교하여 GAL은 두 가지 개선 사항이 있습니다.

  • 전기적으로 지울 수 있는 방식을 채택합니다. CMOS 프로세스는 여러 번 컴파일될 수 있어 장치의 재구성성과 유연성이 향상됩니다.
  • OLMC 프로그래밍을 통해 프로그래밍할 수 있는 프로그래밍 가능한 출력 로직 매크로 셀(Output Logic Macro Cell, OLMC)을 채택합니다. 다른 상태로 설정됩니다. 단 하나의 GAL 모델만 모든 PAL 장치 출력 회로의 작동 모드를 실현할 수 있으므로 장치의 다양성이 향상됩니다.

GAL의 구조 다이어그램은 그림 5에 나와 있습니다.


그림 5 GAL 구조 다이어그램

초기 PLD는 주로 위의 네 가지 유형의 칩, 즉 PROM, PLA, PAL 및 GAL로 구성되었습니다. 이들의 공통점은 속도 특성이 좋은 논리 기능을 구현할 수 있다는 점이지만, 구조가 너무 단순하기 때문에 더 작은 디지털 회로만 구현할 수 있다는 점이다.

과학 기술이 발전하고 사회가 발전함에 따라 사람들은 칩 통합에 대한 요구 사항이 점점 더 높아지고 있습니다. 초기 PLD 제품은 사람들의 요구를 충족할 수 없었고, CPLD(Complex Programmable Logic Device)가 탄생했습니다. CPLD는 PLA 장치 구조의 연속으로 간주될 수 있으며, CPLD 장치는 여러 PLA 및 프로그래밍 가능한 연결 매트릭스의 집합으로 간주될 수도 있습니다. CPLD의 내부 구조 다이어그램은 그림 6에 나와 있습니다.


그림 6 CPLD 구조 다이어그램

FPGA는 CPLD보다 몇 년 먼저 출시되었으며, CPLD와 함께 고밀도 프로그래밍 가능 논리소자라고 불리지만 근본적으로 다릅니다. FPGA 칩의 내부 아키텍처는 PLA와 유사한 구조를 따르지 않고 LCA(Logic Cell Array) 개념을 채택하여 PLD 장치에 다수의 AND 게이트와 NOT 게이트를 사용한다는 개념을 변화시켰습니다. 과거에는 주로 조회 테이블을 사용했습니다.

또한 FPGA와 CPLD는 아래 표와 같이 리소스 종류, 속도 등에서도 차이가 있습니다.

프로그램 스토리지 为 내부 SRAM 구조 , 플러그인 EEPROM 또는 FLASH 저장 프로그램 내부 내부 EEPROM 또는 플래시 리소스 유형 풍부한 조합 논리 리소스 리소스 통합 HighLow경우에 따라 사용 완료 더욱 복잡한 알고리즘완전한 제어 로직SpeedFastSlow기타 리소스RAM, PLL, DSP 등 ——기밀 ity일반적으로 보관할 수 없습니다 secret (암호화 코어 사용 가능)Encryptable

내부 구현 메커니즘 측면에서 FPGA 유형은 SRAM 기술 기반, 안티퓨즈 기술 기반, EEPROM/Flash 기술 기반으로 나눌 수 있습니다. 회로 구조 측면에서 FPGA 프로그래밍 가능성은 프로그래밍 가능 논리 블록, 프로그래밍 가능 I/O 및 프로그래밍 가능 배선 리소스라는 프로그래밍 가능성의 세 가지 측면을 나타냅니다. 프로그래머블 로직 블록은 FPGA 프로그래밍 가능성의 핵심이며 위에서 언급한 세 가지 기술도 프로그래밍 가능한 로직 블록을 위한 기술입니다.

FPGA의 구조 다이어그램은 그림 7에 나와 있습니다.


그림 7 FPGA 구조 다이어그램

FPGA의 기술적 이점

많은 독자들이 FPGA가 강력하다는 것을 알고 있지만 FPGA가 어디에 있습니까?

마이크로컨트롤러를 예로 들어보겠습니다. 우리 모두는 마이크로컨트롤러가 강력하고 거의 모든 작업을 수행할 수 있는 반면 FPGA는 그보다 더 강력하다는 것을 알고 있습니다. 마이크로컨트롤러가 구현할 수 있는 기능이 있는 한 FPGA는 이를 확실히 구현할 수 있기 때문에 FPGA 리소스가 충분할 때 중요한 전제가 필요합니다. 그러나 FPGA가 구현할 수 있는 기능은 마이크로컨트롤러에서는 쉽게 구현되지 않을 수도 있습니다. 이는 의심의 여지가 없는 사실입니다. 믿지 못한다면 아직 FPGA를 이해하지 못했다는 의미일 뿐입니다.

이렇게 말하면 독자들은 묻지 않을 수 없습니다. FPGA는 매우 강력하기 때문에 마이크로컨트롤러가 더 널리 사용되는 이유는 무엇입니까? 비즈니스에 있어서 가격은 제품에 영향을 미치는 중요한 요소 중 하나인 경우가 많기 때문입니다.

마이크로 컨트롤러의 가격은 FPGA보다 훨씬 저렴하며 성능과 리소스에 따라 FPGA 가격도 크게 다릅니다. 단일 FPGA 칩의 가격은 수만 위안에서 수십만 위안까지 다양합니다. 이에 비해 단일 칩 마이크로컴퓨터의 가격은 훨씬 저렴합니다. 저렴한 단일 칩 컴퓨터로 동일한 기능을 달성할 수 있다면 단일 칩 컴퓨터가 기능을 충족하지 못하는 한 상대적으로 비싼 FPGA를 선택하지 않을 것입니다. 요구 사항. 따라서 자체 개발을 할 경우에는 비용 절감을 위해 상대적으로 고가의 FPGA보다는 저렴한 마이크로컨트롤러를 선택할 수도 있다. 마이크로컨트롤러나 ARM 등 마이크로프로세서의 수요가 높기 때문에 가격이 더 유리하기 때문이다.

그러나 마이크로컨트롤러든 ARM이든 FPGA이든 기능을 실현하는 데 도움이 되는 도구일 뿐입니다. 선택하려면 특정 문제에 따른 구체적인 분석이 필요합니다. 즉, 범용 도구는 없으며 생산 요구 사항을 충족하는 도구만 있습니다. 특정 도구에 대해 편견을 가지지 말고 종합적으로 고려해야 합니다. 마찬가지로, 더 많이 배우면 이러한 도구를 모두 숙달해야 한다는 것을 알게 될 것입니다.

FPGA의 응용 시나리오는 마이크로 컨트롤러 및 ARM의 응용 시나리오보다 훨씬 적으며 주로 마이크로 컨트롤러 및 ARM으로 해결할 수 없는 문제를 대상으로 합니다. 예를 들어, 유연하고 효율적이며 높은 처리량, 낮은 배치 대기 시간, 빠른 병렬 컴퓨팅, 재구성 가능, 재프로그래밍 가능, 맞춤형 성능 및 맞춤형 전력 소비가 필요한 경우 이러한 작업은 FPGA로만 수행할 수 있습니다.

특수 목적으로 설계된 ASIC(주문형 집적 회로)과 비교할 때 FPGA에는 3가지 장점이 있습니다.

1) 유연성

FPGA를 프로그래밍하면 FPGA는 ASIC이 수행할 수 있는 모든 논리 기능을 실행할 수 있습니다. FPGA의 고유한 장점은 유연성에 있습니다. 즉, 칩 기능은 언제든지 변경될 수 있습니다. 이 기능은 기술이 아직 성숙되지 않은 경우 제품의 비용과 위험을 줄일 수 있습니다. 이 기능은 초기에 특히 중요합니다. 5G 기술 대중화 시대.

2) 출시 기간 단축

FPGA는 프로그래밍 후 바로 사용할 수 있습니다. FPGA 솔루션은 3개월에서 1년에 이르는 칩 테이프아웃 주기를 거칠 필요가 없으므로 기업이 출시 기간을 단축하는 데 도움이 됩니다. 그들의 제품.

3) 특정 비용 이점이 있습니다

FPGA와 ASIC의 주요 차이점은 ASIC 솔루션은 고정 비용이 있는 반면 FPGA 솔루션은 사용량이 적을 경우 FPGA 솔루션은 비용이 필요하지 않다는 것입니다. 수백만 달러의 흐름을 일회성으로 지불하는 동시에 테이프아웃 실패의 위험을 감수할 필요가 없습니다. 이때 FPGA 솔루션의 비용은 ASIC의 비용보다 낮습니다. 증가하면 FPGA 솔루션의 비용 이점이 점차 감소합니다. 일정 사용 후에는 대량의 테이프아웃으로 인해 칩이 규모의 경제를 실현하므로 아래 그림과 같이 ASIC 솔루션이 비용 측면에서 더 많은 이점을 갖습니다.


그림 8 FPGA 솔루션과 ASIC 솔루션의 비용 비교

따라서 FPGA는 일반적으로 디지털 신호 처리, 비디오 처리, 이미지 처리, 5G 통신, 의료, 산업 제어, 클라우드 서비스에서 대체할 수 없는 역할을 합니다. , 가속 컴퓨팅, 인공 지능, 데이터 센터, 자율 주행, 칩 검증 및 기타 분야. 일반적인 FPGA 설계 방법을 마스터해야만 FPGA가 선두인 분야에서 큰 성과를 거둘 수 있습니다.

FPGA의 응용 방향은 소프트웨어와 하드웨어 사이에 있습니다. 인터페이스와 통신에 사용하면 하드웨어에 편향되고, 알고리즘과 제어에 사용하면 소프트웨어에 편향됩니다. . 인공 지능과 머신 비전의 등장으로 FPGA는 소프트웨어 알고리즘에서 더욱 이질화되고 있으며 GPU와 경쟁할 수 있는 잠재력을 가지고 있습니다.

FPGA와 GPU의 성능 비교 차트는 그림 9에 나와 있습니다.

그림 9 FPGA와 GPU의 성능 비교 차트

FPGA 소프트웨어 방향: 소프트웨어 개발에 중점을 두고 데이터 분석, 인공 지능, 머신 비전 및 기타 분야에서 FPGA의 가속화된 애플리케이션 기능을 개발하며 주로 OpenCL 및 HLS 기술을 사용하여 소프트웨어 및 하드웨어의 공동 개발을 달성합니다.

FPGA 하드웨어 방향: FPGA 특정 분야의 로직 설계, 애플리케이션 설계, 집적 회로 설계 및 칩 검증 기능에 중점을 둡니다.

FPGA의 초기 응용분야는 통신분야였지만, 정보산업과 마이크로 전자공학 기술의 발달로 인해 FPGA 기술은 항공우주 분야까지 응용 범위가 확대되었습니다. 자동차, 의료, 방송, 시험계측, 가전제품, 산업제어 등 대중적인 분야에서 기술의 발전과 기술의 발전으로 모든 각도에서 생활 속으로 침투하기 시작했습니다.

더 많은 관련 지식은 FAQ 칼럼을 방문해 주세요!

표: FPGA와 CPLD의 성능 비교
장치 유형/특성 FPGA CPLD
내부 구조 Look Up Table 제품 용어

위 내용은 FPGA는 무엇입니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

관련 라벨:
원천:php.cn
본 웹사이트의 성명
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.
인기 튜토리얼
더>
최신 다운로드
더>
웹 효과
웹사이트 소스 코드
웹사이트 자료
프론트엔드 템플릿