FPGA를 배웁시다 ③ - 마이크로칩의 FPGA로 시작하기 | 반도체네트워크

죄송합니다. 더 이상 지원되지 않는 웹 브라우저입니다.

반도체네트워크의 다양한 최신 기능을 사용하려면 이를 완전히 지원하는 최신 브라우저로 업그레이드 하셔야 합니다.
아래의 링크에서 브라우저를 업그레이드 하시기 바랍니다.

Internet Explorer 다운로드 | Chrome 다운로드

FPGA를 배웁시다 ③ - 마이크로칩의 FPGA로 시작하기


PDF 다운로드



글/Clive, “Max” Maxfield, Digi-Key 제공


1부에서 언급했듯이 FPGA는 고유의 특징을 갖는 유용한 컴퓨팅 부품으로서, 단독적으로 사용하거나 이종 아키텍처로 다른 부품들과 함께 사용할 수 있다. 그런데 많은 디자이너들은 FPGA 자체에 대해서나 이 디바이스를 자신의 디자인으로 어떻게 통합해야 하는지에 대해서 잘 알지 못한다.

FPGA 아키텍처와 주요 업체들의 제품 및 툴들을 살펴봄으로써 이 문제를 극복하는 데 도움이 될 것이다. 이 글에서는 마이크로칩의 제품들에 대해서 소개한다.


마이크로칩의 FPGA 소개


마이크로칩의 FPGA 제품은 로우엔드급에서부터 중간급까지 걸쳐 있으며, 저전력으로 보안과 신뢰성이 우수한 제품에 주력하고 있다. 마이크로칩의 FPGA는 유선 및 무선 통신, 방위와 항공, 산업용 임베디드 애플리케이션에 널리 사용되고 있으며, 견고한 DSP와 메모리 자원을 특징으로 함으로써 하드웨어 가속화, 인공 지능, 이미지 프로세싱, 에지 컴퓨팅 같은 애플리케이션에 사용하기에 적합하다.

마이크로칩은 다음과 같은 3개의 주력 FPGA 제품군을 제공한다:

• IGLOOⓇ2 FPGA: 상당한 자원을 포함하는 저밀도 디바이스 제품군

• SmartFusionⓇ2 SoC FPGA: 상당한 자원과 32비트 하드 프로세서 코어를 포함하는 저밀도 디바이스 제품군

• PolarFire™ FPGA 및 SoC FPGA: 28nm 프로세스 기술을 채택한, 최적화된 가격대의 고성능 디바이스 제품군

모든 FPGA가 구성 셀을 제공한다. 이것을 사용해서 각기 프로그래머블 로직 블록의 기능과 로직 블록을 서로 간에 연결하고 외부로 연결하는 것을 결정한다. 또한 구성 셀을 사용해서 GPIO의 인터페이스 표준, 입력 임피던스, 출력 슬루율 같은 것들을 구성할 수 있다.

일부 FPGA는 온칩 플래시 메모리를 사용해서 구성 데이터를 저장하는데, 그렇더라도 여전히 SRAM 기반 구성 셀들을 사용한다. 이 경우에는 온칩 컨트롤러가 플래시 구성 메모리에서 SRAM 구성 셀로 구성 데이터를 복제한다. 이들 FPGA는 순수한 SRAM을 사용하는 제품보다 더 빠르게 파워업할 수 있다.

마이크로칩의 IGLOO2 FPGA와 SmartFusion2 SoC FPGA는 온칩 구성 메모리와 온칩 구성 셀 모두를 플래시 기술을 사용해서 구현한다. PolarFire 제품군은 구성 셀로 SONOS(silicon-oxide-nitride-oxide-silicon) 비휘발성 메모리(NVM) 기술을 사용하고 있다. 이 기술은 ‘플래시와 유사하지만 더 우수한 것’이라고 할 수 있다.

마이크로칩의 FPGA 및 SoC FPGA는 비휘발성 플래시(또는 SONOS) 셀로 구성 데이터를 저장하므로 ‘instant-on’을 할 수 있다. 다시 말해서 여타의 FPGA보다 더 빠르게 파워업할 수 있다. 이들 디바이스는 플래시 구성 메모리 또한 사용하는데, 이것은 FPGA가 구성 셀로 기존의 구성을 사용해서 실행되는 동안에 새로운 구성이 로드될 수 있기 때문이다. 새로운 구성이 다운로드되고 검증을 하고 나면(구성을 암호화하고 CRC를 실시할 수 있음), 디바이스를 안전한 상태로 전환하고 구성 메모리로 저장된 새로운 구성을 사용해서 구성 셀에 저장된 원래 구성을 덮어쓰기할 수 있다. 

