Advertisement

Quick Links

PolarFire

Introduction

(Ask a Question)
®
The PolarFire
SoC family offers the industry's first RISC-V based SoC FPGAs. The PolarFire SoC family combines
a powerful 64-bit 5x core RISC-V Microprocessor Sub-System (MSS), based on SiFive's U54-MC family, with the
PolarFire FPGA fabric in a single device. Packed with this powerful combination, PolarFire SoC devices offer the
scalable features of FPGAs and high-performance of ASICs. Only the FPGA fabric resources vary and the MSS
remains the same across PolarFire SoC device variants, making these devices ideal for a variety of applications.
PolarFire SoC FPGAs are ideal for running full-fledged Operating Systems (like Linux
This manual covers the PolarFire SoC MSS architecture and its functional blocks—the CPU Core Complex, AXI
Switch, MSS peripherals, Fabric interfaces, and MSS DDR controller. For information about configuring MSS,
see
Standalone MSS Configurator User Guide for PolarFire
development and tool flow, and MSS booting, see
Important: The AXI protocol standard uses the terminology "Master" and "Slave". The equivalent
Microchip terminology is "Initiator" and "Target", respectively.
The following figure shows the MSS block at a high-level. For more details, see
©
2023 Microchip Technology Inc.
and its subsidiaries
®
SoC MSS Technical Reference Manual
PolarFire SoC Software Development and Tool Flow User
Technical Reference Manual
®
) using MSS.
SoC. For information about PolarFire SoC software
Figure
2-1.
Guide.
DS60001702G-page 1

Advertisement

Table of Contents
loading
Need help?

Need help?

Do you have a question about the PolarFire SoC MSS and is the answer not in the manual?

Questions and answers

