Visible to Intel only — GUID: szv1557328315077
Ixiasoft
1. Introduction to the Intel® Agilex™ Device Design Guidelines
2. System Specification
3. Device Selection
4. Security Considerations
5. Design Entry
6. Board and Software Considerations
7. Design Implementation, Analysis, Optimization, and Verification
8. Debugging
9. Embedded Software Design Guidelines for Intel® Agilex™ SoC FPGAs
5.1.1. Firewall Planning
5.1.2. Boot And Configuration Considerations
5.1.3. HPS Clocking and Reset Design Considerations
5.1.4. Reset Configuration
5.1.5. HPS Pin Multiplexing Design Considerations
5.1.6. HPS I/O Settings: Constraints and Drive Strengths
5.1.7. Design Guidelines for HPS Interfaces
5.1.8. Interfacing between the FPGA and HPS
5.1.9. Implementing the Intel® Agilex™ HPS Component
5.1.8.1. Overview of HPS Memory-Mapped Interfaces
Timing Closure Considerations
GUIDELINE: Intel® recommends that you protect any area of the memory map which is not mapped to a slave, and also add protection against the possibility of non-reactive slaves.
In addition, it should be ensured that all slaves and buses are reset cleanly if the FPGA logic, or the HPS are reset. This provides clean initialization and clearing of stale transactions in the Platform Designer created network interconnect.
5.1.8.2. Recommended System Topologies
5.1.8.3. Recommended Starting Point for HPS-to-FPGA Interface Designs
5.1.8.4. Information on How to Configure and Use the Bridges
Timing Closure Considerations
GUIDELINE: Intel® recommends that you protect any area of the memory map which is not mapped to a slave, and also add protection against the possibility of non-reactive slaves.
In addition, it should be ensured that all slaves and buses are reset cleanly if the FPGA logic, or the HPS are reset. This provides clean initialization and clearing of stale transactions in the Platform Designer created network interconnect.
5.1.8.1.1. HPS-to-FPGA Bridge
5.1.8.1.2. Lightweight HPS-to-FPGA Bridge
5.1.8.1.3. FPGA-to-HPS Bridge
5.1.8.1.4. Interface Bandwidths
7.1. Selecting a Synthesis Tool
7.2. Device Resource Utilization Reports
7.3. Intel® Quartus® Prime Messages
7.4. Timing Constraints and Analysis
7.5. Area and Timing Optimization
7.6. Preserving Performance and Reducing Compilation Time
7.7. Designing with Intel® Hyperflex™
7.8. Simulation
7.9. Power Analysis
7.10. Power Optimization
7.11. Design Implementation, Analysis, Optimization, and Verification Revision History
9.1. Overview
9.2. Golden Hardware Reference Design (GHRD)
9.3. Define Software Requirements
9.4. Define Software Architecture
9.5. Selecting Software Tools
9.6. Choosing the Bootloader Software
9.7. Selecting an Operating System for Your Application
9.8. Assembling Your Software Development Platform for Linux*
9.9. Assembling your Software Development Platform for Partner OS or RTOS
9.10. Driver Considerations
9.11. Boot And Configuration Considerations
9.12. System Reset Considerations
9.13. Flash Considerations
9.14. Develop Application
9.15. Test and Validate
9.16. Embedded Software Design Guidelines Revision History
Visible to Intel only — GUID: szv1557328315077
Ixiasoft
5.1.8.1. Overview of HPS Memory-Mapped Interfaces
The HPS exposes two memory-mapped HPS-to-FPGA interfaces:
- HPS-to-FPGA bridge: 32-, 64-, or 128-bit wide Advanced Microcontroller Bus Architecture ( AMBA* ) Advanced eXtensible Interface ( AXI* )-4
- Lightweight HPS-to-FPGA bridge: 32-bit wide AXI-4
- FPGA-to-HPS bridge: 128-, 256-, 512-bit wide ACE*-Lite
Figure 7. Intel® Agilex™ HPS Connectivity
Timing Closure Considerations
The bridges exposed to the FPGA are synchronous; and clock crossing is performed within the interface itself. As a result, you must only ensure that both the FPGA-facing logic and your design close timing in Timing Analyzer. Interrupts are considered asynchronous by the HPS, and as a result the HPS logic resynchronizes them to the internal HPS clock domain so there is no need to close timing for them.
GUIDELINE: Intel® recommends that you protect any area of the memory map which is not mapped to a slave, and also add protection against the possibility of non-reactive slaves.
- Any memory mapped bus segment should be protected by an IP defined as the default slave (if there are gaps): Platform Designer system view, right click to edit the default slave in the displayed column.
- This routes accesses to areas not covered to this slave: This can be any slave, but an error slave or timeout slave make sense (as they return a slave error).
- AXI timeout bridge:
- Sits on the bus (pass through) and issues an AXI slave error to end a transaction in a valid way if a slave does not respond. This makes a perfect default slave.
In addition, it should be ensured that all slaves and buses are reset cleanly if the FPGA logic, or the HPS are reset. This provides clean initialization and clearing of stale transactions in the Platform Designer created network interconnect.
- Clock Reset IP:
- Creates a reset signal once the FPGA enters user mode which can be used to synchronous reset all IP / buses
- HPS reset output:
- Can be used to reset IP and busses if the HPS has been reset (independent from the FPGA core logic).