SR(Digikey3)-2.jpg

[그림 1] IGLOO2 FPGA는 기가비트 이더넷 또는 듀얼 PCI Express 제어, 브리징 기능, I/O 확장 및 변환, 비디오/이미지 프로세싱, 시스템 관리, 보안 커넥티비티 같은 다양한 기능에 사용할 수 있다. (이미지 출처: 마이크로칩)

전통적 제품군: IGLOO2 FPGA


IGLOO2는 로우엔드급에서부터 중간급까지 이르는 범용적인 FPGA 제품군이다. ‘전통적인’ FPGA라고 할 수 있는 것이다. 이들 플래시 FPGA 디바이스는 통신, 산업용, 의료용, 방위, 항공기 같은 다양한 분야의 기가비트 이더넷 또는 듀얼 PCI Express 제어, 브리징 기능, 입력/출력(I/O) 확장 및 변환, 비디오/이미지 프로세싱, 시스템 관리, 보안 커넥티비티 같은 다양한 애플리케이션에 사용할 수 있다.

IGLOO2 FPGA는 5,000~150,000 LE를 제공하며 최대 512KB 임베디드 플래시, 2 x 32KB 임베디드 SRAM, 2개 DMA (direct memory access) 엔진, 2개 DDR 컨트롤러를 포함하는 고성능 메모리 서브시스템을 특징으로 한다. 또한 최대 16개 트랜시버 레인, DSP 프로세서 블록, SEU(single event upset) 보호/허용 메모리를 제공한다. 보안과 관련해서 차분 전력 분석(DPA)을 방어하고, AES256과 SHA256 암호화를 사용하고 온디맨드로 NVM 데이터 무결성 검사를 할 수 있다.

IGLOO2 제품군의 대표적인 제품으로서 M2GL025-FGG484I는 27,696 LE, 1,130,496비트 RAM, 27개 I/O를 제공한다. 또 디자이너들이 IGLOO2 FPGA 제품군의 기능을 익히고 평가 작업을 할 수 있도록 IGLOO2 평가 키트로서 M2GL-EVAL-KIT를 제공한다(그림 2). 

M2GL-EVAL-KIT를 사용해서 PCI Express 및 기가비트 이더넷뿐만 아니라 모터 제어, 시스템 관리, 산업 자동화, 고속 직렬 I/O 같은 애플리케이션 용으로 임베디드 애플리케이션을 쉽고 빠르게 개발할 수 있다. 이 키트는 다수의 기능들을 통합했으며 낮은 전력, 높은 신뢰성, 향상된 보안을 특징으로 한다. 또한 이 보드는 폼팩터가 작고 PCIe 호환이 가능하므로 PCIe 슬롯이 있는 어떤 데스크톱 PC 또는 랩톱이나 사용해서 프로토타입 개발을 할 수 있다.

SR(Digikey3)-3.jpg

[그림 2] M2GL-EVAL-KIT는 IGLOO2 평가 키트로서, 다수의 기능을 통합하고 낮은 전력, 높은 신뢰성, 향상된 보안을 특징으로 한다. (이미지 출처: 마이크로칩)

엔트리급 SoC: SmartFusion2 SoC FPGA


SmartFusion2 SoC FPGA는 IGLOO2의 전통적인 프로그래머블 패브릭에다 32비트 하드 프로세서 코어를 더한 것이다. SmartFusion2 제품군은 ArmⓇ CortexⓇ 제품군의 잘 알려진 프로세서를 채택함으로서 SoC FPGA로 진입하기 위한 훌륭한 엔트리급 솔루션을 제공한다.

SR(Digikey3)-4.jpg

[그림 3] SmartFusion2 SoC FPGA는 5,000~150,000 LE를 제공하고 166MHz Arm Cortex-M3 프로세서를 채택했으며, ETM과 명령 캐시, 온칩 eSRAM과 eNVM, 포괄적인 마이크로컨트롤러 서브시스템, CAN, TSE, USB 같은 포괄적인 주변장치 기능을 포함한다. (이미지 출처: 마이크로칩)

