FPGA를 배웁시다 ② - Lattice Semiconductor의 FPGA로 시작하기 | 반도체네트워크

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

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

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

FPGA를 배웁시다 ② - Lattice Semiconductor의 FPGA로 시작하기


PDF 다운로드



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

최적의 처리 솔루션은 종종 RISC, CISC, 그래픽 프로세서 및 FPGA의 조합, FPGA 자체 또는 패브릭의 일부로 하드 프로세서 코어를 자랑하는 FPGA에 의해 제공된다. 하지만 많은 설계자가 FPGA 기능에 익숙하지 않고 그 진화 과정과 사용 방법을 잘 모른다. 이 기사에서는 FPGA 벤더인 Lattice Semiconductor에서 제공하는 FPGA 디바이스 제품군과 설계 도구를 중점적으로 살펴본다. 1부에서 설명한 대로 현장 프로그래밍 가능 게이트 어레이(FPGA)는 독립형 또는 이기종 아키텍처의 소중한 컴퓨팅 자산이 되는 많은 특성을 갖추고 있지만, 많은 설계자가 FPGA에 익숙하지 않고 이러한 디바이스를 설계에 통합하는 방법을 잘 모른다.
이 문제를 해결하는 한 가지 방법은 주요 벤더의 FPGA 아키텍처와 관련 도구를 자세히 살펴보는 것이다. 여기서는 Lattice Semiconductor의 라인업부터 시작한다.


Lattice Semiconductor FPGA 소개

Lattice Semiconductor는 빠르게 성장하는 통신, 컴퓨팅, 산업, 자동차 및 소비자 가전 시장에서 에지부터 클라우드까지 네트워크 전반의 고객 문제를 해결하는 저전력 디바이스에 중점을 두고 로우레인지부터 미드레인지까지 다양한 FPGA 제품을 제공한다.
Lattice는 네 가지 기본 FPGA 제품군을 제공한다.
• iCE(세계에서 가장 작은 초저전력 FPGA로 회자됨)
• CrossLink 및 CrossLinkPlus(고속 동영상 및 센서 응용 분야에 최적화됨)
• MachXO(브리징, 확장, 플랫폼 관리 및 보안 응용 분야에 최적화됨)
• ECP(연결 및 가속 응용 분야를 대상으로 하는 범용 디바이스)
또한 Lattice는 Lattice Diamond Software(CrossLink/CrossLinkPlus, MachXO 및 ECP 디바이스용), Lattice Radiant Software(iCE FPGA 및 향후 아키텍처용), LatticeMico (소프트 마이크로 프로세서 기반 설계 작성을 위해 그래픽 도구), Lattice sensAI Stack, Neural Network Compiler(인공 지능(AI) 및 머신 러닝(ML) 설계용)를 비롯한 많은 설계 및 확인 도구 제품군을 제공한다.

기존 ECP FPGA

Lattice의 ECP 디바이스는 많은 설계자가 ‘기존’ FPGA로 간주하던 디바이스며, 10mm x 10mm, 0.5mm 피치 패키지에 최대 85,000(k)개의 4자리 입력 대조표(LUT)를 포함할 수 있다. 0.25W 이하의 프로토콜에 구애받지 않은 단일 채널 SERDES 기능과 0.5W 이하의 쿼드 채널 SERDES 기능을 포함하고 정적 및 작동 전력 소비가 낮다.
SRAM 블록, 디지털 신호 처리(DSP) 블록, 위상 고정 루프(PLL) 및 클록 관리자 외에 ECP FPGA는 LVCMOS 33/ 25/18/15/12, XGMII, LVTTL, LVDS, Bus-LVDS, 7:1 LVDS, LVPECL 및 MIPI D-PHY 입/출력 인터페이스를 위한 프로그래밍 가능 IO 지원을 제공한다.
ECP FPGA의 구성 셀은 SRAM을 기반으로 한다. 즉, 다른 모든 SRAM 기반 FPGA와 마찬가지로 시스템에 전원을 공급할 때 외부 소스(예. 플래시 메모리 디바이스, 마이크로 프로세서, 마이크로 컨트롤러)에서 구성을 로드해야 한다.
ECP 디바이스의 좋은 예로는 10mm x 10mm 패키지로 제공되는 LFE5UM5G-25F-8BG381C ECP5 5G SERDES 지원 FPGA가 있다. 또한 설계자가 ECP5 FPGA 제품군의 기능을 효율적으로 살펴보고 실험해 볼 수 있도록 Lattice는 해당 ECP5-5G 개발 기판인 LFE5UM5G-45F-VERSA-EVN을 제공한다(그림 1).

