Lattice Avant-X GSRD v1.0 · Propel/Radiant 2026.1

FPGA에서 Primary/Golden 이미지로 복구하는 과정

비트스트림과 실행할 소프트웨어는 함께 배포되지만 서로 다른 단계에서 검사됩니다. Lattice Avant-X GSRD의 실제 부팅 흐름으로 그 경계를 읽습니다.

이 글이 설명하는 설계의 범위

Lattice의 2026년 Avant-X Golden System Reference Design(GSRD) v1.0은 Avant-X70 평가 보드, Propel/Radiant 2026.1, RISC-V RX CPU를 대상으로 합니다. 다른 FPGA 계열이나 임의의 제품에 동일한 메모리 크기·부팅 순서·복구 정책이 있다고 가정하지 않습니다.

이 예시는 Primary와 Golden 각각에 FPGA 비트스트림, 부트로더, FreeRTOS 애플리케이션을 둡니다. 외부 SPI 플래시에 두 이미지 세트를 저장하고, 시스템 메모리에 포함된 부트로더가 애플리케이션을 외부 LPDDR4로 옮깁니다. Golden은 이 특정 레퍼런스 디자인의 대체 경로이며 모든 오류의 자동 복구를 보장하는 말이 아닙니다.

Avant-E와 CertusPro-NX도 같은 복구 경계를 보여 줍니다

2025년 Avant-E GSRD v1.0과 CertusPro-NX GSRD v2.0 가이드는 2026년 Avant-X 설계와 별개입니다. 두 2025년 설계에서 베어메탈 부트로더는 GPIO·UART를 설정하고 LPDDR4 PLL 잠금과 메모리 훈련을 기다린 뒤, QSPI 플래시의 애플리케이션을 LPDDR4로 복사합니다. 복사한 펌웨어 전체를 crc16_ccit()로 검사하고 Primary 애플리케이션 CRC가 실패하면 Multi-Boot Configuration 모듈로 Golden 비트스트림을 선택합니다. 문서는 이 소프트웨어 실패 전환을 Primary GSRD에만 사용한다고 명시합니다.

복구 원리가 비슷해도 인터페이스와 주변장치 구현을 혼합하면 안 됩니다. Avant-E 예시의 Ethernet 연결은 RGMII와 MDIO PHY 초기화를 사용하지만, CertusPro-NX 예시는 SGMII PCS/SFP와 I2C PHY 초기화를 설명합니다. 두 예시의 QSPI 애플리케이션 읽기 경로를 앞에서 설명한 Avant-X의 Octal SPI 컨트롤러 경로와 동일한 레지스터·드라이버 설정으로 옮길 수 없습니다. 세 가이드의 CRC 기반 전환은 이미지 출처 인증이나 두 이미지가 모두 손상됐을 때의 복구 보증도 아닙니다.

두 검사는 실행 주체와 대상이 다릅니다

전원을 켜면 FPGA Configuration Engine이 Primary 비트스트림을 장치 SRAM에 적재하면서 비트스트림 CRC를 검사합니다. 이 단계는 프로세서가 애플리케이션을 실행하기 전의 하드웨어 구성 검사입니다.

구성이 끝나면 RISC-V RX가 비트스트림에 포함된 System Memory의 부트로더를 실행합니다. 부트로더는 UART·GPIO, LPDDR4 메모리 컨트롤러와 Octal SPI 컨트롤러를 초기화하고, 외부 SPI 플래시의 애플리케이션을 LPDDR4로 복사합니다. 이때 LPDDR4의 PLL 잠금과 메모리 훈련 완료를 확인하는 순서도 포함됩니다.

복사가 끝나면 부트로더가 LPDDR4에 놓인 애플리케이션 전체의 CRC를 기준값과 대조합니다. 통과한 경우에만 애플리케이션 시작 주소로 이동해 FreeRTOS를 실행합니다. 비트스트림 CRC를 통과했다고 해서 소프트웨어 CRC까지 통과한 것은 아닙니다.

서로 다른 세 가지 확인
  1. FPGA 구성

    Configuration Engine: 비트스트림 CRC

  2. 애플리케이션

    부트로더: LPDDR4에 복사한 코드의 CRC

  3. 이미지 출처

    이 CRC 흐름이 서명 검증을 뜻하지는 않습니다.

Primary 애플리케이션 검사가 실패하면

Primary 애플리케이션 CRC가 맞지 않으면 부트로더는 Multi-Boot Configuration 모듈에 재구성을 요청합니다. 이 레퍼런스 디자인에서는 이어지는 Golden FPGA 비트스트림과 대응 소프트웨어를 적재하고 같은 검사를 반복합니다. Primary 비트스트림 안에는 이 전환을 위한 멀티부트 기능이 있지만 Golden 비트스트림에는 다시 멀티부트를 활성화하지 않습니다.

공식 가이드는 비트스트림 오류와 애플리케이션 오류의 전환 경로를 설명하지만, 두 이미지가 모두 손상된 경우의 무조건적인 복구나 현장 업데이트의 원자성을 입증하지 않습니다. 시스템 설계에서는 두 이미지의 플래시 배치, 업데이트 순서, 전원이 끊겼을 때의 상태와 마지막으로 부팅 가능한 이미지의 보존을 별도로 검증해야 합니다.

데이터 경로와 제어 경로도 분리됩니다

이 GSRD의 SoC는 RISC-V RX, Octal SPI, DDR Memory Controller, Scatter-Gather DMA, Tri-Speed Ethernet을 조합합니다. 문서는 AXI-MM과 AXI-Stream을 데이터 전송에, APB를 제어에 사용하는 연결을 구분합니다. 따라서 APB 레지스터를 설정하는 일과 DMA가 메모리의 패킷 데이터를 Ethernet MAC으로 옮기는 일은 같은 버스 동작이 아닙니다.

애플리케이션이 실행된 뒤에는 FreeRTOS와 lwIP 예시가 Ethernet ICMP 응답을 보여줍니다. 이 ping 동작은 레퍼런스 디자인의 기능 확인 예시이며 네트워크 처리량이나 오류 복구 시간을 보장하는 측정 결과가 아닙니다.

Octal SPI는 여기서 IP 이름이지 실제 데이터 선이 여덟 개라는 뜻이 아닙니다. Avant-X 가이드 §2.5.6은 이 GSRD가 Quad SPI 플래시를 사용하므로 해당 컨트롤러를 4선 모드로 설정한다고 명시합니다. 컨트롤러 이름과 보드에서 선택한 버스 폭을 구분해야 합니다.

CRC로 복구된다고 보안이 검증된 것은 아닙니다

이 가이드가 명시한 검사는 비트스트림과 애플리케이션의 CRC입니다. CRC는 변경을 감지하는 데 쓸 수 있지만, 공격자가 만든 이미지의 출처를 인증하는 디지털 서명 검증을 의미하지 않습니다. 이 GSRD만을 근거로 Secure Boot 또는 NIST SP 800-193 적합성을 주장하지 않습니다.

플랫폼 펌웨어의 인증·보호·복구 정책은 별도의 Lattice Sentry PFR 사용자 가이드가 설명하는 기능 범위에서 검토해야 합니다. 동일한 Golden이라는 이름을 쓰더라도 GSRD의 CRC 기반 대체 부팅과 PFR의 신뢰 정책을 하나의 기능으로 합치지 않습니다.

공식 근거