Post on 12-Jul-2020
Intel® Agilex™ Hard ProcessorSystem Technical Reference Manual
Updated for Intel® Quartus® Prime Design Suite: 20.2
SubscribeSend Feedback
MNL-1100 | 2020.07.30Latest document on the web: PDF | HTML
https://www.intel.com/content/www/us/en/programmable/bin/rssdoc?name=slu1548263438002mailto:FPGAtechdocfeedback@intel.com?subject=Feedback%20on%20Intel%20Agilex%20Hard%20Processor%20System%20Technical%20Reference%20Manual%20(MNL-1100%202020.07.30)&body=We%20appreciate%20your%20feedback.%20In%20your%20comments,%20also%20specify%20the%20page%20number%20or%20paragraph.%20Thank%20you.https://www.intel.com/content/dam/www/programmable/us/en/pdfs/literature/hb/agilex/mnl-1100.pdfhttps://www.intel.com/content/www/us/en/programmable/documentation/slu1548263438002.html
Contents
1. Intel® Agilex™ Hard Processor System Technical Reference Manual Revision History... 12
2. Introduction to the Hard Processor System.................................................................. 182.1. Features of the HPS............................................................................................. 192.2. HPS Block Diagram and System Integration.............................................................20
2.2.1. HPS Block Diagram.................................................................................. 202.2.2. Cortex-A53 MPCore Processor....................................................................212.2.3. Cache Coherency Unit.............................................................................. 212.2.4. System Memory Management Unit............................................................. 222.2.5. HPS Interfaces........................................................................................ 232.2.6. System Interconnect................................................................................ 232.2.7. On-Chip RAM...........................................................................................242.2.8. Flash Memory Controllers..........................................................................242.2.9. System Modules...................................................................................... 252.2.10. Interface Peripherals...............................................................................272.2.11. CoreSight Debug and Trace..................................................................... 302.2.12. Hard Processor System I/O Pin Multiplexing...............................................31
2.3. Endian Support....................................................................................................312.4. Introduction to the Hard Processor System Address Map........................................... 31
3. Cortex-A53 MPCore Processor...................................................................................... 323.1. Features of the Cortex-A53 MPCore........................................................................ 323.2. Advantages of Cortex-A53 MPCore......................................................................... 333.3. Cortex-A53 MPCore Block Diagram......................................................................... 343.4. Cortex-A53 MPCore System Integration.................................................................. 343.5. Cortex-A53 MPCore Functional Description.............................................................. 35
3.5.1. Exception Levels...................................................................................... 353.5.2. Virtualization...........................................................................................373.5.3. Memory Management Unit.........................................................................383.5.4. Level 1 Caches........................................................................................ 403.5.5. Level 2 Memory System............................................................................433.5.6. Snoop Control Unit...................................................................................433.5.7. Cryptographic Extensions..........................................................................433.5.8. NEON Multimedia Processing Engine........................................................... 443.5.9. Floating Point Unit....................................................................................453.5.10. ACE Bus Interface.................................................................................. 453.5.11. Abort Handling.......................................................................................463.5.12. Cache Protection.................................................................................... 463.5.13. Generic Interrupt Controller.....................................................................483.5.14. Generic Timers...................................................................................... 543.5.15. Debug Modules...................................................................................... 553.5.16. Cache Coherency Unit.............................................................................573.5.17. Clock Sources........................................................................................58
3.6. Cortex-A53 MPCore Programming Guide................................................................. 583.6.1. Enabling Cortex-A53 MPCore Clocks........................................................... 583.6.2. Bringing the Cortex-A53 MPCore out of Reset.............................................. 593.6.3. Enabling and Disabling Cache.................................................................... 593.6.4. Entering Low Power Modes........................................................................ 59
Contents
Intel® Agilex™ Hard Processor System Technical Reference Manual Send Feedback
2
mailto:FPGAtechdocfeedback@intel.com?subject=Feedback%20on%20Intel%20Agilex%20Hard%20Processor%20System%20Technical%20Reference%20Manual%20(MNL-1100%202020.07.30)&body=We%20appreciate%20your%20feedback.%20In%20your%20comments,%20also%20specify%20the%20page%20number%20or%20paragraph.%20Thank%20you.
3.7. Cortex-A53 MPCore Address Map .......................................................................... 59
4. Cache Coherency Unit................................................................................................... 604.1. Supported Features..............................................................................................614.2. Functional Description.......................................................................................... 61
4.2.1. Connectivity............................................................................................634.2.2. System Integration.................................................................................. 654.2.3. Reset and Initialization............................................................................. 664.2.4. Discovery Routine.................................................................................... 664.2.5. Operational State.....................................................................................664.2.6. Maintenance Operations............................................................................664.2.7. Error Handling.........................................................................................664.2.8. OCRAM Firewall....................................................................................... 67
4.3. Cache Coherency Unit Transactions........................................................................ 684.3.1. Command Mapping.................................................................................. 69
4.4. Cache Coherency Unit Address Map and Register Definitions......................................70
5. System Memory Management Unit................................................................................ 715.1. System Memory Management Unit Features............................................................ 715.2. System MMU Block Diagram.................................................................................. 72
5.2.1. System Memory Management Unit Interfaces.............................................. 735.3. System Integration.............................................................................................. 735.4. System Memory Management Unit Functional Description..........................................74
5.4.1. Translation Stages....................................................................................755.4.2. Exception Levels...................................................................................... 755.4.3. Translation Regimes................................................................................. 765.4.4. Translation Buffer Unit.............................................................................. 765.4.5. Translation Control Unit............................................................................ 775.4.6. Security State Determination.....................................................................775.4.7. Stream ID...............................................................................................785.4.8. Quality of Service Arbitration.....................................................................795.4.9. System Memory Management Unit Interrupts.............................................. 795.4.10. System Memory Management Unit Reset...................................................805.4.11. System Memory Management Unit Clocks..................................................80
5.5. System Memory Management Unit Configuration......................................................805.6. System Memory Management Unit Address Map and Register Definitions.....................81
6. System Interconnect.....................................................................................................826.1. Functional Description.......................................................................................... 82
6.1.1. Masters and Slaves Connectivity Matrix.......................................................846.1.2. Secure Transaction Protection....................................................................906.1.3. Rate Adapter...........................................................................................956.1.4. Arbitration and Quality of Service...............................................................956.1.5. Observation Network................................................................................96
6.2. System Interconnect Clocks.................................................................................. 986.3. System Interconnect Resets.................................................................................. 996.4. System Interconnect Address Spaces....................................................................100
6.4.1. L3 Address Space...................................................................................1006.4.2. MPU Address Space................................................................................ 1046.4.3. SoC-to-FPGA Bridge Address Space.......................................................... 1046.4.4. Peripheral Region Address Map.................................................................105
6.5. System Interconnect Address Map and Register Definitions......................................107
Contents
Send Feedback Intel® Agilex™ Hard Processor System Technical Reference Manual
3
mailto:FPGAtechdocfeedback@intel.com?subject=Feedback%20on%20Intel%20Agilex%20Hard%20Processor%20System%20Technical%20Reference%20Manual%20(MNL-1100%202020.07.30)&body=We%20appreciate%20your%20feedback.%20In%20your%20comments,%20also%20specify%20the%20page%20number%20or%20paragraph.%20Thank%20you.
7. HPS Bridges................................................................................................................ 1087.1. Features of the HPS Bridges................................................................................ 1087.2. HPS Bridges Block Diagram................................................................................. 1097.3. FPGA-to-SoC Bridge........................................................................................... 109
7.3.1. FPGA-to-SoC Bridge Signals.....................................................................1107.4. SoC-to-FPGA Bridge........................................................................................... 111
7.4.1. SoC-to-FPGA Bridge Signals.....................................................................1117.5. Lightweight SoC-to-FPGA Bridge.......................................................................... 112
7.5.1. Lightweight SoC-to-FPGA Bridge Signals....................................................1137.6. Clocks and Resets.............................................................................................. 113
7.6.1. FPGA-to-SoC Bridge Clocks and Resets......................................................1137.6.2. SoC-to-FPGA Bridge Clocks and Resets......................................................1147.6.3. Lightweight SoC-to-FPGA Bridge Clocks and Resets.....................................1147.6.4. Taking HPS Bridges Out of Reset ............................................................. 114
7.7. Data Width Sizing.............................................................................................. 1147.8. HPS Bridges Address Map and Register Definitions..................................................115
8. DMA Controller............................................................................................................1168.1. Features of the DMA Controller............................................................................ 1168.2. DMA Controller Block Diagram ............................................................................ 118
8.2.1. Distributed Virtual Memory Support.......................................................... 1198.3. Functional Description of the DMA Controller..........................................................120
8.3.1. Error Checking and Correction.................................................................1218.3.2. Peripheral Request Interface....................................................................121
8.4. DMA Controller Address Map and Register Definitions..............................................125
9. On-Chip RAM...............................................................................................................1269.1. Features of the On-Chip RAM...............................................................................1269.2. On-Chip RAM Interfaces......................................................................................1269.3. Functional Description of the On-Chip RAM............................................................ 127
9.3.1. Read and Write Double-Bit Bus Errors....................................................... 1279.3.2. On-Chip RAM Controller.......................................................................... 1279.3.3. On-Chip RAM Burst Support.....................................................................1279.3.4. Exclusive Access Support........................................................................ 1289.3.5. Sub-word Accesses.................................................................................1289.3.6. On-Chip RAM Clocks............................................................................... 1289.3.7. On-Chip RAM Resets...............................................................................1289.3.8. On-Chip RAM Initialization.......................................................................1299.3.9. ECC Protection ......................................................................................129
9.4. On-Chip RAM Address Map and Register Definitions................................................ 129
10. Error Checking and Correction Controller..................................................................13010.1. ECC Controller Features.................................................................................... 13010.2. ECC Supported Memories.................................................................................. 13010.3. ECC Controller Block Diagram and System Integration...........................................13110.4. ECC Controller Functional Description..................................................................132
10.4.1. Overview.............................................................................................13210.4.2. ECC Structure...................................................................................... 13210.4.3. Memory Data Initialization.....................................................................13410.4.4. Indirect Memory Access.........................................................................13510.4.5. Error Logging.......................................................................................142
Contents
Intel® Agilex™ Hard Processor System Technical Reference Manual Send Feedback
4
mailto:FPGAtechdocfeedback@intel.com?subject=Feedback%20on%20Intel%20Agilex%20Hard%20Processor%20System%20Technical%20Reference%20Manual%20(MNL-1100%202020.07.30)&body=We%20appreciate%20your%20feedback.%20In%20your%20comments,%20also%20specify%20the%20page%20number%20or%20paragraph.%20Thank%20you.
10.4.6. ECC Controller Interrupts...................................................................... 14410.4.7. ECC Controller Initialization and Configuration..........................................14810.4.8. ECC Controller Clocks............................................................................14910.4.9. ECC Controller Reset.............................................................................149
10.5. ECC Controller Address Map and Register Descriptions.......................................... 150
11. Clock Manager.......................................................................................................... 15111.1. Features of the Clock Manager........................................................................... 15111.2. Top Level Clocks...............................................................................................153
11.2.1. Boot Clock...........................................................................................15511.3. Functional Description of the Clock Manager.........................................................155
11.3.1. Clock Manager Building Blocks............................................................... 15511.3.2. PLL Integration.................................................................................... 15611.3.3. Hardware-Managed and Software-Managed Clocks....................................15711.3.4. Hardware Sequenced Clock Groups.........................................................15711.3.5. Software Sequenced Clocks................................................................... 15911.3.6. Resets................................................................................................ 16111.3.7. Security.............................................................................................. 16211.3.8. Interrupts............................................................................................162
11.4. Clock Manager Address Map and Register Definitions.............................................162
12. System Manager....................................................................................................... 16312.1. Features of the System Manager........................................................................ 16312.2. System Manager Block Diagram......................................................................... 16412.3. Functional Description of the System Manager......................................................165
12.3.1. Additional Module Control...................................................................... 16512.3.2. FPGA Interface Enables......................................................................... 16812.3.3. ECC and Parity Control.......................................................................... 16812.3.4. Preloader Handoff Information............................................................... 16912.3.5. Clocks.................................................................................................16912.3.6. Resets................................................................................................ 169
12.4. System Manager Address Map and Register Definitions..........................................169
13. Reset Manager.......................................................................................................... 17013.1. Functional Description.......................................................................................17113.2. Modules Under Reset........................................................................................ 17413.3. Reset Handshaking...........................................................................................17413.4. Reset Sequencing.............................................................................................175
13.4.1. SoC-to-FPGA Reset Sequence.................................................................17613.4.2. Warm Reset Sequence.......................................................................... 17613.4.3. Watchdog Reset Sequence.....................................................................177
13.5. Reset Signals and Registers............................................................................... 17713.6. Reset Manager Address Map and Register Definitions............................................ 179
14. Hard Processor System I/O Pin Multiplexing............................................................ 18014.1. Features of the Intel Agilex HPS I/O Block........................................................... 18014.2. Intel Agilex HPS I/O System Integration.............................................................. 18114.3. Functional Description of the HPS I/O..................................................................181
14.3.1. I/O Pins.............................................................................................. 18114.3.2. FPGA Access........................................................................................ 18114.3.3. Intel Agilex I/O Control Registers............................................................18214.3.4. Configuring HPS I/O Multiplexing............................................................185
Contents
Send Feedback Intel® Agilex™ Hard Processor System Technical Reference Manual
5
mailto:FPGAtechdocfeedback@intel.com?subject=Feedback%20on%20Intel%20Agilex%20Hard%20Processor%20System%20Technical%20Reference%20Manual%20(MNL-1100%202020.07.30)&body=We%20appreciate%20your%20feedback.%20In%20your%20comments,%20also%20specify%20the%20page%20number%20or%20paragraph.%20Thank%20you.
14.4. Intel Agilex Pin MUX Test Considerations..............................................................18514.5. Intel Agilex I/O Pin MUX Address Map and Register Definitions............................... 185
15. NAND Flash Controller ............................................................................................. 18715.1. NAND Flash Controller Features .........................................................................18715.2. NAND Flash Controller Block Diagram and System Integration ............................... 188
15.2.1. Distributed Virtual Memory Support ....................................................... 18815.3. NAND Flash Controller Signal Descriptions .......................................................... 18915.4. Functional Description of the NAND Flash Controller ............................................. 190
15.4.1. Discovery and Initialization ................................................................... 19015.4.2. Bootstrap Interface ..............................................................................19215.4.3. Configuration by Host .......................................................................... 19215.4.4. Local Memory Buffer ............................................................................ 19315.4.5. Clocks ................................................................................................19315.4.6. Resets ............................................................................................... 19415.4.7. Indexed Addressing ............................................................................. 19515.4.8. Command Mapping ..............................................................................19615.4.9. Data DMA ...........................................................................................20115.4.10. ECC ................................................................................................. 205
15.5. NAND Flash Controller Programming Model.......................................................... 20815.5.1. Basic Flash Programming ......................................................................20815.5.2. Flash-Related Special Function Operations .............................................. 213
15.6. NAND Flash Controller Address Map and Register Definitions ................................. 222
16. SD/MMC Controller................................................................................................... 22316.1. Features of the SD/MMC Controller .................................................................... 223
16.1.1. Device Support ................................................................................... 22416.1.2. SD Card Support Matrix ........................................................................22516.1.3. MMC Support Matrix ............................................................................ 225
16.2. SD/MMC Controller Block Diagram ..................................................................... 22616.2.1. Distributed Virtual Memory Support ....................................................... 226
16.3. SD/MMC Controller Signal Description ................................................................ 22716.4. Functional Description of the SD/MMC Controller ................................................. 228
16.4.1. SD/MMC/CE-ATA Protocol ..................................................................... 22816.4.2. BIU ................................................................................................... 22916.4.3. CIU ................................................................................................... 24116.4.4. Clocks ................................................................................................25716.4.5. Resets ............................................................................................... 25816.4.6. Voltage Switching ................................................................................ 259
16.5. SD/MMC Controller Programming Model ..............................................................26116.5.1. Software and Hardware Restrictions† ......................................................26116.5.2. Initialization........................................................................................ 26316.5.3. Controller/DMA/FIFO Buffer Reset Usage ................................................ 27016.5.4. Non-Data Transfer Commands ...............................................................27116.5.5. Data Transfer Commands ..................................................................... 27216.5.6. Transfer Stop and Abort Commands ....................................................... 27916.5.7. Internal DMA Controller Operations ........................................................28016.5.8. Commands for SDIO Card Devices ......................................................... 28316.5.9. CE-ATA Data Transfer Commands ...........................................................28516.5.10. Card Read Threshold .......................................................................... 29316.5.11. Interrupt and Error Handling ............................................................... 296
Contents
Intel® Agilex™ Hard Processor System Technical Reference Manual Send Feedback
6
mailto:FPGAtechdocfeedback@intel.com?subject=Feedback%20on%20Intel%20Agilex%20Hard%20Processor%20System%20Technical%20Reference%20Manual%20(MNL-1100%202020.07.30)&body=We%20appreciate%20your%20feedback.%20In%20your%20comments,%20also%20specify%20the%20page%20number%20or%20paragraph.%20Thank%20you.
16.5.12. Booting Operation for eMMC and MMC .................................................. 29716.6. SD/MMC Controller Address Map and Register Definitions.......................................309
17. Ethernet Media Access Controller .............................................................................31017.1. Features of the Ethernet MAC ............................................................................311
17.1.1. MAC .................................................................................................. 31117.1.2. DMA .................................................................................................. 31217.1.3. Management Interface ......................................................................... 31217.1.4. Acceleration ........................................................................................31217.1.5. PHY Interface ......................................................................................312
17.2. EMAC Block Diagram and System Integration ......................................................31317.3. Distributed Virtual Memory Support ................................................................... 31417.4. EMAC Signal Description ...................................................................................315
17.4.1. HPS EMAC I/O Signals ..........................................................................31617.4.2. FPGA EMAC I/O Signals ....................................................................... 32017.4.3. PHY Management Interface ...................................................................32117.4.4. PHY Interface Options .......................................................................... 322
17.5. EMAC Internal Interfaces ..................................................................................32317.5.1. DMA Master Interface .......................................................................... 32317.5.2. Timestamp Interface ............................................................................32417.5.3. System Manager Configuration Interface ................................................ 325
17.6. Functional Description of the EMAC .................................................................... 32617.6.1. Transmit and Receive Data FIFO Buffers ................................................. 32717.6.2. DMA Controller ....................................................................................32817.6.3. Descriptor Overview .............................................................................34117.6.4. IEEE 1588-2002 Timestamps ................................................................ 35317.6.5. IEEE 1588-2008 Advanced Timestamps ..................................................35917.6.6. IEEE 802.3az Energy Efficient Ethernet ...................................................36317.6.7. Checksum Offload ............................................................................... 36417.6.8. Frame Filtering ....................................................................................36417.6.9. Clocks and Resets ................................................................................36917.6.10. Interrupts .........................................................................................372
17.7. Ethernet MAC Programming Model .....................................................................37217.7.1. System Level EMAC Configuration Registers ............................................ 37217.7.2. EMAC FPGA Interface Initialization ......................................................... 37417.7.3. EMAC HPS Interface Initialization ...........................................................37517.7.4. DMA Initialization ................................................................................ 37617.7.5. EMAC Initialization and Configuration ..................................................... 37717.7.6. Performing Normal Receive and Transmit Operation ..................................37817.7.7. Stopping and Starting Transmission ....................................................... 37817.7.8. Programming Guidelines for Energy Efficient Ethernet ...............................37917.7.9. Programming Guidelines for Flexible Pulse-Per-Second (PPS) Output .......... 380
17.8. Ethernet MAC Address Map and Register Definitions ............................................. 382
18. USB 2.0 OTG Controller............................................................................................. 38318.1. Features of the USB OTG Controller.................................................................... 384
18.1.1. Supported PHYs................................................................................... 38618.2. Block Diagram and System Integration................................................................38618.3. Distributed Virtual Memory Support.................................................................... 38718.4. USB 2.0 ULPI PHY Signal Description...................................................................38718.5. Functional Description of the USB OTG Controller..................................................388
Contents
Send Feedback Intel® Agilex™ Hard Processor System Technical Reference Manual
7
mailto:FPGAtechdocfeedback@intel.com?subject=Feedback%20on%20Intel%20Agilex%20Hard%20Processor%20System%20Technical%20Reference%20Manual%20(MNL-1100%202020.07.30)&body=We%20appreciate%20your%20feedback.%20In%20your%20comments,%20also%20specify%20the%20page%20number%20or%20paragraph.%20Thank%20you.
18.5.1. USB OTG Controller Components........................................................... 38818.5.2. Local Memory Buffer............................................................................. 39218.5.3. Clocks.................................................................................................39218.5.4. Resets................................................................................................ 39218.5.5. Interrupts............................................................................................394
18.6. USB OTG Controller Programming Model..............................................................39518.6.1. Enabling SPRAM ECCs........................................................................... 39518.6.2. Host Operation.....................................................................................39518.6.3. Device Operation..................................................................................397
18.7. USB 2.0 OTG Controller Address Map and Register Definitions................................ 398
19. SPI Controller........................................................................................................... 39919.1. Features of the SPI Controller ........................................................................... 39919.2. SPI Block Diagram and System Integration ......................................................... 400
19.2.1. SPI Block Diagram ...............................................................................40019.3. SPI Controller Signal Description ....................................................................... 400
19.3.1. Interface to HPS I/O ............................................................................ 40119.3.2. FPGA Routing ......................................................................................401
19.4. Functional Description of the SPI Controller .........................................................40219.4.1. Protocol Details and Standards Compliance ............................................. 40219.4.2. SPI Controller Overview ....................................................................... 40319.4.3. Transfer Modes ....................................................................................40619.4.4. SPI Master ..........................................................................................40819.4.5. SPI Slave ........................................................................................... 41119.4.6. Partner Connection Interfaces ............................................................... 41419.4.7. DMA Controller Interface....................................................................... 41919.4.8. Slave Interface ....................................................................................41919.4.9. Clocks and Resets ................................................................................419
19.5. SPI Programming Model ................................................................................... 42019.5.1. Master SPI and SSP Serial Transfers .......................................................42119.5.2. Master Microwire Serial Transfers ...........................................................42319.5.3. Slave SPI and SSP Serial Transfers .........................................................42519.5.4. Slave Microwire Serial Transfers .............................................................42619.5.5. Software Control for Slave Selection ...................................................... 42619.5.6. DMA Controller Operation...................................................................... 427
19.6. SPI Controller Address Map and Register Definitions .............................................430
20. I2C Controller............................................................................................................43220.1. Features of the I2C Controller ............................................................................43220.2. I2C Controller Block Diagram and System Integration ...........................................43320.3. I2C Controller Signal Description ........................................................................43420.4. Functional Description of the I2C Controller .........................................................435
20.4.1. Feature Usage .....................................................................................43520.4.2. Behavior ............................................................................................ 43620.4.3. Protocol Details ................................................................................... 43720.4.4. Multiple Master Arbitration ....................................................................44120.4.5. Clock Frequency Configuration .............................................................. 44320.4.6. SDA Hold Time ....................................................................................44520.4.7. DMA Controller Interface ...................................................................... 44520.4.8. Clocks ................................................................................................44620.4.9. Resets ............................................................................................... 446
Contents
Intel® Agilex™ Hard Processor System Technical Reference Manual Send Feedback
8
mailto:FPGAtechdocfeedback@intel.com?subject=Feedback%20on%20Intel%20Agilex%20Hard%20Processor%20System%20Technical%20Reference%20Manual%20(MNL-1100%202020.07.30)&body=We%20appreciate%20your%20feedback.%20In%20your%20comments,%20also%20specify%20the%20page%20number%20or%20paragraph.%20Thank%20you.
20.5. I2C Controller Programming Model .....................................................................44620.5.1. Slave Mode Operation .......................................................................... 44620.5.2. Master Mode Operation ........................................................................ 45020.5.3. Disabling the I2C Controller ...................................................................45220.5.4. Abort Transfer......................................................................................45320.5.5. DMA Controller Operation ..................................................................... 453
20.6. I2C Controller Address Map and Register Definitions ............................................. 457
21. UART Controller........................................................................................................ 45821.1. UART Controller Features ..................................................................................45821.2. UART Controller Block Diagram and System Integration ........................................45921.3. UART Controller Signal Description .....................................................................460
21.3.1. HPS I/O Pins .......................................................................................46021.3.2. FPGA Routing ......................................................................................460
21.4. Functional Description of the UART Controller ......................................................46021.4.1. FIFO Buffer Support .............................................................................46121.4.2. UART(RS232) Serial Protocol .................................................................46121.4.3. Automatic Flow Control ........................................................................ 46221.4.4. Clocks ................................................................................................46421.4.5. Resets ............................................................................................... 46421.4.6. Interrupts ...........................................................................................464
21.5. DMA Controller Operation ................................................................................. 46721.5.1. Transmit FIFO Underflow ...................................................................... 46821.5.2. Transmit Watermark Level .................................................................... 46821.5.3. Transmit FIFO Overflow ........................................................................ 47021.5.4. Receive FIFO Overflow ......................................................................... 47021.5.5. Receive Watermark Level ......................................................................47021.5.6. Receive FIFO Underflow ........................................................................470
21.6. UART Controller Address Map and Register Definitions .......................................... 471
22. General-Purpose I/O Interface ................................................................................ 47222.1. Features of the GPIO Interface .......................................................................... 47222.2. GPIO Interface Block Diagram and System Integration ......................................... 47322.3. Functional Description of the GPIO Interface ....................................................... 473
22.3.1. Debounce Operation ............................................................................ 47322.3.2. Pin Directions ......................................................................................47422.3.3. Taking the GPIO Interface Out of Reset ...................................................474
22.4. GPIO Interface Programming Model ................................................................... 47422.5. General-Purpose I/O Interface Address Map and Register Definitions ...................... 474
23. Timers ......................................................................................................................47523.1. Features of the Timers ..................................................................................... 47523.2. Timers Block Diagram and System Integration .................................................... 47523.3. Functional Description of the Timers .................................................................. 476
23.3.1. Clocks ................................................................................................47723.3.2. Resets ............................................................................................... 47723.3.3. Interrupts ...........................................................................................477
23.4. Timers Programming Model .............................................................................. 47823.4.1. Initialization ........................................................................................47823.4.2. Enabling the Timers .............................................................................47823.4.3. Disabling the Timers ............................................................................ 47823.4.4. Loading the Timers Countdown Value ..................................................... 478
Contents
Send Feedback Intel® Agilex™ Hard Processor System Technical Reference Manual
9
mailto:FPGAtechdocfeedback@intel.com?subject=Feedback%20on%20Intel%20Agilex%20Hard%20Processor%20System%20Technical%20Reference%20Manual%20(MNL-1100%202020.07.30)&body=We%20appreciate%20your%20feedback.%20In%20your%20comments,%20also%20specify%20the%20page%20number%20or%20paragraph.%20Thank%20you.
23.4.5. Servicing Interrupts .............................................................................47923.5. Timers Address Map and Register Definitions .......................................................479
24. Watchdog Timers...................................................................................................... 48024.1. Features of the Watchdog Timers .......................................................................48024.2. Watchdog Timers Block Diagram and System Integration ......................................48124.3. Functional Description of the Watchdog Timers ....................................................481
24.3.1. Watchdog Timers Counter .....................................................................48124.3.2. Watchdog Timers Pause Mode ............................................................... 48224.3.3. Watchdog Timers Clocks .......................................................................48224.3.4. Watchdog Timers Resets .......................................................................483
24.4. Watchdog Timers Programming Model ................................................................48324.4.1. Setting the Timeout Period Values ..........................................................48324.4.2. Selecting the Output Response Mode ......................................................48324.4.3. Enabling and Initially Starting a Watchdog Timers ....................................48424.4.4. Reloading a Watchdog Counter ..............................................................48424.4.5. Pausing a Watchdog Timers .................................................................. 48424.4.6. Disabling and Stopping a Watchdog Timers ............................................. 48424.4.7. Watchdog Timers State Machine ............................................................ 484
24.5. Watchdog Timers Address Map and Register Definitions ........................................ 486
25. CoreSight Debug and Trace ...................................................................................... 48725.1. Features of CoreSight Debug and Trace............................................................... 48825.2. Arm CoreSight Documentation........................................................................... 48925.3. CoreSight Debug and Trace Block Diagram ..........................................................49025.4. Functional Description of CoreSight Debug and Trace ........................................... 491
25.4.1. Debug Access Port................................................................................49125.4.2. CoreSight SoC-400 Timestamp Generator ............................................... 49325.4.3. System Trace Macrocell......................................................................... 49325.4.4. Trace Funnel........................................................................................ 49425.4.5. CoreSight Trace Memory Controller......................................................... 49425.4.6. AMBA Trace Bus Replicator.....................................................................49625.4.7. Trace Port Interface Unit........................................................................49625.4.8. NoC Trace Ports....................................................................................49625.4.9. Embedded Cross Trigger System ............................................................49725.4.10. Embedded Trace Macrocell .................................................................. 49825.4.11. HPS Debug APB Interface ................................................................... 49825.4.12. FPGA Interface .................................................................................. 49825.4.13. Debug Clocks..................................................................................... 50025.4.14. Debug Resets.....................................................................................501
25.5. CoreSight Debug and Trace Programming Model................................................... 50225.5.1. CoreSight Component Address .............................................................. 50225.5.2. CTI Trigger Connections to Outside the Debug System...............................50325.5.3. Configuring Embedded Cross-Trigger Connections..................................... 505
25.6. CoreSight Debug and Trace Address Map and Register Definitions........................... 506
A. Booting and Configuration.......................................................................................... 507A.1. FPGA Configuration First Mode Overview............................................................... 509A.2. HPS Boot First Mode Overview............................................................................. 510A.3. Device Response to External Configuration and Reset Events................................... 512
Contents
Intel® Agilex™ Hard Processor System Technical Reference Manual Send Feedback
10
mailto:FPGAtechdocfeedback@intel.com?subject=Feedback%20on%20Intel%20Agilex%20Hard%20Processor%20System%20Technical%20Reference%20Manual%20(MNL-1100%202020.07.30)&body=We%20appreciate%20your%20feedback.%20In%20your%20comments,%20also%20specify%20the%20page%20number%20or%20paragraph.%20Thank%20you.
B. Accessing the Secure Device Manager Quad SPI Flash Controller through HPS...........513B.1. Features of the Quad SPI Flash Controller..............................................................513B.2. Taking Ownership of Quad SPI Controller...............................................................513B.3. Quad SPI Flash Controller Block Diagram and System Integration.............................514B.4. Quad SPI Flash Controller Signal Description..........................................................515B.5. Functional Description of the Quad SPI Flash Controller...........................................516
B.5.1. Overview.............................................................................................. 516B.5.2. Data Slave Interface...............................................................................516B.5.3. SPI Legacy Mode....................................................................................520B.5.4. Register Slave Interface..........................................................................521B.5.5. Local Memory Buffer...............................................................................522B.5.6. Arbitration between Direct/Indirect Access Controller and STIG.................... 522B.5.7. Configuring the Flash Device....................................................................522B.5.8. XIP Mode.............................................................................................. 522B.5.9. Write Protection..................................................................................... 523B.5.10. Data Slave Sequential Access Detection...................................................523B.5.11. Clocks.................................................................................................523B.5.12. Resets................................................................................................ 524B.5.13. Interrupts........................................................................................... 524
B.6. Quad SPI Flash Controller Programming Model.......................................................525B.6.1. Setting Up the Quad SPI Flash Controller...................................................525B.6.2. Indirect Read Operation.......................................................................... 526B.6.3. Indirect Write Operation..........................................................................526B.6.4. XIP Mode Operations.............................................................................. 527
B.7. Accessing the SDM Quad SPI Flash Controller Through HPS Address Map andRegister Definitions..........................................................................................529
Contents
Send Feedback Intel® Agilex™ Hard Processor System Technical Reference Manual
11
mailto:FPGAtechdocfeedback@intel.com?subject=Feedback%20on%20Intel%20Agilex%20Hard%20Processor%20System%20Technical%20Reference%20Manual%20(MNL-1100%202020.07.30)&body=We%20appreciate%20your%20feedback.%20In%20your%20comments,%20also%20specify%20the%20page%20number%20or%20paragraph.%20Thank%20you.
1. Intel® Agilex™ Hard Processor System TechnicalReference Manual Revision HistoryTable 1. Intel® Agilex™ Hard Processor System Technical Reference Manual Revision
History Summary
Chapter Date of Last Update
Introduction to the Hard Processor System September 30, 2019
Cortex-A53 MPCore* Processor September 30, 2019
Cache Coherency Unit September 30, 2019
System Memory Management Unit September 30, 2019
System Interconnect September 30, 2019
HPS-FPGA Bridges September 30, 2019
DMA Controller January 25, 2020
On-Chip RAM September 30, 2019
Error Checking and Correction Controller September 30, 2019
Clock Manager September 30, 2019
Reset Manager July 30, 2020
System Manager September 30, 2019
Hard Processor Subsystem I/O Pin Multiplexing September 30, 2019
NAND Flash Controller January 25, 2020
SD/MMC Controller January 25, 2020
Ethernet Media Access Controller September 30, 2019
USB 2.0 OTG Controller January 25, 2020
SPI Controller September 30, 2019
I2C Controller September 30, 2019
UART Controller September 30, 2019
General-Purpose I/O Interface September 30, 2019
Timer September 30, 2019
Watchdog Timer September 30, 2019
CoreSight* Debug and Trace September 30, 2019
Booting and Configuration June 30, 2020
Accessing the SDM Quad SPI Flash Controller through HPS September 30, 2019
MNL-1100 | 2020.07.30
Send Feedback
Intel Corporation. All rights reserved. Agilex, Altera, Arria, Cyclone, Enpirion, Intel, the Intel logo, MAX, Nios,Quartus and Stratix words and logos are trademarks of Intel Corporation or its subsidiaries in the U.S. and/orother countries. Intel warrants performance of its FPGA and semiconductor products to current specifications inaccordance with Intel's standard warranty, but reserves the right to make changes to any products and servicesat any time without notice. Intel assumes no responsibility or liability arising out of the application or use of anyinformation, product, or service described herein except as expressly agreed to in writing by Intel. Intelcustomers are advised to obtain the latest version of device specifications before relying on any publishedinformation and before placing orders for products or services.*Other names and brands may be claimed as the property of others.
ISO9001:2015Registered
mailto:FPGAtechdocfeedback@intel.com?subject=Feedback%20on%20Intel%20Agilex%20Hard%20Processor%20System%20Technical%20Reference%20Manual%20(MNL-1100%202020.07.30)&body=We%20appreciate%20your%20feedback.%20In%20your%20comments,%20also%20specify%20the%20page%20number%20or%20paragraph.%20Thank%20you.https://www.intel.com/content/www/us/en/quality/intel-iso-registrations.htmlhttps://www.intel.com/content/www/us/en/quality/intel-iso-registrations.htmlhttps://www.intel.com/content/www/us/en/quality/intel-iso-registrations.html
Table 2. Introduction to the Hard Processor System Revision History
Document Version Changes
2019.09.30 Added links to access the complete HPS address map and register definitions.
2019.04.02 Initial release.
Introduction to the Hard Processor System on page 18
Table 3. Cortex-A53 MPCore Processor Revision History
Document Version Changes
2019.09.30 Added links to access the complete HPS address map and register definitions.
2019.04.02 Initial release.
Cortex-A53 MPCore Processor on page 32
Table 4. Cache Coherency Unit Revision History
Document Version Changes
2019.09.30 Added links to access the complete HPS address map and register definitions.
2019.07.01 Added the following sections:• Reset and Initialization• Discovery Routine• Operational State• Maintenance Operations• Error Handling• OCRAM Firewall
2019.04.02 Initial release.
Cache Coherency Unit on page 60
Table 5. System Memory Management Unit Revision History
Document Version Changes
2019.09.30 Added links to access the complete HPS address map and register definitions.
2019.04.02 Initial release.
System Memory Management Unit on page 71
Table 6. System Interconnect Revision History
Document Version Changes
2019.09.30 Added links to access the complete HPS address map and register definitions.
2019.07.01 • Added the missing data width for MPFE blocks in Figure: Block Diagram.• Corrected the Figure: Generic Timestamp Connection.• Corrected the GIC address region in Figure: L3 Address Regions.• Corrected the address range in Figure: SDRAM Regions.• Added a new section: Peripheral Region Address Map.
2019.04.02 Initial release.
System Interconnect on page 82
1. Intel® Agilex™ Hard Processor System Technical Reference Manual Revision History
MNL-1100 | 2020.07.30
Send Feedback Intel® Agilex™ Hard Processor System Technical Reference Manual
13
mailto:FPGAtechdocfeedback@intel.com?subject=Feedback%20on%20Intel%20Agilex%20Hard%20Processor%20System%20Technical%20Reference%20Manual%20(MNL-1100%202020.07.30)&body=We%20appreciate%20your%20feedback.%20In%20your%20comments,%20also%20specify%20the%20page%20number%20or%20paragraph.%20Thank%20you.
Table 7. HPS-FPGA Bridges Revision History
Document Version Changes
2019.09.30 Added links to access the complete HPS address map and register definitions.
2019.07.01 Added information about FPGA Fabric Bypass Mux in section: FPGA-to-SoCBridge.
2019.04.02 Initial release.
HPS Bridges on page 108
Table 8. DMA Controller Revision History
Document Version Changes
2020.01.25 Clarified reset information in section: DMA Controller Block Diagram.
2019.09.30 Added links to access the complete HPS address map and register definitions.
2019.04.02 Initial release.
DMA Controller on page 116
Table 9. On-Chip RAM Revision History
Document Version Changes
2019.09.30 Added links to access the complete HPS address map and register definitions.
2019.04.02 Initial release.
On-Chip RAM on page 126
Table 10. Error Checking and Correction Controller Revision History
Document Version Changes
2019.09.30 Added links to access the complete HPS address map and register definitions.
2019.04.02 Initial release.
Error Checking and Correction Controller on page 130
Table 11. Clock Manager Revision History
Document Version Changes
2019.09.30 Added links to access the complete HPS address map and register definitions.
2019.04.02 Initial release.
Clock Manager on page 151
Table 12. Reset Manager Revision History
Document Version Changes
2020.07.30 Corrected the following signal callouts:
continued...
1. Intel® Agilex™ Hard Processor System Technical Reference Manual Revision History
MNL-1100 | 2020.07.30
Intel® Agilex™ Hard Processor System Technical Reference Manual Send Feedback
14
mailto:FPGAtechdocfeedback@intel.com?subject=Feedback%20on%20Intel%20Agilex%20Hard%20Processor%20System%20Technical%20Reference%20Manual%20(MNL-1100%202020.07.30)&body=We%20appreciate%20your%20feedback.%20In%20your%20comments,%20also%20specify%20the%20page%20number%20or%20paragraph.%20Thank%20you.
Document Version Changes
• s2f_cold_rst_n to s2f_cold_rst• s2f_rst_n to s2f_rst• s2f_watchdog_rst_n to s2f_watchdog_rst
2020.06.30 Added a clarification note under HPS Reset Domains.
2020.01.25 Added a new section: SoC-to-FPGA Reset Sequence.
2019.09.30 Added links to access the complete HPS address map and register definitions.
2019.07.01 Corrected steps in section: Warm Reset Sequence.
2019.04.02 Initial release.
Reset Manager on page 170
Table 13. System Manager Revision History
Document Version Changes
2019.09.30 Added links to access the complete HPS address map and register definitions.
2019.04.02 Initial release.
System Manager on page 163
Table 14. Hard Processor System I/O Pin Multiplexing Revision History
Document Version Changes
2019.09.30 Added links to access the complete HPS address map and register definitions.
2019.04.02 Initial release.
Hard Processor System I/O Pin Multiplexing on page 180
Table 15. NAND Flash Controller Revision History
Document Version Changes
2020.01.25 Clarified reset information in section: Taking the NAND Flash Controller Out ofReset.
2019.09.30 Added links to access the complete HPS address map and register definitions.
2019.04.02 Initial release.
NAND Flash Controller on page 187
Table 16. SD/MMC Controller Revision History
Document Version Changes
2020.01.25 Clarified reset information in section: Taking the SD/MMC Controller Out ofReset.
2019.09.30 Added links to access the complete HPS address map and register definitions.
2019.04.02 Initial release.
SD/MMC Controller on page 223
1. Intel® Agilex™ Hard Processor System Technical Reference Manual Revision History
MNL-1100 | 2020.07.30
Send Feedback Intel® Agilex™ Hard Processor System Technical Reference Manual
15
mailto:FPGAtechdocfeedback@intel.com?subject=Feedback%20on%20Intel%20Agilex%20Hard%20Processor%20System%20Technical%20Reference%20Manual%20(MNL-1100%202020.07.30)&body=We%20appreciate%20your%20feedback.%20In%20your%20comments,%20also%20specify%20the%20page%20number%20or%20paragraph.%20Thank%20you.
Table 17. Ethernet Media Access Controller Revision History
Document Version Changes
2019.09.30 Added links to access the complete HPS address map and register definitions.
2019.04.02 Initial release.
Ethernet Media Access Controller on page 310
Table 18. USB 2.0 OTG Controller Revision History
Document Version Changes
2020.01.25 Clarified reset information in section: Taking the USB 2.0 OTG Controller Out ofReset.
2019.09.30 Added links to access the complete HPS address map and register definitions.
2019.04.02 Initial release.
USB 2.0 OTG Controller on page 383
Table 19. SPI Controller Revision History
Document Version Changes
2019.09.30 Added links to access the complete HPS address map and register definitions.
2019.04.02 Initial release.
SPI Controller on page 399
Table 20. I2C Controller Revision History
Document Version Changes
2019.09.30 Added links to access the complete HPS address map and register definitions.
2019.04.02 Initial release.
I2C Controller on page 432
Table 21. UART Controller Revision History
Document Version Changes
2019.09.30 Added links to access the complete HPS address map and register definitions.
2019.04.02 Initial release.
UART Controller on page 458
Table 22. General-Purpose I/O Revision History
Document Version Changes
2019.09.30 Added links to access the complete HPS address map and register definitions.
2019.04.02 Initial release.
General-Purpose I/O Interface on page 472
1. Intel® Agilex™ Hard Processor System Technical Reference Manual Revision History
MNL-1100 | 2020.07.30
Intel® Agilex™ Hard Processor System Technical Reference Manual Send Feedback
16
mailto:FPGAtechdocfeedback@intel.com?subject=Feedback%20on%20Intel%20Agilex%20Hard%20Processor%20System%20Technical%20Reference%20Manual%20(MNL-1100%202020.07.30)&body=We%20appreciate%20your%20feedback.%20In%20your%20comments,%20also%20specify%20the%20page%20number%20or%20paragraph.%20Thank%20you.
Table 23. Timers Revision History
Document Version Changes
2019.09.30 Added links to access the complete HPS address map and register definitions.
2019.04.02 Initial release.
Timers on page 475
Table 24. Watchdog Timers Revision History
Document Version Changes
2019.09.30 Added links to access the complete HPS address map and register definitions.
2019.04.02 Initial release.
Watchdog Timers on page 480
Table 25. CoreSight Debug and Trace Revision History
Document Version Changes
2019.09.30 Added links to access the complete HPS address map and register definitions.
2019.04.02 Initial release.
CoreSight Debug and Trace on page 487
Table 26. Booting and Configuration Revision History
Document Version Changes
2020.06.30 Added a new section: Device Response to External Configuration and ResetEvents to clarify the nCONFIG operation.
2019.07.01 Simplified information in the appendix. For more information, refer to the IntelAgilex Configuration User Guide and Intel Agilex Boot User Guide.
2019.04.02 Initial release.
Booting and Configuration on page 507
Table 27. Accessing the SDM Quad SPI Flash Controller through HPS Revision History
Document Version Changes
2019.09.30 Added links to access the complete HPS address map and register definitions.
2019.04.02 Initial release.
Accessing the Secure Device Manager Quad SPI Flash Controller through HPS on page513
1. Intel® Agilex™ Hard Processor System Technical Reference Manual Revision History
MNL-1100 | 2020.07.30
Send Feedback Intel® Agilex™ Hard Processor System Technical Reference Manual
17
mailto:FPGAtechdocfeedback@intel.com?subject=Feedback%20on%20Intel%20Agilex%20Hard%20Processor%20System%20Technical%20Reference%20Manual%20(MNL-1100%202020.07.30)&body=We%20appreciate%20your%20feedback.%20In%20your%20comments,%20also%20specify%20the%20page%20number%20or%20paragraph.%20Thank%20you.
2. Introduction to the Hard Processor SystemThe Intel Agilex system-on-a-chip (SoC) is composed of two distinct portions: a 64-bitquad core Arm* Cortex*-A53 MPCore hard processor system (HPS) and an FPGA. TheHPS architecture integrates a wide set of peripherals that reduce board size andincrease performance within a system.
The HPS communicates outside of the SoC through the following types of interfaces:
• Dedicated I/O interfaces
• FPGA fabric interfaces
• FPGA secure device manager (SDM) interfaces
Key modules in the HPS include:
• Quad core Arm Cortex-A53 MPCore processor
• Level 3 (L3) interconnect
• Cache Coherency Unit (CCU)
• System Memory Management Unit (SMMU)
• Multi-port front end (MPFE) subsystem, consisting of the hard memory controlleradaptor and interface to the CCU interconnect
• DMA Controller
• On-chip RAM
• Debug components
• PLLs
• Flash memory controllers
• Support peripherals
• Interface peripherals
The HPS incorporates third-party intellectual property (IP) from several vendors.
The FPGA portion of the device contains:
• FPGA fabric
• PLLs
• User I/O
• Hard memory controllers
• Secure Device Manager (SDM)
MNL-1100 | 2020.07.30
Send Feedback
Intel Corporation. All rights reserved. Agilex, Altera, Arria, Cyclone, Enpirion, Intel, the Intel logo, MAX, Nios,Quartus and Stratix words and logos are trademarks of Intel Corporation or its subsidiaries in the U.S. and/orother countries. Intel warrants performance of its FPGA and semiconductor products to current specifications inaccordance with Intel's standard warranty, but reserves the right to make changes to any products and servicesat any time without notice. Intel assumes no responsibility or liability arising out of the application or use of anyinformation, product, or service described herein except as expressly agreed to in writing by Intel. Intelcustomers are advised to obtain the latest version of device specifications before relying on any publishedinformation and before placing orders for products or services.*Other names and brands may be claimed as the property of others.
ISO9001:2015Registered
mailto:FPGAtechdocfeedback@intel.com?subject=Feedback%20on%20Intel%20Agilex%20Hard%20Processor%20System%20Technical%20Reference%20Manual%20(MNL-1100%202020.07.30)&body=We%20appreciate%20your%20feedback.%20In%20your%20comments,%20also%20specify%20the%20page%20number%20or%20paragraph.%20Thank%20you.https://www.intel.com/content/www/us/en/quality/intel-iso-registrations.htmlhttps://www.intel.com/content/www/us/en/quality/intel-iso-registrations.htmlhttps://www.intel.com/content/www/us/en/quality/intel-iso-registrations.html
The HPS and FPGA portions of the device each have their own pins. The HPS hasdedicated I/O pins. You can also route most of the HPS peripherals into the FPGAfabric to use the FPGA I/O. You can configure pin placement assignments when youinstantiate the HPS component in Intel Platform Designer System Integration Tool.
You can boot the SoC from a power-on reset in one of two ways:
• FPGA configures first and then optionally boots the HPS (also called FPGAConfiguration First).
• HPS boots first and then configures the FPGA (called HPS Boot First).
For more information, refer to the "Boot and Configuration" appendix.
2.1. Features of the HPS
• Quad-core Arm Cortex-A53 MPCore processor
• Cache Coherency Unit (CCU)
• System Memory Management Unit (SMMU)
• System interconnect that includes:
— L3 main interconnect
• Provides high bandwidth routing from master to slave
• Provides two memory-mapped SoC-to-FPGA interfaces:
— SoC-to-FPGA bridge (32-, 64-, or 128-bit wide Arm AdvancedMicrocontroller Bus Architecture (AMBA*) Advanced eXtensibleInterface (AXI*)-4)
— Lightweight SoC-to-FPGA bridge: 32-bit wide AXI-4
— MPFE interconnect
• Routes transactions from FPGA translation buffer units (TBU) to SDRAM orSoC
• General-purpose direct memory access (DMA) controller
• 256 KB on-chip RAM
• Error checking and correction controllers for on-chip RAM and peripheral RAMs
• Clock manager
• Reset manager
• System manager
• Dedicated I/O pin multiplexer (MUX)
• NAND flash controller
• Secure digital/multimedia card (SD/MMC) controller
• Three Ethernet media access controllers (EMACs)
• Two USB 2.0 on-the-go (OTG) controllers
• Two serial peripheral interface (SPI) master controllers
• Two SPI slave controllers
2. Introduction to the Hard Processor System
MNL-1100 | 2020.07.30
Send Feedback Intel® Agilex™ Hard Processor System Technical Reference Manual
19
mailto:FPGAtechdocfeedback@intel.com?subject=Feedback%20on%20Intel%20Agilex%20Hard%20Processor%20System%20Technical%20Reference%20Manual%20(MNL-1100%202020.07.30)&body=We%20appreciate%20your%20feedback.%20In%20your%20comments,%20also%20specify%20the%20page%20number%20or%20paragraph.%20Thank%20you.
• Five inter-integrated circuit (I2C) controllers:
— Three can provide support for EMAC
— Two for general purpose
• Two UARTs
• Two general-purpose I/O (GPIO) interfaces with a total of 48 dedicated I/O
• Four system timers
• Four watchdog timers
• Arm CoreSight debug components:
— Debug access port (DAP)
— Trace port interface unit (TPIU)
— System trace macrocell (STM)
— Embedded trace macrocell (ETM)
— Embedded trace router (ETR)
— Embedded cross trigger (ECT)
2.2. HPS Block Diagram and System Integration
2.2.1. HPS Block Diagram
Figure 1. Intel Agilex HPS Block Diagram
SwitchCache
CoherencyUnit
GIC
TCU
On-Chip RAM(256 K)
FPGA Core Fabric
USB (2)
Osc1 Timer(2)
Watchdog(4)
SPI Slave(2)
SPI Master(2)
USB OTG(2)
NAND Coresight System(DAP, STM, ETR)
IO_TBU DMA_TBU EMAC_TBU
IO96 IO96
FPGA Bypass Mux
L3 Main Interconnect
Interconnect Interconnect
MPFE InterconnectArbitration
Hard Memory Controller Adaptor
16-/32-/64-bit
256-bitACE-Lite
512-bitAXI4
32-bit AXI464-bit
AXI4
64-bit
64-bitDVM
64-bit ACE-Lite
64-bit AXI4
IRQ from FPGA
32-bitACE-Lite
128-bitACE
48 HPS I/Os
L4 Bus L4 Bus L4 Bus L4 Bus L4 Bus
SD/MMC
EMAC0
EMAC1
EMAC2
DMA
Initiating Peripherals
DDR
FPGA Core Fabric
Pin Mux
Targeted Peripherals
MPU
CPU0CPU1
CPU2CPU3
L2 Cache
SCU
512-bitACE-Lite
512-bitACE-Lite
128-/256-/ 512-bit
ACE-Lite
32-bit AHB
32-bit AHB
32-bit AXI4
32-bit AXI4
32-bit AXI4
32-bit AXI4
32-bit AXI4
64-bit AXI4
64-bit AXI4 64-bit AXI4
64-bit AXI4 64-bit AXI4 64-bit AXI4
32-bit AXI4
32-/64-/ 128-bit
AXI
32-bit AXI
32-bit AXI4
IRQ fromPeripherals
LW SoC-to-FPGASoC-to-FPGA
FPGA-to-SoC
FPGA Bypass Mux
MPFE
FPGA_TBU
SD/MMC EMACO EMAC1 EMAC2NAND ETR DMA
SDM
System Modules
SystemManager
ClockManager
ResetManager
Hard Processor System
SP Timer(2)
UART(2)
GPIO(2)
I2C(5)
SDM_TBU
2. Introduction to the Hard Processor System
MNL-1100 | 2020.07.30
Intel® Agilex™ Hard Processor System Technical Reference Manual Send Feedback
20
mailto:FPGAtechdocfeedback@intel.com?subject=Feedback%20on%20Intel%20Agilex%20Hard%20Processor%20System%20Technical%20Reference%20Manual%20(MNL-1100%202020.07.30)&body=We%20appreciate%20your%20feedback.%20In%20your%20comments,%20also%20specify%20the%20page%20number%20or%20paragraph.%20Thank%20you.
2.2.2. Cortex-A53 MPCore Processor
The Intel Agilex SoC integrates a full-featured Arm Cortex-A53 MPCore Processor.
The Cortex-A53 MPCore supports high-performance applications and provides thecapability for secure processing and virtualization. Each CPU in the processor has thefollowing features:
• Support for 32- and 64-bit instruction sets
• In-order pipeline with symmetric dual-issue of most instructions
• Arm NEON* single instruction, multiple data (SIMD) co-processor with a floating-point unit (FPU)
— Single- and double-precision IEEE-754 floating point math support
— Integer and polynomial math support
• Symmetric multiprocessing (SMP) and asymmetric multiprocessing (AMP) modes
• Armv8 Cryptography Extension
• Level 1 (L1) cache
— 32 KB two-way set associative instruction cache
— Single Error Detect (SED) and parity checking support for L1 instruction cache
— 32 KB four-way set associative data cache
— Error checking and correction (ECC), Single Error Correct, Double Error Detect(SECDED) protection for L1 data cache
• Memory Management Unit (MMU) that communicates with the system MMU(SMMU)
• Generic timer
• Governor module that controls clock and reset
• Debug modules
— Performance Monitor Unit
— Embedded Trace Macrocell (ETMv4)
— CoreSight cross trigger interface
The four CPUs share a 1 MB L2 cache with ECC, SECDED protection. A snoop controlunit (SCU) maintains coherency between the CPUs and communicates with the systemcache coherency unit (CCU).
At a system level, the Cortex-A53 MPCore interfaces to a generic interrupt controller(GIC), CCU, and system memory management unit (SMMU).
2.2.3. Cache Coherency Unit
The cache coherency unit allows I/O masters to maintain one-way coherency with theCortex-A53 MPCore. It acts as an interconnect among the processor, FPGA-to-SoCbridge, system MMU, multiport front end (MPFE) subsystem and peripheral mastersinterfacing the system interconnect and supports weighted priority of memoryaccesses.
The CCU features include:
2. Introduction to the Hard Processor System
MNL-1100 | 2020.07.30
Send Feedback Intel® Agilex™ Hard Processor System Technical Reference Manual
21
mailto:FPGAtechdocfeedback@intel.com?subject=Feedback%20on%20Intel%20Agilex%20Hard%20Processor%20System%20Technical%20Reference%20Manual%20(MNL-1100%202020.07.30)&body=We%20appreciate%20your%20feedback.%20In%20your%20comments,%20also%20specify%20the%20page%20number%20or%20paragraph.%20Thank%20you.
• Coherency directory to track the state of the L2 and L1 caches in the Arm Cortex-A53 MPCore
• Snoop filter support for tracking coherent lines and sending coherency transactionrequests, including cache maintenance operations
• Support for distributed virtual memory (DVM) using the Arm AXI CoherencyExtensions (ACE) protocol. Distributed virtual memory broadcast messages aresent to the Cortex-A53 MPCore and translation control unit (TCU) in the systemmemory management unit (SMMU)
• Quality-of-service (QoS) support for transaction prioritization using a weightbandwidth allocation
• Interconnect debug capability through master and slave bridge status registers
• Interrupt support for CCU transaction and counter events
2.2.4. System Memory Management Unit
The SMMU provides system-wide address translation for system bus masters. A two-stage translation supports memory virtualization. The module includes a single TCUthat controls distributed translation buffer units (TBUs).
The system MMU features include:
• A central TCU that supports five distributed TBUs for the following masters:
— FPGA
— DMA
— EMAC0-2, collectively
— USB0-1, NAND, SD/MMC, ETR, collectively
— Secure Device Manager (SDM)
• Caches for storing page table entries and intermediate table walk data:
— 512-entry macro translation lookaside buffer (TLB) page table entry cache inthe TCU
— 128-entry micro TLB for table walk data in the FPGA TBU and 32-entry microTLB for all other distributed TBUs
— Single-bit error detection and invalidation on error detection for caches
• Communication with the MMU of the Arm Cortex-A53 MPCore
• System-wide address translation
• Address virtualization
• Support for 32 contexts
• Two stages of translation or combined (stage 1 and stage 2) translation
• Support for up to 49-bit virtual addresses and up to 48-bit physical andintermediate physical addresses
• Programmable QoS to support page table walk arbitration
• Fault handling, logging and interrupts for translation errors
• Debug support
2. Introduction to the Hard Processor System
MNL-1100 | 2020.07.30
Intel® Agilex™ Hard Processor System Technical Reference Manual Send Feedback
22
mailto:FPGAtechdocfeedback@intel.com?subject=Feedback%20on%20Intel%20Agilex%20Hard%20Processor%20System%20Technical%20Reference%20Manual%20(MNL-1100%202020.07.30)&body=We%20appreciate%20your%20feedback.%20In%20your%20comments,%20also%20specify%20the%20page%20number%20or%20paragraph.%20Thank%20you.
2.2.5. HPS Interfaces
The Intel Agilex device family provides multiple communication channels between theFPGA, HPS, and SDRAM.
2.2.5.1. SoC-FPGA Memory-Mapped Interfaces
The SoC-FPGA memory-mapped interfaces provide the major communication channelsamong the HPS, the FPGA fabric, and SDRAM. The SoC-FPGA memory-mappedinterfaces include:
• FPGA-to-SoC bridge—a high–performance bus with a configurable data width of128, 256, or 512 bits, allowing the FPGA fabric to master transactions to theslaves in the HPS or access to SDRAM through the MPFE interconnect. Thisinterface allows the FPGA fabric to have full visibility into the HPS address space.This interface supports single-direction I/O coherency with the HPS MPU.
• SoC-to-FPGA bridge—a high–performance interface with a configurable data widthof 32, 64, or 128 bits, allowing the HPS to master transactions to slaves in theFPGA fabric.
• Lightweight SoC-to-FPGA bridge—an interface with a 32–bit fixed data width,allowing the HPS to master transactions to slaves in the FPGA fabric. This bridge isprimarily used for control and status register accesses.
2.2.5.2. Other HPS Interfaces
• TPIU trace—sends trace data created in the SoC-FPGA fabric.
• FPGA System Trace Macrocell (STM)—an interface that allows the FPGA fabric tosend hardware events to be stored in the HPS trace data.
• FPGA cross–trigger—an interface that allows the CoreSight trigger system to sendtriggers to IP cores in the FPGA, and vice versa.
• DMA peripheral interface—multiple peripheral–request channels.
• Interrupts—allow soft IP cores to supply interrupts directly to the MPU interruptcontroller.
• MPU standby and events—signals that notify the FPGA fabric that the MPU is instandby mode and signals that wake-up Cortex–A53 processors from a wait forevent (WFE) state.
• HPS debug interface – an interface that allows the HPS debug control domain(debug APB) to extend into FPGA.
2.2.6. System Interconnect
The system interconnect supports the following features:
2. Introduction to the Hard Processor System
MNL-1100 | 2020.07.30
Send Feedback Intel® Agilex™ Hard Processor System Technical Reference Manual
23
mailto:FPGAtechdocfeedback@intel.com?subject=Feedback%20on%20Intel%20Agilex%20Hard%20Processor%20System%20Technical%20Reference%20Manual%20(MNL-1100%202020.07.30)&body=We%20appreciate%20your%20feedback.%20In%20your%20comments,%20also%20specify%20the%20page%20number%20or%20paragraph.%20Thank%20you.
• Configurable Arm TrustZone*-compliant firewall and security support.
— For each peripheral, implements secure or non-secure access.
— Allows configuration of individual transactions as secure or non-secure at theinitiating master.
• Multi-tiered bus structure to separate high bandwidth masters from lowerbandwidth peripherals and control and status ports.
• Quality of service (QoS) with three programmable levels of service on a permasterbasis.
• On-chip debugging and tracing capabilities. The system interconnect is based onthe Arteris® FlexNoC™ network-on-chip (NoC) interconnect technology.
2.2.6.1. MPFE Subsystem
The multiport front end (MPFE) subsystem connects the HPS to the hard memorycontroller adaptor (HMCA) that is located in the FPGA portion of the device. The MPFEsubsystem includes an MPFE Interconnect, which is secured by firewalls. It supportsAMBA AXI QoS for the FPGA fabric interfaces.
The MPFE Subsystem implements the following high-level features:
• Support for double data rate 4 (DDR4) devices
• Software-configurable priority scheduling per port
• 8-bit Single Error Correction, Double Error Detection (SECDED) ECC with write-back, and error counters
• Fully-programmable timing parameter support for all JEDEC®-specified timingparameters
• All ports support memory protection and mutual-exclusive accesses
2.2.7. On-Chip RAM
The on-chip RAM offers the following features:
• 256 KB size
• 64-bit slave interface
• ECC support provides detection of single–bit and double–bit errors and correctionfor single-bit errors
• Memory scrambling on tamper events
2.2.8. Flash Memory Controllers
The Intel Agilex device family provides two flash memory controllers:
• NAND Flash Controller
• SD/MMC Controller
2. Introduction to the Hard Processor System
MNL-1100 | 2020.07.30
Intel® Agilex™ Hard Processor System Technical Reference Manual Send Feedback
24
mailto:FPGAtechdocfeedback@intel.com?subject=Feedback%20on%20Intel%20Agilex%20Hard%20Processor%20System%20Technical%20Reference%20Manual%20(MNL-1100%202020.07.30)&body=We%20appreciate%20your%20feedback.%20In%20your%20comments,%20also%20specify%20the%20page%20number%20or%20paragraph.%20Thank%20you.
2.2.8.1. NAND Flash Controller
The NAND flash controller is based on the Cadence* Design IP* NAND Flash MemoryController and offers the following functionality and features:
• Supports up to two chip selects
• Integrated descriptor-based direct memory access (DMA) controller
• Supports Open NAND Flash Interface (ONFI) 1.0
• Programmable page sizes of 512 bytes, 2 KB, 4 KB, or 8 KB
• Supports 32, 64, or 128 pages per block
• Programmable hardware ECC
• Supports 8- and 16-bit data width
2.2.8.2. SD/MMC Controller
The Secure Digital (SD), Multimedia Card (MMC), (SD/MMC) and CE-ATA hostcontroller is based on the Synopsys* DesignWare* Mobile Storage Host controller andoffers the following features:
• Supports eMMC
• Integrated descriptor-based DMA
• Supports CE-ATA digital protocol commands
• Supports only single card
— Single data rate (SDR) mode only
— Programmable card width: 1-, 4-, and 8-bit
— Programmable card types: SD, SDIO, or MMC
• Up to 64 KB programmable block size
• Supports up to 50 MHz flash operating frequency
Note: For an inclusive list of the programmable card types and versions supported, refer tothe SD/MMC Controller chapter.
2.2.9. Sy