rsyocto is loading...

Shared System Memory Design

Shared System Memory (SDRAM) (z. B. DDR3/DDR4) ist ein Konzept von SoC-FPGAs, welches den gleichen Speicherpool für FPGA Soft-IP Module und für das Arm® Prozessorsystem verwendet.

Shared Memory SoC FPGA system


Vorteile von shared System Memory

im Vergleich zu zwei unabhänigen System Speicher (SDRAM) Quellen getrennt für die FPGA- and Arm® Welt

  • Vereinfacht die Hardware Komplexität und die BOM (bill of materials) mit einem einzigen Speicher System
  • Hochrangiges Zusammenführen des Arm® Prozessorsystems und der FPGA-Fabric,
    indem Embedded Linux Zugriff auf den FPGA-Speicherplatz ermöglicht wird
  • Verwendung von Hochgeschwindigkeits-Shared-Memory-Schnittstellen zwischen FPGA- und Arm® Welt ist umsetzbar

Unsere Erfahrung zeigt, dass ein komplexer und weitreichender Designaufwand erforderlich ist, um eine hohe Speicherleistung zu erreichen, die die Geschwindigkeit der FPGA-Fabric nicht einschränkt. Dies beinhaltet zum Beispiel die Bereiche FPGA Interface-, Linux Bootloader, Linux Kernel Design mit hoher Optimierung.

Wir haben langjährige Erfahrung mit dem External Memory Interface (EMIF) der Intel® Arria® 10- and Intel® Agilex™ Serie und mit dem SDRAM Speicherdesign der Intel® Cyclone® V Familie.


Service Portfolio

  • System Memory (SDRAM) (DDR3,DDR4) conception and performance pre-calculation to achieve the required performance
  • System Memory Controller (SDRAM) configuration for High-End Intel® ® FPGAs
  • Implementation of advanced Memory Optimization features, such as Memory pre-charge and bank interleaving
  • System Memory Controller debugging, calibration and Simulation
  • Linux Bootloader and Linux Kernel Optimization with custom Linux Kernel Drivers for the highest shared system Memory performance
  • High-speed Arm® AMBA® AXI Bridge Interface Design for shared Memory data exchange
  • DMA implementation (e.g. modular Scatter-Gather Direct Memory Access (mSGDMA))

Verwendete Tools

  • Intel® Quartus® Prime
  • Intel® External Memory Interface Toolkit (for the Intel® Arria® 10 SX)
  • MentorGraphics® (Siemens® EDA) ModelSim™
  • Arm® Entwicklung Studio (DS-5) with Streamline
  • OpenEmbbedded Yocto Project
  • cocotb (for Python-based Testbench Design and Simulation)
  • TCL- and Python-Scripts (for system verification, build automation,...)
  • MathWorks® MATLAB™ (for Simulation input file generation)