[EN]: 영문 사이트로 연결
회원 정보 - 계정 정보 see this page in Englishsee this page in Japanese

비휘발성 재컨피규레이션 FPGA


LFXP10 Programming Times
FLASH to SRAM 1ms
FLASH via IEEE 1149.1 2.0s*
FLASH via sys CONFIG 2.0s*
SRAM via IEEE 1149.1 100ms
SRAM via sys CONFIG 11ms
* Extra erase cycle time on average 10s

시장에서 대부분의 FPGA 는 전원투입시에 비어있거나 사용자 기능을 수행하지않는 SRAM 기반입니다 . 이러한 FPGA 의 SRAM 셀은 외부 Boot 메모리로부터 사용자 기능을 기반으로하는 컨피규레이션 데이터를 로드받아야 합니다 . Boot 메모리로부터 컨피규레이션 데이터의 다운로드는 수십에서 수백 밀리세컨드의 시간이 소요됩니다 .


비휘발성 FPGA 는 긴 컨피규레이션 시간과 관련된 외부 boot 메모리의 필요성을 제거함과 동시에 칩상에 컨피규레이션 데이터를 저장하고 있습니다 . 비휘발성을 제공하는 하나의 접근 방법으로는 anti-fuse 기술있는데 , 이러한 FPGA 는 비휘발성임에도 불구하고 재컨피규레이션을 할 수 없습니다 : 사용자의 기능이 바뀔때마다 프로그램을 하기위해서는 새로운 FPGA 로 교체해야합니다 . LatticeXP 패밀리는 비휘발성이며 재컨피규레이션이 가능합니다 .

LatticeXP 컨피규레이션 메모리

LatticeXP 패밀리는 하나의 같은 디바이스에 SRAM 과 플래쉬 컨피규레이션 메모리가 결합되어있습니다 . SRAM 메모리 셀은 LatticeXP 디바이스의 로직동작을 관리하며 , 플래메모리 셀은 컨피규레이션 데이터를 저장합니다 . 두 메모리간에는 넓은 데이터 경로가 연결되어있습니다 . 전원인가시에 SRAM 비트들은 전원이 안정된 후 1ms 이내로 이 넓은 버스를 통하여 칩상의 플래쉬 메모리로부터 로드됩니다 .

추가적으로 , 디바이스가 동작중 ( 사용자 모드 ) 에 SRAM 메모리는 디바이스의 컨피규레이션 포트를 적절한 명령에 의해 , 혹은 핀 토글링에 의해 플래쉬 메모리로부터 재컨피규레이션 될 수 있습니다 . 그림 1 은 LatticeXP 디바이스안에 서로 다른 메모리의 동작을 보여주고 있습니다 . 각각의 플래쉬 메모리와 SRAM 메모리는 JTAG 포트나 sysCONFIG 포트 ( 마이크로프로세서 형태의 인터페이스 ) 를 통하여 재프로그램 / 재컨피규래이션할 수 있습니다 .

XP Configuration Memories

Figure 1 - Configuration Memories in the LatticeXP


즉시 동작

Stopwatch온칩 비휘발성 메모리는 LatticeXP 디바이스가 전원이 안정된 1ms이내에 동작준비를 하게됩니다. 이것은 컨피규레이션을 위해 수십에서 수백밀리세컨드를 요구하는 SRAM기반의 FPGA디바이스에 대비되는 점입니다. 비휘발성 FPGA의 빠른 로직 사용능력은 시스템 디자인의 복잡성을 줄여주고, 전원 관리, 컨트롤 로직과 버스와 버스 브릿지/인터페이스를 포함한 많은 공통 어플리케이션에서 권장할만한 특색을 지니고 있습니다.

뛰어난 보안성

High Security오늘날 FPGA는 전통적인 ASIC과 마이크로프로세서에 의해 수행되었던 기능을 대체하면서 시스템의 핵심으로 자리잡고 있습니다. 현재 수백만의 FPGA게이트인 FPGA는 불법복제의 목표가 되고 있습니다. FPGA디자이너들은 복제, 리버스 엔지니어링, 서비스 절도에 관하여 점점 관심을 갖고 있습니다. 시스템 디자이너에 의해 사용되는 대부분의 일반적인 SRAM FPGA는 시스템 전원이 인가될 때마다 boot디바이스로부터 컨피규레이션이 될 필요가 있습니다. FPGA와 boot디바이스간의 연결은 중요한 보안의 위험에 노출되어있습니다. 컨피규레이션 데이터는 전원이 인가되어있는 동안에 노출되어있고 복제될 수 있습니다. Readback을 금지시키는 보안구조를 가지고 있는 LatticeXP디바이스는 보안의 위험을 제거할 수 있습니다.

하나의 칩 솔루션

Single Chip Solution전통적인 SRAM FPGA는 전원인가시에 boot메모리로부터 SRAM 컨피규레이션 로드를 요구합니다. 때때로 컨피규레이션 로딩은 보드상의 마이크로프로세서를 통하거나, 혹은 stand-alone boot메모리가 이용된 어플리케이션에서 이루어집니다. 그 어느것도 이상적이지 못합니다. 시스템 마이크로프로세서로부터의 booting은 하드웨어와 소프트웨어간에 추가적인 상호작용이 있어야 합니다. 그것은 또한 마이크로프로세서가 시스템 초기 시작 기능을 위한 FPGA의 사용을 금지하면서, FPGA의 컨피규레이션 전에 동작하여야 합니다. Stand-alone boot메모리는 가격과 관련된 자재비(BOM)와 보드 스페이스를 증가시킵니다. LatticeXP 온칩상에 boot 메모리 집적에 의해 선택적으로 더 훌륭한 솔루션을 제공합니다.

실시간 재프로그래밍

Real Time ProgrammingLatticeXP 디바이스는 재프로그램과 재컨피규레이션 모드를 가지고 있습니다. LatticeXP가 동작하고 있는 중이라 할지라도, 내부 컨피규레이션 플래쉬 메모리는 1149.1포트를 통하여 백그라운드상태에서 재프로그램될 수 있습니다. 원하는 SRAM 컨피규레이션 메모리는 핀 토글링 혹은 디바이스 컨피규레이션 포트를 통한 적절한 명령에 의해 1ms이내에서 플래쉬 메모리로부터 리컨피규레이션 될 수 있습니다. 추가적으로 내부 SRAM 컨피규레이션은 sysCONFIG 병렬 포트를 이용하여 10ms이내에서 재프로그램될 수 있습니다.

단독적 I/O 상태 유지

이 선택사항의 특징은 리프로그램이 행하여지는 시스템에 있어서 유연성을 제공합니다. LatticeXP 디바이스는 플래쉬에서 SRAM메모리 리프레쉬 명령동안, 혹은 비휘발성 메모리(1532 모드) 프로그램을 하는 동안에 특정 I/O를 High, Low, Tri-state등으로 설정할 수 있습니다.