SR(Digikey2)-2.jpg

[그림 1] ECP5 평가 기판은 풍부한 논리, I/O, 5G SERDES 및 확장 헤더를 포함하는 시제품 제작 기판이다. (이미지 출처. Lattice Semiconductor)

작지만 강력한 Lattice iCE FPGA


iCE 디바이스는 출시된 FPGA 중 가장 작은 유형으로서 제품군 중 가장 작은 제품은 1.4mm x 1.4mm 패키지에 18개의 I/O를 제공한다. iCE FPGA는 최대 5,000개 4자리 입력 LUT, 최대 128Kbits Lattice 내장형 sysMEM BRAM, 1Mbit 단일 포트 RAM(SPRAM), 고성능 DSP 블록, 맞춤형 I/O를 포함하는 유연한 논리 아키텍처를 제공한다.
iCE FPGA는 대부분의 응용 분야에서 유휴 전류 75μA, 유효 전류 1mA ~ 10mA의 낮은 전력을 소비하고 크기가 작지만 강력하다. 예를 들어 에지에 상시 작동 인텔리전스를 제공하는 데 필요한 패턴 일치를 위해 인공 신경망(ANN)을 구현할 수 있다.
iCE FPGA의 구성 데이터는 비휘발성 메모리(NVM), 즉 일회성 프로그래밍 가능(OTP) 디바이스에 저장된다. 앞서 언급한 대로 이러한 디바이스에는 SRAM 기반 구성 셀도 포함되어 있다. 개발 중에 외부에서 SRAM 기반 구성 셀을 직접 로드하여 설계를 테스트할 수 있다. 설계가 커밋된 후 NVM으로 로드할 수 있다. 디바이스의 전원을 켜면 NVM에 저장된 구성이 SRAM 기반 구성 셀에 대규모 병렬 방식으로 자동 복사된다.
iCE 디바이스의 예를 들면 세계에서 가장 작은 폼 팩터 FPGA로서, 1.4mm x 1.4mm 패키지에서 42μW 정지 전력을 제공하는 ICE40UL1K-SWG16ITR1K iCE40 UltraLite가 있다. 대표적인 개발 기판으로는 HM01B0-UPD-EVN Himax HM01B0 UPduino 실드 및 sensAI 모듈식 데모 기판이 있다(그림 2).
이 키트는 iCE40 UltraPlus FPGA의 성능과 I/O 기능을 갖춘 Arduino 폼 팩터의 빠른 시제품 제작 개발 기판인 UPduino 2.0 기판을 기반으로 한다. 또한 이 키트에는 Himax HM01B0 저전력 이미지 센서 모듈과 2개의 I2S 마이크가 포함되어 있다.

SR(Digikey2)-3.jpg

[그림 2] Himax HM01B0 UPduino 실드는 감각 입력으로 시청각을 사용하여 인공 지능(AI)을 구현하기 위한 완벽한 개발 키트이다. (이미지 출처. Lattice Semiconductor)

특수 CrossLink 및 CrossLinkPlus FPGA