Summary of Contents for Microchip Technology PolarFire SoC MSS

  • Page 1: Introduction

    PolarFire SoC FPGAs are ideal for running full-fledged Operating Systems (like Linux ) using MSS. This manual covers the PolarFire SoC MSS architecture and its functional blocks—the CPU Core Complex, AXI Switch, MSS peripherals, Fabric interfaces, and MSS DDR controller. For information about configuring MSS, Standalone MSS Configurator User Guide for PolarFire SoC.
  • Page 2: References

    Standalone MSS Configurator User Guide for PolarFire SoC. • For information about PolarFire SoC software development and tool flow, see PolarFire SoC Software Development and Tool Flow User Guide. Technical Reference Manual DS60001702G-page 2 © 2023 Microchip Technology Inc. and its subsidiaries...
  • Page 3 For information about Embedded software development, see SoftConsole User Guide (to be published). • For information about other PolarFire SoC FPGA features, see the PolarFire SoC Documentation web page. Technical Reference Manual DS60001702G-page 3 © 2023 Microchip Technology Inc. and its subsidiaries...
  • Page 4: Table Of Contents

    Table of Contents Introduction..............................1 References..............................2 PolarFire SoC MSS Features........................6 Detailed Block Diagram...........................7 Functional Blocks............................ 9 3.1. CPU Core Complex........................9 3.2. AXI Switch..........................40 3.3. Fabric Interface Controllers (FICs)..................... 42 3.4. Memory Protection Unit......................43 3.5. Segmentation Blocks........................45 3.6. AXI-to-AHB..........................46 3.7.
  • Page 5 The Microchip Website........................134 Product Change Notification Service....................134 Customer Support..........................134 Microchip Devices Code Protection Feature..................134 Legal Notice............................135 Trademarks............................135 Quality Management System......................136 Worldwide Sales and Service......................137 Technical Reference Manual DS60001702G-page 5 © 2023 Microchip Technology Inc. and its subsidiaries...
  • Page 6: Polarfire Soc Mss Features

    PolarFire SoC MSS Features PolarFire SoC MSS Features (Ask a Question) The following table lists the features of PolarFire SoC MSS. Table 1-1. MSS Features Feature Description 3.1.1. E51 RISC-V Monitor Core (1x) RV64IMAC, 625 MHz, 16 KB L1 iCache or 8 KB ITIM, and 8 KB DTIM.
  • Page 7: Detailed Block Diagram

    3.12. Peripherals The following figure shows the functional blocks of the MSS in detail, the data flow from the CPU Core Complex to peripherals and vice versa. Technical Reference Manual DS60001702G-page 7 © 2023 Microchip Technology Inc. and its subsidiaries...
  • Page 8 The direction of arrows indicates control (master to slave). AXI Master The flow of data is bi-directional: AXI 32/64-bit, AXI 64-bit, AHB 32-bit, APB 32-bit. AXI Slave Technical Reference Manual DS60001702G-page 8 © 2023 Microchip Technology Inc. and its subsidiaries...
  • Page 9: Functional Blocks

    Functional Blocks Functional Blocks (Ask a Question) This section describes functional blocks of PolarFire SoC MSS. CPU Core Complex (Ask a Question) 3.1.1 E51 RISC-V Monitor Core (Ask a Question) The following table describes the features of E51. Table 3-1. E51 RISC-V Monitor Core Features...
  • Page 10 13: Integer arithmetic instruction retired 14: Conditional branch retired 15: JAL instruction retired 16: JALR instruction retired 17: Integer multiplication instruction retired 18: Integer division instruction retired Technical Reference Manual DS60001702G-page 10 © 2023 Microchip Technology Inc. and its subsidiaries...
  • Page 11 Description RV64GC iCache/ITIM 32 KB 8-way set-associative/28 KB ITIM dCache 32 KB 8-way set-associative ECC Support ECC on iCache, ITIM, and dCache 40-bit MMU compliant with Sv39 Technical Reference Manual DS60001702G-page 11 © 2023 Microchip Technology Inc. and its subsidiaries...
  • Page 12: Instruction Cache

    Map. The deallocated ITIM space is automatically returned to iCache. Software must clear the contents of ITIM after allocating it. It is unpredictable whether ITIM contents are preserved between deallocation and allocation. Technical Reference Manual DS60001702G-page 12 © 2023 Microchip Technology Inc. and its subsidiaries...
  • Page 13 The overall physical memory map of the CPU Core Complex is shown in 10. MSS Memory Map. The CPU Core Complex is configured with a 38-bit physical address space. Technical Reference Manual DS60001702G-page 13 © 2023 Microchip Technology Inc. and its subsidiaries...
  • Page 14 Table 3-6. NAPOT Range Encoding pmpaddr pmpcfg.A Value Match Type and Size (Binary) aaaa…aaaa 4-byte NAPOT range aaaa…aaa0 NAPOT 8-byte NAPOT range aaaa…aa01 NAPOT 16-byte NAPOT range Technical Reference Manual DS60001702G-page 14 © 2023 Microchip Technology Inc. and its subsidiaries...
  • Page 15: L2 Cache Controller

    The outer port of the L2 cache controller is a 128-bit TL-C port shared amongst all banks and connected to a DDR controller (see Figure 2-1). The overall organization of the L2 cache controller is shown in the following figure. Technical Reference Manual DS60001702G-page 15 © 2023 Microchip Technology Inc. and its subsidiaries...
  • Page 16 1 occupies the highest L2-LIM address range. When L2 cache ways are enabled, the size of the L2-LIM address space shrinks. The mapping of L2 cache ways to L2-LIM address space is shown in the following figure. Technical Reference Manual DS60001702G-page 16 © 2023 Microchip Technology Inc. and its subsidiaries...
  • Page 17 Note: Actual RAM width is 72 bits as an additional 8 ECC bits are used per 64-bit word. Table 3-8. L2 RAM Shutdown L2_SHUTDOWN_CR[3] L2_SHUTDOWN_CR[2] L2_SHUTDOWN_CR[1] L2_SHUTDOWN_CR [0] Technical Reference Manual DS60001702G-page 17 © 2023 Microchip Technology Inc. and its subsidiaries...
  • Page 18 Care must be taken with the scratchpad, as there is no memory backing this address space. Cache evictions from addresses in the scratchpad results in data loss. Technical Reference Manual DS60001702G-page 18 © 2023 Microchip Technology Inc. and its subsidiaries...
  • Page 19 Address of most recently corrected data error 0x148 ECCDataFixCount Count of corrected data errors 0x160 ECCDataFailAddr Address of most recent uncorrectable data error 0x168 ECCDataFailCount Count of uncorrectable data errors Technical Reference Manual DS60001702G-page 19 © 2023 Microchip Technology Inc. and its subsidiaries...
  • Page 20: Register Descriptions

    Once a cache way is enabled, the only way to map it back into the L2-LIM address space is by a Reset. Technical Reference Manual DS60001702G-page 20 © 2023 Microchip Technology Inc. and its subsidiaries...
  • Page 21 The ECCDataFixCount register is a Read Only register which contains the number of corrected data errors. Reading this register clears the DataError interrupt signal described in 3.1.6.1.5. L2 ECC. Technical Reference Manual DS60001702G-page 21 © 2023 Microchip Technology Inc. and its subsidiaries...
  • Page 22: Branch Prediction

    Mispredicted control-flow instructions incur a three-cycle latency. The Branch Prediction Mode (bpm) M-mode CSR at 0x7C0 is used to customize the current branch prediction behavior for predictable execution time. The following table lists the bpm CSR. Technical Reference Manual DS60001702G-page 22 © 2023 Microchip Technology Inc. and its subsidiaries...
  • Page 23 0x1000 so that the base address for any DMA channel is: DMA Base Address + (0x1000 × Channel ID). The register map of a DMA channel is described in the following table. Technical Reference Manual DS60001702G-page 23 © 2023 Microchip Technology Inc. and its subsidiaries...
  • Page 24: Control Register

    — — done Indicates that a transfer has completed since the channel was claimed error Indicates that a transfer error has occurred since the channel was claimed Technical Reference Manual DS60001702G-page 24 © 2023 Microchip Technology Inc. and its subsidiaries...
  • Page 25 ExecBytes: Indicates the number of bytes remaining in a transfer • ExecSource: Indicates the current source address • ExecDestination: Indicates the current destination address The base addresses of the above registers are listed in Table 3-15. Technical Reference Manual DS60001702G-page 25 © 2023 Microchip Technology Inc. and its subsidiaries...
  • Page 26 TileLink bus errors. 3.1.12.1 BEU Register Map (Ask a Question) The register map of a BEU is listed in the following table. Technical Reference Manual DS60001702G-page 26 © 2023 Microchip Technology Inc. and its subsidiaries...
  • Page 27 The local_interrupt register indicates the accrued events for which an interrupt must be generated directly to the Hart. An interrupt is generated when any bit is set in both accrued and local_interrupt registers. For example, when accrued and local_interrupt is not 0. Technical Reference Manual DS60001702G-page 27 © 2023 Microchip Technology Inc. and its subsidiaries...
  • Page 28 The tdata1–3 registers are XLEN-bit read/write registers that are selected from a larger underlying bank of TDR registers by the tselect register. Table 3-24. tdata1 CSR Trace and Debug Data Register 1 tdata1 Bits Field Name Attributes Description [27:0] TDR-Specific Data — — Technical Reference Manual DS60001702G-page 28 © 2023 Microchip Technology Inc. and its subsidiaries...
  • Page 29 The CPU Core Complex supports two hardware breakpoint registers, which can be flexibly shared between Debug mode and Machine mode. When a breakpoint register is selected with tselect, the other CSRs access the following information for the selected breakpoint: Technical Reference Manual DS60001702G-page 29 © 2023 Microchip Technology Inc. and its subsidiaries...
  • Page 30 The M/H/S/U bits are individual WARL fields. If they are set, it indicates an address match should only be successful in the Machine/Hypervisor/Supervisor/User modes respectively. All combinations of implemented bits must be supported. Technical Reference Manual DS60001702G-page 30 © 2023 Microchip Technology Inc. and its subsidiaries...
  • Page 31 When Debug mode uses a breakpoint register, it is no longer visible to Machine mode (that is, the tdrtype will be 0). Usually, the debugger will grab the breakpoints it needs before entering Machine mode, so Machine mode will operate with the remaining breakpoint registers. Technical Reference Manual DS60001702G-page 31 © 2023 Microchip Technology Inc. and its subsidiaries...
  • Page 32 3.1.13.4 PolarFire SoC Debug (Ask a Question) PolarFire SoC MSS contains a Debug block that allows an external host PC to initiate debug operations on processor cores via JTAG. Using Microchip’s SoftConsole, users can perform multi-core application debugging. Using Microchip’s SmartDebug, users can perform FPGA hardware debug. For more information about SmartDebug, see SmartDebug User Guide.
  • Page 33 If fewer than N instructions retire, the valid packets need not be consecutive, that is, there may be invalid packets between two valid packets. If one of the instructions is an exception, no recent instruction is valid. Technical Reference Manual DS60001702G-page 33 © 2023 Microchip Technology Inc. and its subsidiaries...
  • Page 34 3.1.14.3 Trace Architecture (Ask a Question) The following figure shows the high-level architecture and components of the Trace block. Technical Reference Manual DS60001702G-page 34 © 2023 Microchip Technology Inc. and its subsidiaries...
  • Page 35 JTAG Communicator and analytic modules, and vice versa. The message infrastructure bus contains the following: • A 32-bit bus configured for downstream messages for data trace • An 8-bit bus for upstream messages (control) Technical Reference Manual DS60001702G-page 35 © 2023 Microchip Technology Inc. and its subsidiaries...
  • Page 36 Note: Future versions of SoftConsole will include integrated Trace capabilities, which will enable the user to collect the Trace data. For more information on Trace, see SoftConsole User Guide (to be published). Technical Reference Manual DS60001702G-page 36 © 2023 Microchip Technology Inc. and its subsidiaries...
  • Page 37 Note: The monitored trace data must match with the data sent/received on S1 slave. The following figure shows the required trace modules and the flow involved in AXI Switch data trace. Technical Reference Manual DS60001702G-page 37 © 2023 Microchip Technology Inc. and its subsidiaries...
  • Page 38 Also, the monitored data trace from AXI Monitor 0 module must match with the data sent or received on S7. The following figure shows the required trace modules and the flow involved in DDR controller data and address trace. Technical Reference Manual DS60001702G-page 38 © 2023 Microchip Technology Inc. and its subsidiaries...
  • Page 39 Monitor 0 Monitor 1 Trace Modules Host PC Fabric JTAG/ JTAG Message Infrastructure Bus SoftConsole/Trace IDE On-Chip Communicator JTAG JPAM Fabric Trace 40-bit Fabric Trace Data Debug Module Technical Reference Manual DS60001702G-page 39 © 2023 Microchip Technology Inc. and its subsidiaries...
  • Page 40: Axi Switch

    — — — — — ✓ ✓ ✓ ✓ — — — — — ✓ — — — — — — — — — — — ✓ Technical Reference Manual DS60001702G-page 40 © 2023 Microchip Technology Inc. and its subsidiaries...
  • Page 41 System Controller Master comes with the highest priority 10-14 Others Fair among equals Fair among equals — Trace Master Priority Priority Trace comes with the highest priority Technical Reference Manual DS60001702G-page 41 © 2023 Microchip Technology Inc. and its subsidiaries...
  • Page 42: Quality Of Service

    The MSS includes the following fabric interfaces for interfacing FPGA fabric with the CPU Core Complex: • Three 64-bit AXI4 FICs: – FIC0: For data transfers to/from the fabric. FIC0 is connected as both master and slave (on the AXI Switch). Technical Reference Manual DS60001702G-page 42 © 2023 Microchip Technology Inc. and its subsidiaries...
  • Page 43: Memory Protection Unit

    Random access to memory regions by any non-CPU master can corrupt the memory and the overall system. To avoid random access to memory, the PolarFire SoC MSS includes a built-in Memory Protection Unit (MPU) for each master. The GEM0, GEM1, eMMC, USB, SCB, Crypto Processor, Trace, FIC0, FIC1, and FIC2 master blocks interface with an MPU.
  • Page 44 The AXI transaction to the main AXI switch is suppressed and stored internally. An interrupt is generated to inform the processor that a violation occurred. The processor can ignore this interrupt. Technical Reference Manual DS60001702G-page 44 © 2023 Microchip Technology Inc. and its subsidiaries...
  • Page 45: Segmentation Blocks

    Configurable DDRC Blocker Control (Table 3-46) Configurable Reserved The register format of SEG0 and SEG1 is same and the bit fields are described in the following table. Technical Reference Manual DS60001702G-page 45 © 2023 Microchip Technology Inc. and its subsidiaries...
  • Page 46: Axi-To-Ahb

    The MSS supports APB peripherals (CAN, MMUART, SPI, I2C) and configuration interfaces to other blocks (DDRC, AXI-SWITCH, ETHERNET) via the AHB-Lite bus generated from S5 of the AXI Switch, S5 is converted to APB using Technical Reference Manual DS60001702G-page 46 © 2023 Microchip Technology Inc. and its subsidiaries...
  • Page 47 20108000 20108FFF SPI0 20109000 20109FFF SPI1 2010A000 2010AFFF I2C0 2010B000 2010BFFF I2C1 2010C000 2010CFFF CAN0 2010D000 2010DFFF CAN1 20110000 20111FFF MAC0-CFG 20112000 20113FFF MAC1-CFG 20120000 20120FFF GPIO0 Technical Reference Manual DS60001702G-page 47 © 2023 Microchip Technology Inc. and its subsidiaries...
  • Page 48: Asymmetric Multi-Processing (Amp) Apb Bus

    I/Os through the I/O MUX to fabric. There are two voltage banks within MSSIO. This allows interfacing to different voltage standard components external to the device. Technical Reference Manual DS60001702G-page 48 © 2023 Microchip Technology Inc. and its subsidiaries...
  • Page 49: User Crypto Processor

    MSS DDR Memory Controller (Ask a Question) The PolarFire SoC MSS includes a hardened DDR controller to address the memory solution requirements for a wide range of applications with varying power consumption and efficiency levels. The DDR controller along with other blocks external to MSS form the MSS DDR subsystem that can be configured to support DDR3, DDR3L, DDR4, LPDDR3, and LPDDR4 memory devices.
  • Page 50 PolarFire SoC FCSG325 device packages do not support ECC and only support 16-bit DDR bus width. 3.11.3 Performance (Ask a Question) The following table lists the DDR speeds (Mb/s). For more information, see PolarFire SoC FPGA Datasheet. Technical Reference Manual DS60001702G-page 50 © 2023 Microchip Technology Inc. and its subsidiaries...
  • Page 51: Supported Configurations

    Lane 4 is only 4-bits wide, the upper data bits on the DDR memory are not connected. • In PolarFire SoC MSS Configurator, when the DQ width is set to 16 with ECC enabled, four extra pins DQ[16], DQ[17], DQ[18], and DQ[19] are available. In this case, DQ[16] and DQ[17] are used for ECC, while DQ[18] and DQ[19] are used for write calibration in training.
  • Page 52 (x32 DQ width) and CA buses shared across both channels as shown in the following figure. Figure 3-13. LPDDR4 Single Rank x32 CA Bus/Clock DQ[15:0] DRAM A MSS DDR DQ[31:16] DRAM B Technical Reference Manual DS60001702G-page 52 © 2023 Microchip Technology Inc. and its subsidiaries...
  • Page 53: Functional Description

    DDR SDRAM devices. The MSS DDR Controller performs automatic initialization, refresh, and ZQ-calibration functions. The following figure shows the functional blocks of the MSS DDR Controller. Technical Reference Manual DS60001702G-page 53 © 2023 Microchip Technology Inc. and its subsidiaries...
  • Page 54 The MSS DDR Controller can be configured such that the user interface operates at half the rate at which the SDRAM devices are clocked. In half-rate mode, the data interface (RDATA, WDATA) is four times the width of the physical DQ pins. Technical Reference Manual DS60001702G-page 54 © 2023 Microchip Technology Inc. and its subsidiaries...
  • Page 55: Address Mapping

    Signals—Required for MSS and DDR input clock sources, asserting MSS reset, CPU and DDR PLL lock assertion. • 3.11.6.2. SDRAM Interface Signals—Required for connecting to the DDR SDRAM. Technical Reference Manual DS60001702G-page 55 © 2023 Microchip Technology Inc. and its subsidiaries...
  • Page 56 Address bus. Sampled during the active, precharge, read, and write commands. Also provides the mode register value during MRS commands. Bus width for LPDDR3 is 10 bits, DDR3 is 16 bits, and DDR4 is 14 bits. Technical Reference Manual DS60001702G-page 56 © 2023 Microchip Technology Inc. and its subsidiaries...
  • Page 57 3.11.9.1 Accessing DDR Memory from the MSS (Ask a Question) Processor cores access DDR memory using the MSS DDR Subsystem via Seg0 (Segmentation block) as shown in the following figure. Technical Reference Manual DS60001702G-page 57 © 2023 Microchip Technology Inc. and its subsidiaries...
  • Page 58: Peripherals

    SDRAM (Cached) Cache For the overall PolarFire SoC MSS memory map which covers the memory map of FIC0, CPU Core Complex, AXI Switch, and Seg1 segmentation block, and the MSS DDR Controller (cached and uncached), see 10. MSS Memory Map.
  • Page 59: Memory Map

    SD/SDIO IO MUX FPGA Fabric MSSIOs 3.12.1 Memory Map (Ask a Question) The PolarFire SoC MSS peripheral memory map is described in PolarFire SoC Device Register Map. Follow these steps: Technical Reference Manual DS60001702G-page 59 © 2023 Microchip Technology Inc.
  • Page 60 PolarFire SoC Gigabit Ethernet MAC (Ask a Question) The PolarFire SoC MSS contains two hardened Gigabit Ethernet MAC IP blocks—GEM_0 and GEM_1— to enable Ethernet solutions over copper or optical cabling. GEM_0 and GEM_1 are functionally identical, hence, GEM_0 and GEM_1 are referred as GEM throughout the document.
  • Page 61 GMII/MII interface, this clock is sourced from the rx_clk input of the external PHY and can be either 2.5 MHz, 25 MHz, or 125 MHz. The following table lists the required frequencies of the transmit clock. Technical Reference Manual DS60001702G-page 61 © 2023 Microchip Technology Inc. and its subsidiaries...
  • Page 62 TSN block to support Timing Sensitive Networking (TSN) features • High-speed AXI DMA block to transfer data to and from the processor • Filter block filters out the received frames Technical Reference Manual DS60001702G-page 62 © 2023 Microchip Technology Inc. and its subsidiaries...
  • Page 63 The MAC receive block checks for valid preamble, FCS, alignment, and length, and presents received frames to the MAC address checking block. Firmware can configure GEM to receive jumbo frames up to 10,240 bytes. The address checker identifies the following: Technical Reference Manual DS60001702G-page 63 © 2023 Microchip Technology Inc. and its subsidiaries...
  • Page 64 DMA is granted the bus before the transmit DMA. However, most requests are either receive data writes or transmit data reads both of which can operate in parallel and can execute simultaneously. Technical Reference Manual DS60001702G-page 64 © 2023 Microchip Technology Inc. and its subsidiaries...
  • Page 65 TSU timer value is equal to the comparison value stored in the timer comparison value registers. The following diagram shows TSU from fabric in Timer Adjust mode. Technical Reference Manual DS60001702G-page 65 © 2023 Microchip Technology Inc. and its subsidiaries...
  • Page 66 400 MHz. In this mode, the timer signals interfacing the FPGA fabric are gated off. The following diagram shows the TSU from MSS in Increment Mode. Technical Reference Manual DS60001702G-page 66 © 2023 Microchip Technology Inc. and its subsidiaries...
  • Page 67 Table 3-59. PTP Strobe Signals Signal Name Description DELAY_REQ_RX Asserted when the PTP RX delay request is detected. DELAY_REQ_TX Asserted when the PTP TX delay request is detected. Technical Reference Manual DS60001702G-page 67 © 2023 Microchip Technology Inc. and its subsidiaries...
  • Page 68 Using Frame Replication and Elimination for Reliability (FRER) within a network increases the probability that a given packet is delivered using multi-path paths through the network. Technical Reference Manual DS60001702G-page 68 © 2023 Microchip Technology Inc. and its subsidiaries...
  • Page 69 In 10/100 Mbps mode txd[3:0] is used, txd[7:4] tied to Logic 0 while transmission. rxd[3:0] is used, rxd[7:4] is tied to Logic 0 during reception of data. • In 1000 Mbps mode, all txd[7:0] and rxd[7:0] bits are used. Technical Reference Manual DS60001702G-page 69 © 2023 Microchip Technology Inc. and its subsidiaries...
  • Page 70: Can Controller

    HLP such as DeviceNet, the message filter also covers the first two data bytes of the message payload. A block diagram of the CAN controller is shown in Figure 3-25. Transmit and receive message buffers are SECDED through the error detection and correction (EDAC) controller. Technical Reference Manual DS60001702G-page 70 © 2023 Microchip Technology Inc. and its subsidiaries...
  • Page 71: Interrupt Controller

    Message filter covers: ID, IDE, remote transmission request (RTR), data byte 1, and data byte 2 • Message buffers can be linked together to build a bigger message array • Automatic RTR response handler with optional generation of RTR interrupt Transmit Path Technical Reference Manual DS60001702G-page 71 © 2023 Microchip Technology Inc. and its subsidiaries...
  • Page 72 CAN bus receive signal. This signal connects to the receiver bus of the external transceiver. Output CAN bus transmit signal. This signal connects to the external transceiver. Technical Reference Manual DS60001702G-page 72 © 2023 Microchip Technology Inc. and its subsidiaries...
  • Page 73 Note: RTR message requests are served before transmit message buffers are handled. For example, RTRreq0, RTRreq31, TxMessage0, TxMessage1, and TxMessage31. Technical Reference Manual DS60001702G-page 73 © 2023 Microchip Technology Inc. and its subsidiaries...
  • Page 74 After a new message is received, the receive message handler searches all receive buffers, starting from the receive message0 until it finds a valid buffer. A valid buffer is indicated by: Technical Reference Manual DS60001702G-page 74 © 2023 Microchip Technology Inc. and its subsidiaries...
  • Page 75 If no other buffer is found, the RX_MSG_LOSS interrupt is set and the message is discarded. It is possible to build several message arrays. Each of these arrays must use the same AMR and ACR. Technical Reference Manual DS60001702G-page 75 © 2023 Microchip Technology Inc. and its subsidiaries...
  • Page 76 C-Bus provides eNVM configuration, read/write capability. The R-Bus allows reading of the eNVM over AHB. For more information about the C-Bus configuration registers, see PolarFire SoC Device Register Map. Technical Reference Manual DS60001702G-page 76 © 2023 Microchip Technology Inc. and its subsidiaries...
  • Page 77 – 8-bit frames directly – Back-to-back frame operation supports greater than 8-bit frames – Up to 4 GB Transfer (2 × 32 bytes) • Processor overhead reduction Technical Reference Manual DS60001702G-page 77 © 2023 Microchip Technology Inc. and its subsidiaries...
  • Page 78 FIFO’s. The QSPI device stays in XIP mode as long as the Xb bit is zero. In XIP mode, AHB write cycles access the core registers allowing the values to change, although the registers cannot be read when in XIP mode. Technical Reference Manual DS60001702G-page 78 © 2023 Microchip Technology Inc. and its subsidiaries...
  • Page 79 The input filters in MMUART suppress the noise and spikes of incoming clock signals and serial input data based on the filter length. The RZI modulation/demodulation blocks are intended to allow for IrDA serial infrared (SIR) communications. Technical Reference Manual DS60001702G-page 79 © 2023 Microchip Technology Inc. and its subsidiaries...
  • Page 80: Spi Controller

    In Slave mode, the SPI is selected by SPI_X_SS. The SPI receives a clock on SPI_X_CLK and incoming data on SPI_X_DI. The SPI peripherals consist mainly of the following components (see Figure 3-30). • Transmit and receive FIFOs Technical Reference Manual DS60001702G-page 80 © 2023 Microchip Technology Inc. and its subsidiaries...
  • Page 81 STATUS Register is updated. 3.12.7.2.3 SPI Clock Generator (Ask a Question) In Master mode, the SPI clock generator generates the serial programmable clock from the APB clock. Technical Reference Manual DS60001702G-page 81 © 2023 Microchip Technology Inc. and its subsidiaries...
  • Page 82 The I2C peripherals consist mainly of the following components (see Figure 3-31). • Input Glitch Filter • Arbitration and Synchronization Logic • Address Comparator • Serial Clock Generator Technical Reference Manual DS60001702G-page 82 © 2023 Microchip Technology Inc. and its subsidiaries...
  • Page 83 I2C is in Slave mode. 3.12.8.3 Register Map (Ask a Question) The base addresses and register descriptions of I2C_0 and I2C_1 are listed in PolarFire SoC Device Register Map. Technical Reference Manual DS60001702G-page 83 © 2023 Microchip Technology Inc. and its subsidiaries...
  • Page 84 In Edge-sensitive mode, GPIO_INTR register is cleared either by disabling the interrupt or writing a Logic 1 through the APB interface. If an edge and GPIO_INTR clearing through the APB occurs simultaneously, the edge has higher priority. Technical Reference Manual DS60001702G-page 84 © 2023 Microchip Technology Inc. and its subsidiaries...
  • Page 85: Real-Time Counter (Rtc)

    The RTC is connected to the main MSS AMBA interconnect via an APB interface. 3.12.10.2 Functional Description (Ask a Question) The RTC architecture and its components are as follows: • Prescaler • RTC Counter • Alarm Wake-up Comparator Technical Reference Manual DS60001702G-page 85 © 2023 Microchip Technology Inc. and its subsidiaries...
  • Page 86 - 1. In both the modes, the alarm event generation logic simply compares the content of the Alarm register with that of the RTC; when they are equal, the RTC_MATCH output is asserted. Technical Reference Manual DS60001702G-page 86 © 2023 Microchip Technology Inc. and its subsidiaries...
  • Page 87 If the counter is not refreshed, it times out and either causes a system reset or generates an interrupt to the processor. • The watchdog timer counter is halted when the processor enters the Debug state. Technical Reference Manual DS60001702G-page 87 © 2023 Microchip Technology Inc. and its subsidiaries...
  • Page 88 PolarFire SoC FPGA device contains a USB On-The-Go (OTG) controller as part of the microprocessor subsystem (MSS). USB OTG Technical Reference Manual DS60001702G-page 88 © 2023 Microchip Technology Inc. and its subsidiaries...
  • Page 89 AHB Master and Slave Interfaces • CPU Interface • Endpoints (EP) Control Logic and RAM Control Logic • Packet Encoding, Decoding, and CRC Block • PHY Interfaces Technical Reference Manual DS60001702G-page 89 © 2023 Microchip Technology Inc. and its subsidiaries...
  • Page 90 I/Os are routed through the MSS onto multi-standard I/Os (MSIOs). 3.12.13.3 Register Map (Ask a Question) For information about USB OTG controller register map, see PolarFire SoC Device Register Map. Technical Reference Manual DS60001702G-page 90 © 2023 Microchip Technology Inc. and its subsidiaries...
  • Page 91 The following table shows how to select the DMA engine and Addressing mode by setting SRS10.DMASEL, SRS15.HV4E and SRS16.A64S register fields. Table 3-65. DMA Mode SRS10.DMASEL SRS15.HV4E SRS16.A64S DMA Mode SDMA 32-bit Reserved SDMA 32-bit SDMA 64-bit Technical Reference Manual DS60001702G-page 91 © 2023 Microchip Technology Inc. and its subsidiaries...
  • Page 92 The SDMA engine restarts the transfer when the uppermost byte of the SDMA System Address register is written. Technical Reference Manual DS60001702G-page 92 © 2023 Microchip Technology Inc. and its subsidiaries...
  • Page 93: System Memory

    (the 3 LSbs are set to 0) in 64-bit Addressing mode. The size of each data page is arbitrary and it depends on neither the previous nor the successive page size. It can also be different from the SD card transfer block size (SRS01.TBS). Technical Reference Manual DS60001702G-page 93 © 2023 Microchip Technology Inc. and its subsidiaries...
  • Page 94 2’b11 (LINK) – go to the next Descriptor List pointed by ADDRESS field of this descriptor. When this bit is set, the DMA Interrupt (SRS12.DMAINT) is generated when the ADMA2 engine completes processing of the descriptor. Technical Reference Manual DS60001702G-page 94 © 2023 Microchip Technology Inc. and its subsidiaries...
  • Page 95 The FSM resets all the counters and then enables the channel counters. When the external “enable” signal is active, the channel counter increments and stops all the channel counters. The time can be calculated by reading Technical Reference Manual DS60001702G-page 95 © 2023 Microchip Technology Inc. and its subsidiaries...
  • Page 96 M2F controller has 43 interrupt lines from the MSS interrupt sources. These MSS interrupts are combined to produce 16 MSS to Fabric interrupts (MSS_INT_M2F[15:0]). These interrupts are level sensitive with active-high polarity. The following figure shows the block diagram of M2F interrupt controller. Technical Reference Manual DS60001702G-page 96 © 2023 Microchip Technology Inc. and its subsidiaries...
  • Page 97 The peripherals driving the M2F interrupt source inputs must ensure that their interrupts remain asserted until peripherals are serviced. 3.12.16.3 Register Map (Ask a Question) For information about M2F Interrupt Controller register map, see PolarFire SoC Device Register Map. Technical Reference Manual DS60001702G-page 97 © 2023 Microchip Technology Inc. and its subsidiaries...
  • Page 98: System Registers

    PolarFire SoC Device Register Map, follow these steps: Using a browser, open the pfsoc_regmap.htm file from <$download_directory>\PolarFireSoC_Register_Map\PF_SoC_RegMap. Select SYSREGSCB to view the subsequent register descriptions and details. Technical Reference Manual DS60001702G-page 98 © 2023 Microchip Technology Inc. and its subsidiaries...
  • Page 99: Interrupts

    M and S Mode External Interrupt Hart4 Local Interrupt 0 Local Interrupt 47 Table 5-1 lists the Local and Global interrupts implemented in the MSS. For Example: Technical Reference Manual DS60001702G-page 99 © 2023 Microchip Technology Inc. and its subsidiaries...
  • Page 100 — — — MASKED mac1_queue3 — — — MASKED mac1_emac — — — MASKED mac1_mmsl — — — MASKED ddrc_train — — — — — — Technical Reference Manual DS60001702G-page 100 © 2023 Microchip Technology Inc. and its subsidiaries...
  • Page 101 — — — usoc_vc_interrupt — — — — — usoc_smb_interrupt — — — — — pll_event — — — — — mpu_fail — — — — — Technical Reference Manual DS60001702G-page 101 © 2023 Microchip Technology Inc. and its subsidiaries...
  • Page 102 >FAB_INTEN_U54_1 = 0xffffffff;instruction. This instruction enables all MSS_INT_F2M[31:0] interrupts to interrupt U54_1 directly. Similarly, enable the Local interrupts on U54_2, U54_3, and U54_4 cores. By default, all Local interrupts MSS_INT_F2M[63:32] are enabled on the E51 core. Technical Reference Manual DS60001702G-page 102 © 2023 Microchip Technology Inc. and its subsidiaries...
  • Page 103: Interrupt Csrs

    5.1.2 Machine Interrupt Enable Register (mie) (Ask a Question) Individual interrupts are enabled by setting the appropriate bit in the mie register described in the following table. Technical Reference Manual DS60001702G-page 103 © 2023 Microchip Technology Inc. and its subsidiaries...
  • Page 104 Supervisor Timer Interrupt Pending Reserved WPRI — MTIP Machine Timer Interrupt Pending Reserved WPRI — SEIP Supervisor Global Interrupt Pending Reserved WPRI — MEIP Machine Global Interrupt Pending Technical Reference Manual DS60001702G-page 104 © 2023 Microchip Technology Inc. and its subsidiaries...
  • Page 105 Supervisor timer interrupt Reserved Machine timer interrupt Reserved Supervisor Global interrupt Reserved Machine Global interrupt 12-15 Reserved Local Interrupt 0 Local Interrupt 1 18-62 Local Interrupt 47 Technical Reference Manual DS60001702G-page 105 © 2023 Microchip Technology Inc. and its subsidiaries...
  • Page 106 In Vectored Interrupt mode, BASE must be 128-byte aligned. All machine Global interrupts are mapped to exception code of 11. Thus, when Technical Reference Manual DS60001702G-page 106 © 2023 Microchip Technology Inc. and its subsidiaries...
  • Page 107: Supervisor Mode Interrupts

    Instruction access fault WARL Illegal Instruction WARL Breakpoint WARL Load address misaligned WARL Load access fault WARL Store/AMO address misaligned WARL Store/AMO access fault WARL Environment call from U-mode Technical Reference Manual DS60001702G-page 107 © 2023 Microchip Technology Inc. and its subsidiaries...
  • Page 108 SSIE Supervisor Software Interrupt Enable [4:2] Reserved WIRI — STIE Supervisor Timer Interrupt Enable [8:6] Reserved WIRI — SEIE Supervisor External Interrupt Enable [63:10] Reserved WIRI — Technical Reference Manual DS60001702G-page 108 © 2023 Microchip Technology Inc. and its subsidiaries...
  • Page 109 1 if the trap was caused by an interrupt; 0 otherwise. Table 5-14. Supervisor Interrupt Exception Codes Interrupt Exception Code Description Reserved Supervisor software interrupt Reserved Supervisor timer interrupt Reserved Supervisor external interrupt ≥10 Reserved Technical Reference Manual DS60001702G-page 109 © 2023 Microchip Technology Inc. and its subsidiaries...
  • Page 110 All supervisor Global interrupts are mapped to exception code of 9. Thus, when interrupt vectoring is enabled, the PC is set to address stvec.BASE + 0x24 for any global interrupt. See the supervisor interrupt exception codes in Table 5-14. Technical Reference Manual DS60001702G-page 110 © 2023 Microchip Technology Inc. and its subsidiaries...
  • Page 111: Interrupt Priorities

    Table 5-16. PLIC Memory Map PLIC Memory Map Address Width Attrib Description Notes utes 0x0C00_0000 Reserved 0x0C00_0004 source 1 priority 0x0C00_0008 source 2 priority Table 5-18. 0x0C00_02D0 source 186 priority Technical Reference Manual DS60001702G-page 111 © 2023 Microchip Technology Inc. and its subsidiaries...
  • Page 112 — — Reserved — 0x0C00_1FFF 0x0C00_2000 Start of Hart 0 M-mode enables Table 5-21. 0x0C00_2014 End of Hart 0 M-mode enables 0x0C00_2018 — — Reserved — 0x0C00_207F Technical Reference Manual DS60001702G-page 112 © 2023 Microchip Technology Inc. and its subsidiaries...
  • Page 113 Hart 4 M-mode enables 0x0C00_2394 End of Hart 4 M-mode enables 0x0C00_2400 Hart 4 S-mode enables 0x0C00_2414 End of Hart 4 S-mode enables 0x0C00_2480 — — Reserved 0x0C1F_FFFF Technical Reference Manual DS60001702G-page 113 © 2023 Microchip Technology Inc. and its subsidiaries...
  • Page 114: Interrupt Sources

    Channel 0 Error DMA Controller Channel 1 Done DMA Controller Channel 1 Error DMA Controller Channel 2 Done DMA Controller Channel 2 Error DMA Controller Channel 3 Done Technical Reference Manual DS60001702G-page 114 © 2023 Microchip Technology Inc. and its subsidiaries...
  • Page 115 Interrupt 0 pending Non-existent Global interrupt 0 is hardwired to zero Interrupt 1 pending Pending bit for Global interrupt 1 Interrupt 2 pending Pending bit for Global interrupt 2 Technical Reference Manual DS60001702G-page 115 © 2023 Microchip Technology Inc. and its subsidiaries...
  • Page 116 Field Name Attribute Reset Description Interrupt 160 Enable Enable bit for Global interrupt 160 Interrupt 186 Enable Enable bit for Global interrupt 186 [31:26] Reserved WIRI — Technical Reference Manual DS60001702G-page 116 © 2023 Microchip Technology Inc. and its subsidiaries...
  • Page 117: Core Local Interrupt Controller

    Address Width Attributes Description Notes 0x0200_0000 msip for Hart0 MSIP Registers 0x0200_0004 msip for Hart1 0x0200_0008 msip for Hart2 0x0200_000C msip for Hart3 0x0200_0010 msip for Hart4 Technical Reference Manual DS60001702G-page 117 © 2023 Microchip Technology Inc. and its subsidiaries...
  • Page 118 By default, all interrupts trap to Machine mode including timer and software interrupts. Machine mode software and timer interrupts must be delegated to Supervisor mode. For more information, see 5.2. Supervisor Mode Interrupts. Technical Reference Manual DS60001702G-page 118 © 2023 Microchip Technology Inc. and its subsidiaries...
  • Page 119: Fabric Interface Controller

    MSS and fabric and can have slaves in MSS and fabric. FIC0 is used for data transfers to/from the fabric. FIC1 is used for data transfers to/from the fabric and PCIe Controller hard block in the FPGA. Technical Reference Manual DS60001702G-page 119 © 2023 Microchip Technology Inc. and its subsidiaries...
  • Page 120: Address Range

    (Ask a Question) The following figure shows the simulation of write and read transactions to non-cached DDR region through FIC_0. FIC_0 operates at 250 MHz in this example. Technical Reference Manual DS60001702G-page 120 © 2023 Microchip Technology Inc. and its subsidiaries...
  • Page 121: Configuring Fics

    Figure 6-2. Write and Read Transactions through FIC_0 Configuring FICs (Ask a Question) FICs can be configured using the Standalone MSS Configurator. For more information, see Standalone MSS Configurator User Guide for PolarFire SoC. Technical Reference Manual DS60001702G-page 121 © 2023 Microchip Technology Inc. and its subsidiaries...
  • Page 122: Boot Process

    For more information about the MSS booting and configuration, see PolarFire FPGA and PolarFire SoC FPGA Power-up and Resets User Guide, PolarFire SoC Software Development and Tool Flow User Guide, and Boot Modes Fundamentals. Technical Reference Manual DS60001702G-page 122 © 2023 Microchip Technology Inc. and its subsidiaries...
  • Page 123: Resets

    Download and unzip the register map folder. Using a browser, open the pfsoc_regmap.htm file from <$download_folder>\Register Map\PF_SoC_RegMap_Vx_x. Select PFSOC_MSS_TOP_SYSREG and find the SOFT_RESET_CR register to view its description. Technical Reference Manual DS60001702G-page 123 © 2023 Microchip Technology Inc. and its subsidiaries...
  • Page 124: Clocking

    These five clocks may be sourced from global clock lines in the fabric. For more information about MSS Clocking, see PolarFire FPGA and PolarFire SoC FPGA Clocking Resources User Guide. Technical Reference Manual DS60001702G-page 124 © 2023 Microchip Technology Inc. and its subsidiaries...
  • Page 125: Mss Memory Map

    0x0200_FFFF CLINT 0x0201_0000 0x0201_0FFF Cache Controller 0x0201_1000 0x0201_FFFF — Reserved 0x0202_0000 0x0202_0FFF 0x0202_1000 0x02FF_FFFF — Reserved 0x0300_0000 0x030F_FFFF DMA Controller 0x0310_0000 0x07FF_FFFF — Reserved 0x0800_0000 0x081F_FFFF L2-LIM Technical Reference Manual DS60001702G-page 125 © 2023 Microchip Technology Inc. and its subsidiaries...
  • Page 126 SPI0 0x2010_8000 0x2810_8000 SPI1 0x2010_9000 0x2810_9000 I2C0 0x2010_A000 0x2810_A000 I2C1 0x2010_B000 0x2810_B000 CAN0 0x2010_C000 0x2810_C000 CAN1 0x2010_D000 0x2810_D000 MAC0 0x2011_0000 0x2811_0000 MAC1 0x2011_2000 0x2811_2000 GPIO0 0x2012_0000 0x2812_0000 Technical Reference Manual DS60001702G-page 126 © 2023 Microchip Technology Inc. and its subsidiaries...
  • Page 127 Note: FIC2 is an AXI4 slave interface from the FPGA fabric and does not show up on the MSS memory map. FIC4 is dedicated to the User Crypto Processor and does not show up on the MSS memory map. Technical Reference Manual DS60001702G-page 127 © 2023 Microchip Technology Inc. and its subsidiaries...
  • Page 128: Appendix A: Acronyms

    Inter-Integrated Circuit iCache Instruction Cache IrDA Infrared Data Association Interrupt Request Instruction Set Architecture ITIM Instruction Tightly Integrated Memory JTAG Joint Test Action Group Loosely Integrated Memory Technical Reference Manual DS60001702G-page 128 © 2023 Microchip Technology Inc. and its subsidiaries...
  • Page 129 D = Standard Extension for Double-Precision Floating-Point C = Standard Extension for Compressed Instructions Read/Write Return to Zero Inverted System Controller Bus Serial Clock Line Secure Digital Technical Reference Manual DS60001702G-page 129 © 2023 Microchip Technology Inc. and its subsidiaries...
  • Page 130 Writes-Preserve Reads-Ignore field. A register field that may contain unknown information. Reads should ignore the value returned, but writes to the whole register should preserve the original value. Execute In Place Technical Reference Manual DS60001702G-page 130 © 2023 Microchip Technology Inc. and its subsidiaries...
  • Page 131: Revision History

    Figure 6-2 to show the simulation write and read transactions to non-cached DDR region. • Updated 6.2. FIC Reset. • Added Boot Modes Fundamentals 7. Boot Process. Technical Reference Manual DS60001702G-page 131 © 2023 Microchip Technology Inc. and its subsidiaries...
  • Page 132 Map, added steps to describe how to use PolarFire SoC Device Register Map. • Throughout the document, removed peripherals memory map and pointed to PolarFire SoC Device Register Map. Technical Reference Manual DS60001702G-page 132 © 2023 Microchip Technology Inc. and its subsidiaries...
  • Page 133 Added the CPU memory map to the MSS memory map, see Table 10-1. • Updated FIC1 information, see 3.3. Fabric Interface Controllers (FICs) Table 6-1. 10/2019 This the first publication of this document. Technical Reference Manual DS60001702G-page 133 © 2023 Microchip Technology Inc. and its subsidiaries...
  • Page 134: Microchip Fpga Support

    Technical support is available through the website at: www.microchip.com/support Microchip Devices Code Protection Feature (Ask a Question) Note the following details of the code protection feature on Microchip products: Technical Reference Manual DS60001702G-page 134 © 2023 Microchip Technology Inc. and its subsidiaries...
  • Page 135: Legal Notice

    Control, HyperLight Load, Libero, motorBench, mTouch, Powermite 3, Precision Edge, ProASIC, ProASIC Plus, ProASIC Plus logo, Quiet- Wire, SmartFusion, SyncWorld, Temux, TimeCesium, TimeHub, TimePictra, TimeProvider, TrueTime, and ZL are registered trademarks of Microchip Technology Incorporated in the U.S.A. Adjacent Key Suppression, AKS, Analog-for-the-Digital Age, Any Capacitor, AnyIn, AnyOut, Augmented Switching, BlueSky, BodyCom, Clockstudio, CodeGuard, CryptoAuthentication, CryptoAutomotive, CryptoCompanion, CryptoController, dsPICDEM, dsPICDEM.net, Dynamic Average Matching, DAM, ECAN, Espresso T1S,...
  • Page 136: Quality Management System

    The Adaptec logo, Frequency on Demand, Silicon Storage Technology, and Symmcom are registered trademarks of Microchip Technology Inc. in other countries. GestIC is a registered trademark of Microchip Technology Germany II GmbH & Co. KG, a subsidiary of Microchip Technology Inc., in other countries.
  • Page 137: Worldwide Sales And Service

    Tel: 631-435-6000 Sweden - Stockholm San Jose, CA Tel: 46-8-5090-4654 Tel: 408-735-9110 UK - Wokingham Tel: 408-436-4270 Tel: 44-118-921-5800 Canada - Toronto Fax: 44-118-921-5820 Tel: 905-695-1980 Fax: 905-695-2078 Technical Reference Manual DS60001702G-page 137 © 2023 Microchip Technology Inc. and its subsidiaries...

Table of Contents