이들 SoC FPGA 제품은 5,000~150,000 LE를 제공하고 166MHz Arm Cortex-M3 프로세서를 채택했으며, 임베디드 트레이스 매크로셀(ETM)과 명령 캐시, 온칩 eSRAM과 임베디드 NVM(eNVM), 포괄적인 마이크로컨트롤러 서브시스템, CAN, TSE, USB 같은 포괄적인 주변장치들을 포함한다.

이들 플래시 SoC FPGA 제품 역시 통신, 산업용, 의료용에서부터 방위와 항공기에 이르는 다양한 분야의 기가비트 이더넷 또는 듀얼 PCI Express 제어 플레인, 브리징 기능, I/O 확장 및 변환, 비디오/이미지 프로세싱, 시스템 관리, 보안 커넥티비티 같은 다양한 기능에 사용하기에 적합하다. 

SmartFusion2 제품군의 대표적인 제품으로서 M2S025-FCSG325I는 25,000 LE, 256KB 플래시, 64KB RAM, 166MHz로 실행되는 32비트 Arm Cortex-M3 프로세서 서브시스템을 포함한다. 디자이너들이 SmartFusion2 SoC FPGA 제품군의 기능을 익히고 평가 작업을 할 수 있도록 SmartFusion2 메이커 보드로서 M2S010-MKR-KIT를 제공한다(그림 4).

SR(Digikey3)-5.jpg

[그림 4] SmartFusion2 메이커 보드는 SmartFusion2 SoC FPGA 용의 저가격대 평가 키트이다. SmartFusion2 SoC FPGA는 단일 칩으로 Arm Cortex-M3 프로세서와 플래시 기반 FPGA 패브릭을 결합했으며, RAM과 DSP 블록을 비롯해서 SoC 사용자들이 익숙한 다수의 주변장치 기능을 포함한다. (이미지 출처: 마이크로칩)

저가격대 Smart-Fusion2 메이커 보드는 Digi-Key Electronics에서 독점 판매하며, 디자이너들이 SmartFusion2 제품을 사용한 개발 작업을 빠르게 할 수 있도록 돕는다. 이 보드에 채택된 디바이스는 단일 칩으로 플래시 기반 FPGA 패브릭으로 12,000 LE, 32비트 166MHz Arm Cortex-M3 프로세서, DSP 블록, SRAM, eNVM, GPIO 인터페이스를 모두 포함한다.

이 SmartFusion2 메이커 보드는 이더넷 인터페이스, 주변 빛 센서, SPI 플래시, 8개 사용자 LED, 2개 사용자 푸쉬버튼을 추가하고 있다. 이 보드는 또한 레이아웃만 되어 있고 비어 있는 두 자리에 ESP32와 ESP8266 와이파이/블루투스 모듈을 탑재할 수 있다. 또한 USB 포트를 통해서 JTAG 프로그래밍, UART 통신, 전원 공급을 할 수 있다. 또한 이 보드는 SPI 플래시, 50MHz 클록 소스, 마이크로칩의 VSC8541 물리층(PHY) 디바이스(100Mb/s 또는 1Gb/s 이더넷 지원)를 특징으로 한다. 


최적화된 가격대의 고성능 제품군: PolarFire FPGA 및 SoC FPGA


PolarFire FPGA는 28nm 프로세스 기술을 채택한, 최적화된 가격대의 고성능 제품군이다. 이들 제품은 중간급 밀도로 최소한의 전력을 소모하고 높은 보안과 신뢰성을 달성하도록 설계되었다.

이들 제품은 100,000~500,000 LE를 제공하고 12.7Gbps 트랜시버를 특징으로 하며, 동급의 FPGA와 비교해서 50%까지 더 적은 전력을 소모한다. 유선 네트워크 및 셀룰러 인프라, 방위, 상업용 항공기뿐만 아니라 산업 자동화와 IoT 시장의 다양한 애플리케이션에 사용하기에 적합하다.

SR(Digikey3)-6.jpg

[그림 5] PolarFire FPGA는 100,000~500,000 LE를 제공하고 12.7Gbps 트랜시버를 특징으로 하며, 동급의 FPGA와 비교해서 50%까지 더 적은 전력을 소모하도록 설계되었다. (이미지 출처: 마이크로칩)