CrossLink 및 CrossLinkPlus 제품군은 프로그래밍 가능 논리와 상당한 I/O 기능 이외에 산업 및 자동차 응용 분야에서 널리 사용되는 수백 가지 사양을 포함하는 특수 FPGA이다. 여기에는 모바일 산업 프로세서 인터페이스(MIPI) D-PHY 고속 데이터 통신 물리층 표준, CSI2(Camera Serial Interface 2), DSI2(Display Serial Interface 2) 코어가 포함되며 모두 6mm x 6mm(CrossLink) 및 3.5mm x 3.5mm(CrossLinkPlus) 크기의 패키지로 제공된다.
iCE FPGA와 마찬가지로 CrossLink 디바이스의 구성 데이터는 OTP NVM에 저장되며, 이 디바이스에는 개발 중에 테스트를 위해 직접 로드할 수 있는 SRAM 기반 구성 셀이 포함되어 있다. 설계가 커밋되면, 전력 공급 시 NVM에 로드되고 SRAM 기반 구성 셀에 대규모 병렬 방식으로 자동으로 복사된다. 그에 비해 CrossLinkPlus 디바이스의 구성 셀은 플래시를 기반으로 한다. 즉, 필요에 따라 디바이스를 다시 프로그래밍하고, 10ms 이내에 즉각 구동 기능을 제공할 수 있다.
CrossLink 디바이스의 예로는 5,936개 논리 소자/셀, 184,320개 총 RAM 비트 및 37개 I/O를 제공하는 LIF-MD6000-6JMG80I가 있다. 내장형 비전 설계를 시작하려는 설계자는 LF-EVDK1-EVN 내장형 비전 개발 키트를 사용하여 CrossLink 기반 MIPI 입력을 ECP5 FPGA 처리와 결합하여 내장형 비전 설계의 시제품을 제작할 수 있다(그림 3).

SR(Digikey2)-4.jpg

[그림 3] Lattice LF-EVDK1-EVN 내장형 비전 개발 키트는 내장형 시스템 설계자에게 입력 기판과 출력 기판을 혼합하고 일치시켜서 다양한 이미지 센서 및 디스플레이를 연결하는 기능을 포함하는 소프트웨어 및 하드웨어 시제품 제작 환경을 제공한다. (이미지 출처. Lattice Semiconductor)

I/O 및 전력 관리 기능, MachXO FPGA


수백 개의 I/O를 포함하는 MachXO FPGA는 GPIO 확장, 인터페이스 브리징, 전력 관리 기능을 필요로 하는 광범위한 응용 분야에 적합한다. 최신 제품군은 NIST 규정을 준수하도록 설계되었으며 시스템 하드웨어와 펌웨어를 안전하게 유지하기 위해 추가 보안 기능을 포함한다.
MachXO FPGA에는 ‘핫 소켓’과 같은 기능을 포함하는 강력한 GPIO 세트가 있다. 즉, 전원 공급 디바이스 레일의 상태에 상관없이 I/O에 전압을 적용할 수 있다. 대부분의 FPGA 입력은 기본적으로 풀업 상태이지만, MachXO 입력은 기본적으로 풀다운 상태이므로 제어 기능 응용 분야에 적합한다. 10ms 이내에 즉각 구동되는 MachXO FPGA는 시스템의 전원을 켜고 끄는 동안 다른 부품을 관리하고 시퀀싱하는 ‘FOLO(First On, Last-Off)’ 제어 디바이스에 적합한 솔루션을 제공한다.
MachXO 디바이스의 구성 데이터는 플래시 메모리에 저장된다. MachXO 디바이스에는 SRAM 기반 구성 셀도 포함되어 있다. 디바이스의 전원을 켜면 플래시에 저장된 구성 데이터가 SRAM 기반 구성 셀에 대규모 병렬 방식으로 자동으로 복사된다. 또한 디바이스가 실행 중인 동안 새 구성을 플래시로 로드한 다음 적절한 시간에 이 새 구성을 SRAM 셀에 복사할 수 있다.
MachXO 디바이스의 좋은 예로는 9,400개 논리 소자/셀, 442,368개 총 RAM 비트 및 206개 I/O를 제공하는 LCMXO3LF-9400C-6BG256C가 있다. 대표적인 개발 기판으로는 LCMXO3LF-6900C-S-EVN MachXO3 시험용 키트(MachX03L 버전)가 있다.
SPI 플래시를 키트 기판에서 사용하여 외부 부트 또는 이중 부트 기능을 평가할 수 있다. LCMXO3L-DSI-EVN MachXO3L DSI 브레이크아웃 기판은 MIPI DSI 및 CSI2 I/O 평가에 권장되며, LCMXO3L-SMA-EVN MachXO3L SMA 브레이크아웃 기판은 고속 차동 I/O 평가에 권장된다.

