FPGA의 기본 사항 – 3부: Microchip Technology의 FPGA 시작하기
DigiKey 북미 편집자 제공
2020-01-30
편집자 주: 최적의 처리 솔루션은 종종 RISC, CISC, 그래픽 프로세서 및 FPGA의 조합, FPGA 자체 또는 패브릭의 일부로 하드 프로세서 코어를 자랑하는 FPGA에 의해 제공됩니다. 하지만 많은 설계자가 FPGA 기능에 익숙하지 않고 그 진화 과정과 사용 방법을 잘 모릅니다. 여러 단원으로 구성된 이 시리즈의 1부에서는 FPGA를 자세히 소개하고, 2부에서는 Lattice Semiconductor의 FPGA 제품을 중점적으로 살펴보았습니다. 이제 3부에서는 Microchip Technology가 계열사 Microsemi Corporation을 통해 제공하는 FPGA 장치 제품군과 설계 도구를 중심으로 살펴봅니다. 4부 및 5부에서는 Altera 및 Xilinx의 FPGA 및 도구에 대해 알아봅니다.
1부에서 설명한 대로 현장 프로그래밍 가능 게이트 어레이(FPGA)는 사용된 독립형 또는 이기종 아키텍처의 소중한 컴퓨팅 자산이 되는 많은 특성을 갖추고 있지만, 많은 설계자가 FPGA에 익숙하지 않고 이러한 장치를 설계에 통합하는 방법을 잘 모릅니다.
이 문제를 해결하는 한 가지 방법은 주요 벤더의 FPGA 아키텍처와 관련 도구를 자세히 살펴보는 것입니다. 이 기사에서는 Microchip Technology의 라인업을 살펴봅니다.
상위 수준 FPGA 옵션 개요
현재 다양한 유형의 FPGA가 출시되어 있고, 각 유형은 여러 기능이 다양한 형태로 조합되어 있습니다. FPGA의 중심에는 프로그래밍 가능 패브릭이 있습니다. 이는 프로그래밍 가능 논리 블록의 어레이로 표기되며 논리 소자(LE)라고도 합니다(그림 1a). FPGA 패브릭의 다음 승압에는 블록 RAM(BRAM)이라는 SRAM 블록과 위상 고정 루프(PLL), 클록 관리자가 포함됩니다(그림 1b). 디지털 신호 처리(DSP) 블록(DSP 슬라이스) 및 고속 직렬 변환기/직병렬 변환기(SERDES) 블록을 추가할 수도 있습니다(그림 1c).
그림 1: 가장 간단한 FPGA에는 프로그래밍 가능 패브릭과 구성 가능한 범용 IO(GPIO)만 포함되어 있고(a), 다른 아키텍처는 SRAM 블록, PLL 및 클록 관리자(b), DSP 블록 및 SERDES 인터페이스(c), 하드 프로세서 코어 및 주변 장치(d)로 이 기본 패브릭을 강화합니다. (이미지 출처: Max Maxfield)
프로그래밍 가능 패브릭에서 CAN, I2C, SPI, UART, USB와 같은 주변 장치 인터페이스 기능을 구현할 수 있지만, 대부분의 FPGA에서는 해당 기능이 실리콘에 하드 코어로 포함되어 있습니다. 마찬가지로 마이크로 프로세서를 프로그래밍 가능 패브릭에서 소프트 코어로 구현하거나 실리콘에서 하드 코어로 구현할 수 있습니다(그림 1d). 하드 프로세서 코어가 탑재된 FPGA를 SoC(시스템온칩) FPGA라고 합니다. FPGA마다 다른 시장 및 응용 분야를 대상으로 하는 다른 기능, 특징 및 용량 모음을 제공합니다.
Altera(Intel에 인수됨), Atmel(Microchip Technology에 인수됨), Lattice Semiconductor, Microsemi(Microchip Technology에 인수됨), Xilinx 등 많은 FPGA 벤더가 있습니다.
이러한 모든 벤더는 여러 FPGA 제품군을 현장에 배치하고 있습니다. 어떤 벤더는 SoC FPGA를 제공하고, 또 어떤 벤더는 우주와 같은 높은 방사선 환경을 대상으로 하는 방사선 내성 장치를 제공합니다. 각각 제공하는 리소스가 서로 다른 제품군이 많으므로 작업에 가장 적합한 장치를 선택하는 것이 어려울 수 있습니다.
Microchip Technology의 FPGA 소개
Microchip Technology는 뛰어난 신뢰성의 저전력 고보안 장치에 중점을 두고 로우레인지부터 미드레인지까지 다양한 FPGA 제품을 제공합니다. 유무선 통신, 방위 및 항공, 산업용 내장형 응용 분야 등에서 널리 배포되는 Microchip의 FPGA는 강력한 DSP 및 메모리 리소스를 자랑하며 하드웨어 가속, 인공 지능, 이미지 처리, 에지 컴퓨팅과 같은 응용 분야에서 가치를 입증했습니다.
Microchip은 다음과 같은 세 가지 기본 FPGA 제품군을 제공합니다.
- IGLOO®2 FPGA: 중요 리소스가 탑재된 저밀도 장치
- SmartFusion®2 SoC FPGA: 중요 리소스와 32비트 하드 프로세서 코어가 탑재된 저밀도 장치
- PolarFire™ FPGA 및 SoC FPGA: 28nm 공정 기술을 기반으로 구현되고 비용에 최적화된 고성능 장치
모든 FPGA에는 각 프로그래밍 가능 논리 블록의 기능과 논리 블록이 상호 간에 또는 외부 환경과 연결되는 방식을 결정하는 구성 셀이 있습니다. 이러한 셀은 GPIO의 인터페이스 표준, 입력 임피던스, 출력 슬루율 등을 구성하는 데에도 사용됩니다.
일부 FPGA는 SRAM 기반 구성 셀을 사용하지만 휘발성입니다. 즉, 시스템에서 전력을 제거하면 내용이 손실됩니다. 따라서 시스템을 켤 때 외부 소스(일반적으로 플래시 메모리 장치)에서 구성 데이터를 로드해야 합니다. 이 FPGA는 전원을 켜고 사용할 준비를 하는 데 가장 긴 시간이 걸립니다.
일부 FPGA에서는 온칩 플래시 메모리를 사용하여 구성 데이터를 저장하지만 여전히 SRAM 기반 구성 셀이 있습니다. 이 경우 전원을 켜면 온칩 컨트롤러가 플래시 구성 메모리의 구성 데이터를 SRAM 구성 셀에 복사합니다. 이 FPGA는 순수 SRAM 장치보다 더 빠르게 켜집니다.
Microchip의 IGLOO2 FPGA 및 SmartFusion2 SoC FPGA는 모두 플래시 기술을 사용하여 온칩 구성 메모리 및 온칩 구성 셀을 구현하는 다른 메커니즘을 사용합니다. PolarFire 장치의 경우 구성 셀은 SONOS(silicon-oxide-nitride-oxide-silicon) 비휘발성 메모리(NVM) 기술을 기반으로 합니다. 이 기술은 "플래시와 유사하지만 더 효율적"인 것으로 간주됩니다.
구성 데이터가 비휘발성 플래시 또는 SONOS 셀에 저장되므로 Microchip의 FPGA 및 SoC FPGA는 "즉시 구동"됩니다. 즉, 다른 유형의 FPGA보다 더 빠르게 켜집니다. 이러한 장치에서 플래시 구성 메모리와 유사한 이유는 구성 셀에 있는 기존 구성을 사용하여 FPGA를 계속 실행하면서 새 구성을 이 구성으로 로드할 수 있기 때문입니다. 새로운 구성을 다운로드한 후 확인을 마치면(구성이 암호화될 수 있고 순환 중복 검사(CRC)가 수반됨), 장치가 안전한 상태로 전환되고 구성 메모리에 저장된 새 구성을 사용하여 구성 셀에 저장된 원래 구성을 덮어쓸 수 있습니다.
기존 장치: IGLOO2 FPGA
IGLOO2는 로우레인지와 미드레인지를 포괄하는 유용한 FPGA이며, 많은 설계자가 "기존" FPGA로 간주하던 장치입니다. 이 플래시 FPGA 장치는 기가비트 이더넷, 이중 PCI Express 제어 평면, 브리징 기능, 입/출력(I/O) 확장 및 변환, 동영상 및 이미지 처리, 시스템 관리, 보안 연결과 같은 범용 기능에 적합합니다. 응용 분야는 통신, 산업, 의료, 방위, 항공 등 전 영역을 포괄합니다.
그림 2: IGLOO2 FPGA는 기가비트 이더넷, 이중 PCI Express 제어 평면, 브리징 기능, I/O 확장 및 변환, 동영상 및 이미지 처리, 시스템 관리, 보안 연결과 같은 범용 기능에 적합합니다. (이미지 출처: Microchip Technology)
IGLOO2 FPGA는 고성능 메모리 서브 시스템이 탑재된 5,000개 ~ 150,000개 LE, 최대 512Kbytes 내장형 플래시, 2개 32Kbytes 내장형 SRAM(Static Random-Access Memory), 2개 직접 메모리 액세스(DMA) 엔진 및 2개 이중 데이터 전송률(DDR) 컨트롤러를 제공합니다. 또한 최대 16개의 트랜시버 레인, 통합 DSP 프로세서 블록, SEU(Single Event Upset) 보호/내성 메모리를 제공합니다. 보안을 위해 DPA(Differential Power Analysis)를 강화하고 AES256 및 SHA256 암호화와 온디맨드 NVM 데이터 무결성 검사를 사용합니다.
IGLOO2 장치의 좋은 예로는 27,696개 LE, 1,130,496비트 RAM, 267개 I/O를 제공하는 M2GL025-FGG484I가 있습니다. 또한 설계자가 IGLOO2 FPGA 제품군의 기능을 살펴보고 실험해 볼 수 있도록 Microchip은 해당 IGLOO2 평가 키트인 M2GL-EVAL-KIT를 제공합니다(그림 3).
그림 3: M2GL-EVAL-KIT는 IGLOO2를 위한 평가 키트이며 저전력, 고신뢰성, 고급 보안과 결합된 높은 수준의 기능 통합과 함께 제공됩니다. (이미지 출처: Microchip Technology)
M2GL-EVAL-KIT를 사용하면 모터 제어, 시스템 관리, 산업 자동화, 고속 직렬 I/O 응용 제품, PCI Express, 기가비트 이더넷을 포함하는 내장형 응용 제품을 쉽게 개발할 수 있습니다. 이 키트는 높은 수준의 기능 통합과 저전력, 고신뢰성, 고급 보안을 제공합니다. 또한 이 기판은 소형 폼 팩터 PCIe를 준수하며 개발자가 모든 데스크톱 PC 또는 PCIe 슬롯을 갖춘 랩톱을 사용하여 시제품 제작을 가능하게 합니다.
엔트리급 SoC: SmartFusion2 SoC FPGA
SmartFusion2 SoC FPGA는 32비트 하드 프로세서 코어로 강화된 IGLOO2 장치의 기존 프로그래밍 가능 패브릭을 기반으로 합니다. 프로세서가 잘 알려진 Arm® Cortex® 제품군이므로 SmartFusion2 제품군은 SoC FPGA 환경에 진입하는 좋은 시작점이 됩니다.
이 SoC FPGA는 CAN, TSE, USB 등 포괄적인 주변 장치 제품군으로 강화된 전체 마이크로 컨트롤러 서브 시스템과 함께 166MHz Arm Cortex-M3 프로세서가 탑재된 5,000개 ~ 150,000개 LE(온칩 eSRAM 및 내장형 NVM(eNVM) 탑재 명령어 캐시 및 ETM(Embedded Trace Macrocell) 포함)를 제공합니다.
그림 4: SmartFusion2 SoC FPGA는 CAN, TSE, USB 등 포괄적인 주변 장치 제품군으로 강화된 전체 마이크로 컨트롤러 서브 시스템과 함께 166MHz Arm Cortex-M3 프로세서가 탑재된 5,000개 ~ 150,000개 LE(온칩 eSRAM 및 eNVM 탑재 명령어 캐시 및 ETM 포함)를 제공합니다. (이미지 출처: Microchip Technology)
이 플래시 SoC FPGA 장치는 기가비트 이더넷, 이중 PCI Express 제어 평면, 브리징 기능, I/O 확장 및 변환, 동영상/이미지 처리, 시스템 관리, 보안 연결과 같은 범용 기능에 적합합니다. 또한 응용 분야는 통신, 산업, 의료, 방위, 항공 등 다양합니다.
SmartFusion2 장치의 좋은 예로는 25,000개 LE, 256Kbytes 플래시, 64Kbytes RAM, 166MHz에서 실행되는 32비트 Arm Cortex-M3 프로세서 서브 시스템을 제공하는 M2S025-FCSG325I가 있습니다. 또한 설계자가 SmartFusion2 SoC FPGA 제품군의 기능을 살펴보고 실험해 볼 수 있도록 Microchip은 해당 SmartFusion2 제조업체 기판인 M2S010-MKR-KIT를 제공합니다(그림 5).
그림 5: SmartFusion2 제조업체 기판은 RAM 및 DSP 블록과 같이 SoC 사용자에게 익숙한 다양한 주변 장치와 함께 Arm Cortex-M3 프로세서를 플래시 기반 FPGA 패브릭과 단일 칩에 결합하는 SmartFusion2 SoC FPGA를 위한 저비용 평가 키트입니다.(이미지 출처: Microchip Technology)
DigiKey에서 독점 판매하는 저비용 SmartFusion2 제조업체 기판을 사용하면 설계자가 SmartFusion2 제품군에 액세스할 수 있습니다. 이 장치는 12,000개 LE, 32비트 166MHz Arm Cortex-M3 프로세서, DSP 블록, SRAM, eNVM, GPIO 인터페이스를 단일 칩에서 모두 포괄하는 플래시 기반 FPGA 패브릭을 제공합니다.
SmartFusion2 제조업체 기판에는 이더넷 인터페이스, 주변광 센서, SPI 플래시, 8개 사용자 LED, 2개 사용자 푸시 버튼이 추가적으로 제공됩니다.또한 이 기판에는 ESP32 및 ESP8266 Wi-Fi/Bluetooth 모듈(미포함)을 지원하는 2개의 무실장 레이아웃 연결이 있습니다. 이 기판은 JTAG 프로그래밍, UART 통신 및 기판 구동을 위한 USB 포트를 지원합니다. 또한 SPI 플래시, 50MHz 클록 소스, 100Mbits/s 또는 1Gbit/s 이더넷을 위한 Microchip의 VSC8541 물리층(PHY)을 제공합니다.
비용에 최적화된 고성능 장치: PolarFire FPGA 및 SoC FPGA
PolarFire FPGA는 28nm 공정 기술로 구현되는 비용에 최적화된 고성능 장치이며, 높은 보안과 신뢰성을 제공하고 미드레인지 밀도에서 가장 낮은 전력을 소비하도록 설계되었습니다.
이 제품군은 100,000개 ~ 500,000개 LE를 포괄하고 12.7Gbit 트랜시버를 제공하며 경쟁 미드레인지 FPGA보다 최대 50% 더 낮은 전력을 소비하도록 설계되었습니다.이 장치는 와이어라인 액세스 네트워크 및 셀방식 인프라, 방위 및 상용 항공 시장, 산업 자동화 및 IoT 시장 내의 다양한 응용 제품에 이상적입니다.
그림 6: PolarFire FPGA는 100,000개 ~ 500,000개 LE를 포괄하고 12.7Gbit 트랜시버를 제공하며 경쟁 미드레인지 FPGA보다 최대 50% 더 낮은 전력을 소비하도록 설계되었습니다. (이미지 출처: Microchip Technology)
PolarFire FPGA가 경쟁 FPGA보다 최대 50% 더 적은 총 전력을 소비하는 이유는 온칩 구성 메모리와 온칩 구성 셀 모두에 대해 NVM 기술을 사용하기 때문입니다. 따라서 기본적으로 구성 셀 사이에 누설이 적어집니다. 즉, 전원을 켜면 장치가 “즉시 구동”하여 유입 전류 및 구성 전류가 없습니다.
네트워크 에지에서 연결된 장치에 대한 가장 큰 관심사는 사이버 보안이므로 개발자가 설계의 기능적 요구 사항을 준수하는 것으로는 충분하지 않고 안전하게 준수해야 합니다. 보안은 실리콘 제조에서부터 시스템 배포와 운영 전반에서 지속됩니다. PolarFire FPGA는 Microchip에서 업계에서 가장 안전한 프로그래밍 가능 FPGA로 제공됩니다.
대부분의 복잡한 전자 장비 응용 제품 설계에서는 어느 정도의 안전 요구 사항이 있습니다. PolarFire FPGA는 산업, 항공, 군사, 통신과 같은 응용 분야에서 고신뢰성, 고가용성, 안전 및 핵심 시스템에 사용하도록 설계되었습니다. PolarFire는 다음과 같은 특징으로 인해 이러한 응용 분야에 적합합니다.
- 제로 FIT(Failure In Time) 비율 FPGA 구성
- SEU 보호 메모리
- SECDED(Single Error Correction, Double Error Detection)를 지원하는 메모리 컨트롤러
- 내장형 자체 시험
- 외부 구성 장치가 필요 없음
PolarFire 장치의 좋은 예로는 109,000개 LE, 7,782,400비트 RAM, 170개 I/O를 제공하는 MPF100T-FCSG325I가 있습니다. 또한 설계자가 PolarFire FPGA 제품군의 기능을 살펴보고 실험해 볼 수 있도록 Microchip은 해당 PolarFire FPGA 평가 키트인 MPF300-EVAL-KIT를 제공합니다(그림 7).
그림 7: 설계자가 PolarFire FPGA 제품군의 기능을 살펴보고 실험해 볼 수 있도록 Microchip은 해당 MPF300-EVAL-KIT 평가 키트를 제공합니다. (이미지 출처: Microchip Technology)
MPF300-EVAL-KIT는 광범위한 응용 분야에 걸쳐 고성능 평가를 제공합니다. 이 키트는 고속 트랜시버 평가, 10Gbit 이더넷, IEEE1588, JESD204B, SyncE, CPRI 등에 매우 적합합니다. 이 키트 연결에는 많은 핀 수(HPC) FPGA 메자닌 카드(FMC), 다양한 SMA, PCIe, 이중 기가비트 이더넷 RJ45, SFP+ 및 USB가 포함됩니다. DDR4, DDR3 및 SPI 플래시를 갖춘 300,000 LE PolarFire FPGA는 광범위한 고성능 설계를 개발할 수 있도록 합니다.
PolarFire 라인은 계속해서 발전하고 있습니다. 이 기사를 작성하는 시기에 Microchip Technology는 강화된 실시간 Linux 지원 오픈 소스 64비트 RISC-V 기반 마이크로 프로세서 서브 시스템을 자랑하는 향후 PolarFire SoC FPGA 제품군과 관련한 세부 사항을 밝혔습니다.
Microchip Technology FPGA로 설계 및 개발
FPGA로 개발하는 데 사용되는 가장 일반적인 기술 중 하나가 언어 구동 설계(LDD) 기능입니다. 여기서는 Verilog, VHDL, SystemVerilog와 같은 하드웨어 기술 언어(HDL)를 사용하여 레지스터 전송 수준(RTL)이라는 추상화 수준에서 설계 의도를 파악합니다. 논리 시뮬레이션을 통한 확인 후, 대상 FPGA 유형, 핀 배정, 타이밍 제약 조건(예: 최대 입/출력 지연)과 같은 추가 정보와 함께 이 표현을 합성 엔진에 공급합니다. 합성 엔진의 FPGA에 직접 로드되거나(Microchip FPGA 또는 SoC FPGA의 경우) 외장형 메모리 장치(SRAM 기반 장치의 경우)에 로드되는 구성 파일입니다(그림 6).
그림 8: 논리 시뮬레이션을 통한 확인 후 RTL 설계 제품 요약은 FPGA 유형, 핀 배정, 타이밍 제약 조건과 같은 추가 정보와 함께 합성 엔진에 공급됩니다. 합성 엔진의 출력은 FPGA에 직접 로드되는 구성 파일입니다. (이미지 출처: Max Maxfield)
Microchip의 Libero SoC 설계 제품군이 이 클래스의 도구에 포함됩니다. 이 소프트웨어는 Microchip의 IGLOO2 및 PolarFire FPGA, SmartFusion2 및 PolarFire SoC FPGA로 설계하기 위해 쉽게 배워서 채택할 수 있는 포괄적으로 통합된 개발 도구 제품군을 제공합니다. 이 제품군은 산업 표준 Synopsys Synplify Pro 합성 및 Mentor Graphics의 ModelSim 시뮬레이션을 제약 조건 관리, 프로그래밍 및 디버그 도구, 보안 프로덕션 프로그래밍 지원과 통합합니다.
Verilog, VHDL 또는 SystemVerilog를 사용하여 텍스트 형식으로 설계를 파악하는 외에도 이 제품군에는 하위 레벨 블록을 사용자 정의 HDL 또는 타사 IP로 표현하고 시스템을 연결된 블록 계층으로 정의할 수 있는 그래픽 입력이 포함되어 있습니다.
또한 의도된 시스템을 정의하는 상위 수준 질문을 안내하는 간편한 설계 도구인 System Builder가 있습니다. System Builder는 원하는 시스템 아키텍처에 대한 질문을 시작하고, 프로그래밍 가능 패브릭에서 소프트 코어로 구현될 추가 주변 장치를 추가하고, 마지막으로 CBD(Correct-By-Design) 완성형 시스템을 구축합니다.
SoftConsole 통합 개발 환경(IDE)에서는 각각 SmartFusion2 및 PolarFire SoC FPGA에 있는 32비트 및 64비트 하드 프로세서 코어와 함께, Microchip의 FPGA 및 SoC FPGA에서 인스턴스화되는 32비트 소프트 프로세서를 위한 베어 금속 및 RTOS 기반 C/C++ 소프트웨어를 빠르게 개발할 수 있습니다.
결론
최적의 처리 설계 솔루션은 종종 프로세서 및 FPGA의 조합, FPGA 자체 또는 패브릭의 일부로 하드 프로세서 코어를 자랑하는 FPGA에 의해 제공됩니다. 첨단 기술로서 FPGA는 수년간 빠르게 발전하여 유연성, 처리 속도 및 전력 측면에서 많은 설계 요구 사항을 해결할 수 있으므로 지능형 인터페이스, 머신 비전, AI 등 광범위한 응용 분야에 유용합니다.
위에서 살펴본 바와 같이 Microchip Technology는 뛰어난 신뢰성의 저전력 고보안 장치에 중점을 두고 로우레인지부터 미드레인지까지 다양한 FPGA 및 SoC FPGA 제품을 제공합니다. FPGA는 강력한 신호 처리 및 메모리 리소스를 제공하며 통신, 산업, 군사, 항공 등 다양한 산업에서 하드웨어 가속, 인공 지능, 이미지 처리, 에지 컴퓨팅과 같은 응용 분야를 개발하는 데 토대를 제공하는 우수한 플랫폼입니다.
면책 조항: 이 웹 사이트에서 여러 작성자 및/또는 포럼 참가자가 명시한 의견, 생각 및 견해는 DigiKey의 의견, 생각 및 견해 또는 DigiKey의 공식 정책과 관련이 없습니다.