PolarFire FPGA가 경쟁 FPGA와 비교해서 50%까지 더 적은 총 전력을 소모할 수 있는 이유는, 온칩 구성 메모리와 온칩 구성 셀 모두로 NVM 기술을 사용하기 때문이다. 그럼으로써 구성 셀들 간에 누설을 근본적으로 낮출 뿐만 아니라, 파워업 시에 진정한 ‘instant-on’을 할 수 있다. 결과적으로 쇄도 전류를 일으키지 않고 구성 전류가 0이다.

네트워크 에지 상의 커넥티드 디바이스는 보안이 무엇보다도 중요한 문제이다. 그러므로 디자인의 기능적 요구를 충족하는 것만으로는 충분하지 않다. 이것을 보안적으로 해야 한다. 보안은 실리콘 제조에서부터 시작해서 시스템을 구축하고 가동하는 단계로까지 이어진다. 마이크로칩은 PolarFire FPGA가 업계에서 보안적으로 가장 앞선 프로그래머블 FPGA라고 설명하고 있다.

복잡한 전자 장비로 많은 애플리케이션들이 특정한 정도의 안전성을 요구한다. PolarFire FPGA는 높은 신뢰성, 가용성, 안전성을 달성하도록 설계됨으로써 산업용, 항공기, 군용, 통신 분야의 중요도 높은 시스템에 사용하기에 적합하다. PolarFire를 이러한 애플리케이션에 사용하기에 적합하게 만드는 특징들로는 다음을 들 수 있다:

• 제로 FIT(failure in time)을 달성하는 FPGA 구성

• SEU 보호 메모리

• SECDED(single error correction, double error detection)을 적용한 메모리 컨트롤러

• BIST(내장형 자체 테스트)

• 외부적 구성 디바이스 불필요

PolarFire 제품군의 대표적인 제품으로서 MPF100T-FCSG325I는 109,000 LE, 7,782,400비트 RAM, 170개 I/O를 제공한다. 디자이너들이 PolarFire FPGA 제품군의 기능을 익히고 평가 작업을 하도록 PolarFire FPGA 평가 키트로서 MPF300-EVAL-KIT를 제공한다(그림 6).

SR(Digikey3)-7.jpg

[그림 6] 디자이너들이 PolarFire FPGA 제품의 기능을 익히고 평가 작업을 하도록 해당 FPGA 평가 키트로서 MPF300-EVAL-KIT를 제공한다. (이미지 출처: 마이크로칩)

MPF300-EVAL-KIT는 다양한 용도로 평가 작업을 할 수 있는데, 특히 10 기가비트 이더넷, IEEE 1588, JESD204B, SyncE, CPRI 같은 고속 트랜시버 평가 용으로 적합하다. 이 키트는 고핀수(HPC) FPGA 메자닌 카드(FMC), 다수의 SMA, PCIe, 듀얼 기가비트 이더넷 RJ45, SFP+, USB를 제공한다. 또한 300,000 LE에 DDR4, DDR3, SPI 플래시를 통합한 PolarFire FPGA를 기반으로 함으로써 다양한 고성능 디자인을 편리하게 개발할 수 있다.

PolarFire 제품군은 계속해서 추가되고 있다. 최근에 마이크로칩은 하드 구현으로 실시간 리눅스 가능 오픈 소스 64비트 RISC-V 기반 마이크로프로세서 서브시스템을 특징으로 하는 PolarFire SoC FPGA 제품을 출시할 계획이라고 밝혔다.


마이크로칩의 FPGA를 사용한 설계와 개발


FPGA를 사용한 개발에 주로 사용되는 기법이 언어 지향 설계(LDD)이다. 이것은 Verilog, VHDL, SystemVerilog 같은 하드웨어 기술 언어(HDL)를 사용해서 RTL(register transfer level)이라고 하는 추상화 수준에서 의도하는 디자인을 포착하는 것이다. 그런 다음 로직 시뮬레이션을 통해서 검증을 하고 이 표현을 목표 FPGA 타입, 핀 지정, 타이밍 제약(최대 입력-대-출력 지연 등) 같은 추가적인 정보와 함께 합성 엔진으로 보낸다. 합성 엔진으로부터의 출력은 구성 파일이고, 이 구성 파일을 마이크로칩 FPGA 및 SoC FPGA 같은 경우에는 FPGA로 직접 로드하고, 또는 SARM 기반 디바이스의 경우에 외부적 메모리 디바이스로 로드할 수 있다(그림 7).

SR(Digikey3)-8.jpg

