Visible to Intel only — GUID: fax1692899693335
Ixiasoft
Visible to Intel only — GUID: fax1692899693335
Ixiasoft
2.1.1.3. FPGA Fabric Design
- FPGA-to-HPS bridge memory spaces are 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).
- On-Chip memory example design with read/write capabilities connected to the hps2fpga bridge.
- Peripheral subsystem includes the model of three parallel input/output cores for a dip switch, a push button, and LEDs. These cores are connected via the lwhps2fpga bridge.
HPS can access the On-Chip memory and the peripheral components through the HPS-to-FPGA bridges.
For the On-Chip memory example design, the base address offset mapped to the corresponding hps2fpga 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 is instantiated in the fabric example design, which is implemented as a Python script named sm_fabric_example_design_comp.py.
The peripheral subsystem is mapped under the lwhps2fpga bridge at a 0x20000000 address. The peripheral subsystem is implemented as a Python script in the sm_ghrd_subsys_periph_comp.py file. Here, the IP components are instantiated and mapped at their memory region (relative to the mapping address indicated above). The DIP switch and push button can trigger an interrupt to the HPS on the assertion of the corresponding input signal. The following table describes the interrupts defined and their connections with the HPS under the qsys_top component:
Component | Interrupt | HPS Interrupt Connection |
---|---|---|
button_pio | periph_button_irq | f2s_fpga_irq[0] – SIP 49 |
dipsw_pio | periph_dipsw_irq | f2s_fpga_irq[1] – SIP 50 |
The following diagram shows the peripheral subsystem interrupts connection:
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 On-Chip memory example design connected to hps2fpga bridge: system.board.fpga.soc_inst.example_design
- Peripheral subsystem components connected to lwhps2fpga bridge:
- system.board.fpga.soc_inst.periph_subsys
- system.board.fpga.soc_inst.periph_subsys.button_pio
- system.board.fpga.soc_inst.periph_subsys.dipsw_pio
- system.board.fpga.soc_inst.periph_subsys.led_pio
- 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