Hard Processor System Component Reference Manual: Agilex™ 5 SoCs
ID
813752
Date
4/10/2025
Public
A newer version of this document is available. Customers should click here to go to the newest version.
1. Introduction to the Agilex™ 5 Hard Processor System Component
2. Configuring the Agilex™ 5 Hard Processor System Component
3. Simulating the Agilex™ 5 HPS Component
4. Simulating the Agilex™ 5 HPS bridges (H2F, LWH2F, and F2SDRAM)
5. Design Guidelines
6. Document Revision History for the Hard Processor System Component Reference Manual Agilex™ 5 SoCs
2.1. Parameterizing the HPS Component
2.2. HPS-FPGA Interfaces
2.3. SDRAM
2.4. HPS Clocks, Reset, Power
2.5. I/O Delays
2.6. Pin Mux and Peripherals
2.7. Generating and Compiling the HPS Component
2.8. Using the Address Span Extender Component
2.9. Configuring the Agilex™ 5 Hard Processor System Component Revision History
2.2.1.1. Enable MPU Standby and Event Signals
2.2.1.2. Enable General Purpose Signals
2.2.1.3. Enable Debug APB* Interface
2.2.1.4. Enable System Trace Macrocell (STM) Hardware Events
2.2.1.5. Enable SWJ-DP JTAG Interface
2.2.1.6. Enable FPGA Cross Trigger Interface
2.2.1.7. Enable AMBA* Trace Bus (ATB)
2.3.1. Configurations for HPS IP
2.3.2. Configurations for HPS EMIF IP
2.3.3. Graphical Connections of HPS to HPS-EMIF
2.3.4. Configuration when using ECC
2.3.5. Configuration of HPS EMIF Calibration Settings
2.3.6. Supported Memory Protocols Among Device Families
2.3.7. IO96 Bank and Lane Usage for HPS EMIF
2.3.8. Quartus Report of I/O Bank Usage
2.3.9. Debugging with the External Memory Interface Debug Toolkit
4.3.1. my_simple_tb.sv
- Locate simple_tb.v and copy it to your own file.
- cd <project directory>/simple_tb/simple_tb/sim/
- cp simple_tb.v my_simple_tb.sv
- Edit the newly created mysimple_tb.sv file and add the function calls highlighted below, as well as the optional delay code afterward. These function calls test each bridge and details are provided in the later section.
// my_simple_tb.sv // Generated using ACDS version 25.1 105 `timescale 1 ps / 1 ps module simple_tb ( ); wire simple_inst_clk_bfm_clk_clk; // simple_inst_clk_bfm:clk -> [simple_inst:clk_clk, simple_inst_reset_bfm:clk] wire simple_inst_reset_bfm_reset_reset; // simple_inst_reset_bfm:reset -> simple_inst:reset_reset simple_inst_clk_bfm_ip simple_inst_clk_bfm ( .clk (simple_inst_clk_bfm_clk_clk) // output, width = 1, clk.clk ); simple_inst_reset_bfm_ip simple_inst_reset_bfm ( .reset (simple_inst_reset_bfm_reset_reset), // output, width = 1, reset.reset .clk (simple_inst_clk_bfm_clk_clk) // input, width = 1, clk.clk ); simple simple_inst ( .clk_clk (simple_inst_clk_bfm_clk_clk), // input, width = 1, clk.clk .reset_reset (simple_inst_reset_bfm_reset_reset) // input, width = 1, reset.reset ); // call the functions which test the bridges test_lwh2f lwh2f_test_m (); test_h2f_128b h2f_test_m (); test_f2sdram_256b f2sdram_test_m (); initial begin #20000000 // optional delay - if timescale is 1ps/1ps, then 20000000 = 20ns $finish; end endmodule