[그림 7] 로직 시뮬레이션을 통해서 검증을 한 후에, RTL 설계 기술을 FPGA 타입, 핀 지정, 타이밍 제약 같은 추가적인 설계 세부사항과 함께 합성 엔진으로 보낸다. 합성 엔진으로부터의 출력이 구성 파일이고, 이 구성 파일을 FPGA로 직접 로드한다. (이미지 출처: Max Maxfield)

마이크로칩은 이러한 설계를 돕기 위한 툴로서 Libero SoC Design Suite를 제공한다. 이 소프트웨어는 마이크로칩의 IGLOO2 및 PolarFire FPGA와 SmarFusion2 및 PolarFire SoC FPGA를 사용한 설계를 돕기 위해서 학습하고 사용하기 쉬운 포괄적인 개발 툴 스위트를 제공한다.

이 설계 스위트는 산업 표준으로 자리잡고 있는 Synopsys의 Synplify Pro 합성과 Mentor Graphics의 ModelSim 시뮬레이션을 통합하고 제약 관리, 프로그래밍, 디버깅 툴, 보안적인 생산 프로그래밍 지원을 포함한다. 

이 스위트는 Verilog, VHDL, SystemVerilog를 사용해서 텍스트 형식으로 디자인을 포착할 뿐만 아니라, 그래픽 입력으로 시스템을 연결된 블록들의 계층으로서 정의할 수 있으며 하위 수준 블록들을 사용자 정의 HDL이나 또는 써드파티 IP로 표현할 수 있다.

또한 마이크로칩의 System Builder는 사용하기 편리한 설계 툴로서, 사용자들에게 일련의 고수준 질문에 대답하게 해서 의도하는 시스템을 정의한다. 맨 먼저 원하는 시스템 아키텍처에 대한 질문들을 하고, 프로그래머블 패브릭으로 소프트 코어로서 구현하고자 하는 주변장치들을 추가하고, 끝으로 잘 설계된 전체적인 시스템을 완성한다.

또 다른 중요한 툴로서 SoftConsole 통합 개발 환경(IDE)은, 마이크로칩의 FPGA 및 SoC FPGA로 사례화하고자 하는 32비트 소프트 프로세서나 각각 SmarFusion2와 PolarFire SoC FPGA에 사용되는 32비트 및 64비트 하드 프로세서 코어 용으로 베어 메탈 또는 RTOS 기반 C/C++ 소프트웨어를 쉽고 빠르게 개발할 수 있도록 한다. 


맺음말


원하는 디자인으로 최적의 프로세싱을 달성하기 위해서는 프로세서와 FPGA를 결합하거나, FPGA를 그 자체로 사용하거나, 패브릭의 일부로 하드 프로세서 코어를 통합한 FPGA를 사용할 수 있다. FPGA는 지난 수년에 걸쳐서 진화를 거듭해 왔으며 유연성, 프로세싱 속도, 전력 같은 측면에서 눈부시게 발전했다. 그럼으로써 지능적인 인터페이스에서부터 머신 비전과 AI에 이르기까지 다양한 애플리케이션에 사용할 수 있다.

이 글에서 살펴보았듯이 마이크로칩의 FPGA 및 SoC FPGA는 로우엔드급에서부터 중간급까지 걸쳐 있으며, 낮은 전력으로 보안과 신뢰성이 우수한 디바이스 제품을 주력으로 한다. 이들 FPGA 제품은 견고한 신호 프로세싱과 메모리 자원을 제공하며 통신과 산업용에서부터 군용과 항공기에 이르는 다양한 분야의 하드웨어 가속화, 인공 지능, 이미지 프로세싱, 에지 컴퓨팅 같은 다양한 애플리케이션에 사용하도록 훌륭한 플랫폼을 제공한다. 


leekh@seminet.co.kr
(끝)
<저작권자(c) 반도체네트워크, 무단 전재-재배포 금지>

X


PDF 다운로드

개인정보보호법 제15조에 의한 수집/이용 동의 규정과 관련하여 아래와 같이 PDF 다운로드를 위한 개인정보 수집 및 이용에 동의하십니까? 동의를 거부할 수 있으며, 동의 거부 시 다운로드 하실 수 없습니다.

이메일을 입력하면,
(1) 신규참여자 : 성명/전화번호/회사명/분야를 입력할 수 있는 입력란이 나타납니다.
(2) 기참여자 : 이메일 입력만으로 다운로드가 가능합니다.

×

회원 정보 수정