Visible to Intel only — GUID: fax1692899693335
Ixiasoft
2.1.1.3. FPGA Fabric Design
- 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.
A block diagram of the FPGA Fabric design is shown in the following figure:
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