Intel ® Agilex ™ Hard Processor System Technical Reference Manual Updated for Intel ® Quartus ® Prime Design Suite: 19.3 Subscribe Send Feedback MNL-1100 | 2019.09.30 Latest document on the web: PDF | HTML
Intel® Agilex™ Hard ProcessorSystem Technical Reference Manual
Updated for Intel® Quartus® Prime Design Suite: 19.3
SubscribeSend Feedback
MNL-1100 | 2019.09.30Latest document on the web: PDF | HTML
https://www.intel.com/content/www/us/en/programmable/bin/rssdoc?name=slu1548263438002mailto:[email protected]?subject=Feedback%20on%20Intel%20Agilex%20Hard%20Processor%20System%20Technical%20Reference%20Manual%20(MNL-1100%202019.09.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:[email protected]?subject=Feedback%20on%20Intel%20Agilex%20Hard%20Processor%20System%20Technical%20Reference%20Manual%20(MNL-1100%202019.09.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:[email protected]?subject=Feedback%20on%20Intel%20Agilex%20Hard%20Processor%20System%20Technical%20Reference%20Manual%20(MNL-1100%202019.09.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......................................................1137.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..................................................114
8. DMA Controller............................................................................................................1158.1. Features of the DMA Controller............................................................................ 1158.2. DMA Controller Block Diagram ............................................................................ 117
8.2.1. Distributed Virtual Memory Support.......................................................... 1188.3. Functional Description of the DMA Controller..........................................................118
8.3.1. Error Checking and Correction.................................................................1198.3.2. Peripheral Request Interface....................................................................120
8.4. DMA Controller Address Map and Register Definitions..............................................121
9. On-Chip RAM...............................................................................................................1229.1. Features of the On-Chip RAM...............................................................................1229.2. On-Chip RAM Interfaces......................................................................................1229.3. Functional Description of the On-Chip RAM............................................................ 123
9.3.1. Read and Write Double-Bit Bus Errors....................................................... 1239.3.2. On-Chip RAM Controller.......................................................................... 1239.3.3. On-Chip RAM Burst Support.....................................................................1239.3.4. Exclusive Access Support........................................................................ 1249.3.5. Sub-word Accesses.................................................................................1249.3.6. On-Chip RAM Clocks............................................................................... 1249.3.7. On-Chip RAM Resets...............................................................................1249.3.8. On-Chip RAM Initialization.......................................................................1259.3.9. ECC Protection ......................................................................................125
9.4. On-Chip RAM Address Map and Register Definitions................................................ 125
10. Error Checking and Correction Controller..................................................................12610.1. ECC Controller Features.................................................................................... 12610.2. ECC Supported Memories.................................................................................. 12610.3. ECC Controller Block Diagram and System Integration...........................................12710.4. ECC Controller Functional Description..................................................................128
10.4.1. Overview.............................................................................................12810.4.2. ECC Structure...................................................................................... 12810.4.3. Memory Data Initialization.....................................................................13010.4.4. Indirect Memory Access.........................................................................13110.4.5. Error Logging.......................................................................................138
Contents
Intel® Agilex™ Hard Processor System Technical Reference Manual Send Feedback
4
mailto:[email protected]?subject=Feedback%20on%20Intel%20Agilex%20Hard%20Processor%20System%20Technical%20Reference%20Manual%20(MNL-1100%202019.09.30)&body=We%20appreciate%20your%20feedback.%20In%20your%20comments,%20also%20specify%20the%20page%20number%20or%20paragraph.%20Thank%20you.
10.4.6. ECC Controller Interrupts...................................................................... 14010.4.7. ECC Controller Initialization and Configuration..........................................14410.4.8. ECC Controller Clocks............................................................................14510.4.9. ECC Controller Reset.............................................................................145
10.5. ECC Controller Address Map and Register Descriptions.......................................... 146
11. Clock Manager.......................................................................................................... 14711.1. Features of the Clock Manager........................................................................... 14711.2. Top Level Clocks...............................................................................................149
11.2.1. Boot Clock...........................................................................................15111.3. Functional Description of the Clock Manager.........................................................151
11.3.1. Clock Manager Building Blocks............................................................... 15111.3.2. PLL Integration.................................................................................... 15211.3.3. Hardware-Managed and Software-Managed Clocks....................................15311.3.4. Hardware Sequenced Clock Groups.........................................................15311.3.5. Software Sequenced Clocks................................................................... 15511.3.6. Resets................................................................................................ 15711.3.7. Security.............................................................................................. 15811.3.8. Interrupts............................................................................................158
11.4. Clock Manager Address Map and Register Definitions.............................................158
12. Reset Manager.......................................................................................................... 15912.1. Functional Description.......................................................................................16012.2. Modules Under Reset........................................................................................ 16312.3. Reset Handshaking...........................................................................................16312.4. Reset Sequencing.............................................................................................164
12.4.1. Warm Reset Sequence.......................................................................... 16512.4.2. Watchdog Reset Sequence.....................................................................165
12.5. Reset Signals and Registers............................................................................... 16612.6. Reset Manager Address Map and Register Definitions............................................ 167
13. System Manager....................................................................................................... 16813.1. Features of the System Manager........................................................................ 16813.2. System Manager Block Diagram......................................................................... 16913.3. Functional Description of the System Manager......................................................170
13.3.1. Additional Module Control...................................................................... 17013.3.2. FPGA Interface Enables......................................................................... 17313.3.3. ECC and Parity Control.......................................................................... 17313.3.4. Preloader Handoff Information............................................................... 17413.3.5. Clocks.................................................................................................17413.3.6. Resets................................................................................................ 174
13.4. System Manager Address Map and Register Definitions..........................................174
14. Hard Processor System I/O Pin Multiplexing............................................................ 17514.1. Features of the Intel Agilex HPS I/O Block........................................................... 17514.2. Intel Agilex HPS I/O System Integration.............................................................. 17614.3. Functional Description of the HPS I/O..................................................................176
14.3.1. I/O Pins.............................................................................................. 17614.3.2. FPGA Access........................................................................................ 17614.3.3. Intel Agilex I/O Control Registers............................................................17714.3.4. Configuring HPS I/O Multiplexing............................................................180
14.4. Intel Agilex Pin MUX Test Considerations..............................................................180
Contents
Send Feedback Intel® Agilex™ Hard Processor System Technical Reference Manual
5
mailto:[email protected]?subject=Feedback%20on%20Intel%20Agilex%20Hard%20Processor%20System%20Technical%20Reference%20Manual%20(MNL-1100%202019.09.30)&body=We%20appreciate%20your%20feedback.%20In%20your%20comments,%20also%20specify%20the%20page%20number%20or%20paragraph.%20Thank%20you.
14.5. Intel Agilex I/O Pin MUX Address Map and Register Definitions............................... 180
15. NAND Flash Controller ............................................................................................. 18215.1. NAND Flash Controller Features .........................................................................18215.2. NAND Flash Controller Block Diagram and System Integration ............................... 183
15.2.1. Distributed Virtual Memory Support ....................................................... 18315.3. NAND Flash Controller Signal Descriptions .......................................................... 18415.4. Functional Description of the NAND Flash Controller ............................................. 185
15.4.1. Discovery and Initialization ................................................................... 18515.4.2. Bootstrap Interface ..............................................................................18715.4.3. Configuration by Host .......................................................................... 18715.4.4. Local Memory Buffer ............................................................................ 18815.4.5. Clocks ................................................................................................18815.4.6. Resets ............................................................................................... 18915.4.7. Indexed Addressing ............................................................................. 19015.4.8. Command Mapping ..............................................................................19115.4.9. Data DMA ...........................................................................................19615.4.10. ECC ................................................................................................. 200
15.5. NAND Flash Controller Programming Model.......................................................... 20315.5.1. Basic Flash Programming ......................................................................20315.5.2. Flash-Related Special Function Operations .............................................. 208
15.6. NAND Flash Controller Address Map and Register Definitions ................................. 217
16. SD/MMC Controller................................................................................................... 21816.1. Features of the SD/MMC Controller .................................................................... 218
16.1.1. Device Support ................................................................................... 21916.1.2. SD Card Support Matrix ........................................................................22016.1.3. MMC Support Matrix ............................................................................ 220
16.2. SD/MMC Controller Block Diagram ..................................................................... 22116.2.1. Distributed Virtual Memory Support ....................................................... 221
16.3. SD/MMC Controller Signal Description ................................................................ 22216.4. Functional Description of the SD/MMC Controller ................................................. 223
16.4.1. SD/MMC/CE-ATA Protocol ..................................................................... 22316.4.2. BIU ................................................................................................... 22416.4.3. CIU ................................................................................................... 23616.4.4. Clocks ................................................................................................25216.4.5. Resets ............................................................................................... 25316.4.6. Voltage Switching ................................................................................ 254
16.5. SD/MMC Controller Programming Model ..............................................................25616.5.1. Software and Hardware Restrictions† ......................................................25616.5.2. Initialization........................................................................................ 25816.5.3. Controller/DMA/FIFO Buffer Reset Usage ................................................ 26516.5.4. Non-Data Transfer Commands ...............................................................26616.5.5. Data Transfer Commands ..................................................................... 26716.5.6. Transfer Stop and Abort Commands ....................................................... 27416.5.7. Internal DMA Controller Operations ........................................................27516.5.8. Commands for SDIO Card Devices ......................................................... 27816.5.9. CE-ATA Data Transfer Commands ...........................................................28016.5.10. Card Read Threshold .......................................................................... 28816.5.11. Interrupt and Error Handling ............................................................... 29116.5.12. Booting Operation for eMMC and MMC .................................................. 292
Contents
Intel® Agilex™ Hard Processor System Technical Reference Manual Send Feedback
6
mailto:[email protected]?subject=Feedback%20on%20Intel%20Agilex%20Hard%20Processor%20System%20Technical%20Reference%20Manual%20(MNL-1100%202019.09.30)&body=We%20appreciate%20your%20feedback.%20In%20your%20comments,%20also%20specify%20the%20page%20number%20or%20paragraph.%20Thank%20you.
16.6. SD/MMC Controller Address Map and Register Definitions.......................................304
17. Ethernet Media Access Controller .............................................................................30517.1. Features of the Ethernet MAC ............................................................................306
17.1.1. MAC .................................................................................................. 30617.1.2. DMA .................................................................................................. 30717.1.3. Management Interface ......................................................................... 30717.1.4. Acceleration ........................................................................................30717.1.5. PHY Interface ......................................................................................307
17.2. EMAC Block Diagram and System Integration ......................................................30817.3. Distributed Virtual Memory Support ................................................................... 30917.4. EMAC Signal Description ...................................................................................310
17.4.1. HPS EMAC I/O Signals ..........................................................................31117.4.2. FPGA EMAC I/O Signals ....................................................................... 31517.4.3. PHY Management Interface ...................................................................31617.4.4. PHY Interface Options .......................................................................... 317
17.5. EMAC Internal Interfaces ..................................................................................31817.5.1. DMA Master Interface .......................................................................... 31817.5.2. Timestamp Interface ............................................................................31917.5.3. System Manager Configuration Interface ................................................ 320
17.6. Functional Description of the EMAC .................................................................... 32117.6.1. Transmit and Receive Data FIFO Buffers ................................................. 32217.6.2. DMA Controller ....................................................................................32317.6.3. Descriptor Overview .............................................................................33617.6.4. IEEE 1588-2002 Timestamps ................................................................ 34817.6.5. IEEE 1588-2008 Advanced Timestamps ..................................................35417.6.6. IEEE 802.3az Energy Efficient Ethernet ...................................................35817.6.7. Checksum Offload ............................................................................... 35917.6.8. Frame Filtering ....................................................................................35917.6.9. Clocks and Resets ................................................................................36417.6.10. Interrupts .........................................................................................367
17.7. Ethernet MAC Programming Model .....................................................................36717.7.1. System Level EMAC Configuration Registers ............................................ 36717.7.2. EMAC FPGA Interface Initialization ......................................................... 36917.7.3. EMAC HPS Interface Initialization ...........................................................37017.7.4. DMA Initialization ................................................................................ 37117.7.5. EMAC Initialization and Configuration ..................................................... 37217.7.6. Performing Normal Receive and Transmit Operation ..................................37317.7.7. Stopping and Starting Transmission ....................................................... 37317.7.8. Programming Guidelines for Energy Efficient Ethernet ...............................37417.7.9. Programming Guidelines for Flexible Pulse-Per-Second (PPS) Output .......... 375
17.8. Ethernet MAC Address Map and Register Definitions ............................................. 377
18. USB 2.0 OTG Controller............................................................................................. 37818.1. Features of the USB OTG Controller.................................................................... 379
18.1.1. Supported PHYs................................................................................... 38118.2. Block Diagram and System Integration................................................................38118.3. Distributed Virtual Memory Support.................................................................... 38218.4. USB 2.0 ULPI PHY Signal Description...................................................................38218.5. Functional Description of the USB OTG Controller..................................................383
18.5.1. USB OTG Controller Components........................................................... 383
Contents
Send Feedback Intel® Agilex™ Hard Processor System Technical Reference Manual
7
mailto:[email protected]?subject=Feedback%20on%20Intel%20Agilex%20Hard%20Processor%20System%20Technical%20Reference%20Manual%20(MNL-1100%202019.09.30)&body=We%20appreciate%20your%20feedback.%20In%20your%20comments,%20also%20specify%20the%20page%20number%20or%20paragraph.%20Thank%20you.
18.5.2. Local Memory Buffer............................................................................. 38718.5.3. Clocks.................................................................................................38718.5.4. Resets................................................................................................ 38718.5.5. Interrupts............................................................................................389
18.6. USB OTG Controller Programming Model..............................................................39018.6.1. Enabling SPRAM ECCs........................................................................... 39018.6.2. Host Operation.....................................................................................39018.6.3. Device Operation..................................................................................392
18.7. USB 2.0 OTG Controller Address Map and Register Definitions................................ 393
19. SPI Controller........................................................................................................... 39419.1. Features of the SPI Controller ........................................................................... 39419.2. SPI Block Diagram and System Integration ......................................................... 395
19.2.1. SPI Block Diagram ...............................................................................39519.3. SPI Controller Signal Description ....................................................................... 395
19.3.1. Interface to HPS I/O ............................................................................ 39619.3.2. FPGA Routing ......................................................................................396
19.4. Functional Description of the SPI Controller .........................................................39719.4.1. Protocol Details and Standards Compliance ............................................. 39719.4.2. SPI Controller Overview ....................................................................... 39819.4.3. Transfer Modes ....................................................................................40119.4.4. SPI Master ..........................................................................................40319.4.5. SPI Slave ........................................................................................... 40619.4.6. Partner Connection Interfaces ............................................................... 40919.4.7. DMA Controller Interface....................................................................... 41419.4.8. Slave Interface ....................................................................................41419.4.9. Clocks and Resets ................................................................................414
19.5. SPI Programming Model ................................................................................... 41519.5.1. Master SPI and SSP Serial Transfers .......................................................41619.5.2. Master Microwire Serial Transfers ...........................................................41819.5.3. Slave SPI and SSP Serial Transfers .........................................................42019.5.4. Slave Microwire Serial Transfers .............................................................42119.5.5. Software Control for Slave Selection ...................................................... 42119.5.6. DMA Controller Operation...................................................................... 422
19.6. SPI Controller Address Map and Register Definitions .............................................425
20. I2C Controller............................................................................................................42720.1. Features of the I2C Controller ............................................................................42720.2. I2C Controller Block Diagram and System Integration ...........................................42820.3. I2C Controller Signal Description ........................................................................42920.4. Functional Description of the I2C Controller .........................................................430
20.4.1. Feature Usage .....................................................................................43020.4.2. Behavior ............................................................................................ 43120.4.3. Protocol Details ................................................................................... 43220.4.4. Multiple Master Arbitration ....................................................................43620.4.5. Clock Frequency Configuration .............................................................. 43820.4.6. SDA Hold Time ....................................................................................44020.4.7. DMA Controller Interface ...................................................................... 44020.4.8. Clocks ................................................................................................44120.4.9. Resets ............................................................................................... 441
20.5. I2C Controller Programming Model .....................................................................441
Contents
Intel® Agilex™ Hard Processor System Technical Reference Manual Send Feedback
8
mailto:[email protected]?subject=Feedback%20on%20Intel%20Agilex%20Hard%20Processor%20System%20Technical%20Reference%20Manual%20(MNL-1100%202019.09.30)&body=We%20appreciate%20your%20feedback.%20In%20your%20comments,%20also%20specify%20the%20page%20number%20or%20paragraph.%20Thank%20you.
20.5.1. Slave Mode Operation .......................................................................... 44120.5.2. Master Mode Operation ........................................................................ 44520.5.3. Disabling the I2C Controller ...................................................................44720.5.4. Abort Transfer......................................................................................44820.5.5. DMA Controller Operation ..................................................................... 448
20.6. I2C Controller Address Map and Register Definitions ............................................. 452
21. UART Controller........................................................................................................ 45321.1. UART Controller Features ..................................................................................45321.2. UART Controller Block Diagram and System Integration ........................................45421.3. UART Controller Signal Description .....................................................................455
21.3.1. HPS I/O Pins .......................................................................................45521.3.2. FPGA Routing ......................................................................................455
21.4. Functional Description of the UART Controller ......................................................45521.4.1. FIFO Buffer Support .............................................................................45621.4.2. UART(RS232) Serial Protocol .................................................................45621.4.3. Automatic Flow Control ........................................................................ 45721.4.4. Clocks ................................................................................................45921.4.5. Resets ............................................................................................... 45921.4.6. Interrupts ...........................................................................................459
21.5. DMA Controller Operation ................................................................................. 46221.5.1. Transmit FIFO Underflow ...................................................................... 46321.5.2. Transmit Watermark Level .................................................................... 46321.5.3. Transmit FIFO Overflow ........................................................................ 46521.5.4. Receive FIFO Overflow ......................................................................... 46521.5.5. Receive Watermark Level ......................................................................46521.5.6. Receive FIFO Underflow ........................................................................465
21.6. UART Controller Address Map and Register Definitions .......................................... 466
22. General-Purpose I/O Interface ................................................................................ 46722.1. Features of the GPIO Interface .......................................................................... 46722.2. GPIO Interface Block Diagram and System Integration ......................................... 46822.3. Functional Description of the GPIO Interface ....................................................... 468
22.3.1. Debounce Operation ............................................................................ 46822.3.2. Pin Directions ......................................................................................46922.3.3. Taking the GPIO Interface Out of Reset ...................................................469
22.4. GPIO Interface Programming Model ................................................................... 46922.5. General-Purpose I/O Interface Address Map and Register Definitions ...................... 469
23. Timers ......................................................................................................................47023.1. Features of the Timers ..................................................................................... 47023.2. Timers Block Diagram and System Integration .................................................... 47023.3. Functional Description of the Timers .................................................................. 471
23.3.1. Clocks ................................................................................................47223.3.2. Resets ............................................................................................... 47223.3.3. Interrupts ...........................................................................................472
23.4. Timers Programming Model .............................................................................. 47323.4.1. Initialization ........................................................................................47323.4.2. Enabling the Timers .............................................................................47323.4.3. Disabling the Timers ............................................................................ 47323.4.4. Loading the Timers Countdown Value ..................................................... 47323.4.5. Servicing Interrupts .............................................................................474
Contents
Send Feedback Intel® Agilex™ Hard Processor System Technical Reference Manual
9
mailto:[email protected]?subject=Feedback%20on%20Intel%20Agilex%20Hard%20Processor%20System%20Technical%20Reference%20Manual%20(MNL-1100%202019.09.30)&body=We%20appreciate%20your%20feedback.%20In%20your%20comments,%20also%20specify%20the%20page%20number%20or%20paragraph.%20Thank%20you.
23.5. Timers Address Map and Register Definitions .......................................................474
24. Watchdog Timers...................................................................................................... 47524.1. Features of the Watchdog Timers .......................................................................47524.2. Watchdog Timers Block Diagram and System Integration ......................................47624.3. Functional Description of the Watchdog Timers ....................................................476
24.3.1. Watchdog Timers Counter .....................................................................47624.3.2. Watchdog Timers Pause Mode ............................................................... 47724.3.3. Watchdog Timers Clocks .......................................................................47724.3.4. Watchdog Timers Resets .......................................................................478
24.4. Watchdog Timers Programming Model ................................................................47824.4.1. Setting the Timeout Period Values ..........................................................47824.4.2. Selecting the Output Response Mode ......................................................47824.4.3. Enabling and Initially Starting a Watchdog Timers ....................................47924.4.4. Reloading a Watchdog Counter ..............................................................47924.4.5. Pausing a Watchdog Timers .................................................................. 47924.4.6. Disabling and Stopping a Watchdog Timers ............................................. 47924.4.7. Watchdog Timers State Machine ............................................................ 479
24.5. Watchdog Timers Address Map and Register Definitions ........................................ 481
25. CoreSight Debug and Trace ...................................................................................... 48225.1. Features of CoreSight Debug and Trace............................................................... 48325.2. Arm CoreSight Documentation........................................................................... 48425.3. CoreSight Debug and Trace Block Diagram ..........................................................48525.4. Functional Description of CoreSight Debug and Trace ........................................... 486
25.4.1. Debug Access Port................................................................................48625.4.2. CoreSight SoC-400 Timestamp Generator ............................................... 48825.4.3. System Trace Macrocell......................................................................... 48825.4.4. Trace Funnel........................................................................................ 48925.4.5. CoreSight Trace Memory Controller......................................................... 48925.4.6. AMBA Trace Bus Replicator.....................................................................49125.4.7. Trace Port Interface Unit........................................................................49125.4.8. NoC Trace Ports....................................................................................49125.4.9. Embedded Cross Trigger System ............................................................49225.4.10. Embedded Trace Macrocell .................................................................. 49325.4.11. HPS Debug APB Interface ................................................................... 49325.4.12. FPGA Interface .................................................................................. 49325.4.13. Debug Clocks..................................................................................... 49525.4.14. Debug Resets.....................................................................................496
25.5. CoreSight Debug and Trace Programming Model................................................... 49725.5.1. CoreSight Component Address .............................................................. 49725.5.2. CTI Trigger Connections to Outside the Debug System...............................49825.5.3. Configuring Embedded Cross-Trigger Connections..................................... 500
25.6. CoreSight Debug and Trace Address Map and Register Definitions........................... 501
A. Booting and Configuration.......................................................................................... 502A.1. FPGA Configuration First Mode Overview............................................................... 504A.2. HPS Boot First Mode Overview............................................................................. 505
B. Accessing the Secure Device Manager Quad SPI Flash Controller through HPS...........508B.1. Features of the Quad SPI Flash Controller..............................................................508B.2. Taking Ownership of Quad SPI Controller...............................................................508
Contents
Intel® Agilex™ Hard Processor System Technical Reference Manual Send Feedback
10
mailto:[email protected]?subject=Feedback%20on%20Intel%20Agilex%20Hard%20Processor%20System%20Technical%20Reference%20Manual%20(MNL-1100%202019.09.30)&body=We%20appreciate%20your%20feedback.%20In%20your%20comments,%20also%20specify%20the%20page%20number%20or%20paragraph.%20Thank%20you.
B.3. Quad SPI Flash Controller Block Diagram and System Integration.............................509B.4. Quad SPI Flash Controller Signal Description..........................................................510B.5. Functional Description of the Quad SPI Flash Controller...........................................511
B.5.1. Overview.............................................................................................. 511B.5.2. Data Slave Interface...............................................................................511B.5.3. SPI Legacy Mode....................................................................................515B.5.4. Register Slave Interface..........................................................................516B.5.5. Local Memory Buffer...............................................................................517B.5.6. Arbitration between Direct/Indirect Access Controller and STIG.................... 517B.5.7. Configuring the Flash Device....................................................................517B.5.8. XIP Mode.............................................................................................. 517B.5.9. Write Protection..................................................................................... 518B.5.10. Data Slave Sequential Access Detection...................................................518B.5.11. Clocks.................................................................................................518B.5.12. Resets................................................................................................ 519B.5.13. Interrupts........................................................................................... 519
B.6. Quad SPI Flash Controller Programming Model.......................................................520B.6.1. Setting Up the Quad SPI Flash Controller...................................................520B.6.2. Indirect Read Operation.......................................................................... 521B.6.3. Indirect Write Operation..........................................................................521B.6.4. XIP Mode Operations.............................................................................. 522
B.7. Accessing the SDM Quad SPI Flash Controller Through HPS Address Map andRegister Definitions..........................................................................................524
Contents
Send Feedback Intel® Agilex™ Hard Processor System Technical Reference Manual
11
mailto:[email protected]?subject=Feedback%20on%20Intel%20Agilex%20Hard%20Processor%20System%20Technical%20Reference%20Manual%20(MNL-1100%202019.09.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 September 30, 2019
On-Chip RAM September 30, 2019
Error Checking and Correction Controller September 30, 2019
Clock Manager September 30, 2019
Reset Manager September 30, 2019
System Manager September 30, 2019
Hard Processor Subsystem I/O Pin Multiplexing September 30, 2019
NAND Flash Controller September 30, 2019
SD/MMC Controller September 30, 2019
Ethernet Media Access Controller September 30, 2019
USB 2.0 OTG Controller September 30, 2019
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 July 1, 2019
Accessing the SDM Quad SPI Flash Controller through HPS September 30, 2019
MNL-1100 | 2019.09.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:[email protected]?subject=Feedback%20on%20Intel%20Agilex%20Hard%20Processor%20System%20Technical%20Reference%20Manual%20(MNL-1100%202019.09.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 | 2019.09.30
Send Feedback Intel® Agilex™ Hard Processor System Technical Reference Manual
13
mailto:[email protected]?subject=Feedback%20on%20Intel%20Agilex%20Hard%20Processor%20System%20Technical%20Reference%20Manual%20(MNL-1100%202019.09.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
2019.09.30 Added links to access the complete HPS address map and register definitions.
2019.04.02 Initial release.
DMA Controller on page 115
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 122
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 126
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 147
Table 12. Reset Manager Revision History
Document Version Changes
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 159
1. Intel® Agilex™ Hard Processor System Technical Reference Manual Revision History
MNL-1100 | 2019.09.30
Intel® Agilex™ Hard Processor System Technical Reference Manual Send Feedback
14
mailto:[email protected]?subject=Feedback%20on%20Intel%20Agilex%20Hard%20Processor%20System%20Technical%20Reference%20Manual%20(MNL-1100%202019.09.30)&body=We%20appreciate%20your%20feedback.%20In%20your%20comments,%20also%20specify%20the%20page%20number%20or%20paragraph.%20Thank%20you.
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 168
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 175
Table 15. NAND Flash 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.
NAND Flash Controller on page 182
Table 16. SD/MMC 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.
SD/MMC Controller on page 218
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 305
Table 18. USB 2.0 OTG 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.
USB 2.0 OTG Controller on page 378
1. Intel® Agilex™ Hard Processor System Technical Reference Manual Revision History
MNL-1100 | 2019.09.30
Send Feedback Intel® Agilex™ Hard Processor System Technical Reference Manual
15
mailto:[email protected]?subject=Feedback%20on%20Intel%20Agilex%20Hard%20Processor%20System%20Technical%20Reference%20Manual%20(MNL-1100%202019.09.30)&body=We%20appreciate%20your%20feedback.%20In%20your%20comments,%20also%20specify%20the%20page%20number%20or%20paragraph.%20Thank%20you.
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 394
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 427
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 453
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 467
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 470
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 475
1. Intel® Agilex™ Hard Processor System Technical Reference Manual Revision History
MNL-1100 | 2019.09.30
Intel® Agilex™ Hard Processor System Technical Reference Manual Send Feedback
16
mailto:[email protected]?subject=Feedback%20on%20Intel%20Agilex%20Hard%20Processor%20System%20Technical%20Reference%20Manual%20(MNL-1100%202019.09.30)&body=We%20appreciate%20your%20feedback.%20In%20your%20comments,%20also%20specify%20the%20page%20number%20or%20paragraph.%20Thank%20you.
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 482
Table 26. Booting and Configuration Revision History
Document Version Changes
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 502
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 page508
1. Intel® Agilex™ Hard Processor System Technical Reference Manual Revision History
MNL-1100 | 2019.09.30
Send Feedback Intel® Agilex™ Hard Processor System Technical Reference Manual
17
mailto:[email protected]?subject=Feedback%20on%20Intel%20Agilex%20Hard%20Processor%20System%20Technical%20Reference%20Manual%20(MNL-1100%202019.09.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 | 2019.09.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:[email protected]?subject=Feedback%20on%20Intel%20Agilex%20Hard%20Processor%20System%20Technical%20Reference%20Manual%20(MNL-1100%202019.09.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 | 2019.09.30
Send Feedback Intel® Agilex™ Hard Processor System Technical Reference Manual
19
mailto:[email protected]?subject=Feedback%20on%20Intel%20Agilex%20Hard%20Processor%20System%20Technical%20Reference%20Manual%20(MNL-1100%202019.09.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 | 2019.09.30
Intel® Agilex™ Hard Processor System Technical Reference Manual Send Feedback
20
mailto:[email protected]?subject=Feedback%20on%20Intel%20Agilex%20Hard%20Processor%20System%20Technical%20Reference%20Manual%20(MNL-1100%202019.09.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 | 2019.09.30
Send Feedback Intel® Agilex™ Hard Processor System Technical Reference Manual
21
mailto:[email protected]?subject=Feedback%20on%20Intel%20Agilex%20Hard%20Processor%20System%20Technical%20Reference%20Manual%20(MNL-1100%202019.09.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 | 2019.09.30
Intel® Agilex™ Hard Processor System Technical Reference Manual Send Feedback
22
mailto:[email protected]?subject=Feedback%20on%20Intel%20Agilex%20Hard%20Processor%20System%20Technical%20Reference%20Manual%20(MNL-1100%202019.09.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 | 2019.09.30
Send Feedback Intel® Agilex™ Hard Processor System Technical Reference Manual
23
mailto:[email protected]?subject=Feedback%20on%20Intel%20Agilex%20Hard%20Processor%20System%20Technical%20Reference%20Manual%20(MNL-1100%202019.09.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 | 2019.09.30
Intel® Agilex™ Hard Processor System Technical Reference Manual Send Feedback
24
mailto:[email protected]?subject=Feedback%20on%20Intel%20Agilex%20Hard%20Processor%20System%20Technical%20Reference%20Manual%20(MNL-1100%202019.09.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. System Modules
2.2.9.1. Clock Manager
The clock manager is responsible for providing software-programmable clock controlto configure all clocks generated in the HPS. The clock manager offers the followingfeatures:
• Manages clocks for HPS
• Supports clock gating at the signal level
• Supports dynamic clock tuning
2. Introduction to the Hard Processor System
MNL-1100 | 2019.09.30
Send Feedback Intel® Agilex™ Hard Processor System Technical Reference Manual
25
mailto:[email protected]?subject=Feedback%20on%20Intel%20Agilex%20Hard%20Processor%20System%20Technical%20Reference%20Manual%20(MNL-1100%202019.09.30)&body=We%20appreciate%20your%20feedback.%20In%20your%20comments,%20also%20specify%20the%20page%20number%20or%20paragraph.%20Thank%20you.
2.2.9.2. Reset Manager
The reset domains and sequences support several security features. The SDM bringsthe reset manager out of reset; and after that, the reset manager brings th