SR(Digikey2)-5.jpg

[그림 4] MachXO3L 시험용 키트는 MachXO3L 기반 설계를 간단하게 평가하고 개발할 수 있는 기본적인 브레이크아웃 기판이다. (이미지 출처. Lattice Semiconductor)

Lattice Semiconductor FPGA로 설계 및 개발

FPGA로 개발하는 데 사용되는 가장 일반적인 기술 중 하나가 언어 구동 설계(LDD) 기능이다. 여기서는 Verilog 또는 VHDL과 같은 하드웨어 설명 언어(HDL)를 사용하여 레지스터 전송 수준(RTL)이라는 추상화 수준에서 설계 의도를 파악한다. 논리 시뮬레이션을 통한 확인 후, 대상 FPGA 유형, 핀 배정, 타이밍 제약 조건(예. 최대 입/출력 지연)과 같은 추가 정보와 함께 이 표현을 합성 엔진에 공급한다. 합성 엔진의 출력은 구성 파일이며, FPGA에 직접 로드되거나 SRAM 기반 FPGA의 경우 외장형 메모리 디바이스에 로드된다(그림 5).
Lattice Diamond는 이 클래스의 도구에 속하며 Cross-Link, MachXO 및 ECP 디바이스를 위한 완벽한 GUI 기반 FPGA 설계 및 확인 환경을 제공한다.
Lattice Diamond와 마찬가지로 Lattice Radiant는 완벽한 GUI 기반 FPGA 설계 및 확인 환경을 제공하지만 Lattice Radiant는 iCE FPGA 및 향후 아키텍처를 대상으로 한다.
Lattice Radiant는 다음과 같은 다양한 기능을 제공한다.
• 상호 운용성 극대화를 위한 산업 표준 IEEE 1735 지적 재산(IP) 암호화 및 SDC
• 통합 도구 세트 환경에서 지원하는 손쉬운 설계 탐색 및 디버깅
• 새로운 공정 도구 모음에서 지원하는 간단한 ‘원클릭’ 설계 구현 실행
• 완벽한 폐쇄 루프 물리-논리 설계 구현 교차 프로빙
• IP 패키징 기능(개발자와 타사 IP 제공업체에서 암호화된 IP를 배포하는 데 적합한 형식으로 패키지할 수 있도록 지원)

SR(Digikey2)-6.jpg

[그림 5] 논리 시뮬레이션을 통한 확인 후 RTL 설계 설명은 FPGA 유형, 핀 배정, 타이밍 제약 조건과 같은 추가 정보와 함께 합성 엔진에 공급된다. 합성 엔진의 FPGA에 직접 로드되거나(NVM 또는 플래시 기반 디바이스의 경우) 또는 외장형 메모리 디바이스(SRAM 기반 FPGA의 경우)에 직접 로드되는 구성 파일이다. (이미지 출처. Max Maxfield).

LatticeMico 시스템 개발 도구


