SRAM 기반 FPGA가 NVM 기반 FPGA보다 더 많이 사용되는 이유는 무엇입니까?


20

SRAM 기반 FPGA는 전원을 끈 후 비트 스트림을 다시로드해야합니다. 반면 비 휘발성 기반은 필요하지 않습니다.

NVM 기반보다 SRAM FPGA에 대해 더 많은 실험과 보안 연구가 수행되는 이유가 궁금합니다. 보안 제한에 관계없이 휘발성 기술이 더 안전한 것으로 보입니다 (보안 부팅을 보장 할 때).

(PS : 나는 통계가 없다, 그것은 개인적인 관찰이다)


통계에 대해서는 잘 모르겠지만 FLASH FPGA는 SRAM에 비해 비교적 새롭습니다. 그래서 수있는 데이터에 해당하는 경우 원인이됩니다.
유진 Sh.

3
비용을 비교 했습니까? 나는 비 휘발성 것들이 더 비싸다고 상상할 것입니다.
난로

@EugeneSh 나는 통계가 없습니다, 그것은 개인적인 관찰입니다 (사람들을 혼동하지 않기 위해 질문에 PS로 업데이트했습니다)
Lavender

내가 만진 마지막 프로젝트는 다른 기능을 위해 여러 번 재구성했기 때문에 sram을 사용했습니다.
PlasmaHH

답변:


32

주요 원인은 SRAM이 실제 논리를 구현하는 데 사용되는 것과 동일한 물리 프로세스와 매우 호환된다는 것입니다. 실제로 요즘 대부분의 FPGA는 LUT (조회 테이블)를 기반으로하며, 이는 실제로 아주 작은 RAM 자체입니다.

반면, EEPROM (비 휘발성 메모리)을 구축하는 데 필요한 프로세스에는 특별한 산화물 두께 등을 사용하여 플로팅 게이트를 생성하기위한 추가 단계가 필요합니다.이 프로세스는 로직 / SRAM 프로세스와 직접 호환되지 않습니다. 이것은 비 휘발성 FPGA가 두 영역에서 다소 타협한다는 것을 의미합니다.


21

관련된 제조 공정에 관한 Dave Tweed의 답변 외에도 대부분의 플래시 기반 FPGA는 여전히 SRAM을 사용하여 패브릭을 구동합니다. 비트 스트림은 기존의 FPGA와 마찬가지로 플래시에서 SRAM으로로드되며, 유일한 차이점은 플래시가 내부에 있다는 것입니다. 이 아키텍처는 데이터 시트 및 애플리케이션 노트를 볼 때 분명합니다. 특히, Lattice MachXO2 / 3와 같은 일부 장치는 장치가 실행되는 동안 플래시를 다시 프로그래밍하는 기능을 지원합니다. 이는 장치가 실제로 플래시가 아닌 SRAM에서 실제로 실행되기 때문에 가능합니다. 따라서 "플래시 기반"FPGA 에는 SRAM 외에 플래시 필요하므로 다이 영역이 더 필요합니다.

보안과 관련하여 FPGA 시작 프로세스는 비트 스트림을 캡처 할 수 있다는 점에서 약점이 될 수 있습니다. 이러한 격차를 해소하기 위해 많은 FPGA는 이제 비트 스트림 암호화에 대한 지원을 통합합니다. 비트 스트림 암호화는 FPGA 내의 전용 메모리에 저장된 보안 키를 기반으로합니다. 비트 스트림 이미지는이 키로 암호화되어 구성 메모리에로드 된 다음 FPGA가 시작될 때 암호화 된 비트 스트림을 읽고이를로드 할 때이를 해독합니다 (외부 메모리가 필요한 일부 마이크로 컨트롤러는 원칙은 거의 같습니다.)


2
실제로, 첫 번째 단락은 비교적 제한된 FPGA 세트에 해당됩니다. 많은 플래시 기반 FPGA는 "인스턴트 온"(많은 애플리케이션에서 강력한 판매 지점)으로 광고되며, 이는 내부 전송이 없음을 의미합니다. 플래시 셀은 연결과 로직을 직접 제어합니다.
Dave Tweed

