Microsemi Microchip PolarFire SoC FPGA Product Overview 10
Microsemi Microchip PolarFire SoC FPGA Product Overview 10
Microsemi Microchip PolarFire SoC FPGA Product Overview 10
Contents
1 Revision History.................................................................................................................................1
1.1 Revision 1.0.........................................................................................................................................................1
2 Overview............................................................................................................................................2
2.1 Microprocessor Subsystem Features..................................................................................................................2
2.2 FPGA Features....................................................................................................................................................3
2.2.1 Low-Power Features............................................................................................................................4
2.2.2 Reliability Features...............................................................................................................................4
2.2.3 Security Features.................................................................................................................................4
2.2.4 SoftConsole Embedded IDE.................................................................................................................4
2.2.5 Antmicro Renode™..............................................................................................................................4
2.2.6 Libero® SoC PolarFire FPGA Toolset.....................................................................................................4
2.3 Block Diagram.....................................................................................................................................................5
2.4 Product Family Table...........................................................................................................................................5
3 Microprocessor Subsystem................................................................................................................7
3.1 CPUs....................................................................................................................................................................7
3.1.1 E51 Monitor Core.................................................................................................................................7
3.1.2 U54 Application Cores.........................................................................................................................9
3.1.3 Physical Memory Protection..............................................................................................................11
3.2 Debug...............................................................................................................................................................12
3.2.1 CPU Debug.........................................................................................................................................12
3.2.2 Trace..................................................................................................................................................12
3.2.3 AXI Bus Monitors...............................................................................................................................13
3.2.4 Fabric Monitor...................................................................................................................................13
3.2.5 SmartDebug.......................................................................................................................................13
3.3 Interrupts..........................................................................................................................................................13
3.4 Memory Subsystems.........................................................................................................................................13
3.4.1 L2 Memory Subsystem.......................................................................................................................14
3.5 Processor Interconnect.....................................................................................................................................15
3.6 Processor I/O....................................................................................................................................................16
3.6.1 Gigabit Ethernet MAC........................................................................................................................16
3.6.2 MMC 5.1/SD/SDIO/eMMC.................................................................................................................17
3.6.3 USB 2.0 OTG.......................................................................................................................................18
3.6.4 User Crypto........................................................................................................................................18
3.6.5 Controller Area Network....................................................................................................................19
3.6.6 QSPI XIP controller.............................................................................................................................19
3.6.7 Serial Peripheral Interface.................................................................................................................20
3.6.8 Multi-Mode UART..............................................................................................................................20
3.6.9 I2C......................................................................................................................................................21
3.6.10 Real Time Counter...........................................................................................................................21
3.6.11 Watchdog Timer..............................................................................................................................21
3.6.12 Timer................................................................................................................................................21
3.7 Processor-to-Fabric Interconnect.....................................................................................................................21
3.8 Secure Boot......................................................................................................................................................22
3.9 Peripheral Memory SECDED Reporting and Error Injection..............................................................................22
3.10 DMA Controller...............................................................................................................................................22
4 Programmable Logic Subsystem......................................................................................................23
1 Revision History
The revision history describes the changes that were implemented in the document. The changes are listed
by revision, starting with the most current publication.
2 Overview
PolarFire™ SoC is built upon the award-winning PolarFire FPGA non-volatile FPGA platform. Featuring a five
core Linux capable processor subsystem based on the RISC-V ISA, PolarFire SoC brings to market a royalty-free,
innovative, mid-range, embedded compute platform that inherits all the benefits of the PolarFire FPGA
product family. The RISC-V CPU micro-architecture implementation is a simple, 5-stage single issue in order
pipeline that doesn't suffer from the Meltdown and Spectre exploits found in common out-of-order machines.
All five CPU cores are coherent with the memory subsystem allowing a versatile mix of deterministic real
time systems and Linux in a single, multi-core CPU cluster. With Secure Boot built-in, innovative Linux and
Real Time modes, a large Flexible L2 memory subsystem, and a rich set of embedded peripherals, PolarFire
SoC provides designers new choices in secure, power-efficient, embedded compute platforms. This document
describes the features of PolarFire SoC extended commercial (0 °C to 100 °C Tj) and industrial (–40 °C to
100 °C Tj) device offerings.
◦ 48 local interrupts sourced from the FPGA drive the local interrupt controller on each core
• Debug
◦ 10 hardware triggers per CPU (triggers can be configured as a breakpoint or a watchpoint)
◦ Instruction trace on all CPUs
◦ Performance counters
◦ Runtime-configurable AXI bus monitors
▪ Monitor AXI commands to DDR
▪ Monitor an AXI port going into or out of the AMBA I/O AXI switch
◦ 32-bit fabric monitor
◦ SmartDebug
▪ Dynamically monitor any 2 nets in the FPGA on 2 pins without changing the FPGA design
▪ Read/write to FPGA flip-flops and memories
▪ Halt clock trees, inspect logic tree
▪ FPGA breakpoints
▪ SmartDebug integrated into processor debug transport layer—debug from a single tool chain
◦ Secure debug remotely over Ethernet (both the processor subsystem and the FPGA design)
• Processor I/O
◦ 2 Gige MACs
◦ 1 USB 2.0 OTG
◦ MMC 5.1 SD/SDIO
◦ 2 CAN 2.0 A and B
◦ Execute in place Quad SPI flash controller
◦ 5 multi-mode UARTs
◦ 2 SPI, 2 I2C
◦ RTC, GPIO
◦ 5 watchdog timers
◦ Timers
• Processor to FPGA Interconnect
◦ 2 64-bit AXI4 processor-to-fabric interfaces
◦ 3 64-bit AXI4 fabric-to-processor interfaces
◦ 1 32-bit APB processor-to-fabric interface
• General-purpose I/O (GPIO) supporting 3.3 V, built-in CDR for serial gigabit Ethernet, 1067 Mbps DDR3,
and 1250 Mbps LVDS I/O speed with integrated I/O digital logic
• Low-power, phase-locked loops (PLLs) and delay-locked loops (DLLs) for high precision and low jitter
• 1.0 V and 1.05 V operating modes
3 Microprocessor Subsystem
3.1 CPUs
Feature Description
ISA RV64IMAC
The pipeline only interlocks on read-after-write and write-after-write hazards, so instructions may be
scheduled to avoid stalls.
The iterative multiplier is configured to produce 16 bits per cycle with an early-out option. The iterative
divider has latency of between three and 66 cycles and an early-out option.
Branch and jump instructions transfer control from the memory access pipeline stage. Correctly predicted
branches and jumps incur no penalty, whereas mispredicted branches and jumps incur a three-cycle penalty.
Most CSR writes result in a pipeline flush, a five-cycle penalty.
Feature Description
ECC support Single-error correct, double-error detect on the instruction cache/ITIM and data cache
Virtual memory support The U54 has support for Sv39 virtual memory support with a 39-bit virtual address space, 38-bit
physical address space, and 32-entry TLB
instruction cache. For determinism, software must clear the contents of ITIM after allocating it. It is
unpredictable whether ITIM contents are preserved between deallocation and allocation.
The pipeline only interlocks on read-after-write and write-after-write hazards, so instructions may be
scheduled to avoid stalls.
The U54 implements the standard Multiply (M) extension to the RISC-V architecture for integer multiplication
and division. The U54 has a 16-bit per cycle hardware multiply and a 4-bit per cycle hardware divide.
Branch and jump instructions transfer control from the memory access pipeline stage. Correctly predicted
branches and jumps incur no penalty, whereas mispredicted branches and jumps incur a three-cycle penalty.
Most CSR writes result in a pipeline flush with a five-cycle penalty.
3.2 Debug
A successful match on address can generate an exception or place the machine into debug mode.
3.2.2 Trace
PolarFire SoC includes an Instruction trace interface module. For each core, the following can be captured
when an instruction is retired or trapped and trace is enabled.
• The address of the instruction
• The instruction
• Privileged mode during execution
• Trap or retired indication
• Interrupt or exception indication
• Exception cause
• Exception data
PolarFire SoC uses UltraSoC debug infrastructure to compress and transport debug information over a
variety of ports.
• Ethernet
• JTAG
• FPGA fabric
3.2.5 SmartDebug
3.3 Interrupts
Each hardware thread (hart) in PolarFire SoC has support for the following interrupts: local (including
software and timer) and global. Local interrupts are signaled directly to an individual hart with a dedicated
interrupt value. This allows for reduced interrupt latency as there is no arbitration required to determine
which hart will service a given request, nor additional memory accesses required to determine the cause
of the interrupt. Software and timer interrupts are local interrupts generated by the Core Local Interruptor
(CLINT). Global interrupts by contrast, are routed through a Platform-Level Interrupt Controller (PLIC), which
can direct interrupts to any hart in the system via the external interrupt. Decoupling global interrupts from
the hart(s) allows the design of the PLIC to be tailored to the platform, permitting a broad range of attributes
like the number of interrupts and the prioritization and routing schemes. By default all interrupts are are
handled in machine mode. The U54s, which support supervisor mode, can selectively delegate interrupts
to supervisor mode.
Figure 2 • Interrupts
It can support up to 8 GB of external DDR4 memory and 4GB of DDR3 memory. SECDED capability is also
provide when configured to a 36-bit bus width, as indicated in the following table.
Table 4 • DDR Memory Controller
5x8 DDR with SE- 36 DDRx8 DDRx8 DDRx8 DDRx8 DDRx8 (4 used)
CDED
1. Lane 4 is only 4 bits wide, the upper data bits on the DDR memory are not connected.
FIC_0 16
FIC_1 16
FIC_2 8
Crytpo 4
Ethernet_0 8
Ethernet_0 8
USB 4
MMC 4
DRI 8
Trace 2
Note: It is not possible to support the SyncE protocol when using the direct MSS SGMII interface.
approach to implementing an SGMII interface differs from the direct hard SGMII interface of the MSS
in that it allows support of the SyncE protocol, which is often used in conjunction with IEEE 1588.
• HS400
• HS400 Enhanced Strobe
3.6.9 I2C
Philips inter-integrated circuit (I2C) is a two-wire serial bus interface that provides data transfer between
many devices. PolarFire SoC contains two identical I2C peripherals in the MSS that provide a mechanism
for serial communication between the PolarFire SoC and external I2C compliant devices. I2C peripherals
support the following features:
• Master and Slave modes
• 7-bit addressing format and data transfers up to 100 Kbps in Standard mode and up to 400 Kbps in
Fast mode
• Multi-master collision detection and arbitration
• Own slave address and general call address detection
• Second slave address detection
• System management bus (SMBus) timeout and real-time idle condition counters
• Input glitch or spike filters
3.6.12 Timer
The PolarFire SoC system timer consists of two programmable 32-bit decrement counters that generate
interrupts to the Cortex-M3 processor and FPGA fabric. The two 32-bit timers are identical and have the
following features.
• One-shot mode
• Periodic mode
• Concatenation mode in which two 32-bit timers can be concatenated to create a 64-bit timer
• Option to enable or disable the interrupt requests when timer reaches zero
• Controls to start, stop, and reset the timer
4.1.1 DLL
The DLL provides a calculated PVT compensated delay to the I/O’s digital delay lines and delay or
phase-shifted clocks to the FPGA fabric.
The following are the major modes to which the DLL can be configured.
• Time reference mode—the DLL takes a single clock as an input and determines how many delay line
buffer taps are required for a signal to pass through them to rotate a signal. The main use of time
reference mode is to know how many delay taps are needed to delay the clock by 90 degrees. The
value is then provided to the data strobe signal (DQS)/DQSn input signals for double data rate (DDR)
memory controllers to delay all DQS/DQSn signals by the required 90-degree phase shift to capture
the data from the memory devices. Multiple memory interfaces of the same clock rate can reuse the
same DLL with lane level controls for PVT updates.
• Clock injection delay mode—the DLL can be used to compensate for the clock injection delay associated
with the source synchronous receive interfaces. The DLL can match delays for the global, regional, and
high-speed bank clocks. There are two outputs from the DLL in this mode: a x1 output fixed in time
and another output that can be divided by x1, x2, or x4 and can be phase shifted.
4.1.2 PLL
The programmable delta-sigma, low-jitter fractional PLLs are multi-function and general-purpose frequency
synthesizers, as shown in the PLL Block Diagram. Wide input and output ranges along with the best-in-class
jitter performance allow these PLLs to be used for almost any clocking application. With excellent supply
noise immunity, the PLL is ideal for use in noisy FPGA environments.
• The PLL output clock is available in eight phases with 45-degree phase differences. All eight phases
are selectable to drive four separate outputs from the PLL, where each output can select any of the
eight phases independent of other output selections and each output can also be driven to a zero
output when not used.
• Each of the four outputs from the PLL can then be divided independently for any value from 1 to 127.
Each of the PLL outputs can have the output divider released by up to seven VCO/4 cycles. The delayed
outputs can be set independently for each output clock.
• Fractional-N (24-bit accuracy) capability is added to the feedback divider to have the VCO frequency
be a non-integer divide of the reference clock input frequency. The base frequency is applied to all PLL
outputs.
• The PLL supports glitch-free start and stop on any one of the four outputs independently by either a
register map or a fabric control. This capability also allows the output divider values and the VCO/4
phase selection to be modified glitch-free during the time that the clock is stopped.
• For fine granularity phase control of the PLLs, they can be cascaded with DLLs located near the PLLs,
whereby the DLL delay lines can be used in a process, voltage, and temperature (PVT) compensated
or non-PVT compensated mode to provide the phase control needed.
• Memory debug allows dynamic asynchronous read and write to a µSRAM or a large SRAM block to
quickly verify if the content of the memory is changing as expected.
• Probe insertion allows routing of nodes or debug points in the FPGA design externally through unused
I/Os. An oscilloscope/logic analyzer can be attached to monitor them as live signals.
4.3 I/Os
PolarFire device user I/Os support multiple I/O standards while providing the high bandwidth needed to
maximize the internal logic capabilities of the device and achieve the required system-level performance.
PCIe 2.5, 5 1, 2, 4
10GBASE-KR 10.3125–12.7 1
SGMII/QSGMII 1.25–5 1
XAUI 3.125 4
HiGig/HiGig+/HiGiGII 3.75–4.065 4
SRIO 1.25–6.3 1, 2, 4, 8
SATA 1.5–6 1
Display Port 2, 5, 8 4
SDI 0.277–11.88 1
• Continuous time linear equalization (CTLE) and decision feedback equalization (DFE) for long-reach or
backplane applications
• Auto-adaption at receiver equalization and integrated eye monitor feature for easy serial link tuning
• Eye monitor and/or equalization can be powered down to reduce power if not needed
• Out-of-band, electrical idle signaling capability for SAS, SATA, and PCIe
• Multiple loopback modes for test and debug
• Transmit jitter attenuation for loop timing applications (SyncE compatible)
• Hot-socketing capable
• IEEE 1149.6 AC JTAG
• Adjacent channel loopback modes allow transceiver lane data streams to remain active during FPGA
fabric programming
4.3.1.2 Transmitter
The transmitter is fundamentally a parallel-to-serial converter with a conversion ratio of 8, 10, 16, 20, 32,
40, 64, or 80 bits. It allows the designer to trade-off data path width for timing margin in high-performance
designs. These transmitter outputs drive the PC board with a differential output signal. TX_CLK is the
appropriately divided serial data clock available to the fabric, and can be used directly to register the parallel
data coming from the internal logic. The transmit parallel data has additional hardware support for the
8b/10b, 64b/66b, or 64b/67b encoding schemes to provide a sufficient number of transitions. The bit-serial
output signal drives two package pins with differential signals. The output signal pair supports a wide variety
of serial protocols and has programmable signal swing, as well as programmable pre- and post-emphasis
to compensate for PC board losses and other interconnect characteristics. For shorter channels, the swing
can be reduced to lower power consumption. Each transmit lane can be sourced by one of two transmit
PLLs. Each transmit PLL can drive up to four transceiver lanes. Transmitter PLLs are state-of-the-art fractional
frequency synthesizers with integrated jitter attenuation.
4.3.1.3 Receiver
The receiver is fundamentally a serial-to-parallel converter with clock recovery changing the incoming
bit-serial differential signal into a parallel stream of words of 8, 10, 16, 20, 32, 40, 64, or 80 bits. This allows
the FPGA designer to trade off the internal data path width versus logic timing margin. The receiver takes
the incoming differential data stream, feeds it through programmable linear and decision feedback equalizers
(to compensate for PC board and other interconnect characteristics), and uses the reference clock input
to initiate clock recognition. The data pattern uses non-return-to-zero (NRZ) encoding and optionally
guarantees sufficient data transitions by using the selected encoding scheme. The outgoing parallel data
has additional hardware support for the 8b/10b, 64b/66b, or 64b/67b encoding schemes to provide a
sufficient number of transitions. Parallel data is transferred into the FPGA logic using the recovered clock
(RX_CLK).
The following illustration shows the collaboration of the five modes that the transceiver lanes support.
Figure 4 • Transceiver Lane Modes
The following illustration shows the connectivity between the reference clock and transceiver lane quads.
Figure 5 • Reference Clock
PCIe_0 Controller Quad0 Lane 0 Quad0 Lane 1 Quad0 Lane 2 Quad0 Lane 3 PCIe_1 Controller
PCIe_0 Controller Quad0 Lane 0 Quad0 Lane 1 Quad0 Lane 2 Quad0 Lane 3 PCIe_1 Controller
Note: Fabric includes PMA, 8b/10b, 64b/66b, 64b/67b, and PIPE modes.
4.3.2 Inputs/Outputs
PolarFire SoC FPGA I/Os are grouped into pairs to meet the differential I/O standards. Additionally, they
are grouped in lanes of 12 buffers with a lane controller for memory interfaces, as shown in the following
illustration.
Figure 6 • I/O Topology
The number of I/O pins varies depending on the device and package size. The persistent I/O feature preserves
a state on an I/O without user intervention during programming. The PolarFire FPGA I/O buffers are
constructed from the following main sub modules.
• Transmit buffer (PVT compensated)
• Receive buffer
• Termination (Thevenin, Differential, Up, and Down)
• Weak pull mode logic (Up, Down, and Bus-Hold)
Each I/O is configurable and can comply with a large number of I/O standards. The following are two types
of user FPGA I/Os in PolarFire SoC FPGAs.
• High-speed I/O (HSIO) optimized for DDR4 memories at speeds up to 1.6 Gbps and a maximum voltage
of 1.8 V nominal
• GPIO capable of supporting multiple standards including 3.3 V with an integrated CDR to support SGMII
Ethernet applications
The following table summarizes the single-ended I/O support. These are the unterminated standards used
in the transceiver lane protocols. Each I/O supports weak pull-up, pull-down, and bus-keeper options.
Additionally, each GPIO has a programmable clamp (that is, ON/OFF). For HSIO, the clamp is always ON.
The following table lists the GPIO LVTTL or LVCMOS receivers that are also designed to support a limited
mixed mode of operation to provide greater board I/O design flexibility. For example, if VDDIO is set to 3.3
V, the I/O receivers can operate at the lower voltage of JEDEC standards.
Table 9 • GPIO Mixed Receiver Mode Operation Capability
The following table lists the HSIO mixed receiver mode capability.
Table 10 • HSIO Mixed Receiver Mode Capability
The I/O digital registers can be configured for both input and output DDR and shift register modes and
combined DDR-shift register modes. It allows gearing up the output data rate and gearing down the input
data rate. The PolarFire FPGA I/O digital logic works in conjunction with fast and low-skew clock distributions
optimized for DDR applications, special clock dividers, and other support circuits to guarantee clock domain
crossings.
Interface Direction I/O Data Rate I/O Clock Rate Gear R- FPGA Clock Rate (M- Applications
(MHz) atio Hz)
DDR3 (L) BiDir 1.3 Gbps 650 8:1 162.5 Memory interface
LPDDR3 BiDir 1.3 Gbps 650 8:1 162.5 Low-power memory inter-
face
QDRII+ Input/ Out- 1.1 Gbps 550 8:1 137.5 Low-latency memory inter-
put face
RLDRAM3 Input/ Out- 1.0 Gbps 500 8:1 125 Low-latency memory inter-
put face
7:1 LVDS Input 800 Mbps 400 7:1 114 Flatlink, Cameralink
MIPI-DPHY Input/ Out- 800 Mbps/ 50 250 2:1 125 MIPI CSI, DSI
put 0 Mbps
Wide LVDS Input/ Out- 1.6 Gbps 800 8, 4, 2: 250 ADC, DAC
put 1
The FPGA fabric configuration cells are SEU immune, and are used to configure I/Os and other aspects of
the device. Non-volatile FPGAs do not require the configuration process inherent in SRAM FPGAs. Non-volatile
FPGAs power up quickly like an ASIC with minimal inrush current, and are ideal for root-of-trust, first-up
functionality in any system.
• LSRAM
• µSRAM
The LSRAMs are 20 Kb SRAMs with a built-in SECDED and interleaving to prevent multi-bit upsets (MBUs).
The µSRAMs are small distributed 64 x 12 RAMs, well suited for efficient implementation of small buffers,
thereby reserving LSRAM usage for the wider and deeper memories.
Non-volatile memories (NVMs):
• µPROM
• sNVM
The µPROM, constructed of SEU-immune, FPGA-configuration non-volatile cells, is readable at run time
and writable during device programming. It provides users with SEU-immune parameters, constants, IDs,
and parametric or initialization data. The sNVM is accessible through system service calls. Data written to
the sNVM can be protected by the PUF. The sNVM is readable and writable by the designer’s application
during runtime and is an ideal storage location for the boot code for soft processors and user keys.
4.4.3 LSRAM
Each LSRAM block consists of 20,480 bits of RAM and includes functionality to support dual-port and
two-port modes. There are numerous configurations and features for each block. The Libero SoC PolarFire
toolset has an LSRAM configurator that provides automated combining and cascading of several LSRAM
blocks into larger memories.
LSRAM features include:
• 428 MHz operation
• True dual-port memory
• Two-port memory (one dedicated write port, one dedicated read port)
• Data widths of ×1, ×2, ×5, ×10, ×20, ×40, and ×33 with SECDED enabled
• Multi-bit-upset mitigation
• Synchronous operation
• Independent port clocks
• Byte enables
• Registered inputs
• Output registers with separate enables and synchronous resets
• Read enables to conserve power while retaining output data
• Power switch to minimize static power when the LSRAM is not used
• Fast zeroization mode
4.4.4 µSRAM
The µSRAM is a two-port memory embedded in the FPGA fabric, which is provided for an efficient low-power
implementation for small buffers. On write collisions, the write operations occur correctly, while the read
operations can return ambiguous results while the write completes. After completing the write operation,
the read data reads the newly written write data.
The following are key features of the µSRAM block:
• 480 MHz operation
• Two-port memory with 64 words of 12 bits
• The write port operates synchronously
• The write port has a fixed width
• The read port operates asynchronously and supports synchronous and pipeline operations with the
FPGA fabric flip-flops
• The Libero SoC PolarFire toolset provides automated combining and cascading for larger memories
• Multiple memory blocks can be combined to extend the depth or width
• Provides a state-keeping, low-power suspend mode
• Implemented as an array of latches
4.4.5 µPROM
The µPROM is a single monolithic non-volatile memory that provides a PROM-like storage for a variety of
purposes, including initialization data for other memories, user calibration data, and so on. The memory
cells are constructed from the FPGA configuration cells and are updated when the device is programmed.
The following are key features of the µPROM:
• 10 ns read access time
• Programmed with the FPGA bitstream
• Asynchronous or synchronous read access mode from the FPGA fabric
4.4.6 sNVM
Each PolarFire FPGA has 56 KB of sNVM. The sNVM is organized into 221 pages of 236 bytes or 252 bytes,
depending on whether the data is stored as plain text or encrypted/authenticated data. It is accessible to
users through system services calls to the PolarFire FPGA system controller. Pages within the sNVM can be
marked as ROM during bitstream programming. The sNVM content can be used to initialize LSRAM and
µSRAMs with secure data. The sNVM is only accessible through system service calls. Data written to the
sNVM can be protected by the PUF.
The following illustration shows the functional blocks of the math block.
Figure 8 • Math Block
shown in the following illustration. All PLLs are jitter attenuation-capable, while the SSC label indicates
spread spectrum clock (SSC) capability.
Figure 9 • PCI Express Hard Macro Lane Sharing
5 System Controller
The PolarFire SoC FPGA system controller is based on the industry-standard ARM Cortex-M3 and is only
used for FPGA power-up, secure DPA-safe FPGA programming, and executing and responding to system
services. All internal memories are SECDED-protected with background scrubbing capabilities to remove
single-bit errors.
Data Services
• sNVM read/write
• PUF emulation service
• Nonce service
• FPGA fabric services
• Digest check
• In-application programming
5.2 Programming
PolarFire SoC FPGAs have multiple programming modes designed to enable various use models. All bitstreams
are always encrypted and DPA safe. Each PolarFire SoC FPGA can be programmed using a dedicated SPI
peripheral and JTAG port. All PolarFire SoC FPGAs are typically reprogrammed in less than 60 seconds. For
device specific programming timings, see the PolarFire SoC FPGA Datasheet.
The following programming modes are supported:
Slave Programming
• JTAG
• Slave SPI—an external SPI master programs the FPGA
• Programming recovery feature—if remote programming fails due to a power interruption, the system
controller reprograms the FPGA on the next power-up cycle from a golden bitstream (located in an
external SPI flash).
6 Low Power
PolarFire SoC FPGAs offer a variety of techniques and capabilities to lower the total application power.
Users can take advantage of these features to lower both capital and operational expenditures with smaller
or no heat sinks, smaller or fewer fans, lower cooling costs, and so on. Additionally, the lower total power
advantage can also allow the user to pack more compute operations into an existing thermal budget.
7 Reliability
Microchip continues to offer the industry’s most reliable FPGAs for your mission and safety critical
applications.
7.2 LSRAM
LSRAMs have built-in SECDED capability on a 32-bit word boundary. Seven additional bits are used for error
correction. Two flags are provided to the user to indicate SECDED. Mitigation against multi-bit upsets is
provided by keeping all cells in a word separated by a minimum distance. Applications that require scrubbing
need to be accomplished with user logic. The error correction logic can be turned ON and OFF by the user
to enable easy validation of the error correction operation.
7.3 µSRAM
The 64 × 12 µSRAMs are constructed from latches and are not as sensitive to SEUs as SRAMs are.
7.4 Digests
Digests verify the integrity of the programmed non-volatile data. Digests are a cryptographic hash of various
data areas. Any digest that reports back an error raises the digest tamper flag.
The following are digestible non-volatile areas:
• The FPGA fabric and consequently the µPROM
• sNVM marked as ROM
• User key 1
• User key 2
• Factory parametric and key storage
• 128KB eNVM block
The following illustration shows how to activate and deactivate suspend mode.
Figure 12 • System Controller Suspend Mode
8 Security
Today’s demanding applications not only have to meet the functional requirements, but also to meet them
in a secured way. Security starts during silicon manufacturing and continues through system deployment
and operations.
Device O- Extended Commer- Industrial Tem- STD Speed G- –1 Speed G- Transceivers Lower Static Pow-
ptions cial Temperature (E perature (I) rade rade (T) er (L)
) –40 °C–100 °C
0 °C–100 °C
10 Ordering Information
PolarFire SoCs are offered with multiple speed grades, temperatures, and package combinations. All
temperatures are specified as junction temperatures. The following illustration shows the ordering
information.
Figure 13 • Ordering Information