Lattice는 FPGA의 프로그래밍 가능 패브릭으로 구현될 수 있는 두 소프트 프로세서 코어(LatticeMico8 및 LatticeMico32)를 제공한다.
LatticeMico8은 MachXO2 프로그래밍 가능 논리 디바이스(PLD) 제품군에 최적화되고 완벽하게 테스트를 거친 8비트 마이크로 컨트롤러이며, 다른 FPGA 제품군을 위한 참조 설계로 활용할 수도 있다. 마이크로 컨트롤러 코어는 전체 18비트 너비 명령어 세트를 32개의 범용 레지스터와 결합하고, 광범위한 기능 세트를 유지하면서 최소 디바이스 리소스(최소 구성에서 LUT 200개 미만)를 소비한다.
LatticeMico32는 32비트 Harvard, RISC 아키텍처 마이크로 프로세서이다. 32비트 너비 명령어 세트를 32개의 범용 레지스터와 결합하여 LatticeMico32는 다양한 시장에 적합한 성능 및 유연성을 제공한다. RISC 아키텍처를 사용하여 코어에서는 최소의 디바이스 리소스를 소비하면서 광범위한 응용 세트에 필요한 성능을 유지한다. 마이크로 프로세서 시스템 개발을 가속화하기 위해 여러 선택 사양 WISHBONE 컨트롤러 호환 주변 디바이스 부품을 LatticeMico32와 통합할 수 있다.
LatticeMico 시스템 개발 도구는 Lattice-Mico 프로세서 코어 및 주변 디바이스를 드래그하여 버스에 연결하고 각 부품에 대한 다양한 파라미터(예. 프로세서 주소 공간의 위치)를 정의할 수 있는 그래픽 사용자 인터페이스를 제공한다. 시스템이 정의되면 도구에서 시뮬레이션하여 동기화할 해당 RTL를 자동으로 생성할 수 있다. 또한 이 시스템에는 프로세서 코어에서 실행될 소프트웨어를 생성할 수 있는 도구가 포함되어 있다.

sensAI 스택 및 신경망 컴파일러


머신 러닝(ML) 및 인공 지능(AI) 응용 분야는 현재 광범위한 내장형 시스템과 산업용 IoT(IIoT)를 비롯한 사물 인터넷(IoT) 전반에서 배포되고 있다.
Lattice sensAI 스택에는 모듈식 하드웨어 플랫폼, 예제 데모, 참조 설계, 신경망 IP 코어, 개발용 소프트웨어 도구, 맞춤형 설계 서비스를 비롯하여 FPGA 기반 ML/AI 솔루션을 평가, 개발, 배포하는 데 필요한 모든 기능이 포함되어 있다. 이 스택은 소비자 가전 및 산업용 IoT 응용 분야에서 추론하는 유연한 머신 러닝 개발자를 위해 출시 시간을 단축하도록 고안되었다.
Lattice의 매우 복잡한 신경망(CNN) 가속기 IP 코어는 심층 신경망(DNN)을 위한 계산 엔진이다. 이 엔진은 매우 복잡한 신경망에 최적화되어 있으므로 분류 또는 물체 감지 및 추적과 같은 시각 기반 응용 분야에 사용할 수 있다. CNN IP 코어는 필요한 계산을 수행할 수 있으므로 추가 프로세서가 필요하지 않다.
Lattice 신경망 컴파일러를 사용하면 설계자가 공통 개발 프레임워크(예. TensorFlow, Caffe, Keras)에서 생성된 신경망을 가져와서 컴파일한 후 Lattice CNN 및 콤팩트 CNN 가속기 IP 코어에서 구현할 수 있다.


결론


최적의 설계 솔루션은 종종 프로세서 및 FPGA의 조합, FPGA 자체 또는 패브릭의 일부로 하드 프로세서 코어를 자랑하는 FPGA에 의해 제공된다. 첨단 기술로서 FPGA는 수년간 빠르게 발전하여 유연성, 처리 속도 및 전력 측면에서 오늘날의 많은 설계 요구 사항을 해결할 수 있으므로 지능형 인터페이스, 머신 비전, AI 등 광범위한 응용 분야에 유용한다.
그림과 같이 래티스 반도체는 빠르게 성장하는 통신, 컴퓨팅, 산업, 자동차 및 소비자 가전 시장에서 에지부터 클라우드까지 네트워크 문제를 해결하는 저전력 디바이스에 중점을 두고 로우레인지부터 미드레인지까지 다양한 FPGA 제품을 제공한다. 또한 Lattice는 언어 기반 설계부터, 그래픽 프로세서 기반 설계, 머신 러닝 및 인공 지능 응용 분야 중심 설계까지 다양한 설계 흐름에 적합한 여러 설계 및 확인 도구 제품군을 제공한다.

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

X


PDF 다운로드

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

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

×

회원 정보 수정