Intel® Simics® Simulator for Intel® FPGAs: Intel Agilex® 5 E-Series Virtual Platform User Guide

ID 786901
Date 12/04/2023
Public

A newer version of this document is available. Customers should click here to go to the newest version.

Document Table of Contents

2.1.1.3. FPGA Fabric Design

The FPGA fabric design corresponds to the logic model implemented in the FPGA fabric. In the 23.4 release, this model includes the following components instantiated under the qsys_top component:
  • FPGA-to-HPS bridge memory spaces were created under the FPGA fabric design and are connected to the HPS and SDRAM components through the actual FPGA-to-HPS bridges in the HPS. Initiators in the FPGA logic model use these memory spaces to start read/write operations directed to the HPS or SDRAM components.
    • The FPGA to HPS memory space (fpga2hps_mem_space) is connected to HPS through the FPGA to HPS bridge (fpga2hps).
    • The FPGA to SDRAM memory space (f2sdram_mem_space) is connected to SDRAM through the FPGA to SDRAM bridge (f2sdram).
  • Example design corresponding to an On-Chip memory.
  • Peripheral subsystem that includes the same example design with the On-Chip memory.
    Note: Eventually, the example design instances will be replaced by the FPGA peripheral IPs to match GHRD.

Each of the two On-Chip memories included in the FPGA fabric design is connected to HPS-to-FPGA bridges (one to the hps2fpga bridge and other to the lwhps2fpga bridge). HPS can access the On-Chip memory through the bridges for read and write operations. The base address offset mapped to the corresponding HPS-to-FPGA bridge (base_addr parameter) in this virtual platform is set to 0x00. The On-chip memory device is modeled as a DML device using the example_design.dml file, and it is instantiated in the fabric example design, which is implemented as a Python script named sm_fabric_example_design_comp.py.

Note: In the current implementation of this virtual platform, all bridges (FPGA/HPS in both directions) are released from reset at POR by the SDM mailbox model. However, in the real hardware, the HPS software performs this task.

A block diagram of the FPGA Fabric design is shown in the following figure:

Figure 2. FPGA Fabric Design Block Diagram

The hierarchical names of the FPGA Fabric design components are:

  • FPGA example design connected to hps2fpga bridge: system.board.fpga.soc_inst.example_design
  • Peripheral subsystem: system.board.fpga.soc_inst.periph_subsys
  • FPGA example design connected to lwhps2fpga: system.board.fpga.soc_inst.periph_subsys.example_design_lw
  • FPGA-to-HPS bridge memory space for HPS (fpga2hps_mem_space): system.board.fpga.soc_inst.fpga2hps_mem_space
  • FPGA-to-HPS bridge memory space for SDRAM (f2sdram_mem_space): system.board.fpga.soc_inst.f2sdram_mem_space