3
"인스턴트 온"디바이스조차도 여전히 CRAM을로드해야하는 것으로 보아 외부 플래시가 필요한 부분보다 훨씬 빠릅니다 (내부 플래시의 인터페이스가 더 넓기 때문에). 예를 들어 MAX10은 "instant on"이지만 p.28을 참조하십시오 : intel.com/content/dam/altera-www/global/en_US/pdfs/literature/… 그러나 CRAM- 덜 아키텍처 나는 그것에 대해 배우고 싶습니다.
ajb

2
Actel (현재 Microsemi)을 살펴보십시오. 안티 퓨즈 및 플래시 기반 장치는 모두 제로 복사입니다.
Dave Tweed

8

무엇보다도 요구 사항에 따라 다릅니다. 크기, 무게 및 전력 (SWaP)은 일반적으로 IC의 주요 동인이지만 이러한 요구 사항으로 인해 ASIC을 개발하지 않을 경우 성능은 다음 고려 사항이므로 어쨌든 ASIC으로 되돌아 갈 수 있습니다. 그러나 SWaP 트레이드 오프를 감당할 수 있다면 FPGA를 사용할 수 있습니다.

  • FLASH 기반 FPGA는 "즉시"구성되므로 "시간 없음"이 필요합니다. 당신의 디자인은 이것을 요구할 수 있습니다.
  • 플래시 기술은 SRAM보다 낮은 전력
  • FLASH 기반 FPGA는 BOOT PROM이 필요하지 않으므로 하나의 칩과 2 개 이상의 칩이 필요합니다.
  • 이전 상태에서 전원을 켜야 할 수도 있습니다.
  • FLASH 기반은 더 많은 Rad-Tolerant 솔루션을 제공합니다. SRAM 기반 FPGA에는 방사선 요구 사항 또는 일반적인 SEU를 처리 할 수있는 방법이 있지만 Microsemi는 "강화 된 기술"을 제공합니다.

FLASH 기반 FPGA (Actel, 현재 Microsemi)는 전통적으로 SRAM 기반 FPGA로 달성 할 수있는 밀도 나 성능을 갖지 못 했으므로 성능이 주요 요인 인 경우 Xilinx 또는 Altera (현재 Intel)를 선택하거나 아마도 격자.

본질적으로, 당신은 당신의 시스템과 IC의 요구 사항에 의해 특별히 좌우됩니다. 초기에 이러한 요구 사항을 해결하고 다양한 FPGA (스프레드 시트)에 대한 거래 연구를 수행합니다. SWaP와 성능, 반복되는 비용은 프로젝트 수석 엔지니어 / 관리자에게 피드백을 제공하는 팀 (시스템, CCA, 아마도 SW)과 반복 할 주요 고려 사항입니다. 신뢰성, 제조 가능성 등과 같은 다른 문제는 일반적으로 해당 조직의 다른 팀 구성원이 제공하지만 일반적으로 초기 거래가 없으면 의미가 없으며 일반적으로 선택을 방해하지 않습니다.

"SRAM vs FLASH FPGAs"를 검색하면 웹에 기사가 있지만 데이터 시트를 사용하는 요구 사항에 대한 무역 연구에서 다른 것보다 더 많은 정보를 얻을 수 있습니다.


2

보안 측면을 해결하기 위해 대부분의 최신 SRAM FPGA는 일반적으로 256 비트 AES와 같은 최신 암호화 표준을 사용하여 암호화 된 스트림 으로 구성 할 수 있습니다 . 구성을 내부에 저장하는 것만 큼 안전 할 수도 있습니다. 디핑 된 칩에서 개인 키를 추출 할 수있는 전용 어태커도 내부 플래시를 읽을 수 있습니다.

플래시 기반 FPGA는 일반적으로 구현이 다소 단순하거나 (대형 SRAM FPGA가 필요하지 않은) 또는 즉시 시작이 필요할 때 사용됩니다.


플래시 기반 FPGA도 보안 문제를 해결할 수 있다고 주장합니다. : 차동 전력 분석 (DPA)를 사용하여 공격에 대한 완화에 관한 EETimes의에서 문서를 참조 eetimes.com/document.asp?doc_id=1327477
boink을

@boink 사실, 구형 FPGA는 특히 취약 하지만 ( :) 상황이 개선 될 것으로 예상됩니다. 귀하가 참조하는 기사는 DPA 대책을 광고하는 것으로 보입니다.
Dmitry Grigoryev
당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.