Lattice Automate 4.0 · FPGA-RD-02302-1.0

Automate 4.0에서 FIFO DMA와 SGDMA가 맡는 일

모터 노드의 PDM 데이터가 Main FPGA와 호스트로 이동할 때, EtherConnect·FIFO DMA·SGDMA는 같은 이름의 전송 단계가 아닙니다.

어느 설계의 데이터 경로입니까

Lattice Automate Stack 4.0 레퍼런스 디자인 FPGA-RD-02302-1.0은 Avant-E 보드를 Main System으로, Certus-NX Versa 보드를 Node System으로 사용합니다. 호스트 PC는 Main에 Ethernet으로 연결되고, Main은 모터 제어 명령을 노드에 전달하거나 PDM(Predictive Maintenance) 데이터를 수집합니다. 가이드는 한 체인에 최대 여덟 노드를 설명합니다. 이 숫자는 해당 데모 구성의 범위이며 임의의 EtherConnect 시스템 한도가 아닙니다.

Main의 RISC-V RX는 명령과 상태를 다루고, 노드의 모터 제어·PDM 수집 블록은 센서 데이터를 만듭니다. 데이터가 네트워크에 보였다고 해서 CPU가 모든 바이트를 직접 복사했다고 해석하면 전송 경로를 놓칩니다.

EtherConnect는 명령과 노드 데이터를 중계합니다

Main의 EtherConnect는 manager로, 노드의 EtherConnect는 node로 동작합니다. RISC-V CPU는 레지스터와 인터럽트로 전송을 제어하고, EtherConnect의 FIFO 인터페이스는 대량 데이터를 DMA 블록과 주고받습니다. 가이드가 적은 물리 인터페이스 최대 1 Gbps는 링크 속도 설명이며 애플리케이션이 받는 PDM 데이터 처리량의 실측값이 아닙니다.

Main 쪽 물리 연결은 RGMII이고, 노드 쪽에는 RGMII·SGMII 및 SFP 구성이 설명됩니다. CPU의 레지스터 접근, 전송 완료 신호, 실제 패킷 데이터는 서로 다른 관찰 지점입니다. 따라서 노드 연결 문제와 메모리 버퍼 문제를 하나의 Ethernet 오류로 합치지 않습니다.

FIFO DMA는 PDM 수집 지점에 놓입니다

Automate 가이드의 FIFO DMA에는 Main에서 EtherConnect manager Bus 0으로 받은 PDM 데이터를 모으는 FIFO 인터페이스와, 노드의 모터 제어·PDM 수집 블록에서 나온 데이터를 받는 FIFO 인터페이스가 있습니다. Main 구성은 AXI4, 노드 구성은 AHB-Lite 인터페이스를 사용합니다. CPU가 접근하는 subordinate 인터페이스는 전송을 설정하고, DMA의 manager 인터페이스가 데이터를 옮깁니다.

이 블록에는 목적지 시작·끝 주소와 상태 레지스터가 따로 있습니다. CPU가 목적지 주소를 기록했다고 해서 DMA가 실제로 데이터를 쓴 것은 아닙니다. 생산자 FIFO, 목적지 범위, busy·오류 상태를 각각 확인해야 유실 지점을 좁힐 수 있습니다.

레지스터 주소에는 문서 내부의 불일치도 있습니다. 같은 가이드의 Table 2.5는 STATUS_RD를 Base + 0x10으로, Table 2.10은 Base + 0x1C로 표기합니다. 이 글은 어느 쪽을 실행 주소로 확정하지 않습니다. 실제 접근 주소는 사용 중인 RTL·생성된 헤더와 대조해야 합니다.

SGDMA는 Main의 LPDDR4와 Ethernet MAC을 잇습니다

같은 레퍼런스 디자인의 별도 SGDMA 블록은 Main에서 LPDDR4와 Tri-Speed Ethernet MAC 사이의 패킷 데이터를 옮깁니다. FIFO DMA를 SGDMA의 다른 이름으로 취급하면 노드 PDM 수집과 호스트 Ethernet 송수신의 경계를 지울 수 있습니다. Main의 CPU는 제어를 맡고, 전송 엔진이 패킷 데이터를 이동시킵니다.

Lattice의 별도 SGDMA Controller IP Core 가이드 FPGA-IPUG-02131-1.7은 일반 IP 동작 예시를 설명합니다. MM2S는 메모리의 버퍼 디스크립터를 읽은 뒤 AXI4에서 데이터를 가져와 AXI-Stream으로 내보내고, S2MM은 AXI-Stream 데이터를 FIFO에 받은 뒤 AXI4로 메모리에 씁니다. S2MM 입력이 메모리 쓰기보다 빠르면 TREADY를 낮춰 역압을 줄 수 있습니다. 이 2025년 말 IP 가이드의 레지스터 배치나 버전이 2025년 초 Automate 4.0 데모에 그대로 통합됐다고 단정하지 않습니다.

PDM 수집과 호스트 패킷 경로
  1. 노드 수집

    모터·PDM 수집 블록과 노드 FIFO DMA

  2. Main의 수집 경로

    EtherConnect와 Main FIFO DMA, 목적지 메모리

  3. 호스트 송수신

    LPDDR4와 SGDMA, TSE MAC

실제 보드에서는 경계별로 확인해야 합니다

PDM 데이터가 호스트에 도착하지 않는다면 먼저 노드 수집과 EtherConnect 링크·패킷 상태를 보고, 다음으로 FIFO DMA의 목적지와 전송 상태, Main 메모리 내용을 확인합니다. 이어 SGDMA의 버퍼 디스크립터·완료 상태, TSE MAC과 호스트 애플리케이션을 확인해야 합니다. 이는 문서 구조에서 도출한 진단 순서이며 이 작업에서 보드를 실행해 재현한 결과는 아닙니다.

이 글은 공식 문서의 설계 경계만 설명합니다. FIFO 깊이, 각 방향의 지연, 1 Gbps 링크에서 실제 사용 가능한 처리량, 특정 RTL·드라이버 ABI는 소스와 보드 측정 없이 보장할 수 없습니다.

공식 근거