차세대 FPGA 플랫폼 기술

글: 성윤현 차장 / 래티스 코리아www.latticesemi.com비휘발성 FPGA의 요구FPGA 디자이너는 비휘발성(non-volatile)의 재프로그램할 수 있는(reprogramable) 솔루션을 선호하는 경향이 계속되고 있습니다. -큰 가격 이득없이- 이런 선호는 전형적으로 비휘발성 솔루션으로 제공되는 여러 특성에 쉽게 접근할 수 있는 것에서 비롯됩니다.쪾적은 보드 영역 및 간단한 시스템 통합쪾파워업(Power-up) 후 빠른 로직 동작쪾높은 보안추가로 이런 전형적인 요구사항들에 대해, 이전 두 세대의 비휘발성 FPGA의 경험을 기반으로 하는 래티스 반도체(Lattice Semiconductor)는 비휘발성 FPGAs의 새로운 요구로 필드 업데이트를 위한 폭넓은 솔루션과 효율적인 온칩 비휘발성 메모리를 위해 요구되는 사항들을 관여하고 있습니다. 이번 백서(white paper)는 가능한 솔루션과 요구사항에 대해 살펴보도록 하겠습니다.비휘발성 FPGAs의 접근오늘날 시장에서의 FPGA는 세 가지 종류로 구분할 수 있습니다. 첫 번째는 전형적인 SRAM FPGA로 시스템 파워 업 후 FPGA 구성을 위해 외부 비휘발성 메모리를 필요로 하는 것입니다. 두 번째는 싱글 패키지 내에 비휘발성 메모리와 SRAM FPGA를 결합한 하이브리드 형태(Hybrid type)입니다. 세 번째 종류는 똑같은 다이 안에 FPGA 로직과 비휘발성 메모리가 구현되어 있는 모놀리식 형태(True Non-volatile)입니다. 그림 1을 보면 하이브리드 형태는 SRAM접근에 이득이 있으나, 전형적 비휘발성 형태는 작은 풋프린트, 높은 보안과 짧은 인스턴트 온 타임(instant-on time) 등의 최고 장점들을 제공합니다.애플리케이션을 위한 비휘발성, 재프로그램 가능한 FPGAs비휘발성, 재프로그램 가능한 FPGA는 통신, 소비자, 산업, 컴퓨팅, 군대, 그리고 오토모티브 등의 다양한 시스템 로직구현에 사용됩니다. 비휘발성 FAGA는 높은 보안, 빠른 로직 가능성과 디바이스의 수를 줄일 수 있는 등의 독특한 매력이 있습니다.작은 풋프린트 애플리케이션전형적인 FPGA는 파워 업 시 부트 메모리를 통한 SRAM 구성이 요구됩니다. 때때로 다른 응용부분에서 독립형 부트 메모리가 요구될 지라도, 보드상의 마이크로프로세서를 통해 구성될 수 있으며, 마이크로프로세서를 통한 구성은 하드웨어와 소프트웨어 개발 사이에서 상호 의존되는 부분입니다. 이는 FPGA 구성 이전에 마이크로프로세서는 정상적으로 동작되어야 하며, 시스템의 주기능을 우선시 하여야 합니다. 독립형 부트 메모리의 사용은 BOM 뿐만 아니라 가격, 보드 풋프린트를 증가시킵니다. 부트 메모리를 온칩화 함으로 해서, 비휘발성 FPGA는 좀 더 나은 솔루션을 제공합니다.작은 풋프린트가 이득인 애플리케이션들 :쪾Handheld barcode scanners쪾Handheld barcode readers쪾Smart phones쪾Instrumentation and sensors쪾Avionics빠른 로지 가능성이 요구되는 애플리케이션온칩, 비휘발성 메모리는 보통 파워 업 후 대략 1ms안에 동작준비가 될 수 있습니다. 이와 대조적으로 SRAM과 하이브리드 FPGA는 10ms 또는 100ms의 구성 시간이 요구됩니다. 그림 2는 웨이크업 시간의 차이에 대해 묘사되어 있습니다. 순수 비휘발성 FPGA의 빠른 로직 가능성을 요구하는 많은 애플리케이션은:쪾Plug & Play Bus Interfaces (PCI, PCI Express, CAN)쪾Power-on-Reset Control쪾Processor Bus Decode쪾FPGA Loaders쪾ASIC Initialization쪾Low Power Designs Using Duty Cycling보안이 요구되는 애플리케이션오늘날 복잡한 시스템에선 ASICs과 마이크로프로세서에 의해 수행되는 기능들을 FPGA로 대체하는 경우가 증가하고 있습니다. 10년 전에는 FPGA가 시스템의 주변영역 기능을 수행하였으나 오늘날엔 주 기능을 담당합니다. 수 백 만 개의 게이트를 포함하는 현재의 FPGA기술은 도용하기에 좋은 목표가 되어 있습니다. FPGA 디자이너는 아래 여러 사항들에 대해 고려할 부분이 있습니다:쪾Cloning쪾Reverse engineering쪾Overbuilding쪾Theft of serviceSRAM FPGAs는 시스템을 파워 업 할 때마다 부트 디바이스를 통해 구성이 필요합니다. 부트 디바이스와 FPGA 사이의 링크는 파워 업 동안에 구성 데이터가 노출되어 있어, 쉽게 도용당할 수 있기 때문에 보안의 중요성을 안고 있습니다. 이 상태는 패키지 안에 비휘발성 메모리를 결부시킨 하이브리드 형태로 개선될 수 있습니다.그러나 상대적으로 다이 상호접속의 접근과 패키징 요소들을 제거하는 것이 요구됩니다. 순수 모노리식 비휘발성 디바이스는 어떤 상호접속도 가지고 있지 않기 때문에 최고의 디자인 보안을 보장 할 수 있습니다.이런 디자인 복제를 막기 위해서는 FPGA가 도용되지 않는 것이 가장 중요한 부분입니다. 보안이 요구되는 전형적인 애플리케이션은:쪾Credit card readers쪾Automatic Teller Machines쪾Weapons systems쪾Gaming systems비휘발성 저장 애플리케이션용량과 직접도가 계속해서 증가하는 비휘발성 FPGA에는 해당 사용자의 디자인에 사용자가 접근하기 쉬운 비휘발성 메모리가 집적되길 원합니다. 보통 이런 요구는 두 가지 카테고리로 구분할 수 있는데, 첫 번째 카테고리는 전자 ID 코드, 버전 코드, 데이터 스탬프, 눈금 셋팅 및 자산 ID 와 같은 데이터를 위한 작은 독립형 EEPROM 메모리의 직접능력입니다. 보통 이런 종류의 메모리는 드물게 시리얼 인터페이스와 같은 형태의 인터페이스로 사용되며, 두 번째 카테고리는 에러 코드, 파워 온 셀프 테스트 로그, 데이터 룩업 테이블 및 마이크로프로세서 코드와 같은 큰 블록의 데이터 직접능력입니다. 보통 쓰기 동작은 상대적으로 드물더라도, 시스템 전반에 영향을 미치는 읽기 동작은 자주 일어납니다.인 필드(In-Field) 업데이트그림 3에서 묘사된 것처럼, 필드에서 개발된 장비라도 FPGA 구성에 대한 업데이트 능력이 점점 중요시 되고 있습니다. 이런 능력은 버그수정 및 새로운 서비스에 빠르게 응답할 수 있는 장점을 장비 공급자에게 제공할 수 있습니다.LatticeXP2 FPGA 제품군래티스의 파운드리 파트너인 일본 후지쓰(Fujitsu)와 공동 개발한, 업계 최고의 비휘발성 FPGA 테크놀로지인 90nm 임베디드 플래시 공정기술로 개발되었습니다. 또한 이전 세대의 LatticeXP 디바이스 대비 50%의 비용이 절감됩니다. LatticeECP2 SRAM 디바이스에 flexiFLASH기능의 Flash cell이 성공적으로 결합된 디바이스입니다.LatticeXP2 아키텍처 - 기능상의 블록LatticeXP2 제품군은 용량에 따라 5K에서 40K까지의 5가지 디바이스로 구성되어 있습니다. 임베디드 블록메모리는 최대 885Kbit까지, 18Kbit의 듀얼 포트 블록단위로 제공됩니다. 작은 스크래치 패드(scratch pad) 메모리 구성을 위하여 LUT(Look-Up Table)는 작은 디스트리뷰트 메모리(distributed memory) 블록으로도 전환이 가능합니다. DSP 애플리케이션 지원을 위해서, 최대 12개의 sysDSP 블록이 있으며, 이는 하드 와이어드 방식의 고성능 파이프라인 곱셈(multiply)과 누산(accumulate) 기능을 제공합니다.그리고 LatticeXP2 디바이스는 최대 4개의 PLL(Phase Locked Loop)을 가지고 있으며 이는 사용자가 그들 디자인에 맞는 클록을 정렬하거나 생성할 수 있도록 해 줍니다.한편 전원 소비는 오늘날 시스템 설계자들에게 있어서, 늘어나는 걱정거리 중 하나입니다. 래티스는 낮은 전원 소비를 위하여 LatticeXP2 제품군의 코어전원을 1.2볼트로 사용하도록 설계하였습니다.추가적으로, 대기전원을 약 33%까지 감소할 수 있도록 내부 회로 디자인도 튜닝하였습니다. 이것은 XP2 제품군 중 가장 큰 디바이스의 용량이 40K LUT로서, 기존 XP제품군의 가장 큰 사이즈인 20K에서 2배로 늘어난데 반하여 대기전원은 34%만 더 소모하는 것으로 설명될 수 있습니다.XP2에서 사용가능한 유저 I/O 핀은 86개에서 540개까지 입니다. 플렉서블(Flexible)한 I/O 버퍼는 LVCMOS, SSTL, HSTL 및 LVDS 등의 널리 쓰이는 I/O 스탠더드를 제공합니다. 이들 버퍼는 DDR(Double Data Rate) 및 소스 싱크로너스(Source Syncronus) 스탠더드의 구현을 쉽게 할 수 있는 프리-엔지니어드(Pre-engineered) I/O로직과 연동되고 있습니다. 이들 조합은 최대 400Mbps의 DDR2 메모리 인터페이스, 최대 750Mbps의 인터페이스가 지원 가능합니다.최대 4개의 PLL이 제공되며, 내부 온칩 오실레이터를 통해 와치독 타이머나 키보드 스캔 로직과 같은 기능에 적용할 수 있습니다. 클록은 두 개의 하이 스피드 에지 클록과 8개의 글로벌 클록, 8개의 지역적 클록으로 분배될 수 있습니다.아래 다이어그램의 왼쪽, 오른쪽에 디바이스 구성용 플래시 메모리를 보실 수 있습니다. 디바이스는 1.2볼트 코어에 다양한 패키지가 제공되며, 그림 4와 표 1에 각각의 디바이스에 대해 묘사되어 있습니다. 그리고 비휘발성 기능에 대해 좀 더 구체적으로 설명될 것입니다.flexiFLASH Details별도의 플래시 메모리 블록을 디바이스 컨피규레이션을 저장용도로 LatticeXP2에 장착하였으며, 이를 flexiFlash 아키텍처라고 명명하였습니다. 전원 인가 또는 사용자 명령(user command)에 따라서, 플래시 메모리에 저장된 데이터는 디바이스의 구성을 위해 SRAM 셀로 전달됩니다.이 전송은 매우 커다란 병렬형태로 이뤄짐으로써, 거의 1ms내에 디바이스 로직이 동작되고, 이는 외부에 boot PROM을 사용하는 SRAM 기반의 FPGA보다 훨씬 빠르고, 시스템 내에 다른 디바이스 보다 먼저 동작합니다. 온칩 플래시 메모리는 그림 5에서 볼 수 있듯이, JTAG또는 SPI 포트를 통해 쓰기가 가능합니다.FlashBAK 메모리큰 용량의 데이터를 저장하기 위해, LatticeXP2 디바이스는 혁신적인 FlashBAK 메모리를 지원합니다. 이전에 설명되었듯이 파워 업 시 EBR은 온칩 플래시 메모리로부터 로딩되는데, 최대 350MHz로 읽기와 쓰기가 가능합니다. FPGA 내부의 시그널 토글링(toggling)을 통해 현재 EBR 콘텐츠를 유지하면서 플래시를 다시쓰기(rewrite)할 수 있습니다. 이 과정은 대략 1초 정도의 시간이 소요되며, 이는 플래시 메모리의 비휘발성 기능과 SRAM의 읽기/쓰기 능력이 결합되어 높은 성능을 얻을 수 있습니다. 용량은166K에서 885Kbit까지 지원됩니다.시리얼 TAG 메모리시리얼(serial)로 접근되는 메모리를 위해, 디바이스 각각은 0.6K와 3.4Kbits사이의 시리얼 TAG 메모리를 포함하고 있습니다. 그림 7에서 볼 수 있듯이, 디바이스의 JTAG 인터페이스 또는 FPGA 로직을 통해 접근할 수 있으며, 특히 디바이스 보안 셋팅과 별개로 접근할 수 있습니다.보안을 위해 제공되는 디바이스 록(Device Lock)전에 언급된 것처럼, 많은 엔지니어는 FPGA내에 보안상 록(Lock)기능을 유지할 수 있기를 원합니다. 물론 FPGA와 SRAM 셀을 물리적으로 검증하는 것은 거의 불가능에 가깝습니다. 보안 비트 스트림은 JTAG 또는 SPI를 통해 검증해서 디바이스 구성에 대한 건을 사전에 예방할 수 있습니다. 또한 도용되는 것을 막기 위해, 플래시에 지우기(erasing)와 다시쓰기(rewriting)를 할 수 있는 64-bits 코드를 가지고 있으며, 좀 더 나은 보안 솔루션으로 OTP(One Time Programmable)모드가 지원됩니다. 이 모드로 적용 시, 더 이상 지우기와 다시쓰기가 불가능합니다.포괄적인 인 필드 업데이트이전에 언급되었듯이, 필드 업데이트의 구현은 최대 업타임(uptime)과 최상의 신뢰성, 높은 보안 등의 요구사항들이 필요한데, LatticeXP2 디바이스는 이를 해결하기 위해 TransFR I/O, Dual-boot 와 128-bit AES 암호화 기능들을 가지고 있다.최대 업타임을 위한 TransFR I/O대부분의 FPGA는 시스템 구성 동안에 트라이-스테이트(tri-state)를 유지합니다. TransFR은 새로운 구성을 I/O상태가 정밀하게 관리되는 동안에 로드될 수 있도록 하며, 로드된 새로운 구성 데이터는 기기가 동작하는 중간에 바로 적용될 수 있습니다. 이는 시스템 중단을 최소화하고, 시스템 업타임을 만족하면서 필드 업데이트를 할 수 있습니다. 그림 8은 TransFR I/O의 네 단계를 보여주고 있습니다. 백그라운드로 온칩 플래시로 로딩될 수 있기 때문에, 새로운 SRAM 구성 로딩은 아주 빠르게 진행됩니다. 이는 I/O에 록을 걸 수 있으며, 2ms보다 적은 시간에 새로운 구성을 적용할 수 있습니다.신뢰성을 위한 듀얼 부트FPGA 구성이 업데이트되는 동안에 전원 또는 통신 문제로 인해 시스템의 비동작 상태 및 구성 실패의 결과를 얻을 수 있습니다. 이는 문제해결을 위해 많은 비용이 필요한 부분입니다. 이에 이런 가능성을 최소화하기 위해, LatticeXP2 디바이스는 외부 SPI 메모리를 통해 듀얼 부트 계획(dual boot scheme)을 사용할 수 있습니다.그림 9를 보면, 전원인가 시 LatticeXP2 디바이스는 온칩 플래시에서 SRAM으로 구성 로딩을 시도하고, 만약 이 과정에서 에러가 발생하면 외부 SPI 메모리를 통해 백업 구성을 읽어갑니다. 이런 동작은 전원 또는 통신의 불능상태 없이 필드 업데이트를 수행할 수 있습니다.디자인 보안을 위한 128-bit AES 암호화LatticeXP2 디바이스는 프로그래밍 데이터의 선택적 128-bit AES 암호화 기능이 있습니다. 수신된 암호화 데이터를, 플래시 메모리에 저장된 사용자 정의 키(user-defined key)와 함께 온칩 해독 엔진을 통해 비암호화합니다. 그림 10에서 기본 동작을 확인할 수 있으며, 인 필드 업데이트동안에도 디자인 데이터를 보호할 수 있습니다.요약디자이너가 비휘발성 디바이스를 선택하는 주 이유는 작은 풋프린트와 인스턴트 온, 그리고 높은 보안입니다. 그러나 비휘발성 데이터 저장과 필드 업데이트 솔루션을 위한 새로운 요구는 최근에서야 생겨났습니다. 이런 모든 요구들은 상대적으로 전형적인 SRAM 솔루션보다 비휘발성 솔루션이 가격적인 면에 우위에 있더라도 반드시 만족되어야만 합니다.오늘날 두 형태의 비휘발성 FPGA인 하이브리드와 모놀리식에서 하이브리드 형태는 작은 풋프린트가 주 요구사항이지만, 모놀리식(순수 비휘발성) 형태는 작은 풋프린트와 인스턴트 온, 높은 보안을 위한 요구사항들을 모두 만족시킬 수 있습니다.90nm 플래시 테크놀로지를 통해, LatticeXP2 FPGA는 비용절감과 더불어 비휘발성 디바이스를 선택하기 위한 주요 내용들을 모두 만족시켜 드립니다.
회원가입 후 이용바랍니다.
개의 댓글
0 / 400
댓글 정렬
BEST댓글
BEST 댓글 답글과 추천수를 합산하여 자동으로 노출됩니다.
댓글삭제
삭제한 댓글은 다시 복구할 수 없습니다.
그래도 삭제하시겠습니까?
댓글수정
댓글 수정은 작성 후 1분내에만 가능합니다.
/ 400
내 댓글 모음
저작권자 © 테크월드뉴스 무단전재 및 재배포 금지