IGLOO FPGA Fabric User's Guide

IGLOO FPGA Fabric User's Guide

Chapter 1: FPGA Array Architecture in Low Power Flash Devices

This chapter describes the architecture of Microsemi's low power flash devices, including the FPGA array, routing resources, and memory blocks.

Device Architecture

Device Architecture

Advanced Flash Switch: Unlike SRAM FPGAs, low power flash devices use a live-at-power-up ISP flash switch as their programming element. Flash cells are distributed throughout the device to provide nonvolatile, reconfigurable programming to connect signal lines to the appropriate VersaTile inputs and outputs. In the flash switch, two transistors share the floating gate, which stores the programming information. One is the sensing transistor, used for writing and verification of the floating gate voltage. The other is the switching transistor, used to connect or separate routing nets, or to configure VersaTile logic, and also to erase the floating gate. Dedicated high-performance lines are connected as required using the flash switch for fast, low-skew, global signal distribution throughout the device core, enabling maximum core utilization. The use of flash switch technology also removes the possibility of firm errors common in SRAM-based FPGAs.

Figure 1-1: Flash-Based Switch Diagram. Shows a floating gate switch with sensing and switching transistors, connected via word lines.

FPGA Array Architecture Support

FPGA Array Architecture Support

The flash FPGAs listed in Table 1-1 support the architecture features described in this document.

SeriesFamily*Description
IGLOOIGLOOUltra-low power 1.2 V to 1.5 V FPGAs with Flash*Freeze technology
IGLOOeHigher density IGLOO FPGAs with six PLLs and additional I/O standards
IGLOO nanoThe industry's lowest-power, smallest-size solution
IGLOO PLUSIGLOO FPGAs with enhanced I/O capabilities
ProASIC3ProASIC3Low power, high-performance 1.5 V FPGAs
ProASIC3EHigher density ProASIC3 FPGAs with six PLLs and additional I/O standards
ProASIC3 nanoLowest-cost solution with enhanced I/O capabilities
ProASIC3LProASIC3 FPGAs supporting 1.2 V to 1.5 V with Flash*Freeze technology
RT ProASIC3Radiation-tolerant RT3PE600L and RT3PE3000L
Military ProASIC3/ELMilitary temperature A3PE600L, A3P1000, and A3PE3000L
Automotive ProASIC3ProASIC3 FPGAs qualified for automotive applications
FusionFusionMixed signal FPGA integrating ProASIC3 FPGA fabric, programmable analog block, support for ARM CortexTM-M1 soft processors, and flash memory into a monolithic device

Note: *The device names link to the appropriate datasheet, including product brief, DC and switching characteristics, and packaging information.

IGLOO Terminology

In documentation, the terms IGLOO series and IGLOO devices refer to all of the IGLOO devices as listed in Table 1-1. Where the information applies to only one product line or limited devices, these exclusions will be explicitly stated.

ProASIC3 Terminology

In documentation, the terms ProASIC3 series and ProASIC3 devices refer to all of the ProASIC3 devices as listed in Table 1-1. Where the information applies to only one product line or limited devices, these exclusions will be explicitly stated.

To further understand the differences between the IGLOO and ProASIC3 devices, refer to the Industry's Lowest Power FPGAs Portfolio.

Device Overview

Device Overview

Low power flash devices consist of multiple distinct programmable architectural features:

  • FPGA fabric/core (VersaTiles)
  • Routing and clock resources (VersaNets)
  • FlashROM
  • Dedicated SRAM and/or FIFO
    • 30 k gate and smaller device densities do not support SRAM or FIFO.
    • Automotive devices do not support FIFO operation.
  • I/O structures
  • Flash*Freeze technology and low power modes
Figure 1-2: IGLOO and ProASIC3 nano Device Architecture Overview with Two I/O Banks (applies to 10 k and 30 k device densities, excluding IGLOO PLUS devices). Diagram shows I/O banks, VersaTile, User Nonvolatile FlashROM, Flash*Freeze Technology, Charge Pumps, and CCC-GL.
Figure 1-3: IGLOO Device Architecture Overview with Two I/O Banks with RAM and PLL (60 k and 125 k gate densities). Diagram shows I/O banks, VersaTile, User Nonvolatile FlashROM, Flash*Freeze Technology, Charge Pumps, RAM Block, CCC, and PLL.
Figure 1-4: IGLOO Device Architecture Overview with Three I/O Banks (AGLN015, AGLN020, A3PN015, and A3PN020). Diagram shows I/O banks, VersaTile, User Nonvolatile FlashROM, Flash*Freeze Technology, Charge Pumps, and CCC-GL.
Figure 1-5: IGLOO, IGLOO nano, ProASIC3 nano, and ProASIC3/L Device Architecture Overview with Four I/O Banks (AGL600 device is shown). Diagram shows I/O banks, VersaTile, User Nonvolatile FlashROM, Flash*Freeze Technology, Charge Pumps, RAM Block, CCC, ISP AES Decryption, and CCC.
Figure 1-6: IGLOO PLUS Device Architecture Overview with Four I/O Banks. Diagram shows I/O banks, VersaTile, User Nonvolatile FlashROM, Flash*Freeze Technology, Charge Pumps, RAM Block, CCC, ISP AES Decryption, and CCC. Note: AGLP030 does not contain a PLL or support AES security.
Figure 1-7: IGLOOe and ProASIC3E Device Architecture Overview (AGLE600 device is shown). Diagram shows I/O banks, VersaTile, User Nonvolatile FlashROM, Flash*Freeze Technology, Charge Pumps, RAM Block, CCC, ISP AES Decryption, and CCC. Note: Flash*Freeze technology only applies to IGLOOe devices.

I/O State of Newly Shipped Devices

I/O State of Newly Shipped Devices

Devices are shipped from the factory with a test design. The power-on switch for VCC is OFF by default, so I/Os are tristated by default, meaning they are not actively driven and float. The exact value cannot be guaranteed when floating. If there is concern regarding the exact state of unused I/Os, weak pull-up/pull-down should be added to control and stabilize their state.

Core Architecture

VersaTile

Core Architecture

VersaTile

The proprietary IGLOO and ProASIC3 device architectures provide granularity comparable to gate arrays. The device core consists of a sea-of-VersaTiles architecture. Each logic VersaTile cell has four inputs and can be configured using flash switch connections to implement:

  • Any 3-input logic function
  • Latch with clear or set
  • D-flip-flop with clear or set
  • Enable D-flip-flop with clear or set (on a 4th input)

VersaTiles can flexibly map logic and sequential gates. Inputs can be inverted, and the output can connect to high-speed routing resources. When used as an enable D-flip-flop, SET/CLR is supported by a fourth input, which can only be routed over the VersaNet (global) network. If this signal is not routed over the VersaNet network, a compile warning is issued, and two VersaTiles are used instead of one. The output of the VersaTile is F2 when connected to ultra-fast local lines, or YL when connected to efficient long-line or very-long-line resources.

Figure 1-8: Low Power Flash Device Core VersaTile Diagram. Shows a VersaTile with inputs (Data, X3, X2, X1, CLR, XC*), outputs (F2, YL), and connections via vias (hard connection) and switches (flash connection). XC* input is noted as only connectable to the global clock distribution network.

Array Coordinates

Array Coordinates

During place-and-route operations in Microsemi Designer software, array coordinates can be set for constraints. Tables 1-2, 1-3, and 1-4 provide array coordinates for core cells and memory blocks for various IGLOO and ProASIC3 devices. The array coordinates are measured from the lower left (0, 0). I/O and cell coordinates are used for placement constraints; the Designer ChipPlanner tool provides I/O location coordinates. Figure 1-9 illustrates array coordinates for a 600 k gate device.

VersaTilesMemory RowsEntire Die
DeviceMin.Max.BottomTopMin.Max.
IGLOO ProASIC3 / ProASIC3Lx y x y (x, y)(x, y)(x, y)(x, y)(x, y)(x, y)
AGL015 A3P0153 2 34 13NoneNone(0, 0)(37, 15)
AGL030 A3P0303 3 66 13NoneNone(0, 0)(69, 15)
AGL060 A3P0603 2 66 25None(3, 26)(0, 0)(69, 29)
AGL125 A3P1253 2 130 25None(3, 26)(0, 0)(133, 29)
AGL250 A3P250/L3 2 130 49None(3, 50)(0, 0)(133, 53)
AGL400 A3P4003 2 194 49None(3, 50)(0, 0)(197, 53)
AGL600 A3P600/L3 4 194 75(3, 2)(3, 76)(0, 0)(197, 79)
AGL1000 A3P1000/L3 4 258 99(3, 2)(3, 100)(0, 0)(261, 103)
AGLE600 A3PE600/L, RT3PE600L3 4 194 75(3, 2)(3, 76)(0, 0)(197, 79)
A3PE15003 4 322 123(3, 2)(3, 124)(0, 0)(325, 127)
AGLE3000 A3PE3000/L, RT3PE3000L3 6 450 173(3, 2)(3, 174)(0, 0)(453, 179)
oror
(3, 4)(3, 176)
Table 1-3: IGLOO PLUS Array Coordinates. Lists VersaTiles, Memory Rows, and Entire Die coordinates for IGLOO PLUS devices.
VersaTilesMemory RowsEntire Die
DeviceMin.Max.BottomTopMin.Max.
IGLOO PLUSxy xy(x, y)(x, y)(x, y)(x, y)
AGLP0302 3 67 13NoneNone(0, 0)(69, 15)
AGLP0602 2 67 25None(3, 26)(0, 0)(69, 29)
AGLP1252 2 131 25None(3, 26)(0, 0)(133, 29)
Table 1-4: IGLOO nano and ProASIC3 nano Array Coordinates. Lists VersaTiles, Memory Rows, and Entire Die coordinates for IGLOO nano and ProASIC3 nano devices.
VersaTilesMemory RowsEntire Die
DeviceMin.Max.BottomTopMin.Max.
IGLOO nano ProASIC3 nano(x, y)(x, y)(x, y)(x, y)(x, y)(x, y)
AGLN010 A3P010(0, 2)(32, 5)NoneNone(0, 0)(34, 5)
AGLN015 A3PN015(0, 2)(32, 9)NoneNone(0, 0)(34, 9)
AGLN020 A3PN020(0, 2)32, 13)NoneNone(0, 0)(34, 13)
AGLN060 A3PN060(3, 2)(66, 25)None(3, 26)(0, 0)(69, 29)
AGLN125 A3PN125(3, 2)(130, 25)None(3, 26)(0, 0)(133, 29)
AGLN250 A3PN250(3, 2)(130, 49)None(3, 50)(0, 0)(133, 49)
Figure 1-9: Array Coordinates for AGL600, AGLE600, A3P600, and A3PE600. Diagram shows coordinate layout with VersaTiles, Memory Blocks, I/O Tiles, UJTAG, and FlashROM.

Routing Architecture

Routing Architecture

The routing structure of low power flash devices uses a four-level hierarchy: ultra-fast local resources, efficient long-line resources, high-speed very-long-line resources, and VersaNet global networks. Ultra-fast local resources connect a VersaTile to its eight surrounding neighbors. Efficient long-line resources provide routing for longer distances and higher fanout, spanning one, two, or four VersaTiles. High-speed, very-long-line resources span the entire device with minimal delay. VersaNet global networks are low-skew, high-fanout nets accessible from external pins or internal logic, typically used for clocks, resets, and other high-fanout nets requiring minimum skew.

Figure 1-10: Ultra-Fast Local Lines Connected to the Eight Nearest Neighbors. Diagram illustrates local lines connecting a VersaTile to adjacent cells.
Figure 1-11: Efficient Long-Line Resources. Diagram shows long-line resources spanning 1, 2, or 4 VersaTiles.
Figure 1-12: Very-Long-Line Resources. Diagram shows a block of VersaTiles with pad rings, I/O rings, and SRAM.

Related Documents

Related Documents

User's Guides

List of Changes

List of Changes

The following table lists critical changes that were made in each revision of the chapter.

DateChangesPage
August 2012The "I/O State of Newly Shipped Devices" section is new (SAR 39542).14
July 2010This chapter is no longer published separately with its own part number and version but is now part of several FPGA fabric user's guides.N/A
v1.4 (December 2008)IGLOO nano and ProASIC3 nano devices were added to Table 1-1 Flash-Based FPGAs.10
Figure 1-2 IGLOO and ProASIC3 nano Device Architecture Overview with Two I/O Banks (applies to 10 k and 30 k device densities, excluding IGLOO PLUS devices) through Figure 1-5 IGLOO, IGLOO nano, ProASIC3 nano, and ProASIC3/L Device Architecture Overview with Four I/O Banks (AGL600 device is shown) are new.11, 12
Table 1-4 IGLOO nano and ProASIC3 nano Array Coordinates is new.17
The title of this document was changed from "Core Architecture of IGLOO and ProASIC3 Devices" to "FPGA Array Architecture in Low Power Flash Devices."9
The "FPGA Array Architecture Support" section was revised to include new families and make the information more concise.10
Table 1-2 IGLOO and ProASIC3 Array Coordinates was updated to include Military ProASIC3/EL and RT ProASIC3 devices.16
The following changes were made to the family descriptions in Table 1-1 FlashBased FPGAs: ProASIC3L was updated to include 1.5 V. The number of PLLs for ProASIC3E was changed from five to six.10
v1.3 (October 2008)Table 1-1 Flash-Based FPGAs and the accompanying text was updated to include the IGLOO PLUS family. The "IGLOO Terminology" section and "Device Overview" section are new.10
The "Device Overview" section was updated to note that 15 k devices do not support SRAM or FIFO.10
Figure 1-6 IGLOO PLUS Device Architecture Overview with Four I/O Banks is new.13
Table 1-2 IGLOO and ProASIC3 Array Coordinates was updated to add A3P015 and AGL015.16
Table 1-3 IGLOO PLUS Array Coordinates is new.16

Chapter 2: Flash*Freeze Technology and Low Power Modes

This chapter describes Microsemi's Flash*Freeze technology and low power modes, including Static (Idle) mode, Flash*Freeze mode (Type 1 and Type 2), Sleep mode, and Shutdown mode.

Flash*Freeze Technology and Low Power Modes

Microsemi IGLOO, IGLOO nano, IGLOO PLUS, ProASIC3L, and Radiation-Tolerant (RT) ProASIC3 FPGAs with Flash*Freeze technology are designed for demanding power and area challenges in portable electronics. These devices offer lower power consumption in static and dynamic modes than other FPGAs or CPLDs. They provide various power-saving modes for ultra-low system power. Low Power Active capability (static idle) allows for ultra-low power consumption while the device is operational, retaining SRAM, registers, I/Os, and logic functions. Flash*Freeze technology provides an ultra-low power static mode that retains all SRAM and register information with rapid recovery to Active mode. IGLOO nano and IGLOO PLUS devices can also retain I/O states. This mechanism allows quick entry and exit from Flash*Freeze mode (within 1 s) by activating the Flash*Freeze (FF) pin, while power supplies remain stable. I/Os and clocks can toggle without impacting device power consumption. While in Flash*Freeze mode, the device retains core register states and SRAM information. Power consumption can be as low as 5 W for IGLOO devices and 2 W for IGLOO nano devices. Microsemi offers a state management IP core to assist with clock gating and data management before entering Flash*Freeze mode.

Flash Families Support the Flash*Freeze Feature

The low power flash FPGAs listed in Table 2-1 support the Flash*Freeze feature.

SeriesFamily*Description
IGLOOIGLOOUltra-low power 1.2 V to 1.5 V FPGAs with Flash*Freeze technology
IGLOOeHigher density IGLOO FPGAs with six PLLs and additional I/O standards
IGLOO PLUSIGLOO FPGAs with enhanced I/O capabilities
IGLOO nanoThe industry's lowest-power, smallest-size solution
ProASIC3ProASIC3LProASIC3 FPGAs supporting 1.2 V to 1.5 V with Flash*Freeze technology
RT ProASIC3Radiation-tolerant RT3PE600L and RT3PE3000L
Military ProASIC3/ELMilitary temperature A3PE600L, A3P1000, and A3PE3000L

Note: *The device names link to the appropriate datasheet, including product brief, DC and switching characteristics, and packaging information.

IGLOO Terminology

In documentation, the terms IGLOO series and IGLOO devices refer to all of the IGLOO devices as listed in Table 2-1. Where the information applies to only one product line or limited devices, these exclusions will be explicitly stated.

ProASIC3 Terminology

In documentation, the terms ProASIC3 series and ProASIC3 devices refer to all of the ProASIC3 devices as listed in Table 2-1. Where the information applies to only one product line or limited devices, these exclusions will be explicitly stated.

To further understand the differences between the IGLOO and ProASIC3 devices, refer to the Industry's Lowest Power FPGAs Portfolio.

Low Power Modes Overview

Table 2-2 summarizes the low power modes that achieve power consumption reduction when the FPGA or system is idle.

ModeULSICCVCCIVCC CoreClocksMacroTo EnterTo Resume OperationTrigger
ActiveOnOnOnOnN/AInitiate clockNone
Static IdleOnOnOnOffN/AStop clockInitiate External clock
Flash*Freeze type 1OnOnOnOn*N/AAssert FF pinDeassert External FF pin
Flash*Freeze type 2OnOnOnOn*Used to enter Flash*Freeze modeAssert FF pin and LSICCDeassert External FF pin
SleepOnOffOffOffN/AShut down VCCTurn on External VCC supply
ShutdownOffOffOffOffN/AShut down VCC and VCCI suppliesTurn on External VCC and VCCI supplies

* External clocks can be left toggling while the device is in Flash*Freeze mode. Clocks generated by the embedded PLL will be turned off automatically.

Static (Idle) Mode

Static (Idle) Mode

In Static (Idle) mode, no clock inputs are switching, and only static power is consumed. This mode is achieved by switching off incoming clocks, reducing power consumption. I/Os draw minimal leakage current. Embedded SRAM, I/Os, and registers retain their values, allowing the device to enter and exit this mode by switching clocks on or off. If the embedded PLL is used as the clock source, Static (Idle) mode can be entered by pulling the PLL POWERDOWN pin LOW (active Low), which turns off the PLL.

Flash*Freeze Mode

Flash*Freeze Mode

IGLOO, IGLOO nano, IGLOO PLUS, ProASIC3L, and RT ProASIC3 FPGAs offer an ultra-low static power mode that reduces power consumption while preserving the state of registers, SRAM, and I/O states (IGLOO nano and IGLOO PLUS only) without switching off power supplies, inputs, or input clocks. Flash*Freeze technology enables switching to Flash*Freeze mode within 1 s, simplifying low power design. The Flash*Freeze (FF) pin (active Low) is a dedicated pin for direct entry/exit, or it can be routed internally to the FPGA core and state management IP for application-controlled transitions. If the FF pin is not used, it can serve as a regular I/O. The FF pin has a built-in glitch filter and optional Schmitt trigger (not available for all devices) to prevent accidental entry/exit. There are two usage types:

Flash*Freeze Type 1: Control by Dedicated Flash*Freeze Pin

Flash*Freeze type 1 is for systems where the device will be reset upon exiting Flash*Freeze mode, or data and clock are managed externally. The device enters Flash*Freeze mode 1 s after the FF pin is asserted (active Low) and returns to normal operation when the FF pin is deasserted (High). FF pin assertion/deassertion is the sole condition for entry/exit. In Libero System-on-Chip (SoC) software v8.2 and earlier, this mode is enabled in Compile options. From Libero software v8.3 onwards, an INBUF_FF I/O macro must be instantiated to identify the Flash*Freeze input. Microsemi recommends this new implementation.

Figure 2-1: Flash*Freeze Mode Type 1 Controlled by the Flash*Freeze Pin. Diagram shows the FF pin connected via INBUF_FF to the FPGA core, enabling Flash*Freeze mode via an AND gate with a user design signal.
Figure 2-2: Flash*Freeze Mode Type 1 Timing Diagram. Shows the timing for entering and exiting Flash*Freeze mode, with a 1 s delay for entry and exit after FF pin assertion/deassertion.

Flash*Freeze Type 2: Control by Dedicated Flash*Freeze Pin and Internal Logic

The device enters Flash*Freeze mode by activating the FF pin along with Microsemi's Flash*Freeze management IP core or user-defined control logic within the FPGA core. This allows important activities before entering Flash*Freeze mode, such as transitioning to a safe state or completing critical events. Designers are encouraged to use the Flash*Freeze Management IP for clean entry/exit. The device enters Flash*Freeze mode when the FF pin is asserted (active Low) and the User Low Static ICC (ULSICC) macro input signal (LSICC) is asserted (High). Both conditions are required. The ULSICC macro needs to be instantiated by the user. The LSICC signal controls entry into Flash*Freeze mode. After exiting Flash*Freeze mode by deasserting the FF pin, the LSICC signal must be deasserted by the user design to prevent re-entry.

Table 2-3 details the assertion and deassertion values for the FF pin and LSICC signal.

SignalAssertion ValueDeassertion Value
Flash*Freeze (FF) pinLowHigh
LSICC signalHighLow

Notes: 1. The Flash*Freeze (FF) pin is an active-Low signal, and LSICC is an active-High signal. 2. The LSICC signal is used only in Flash*Freeze mode type 2.

Figure 2-3: Flash*Freeze Mode Type 2 Controlled by Flash*Freeze Pin and Internal Logic (LSICC signal). Diagram shows FF pin and ULSICC macro connected to Flash*Freeze Management IP, controlled by user design.
Figure 2-4: Flash*Freeze Mode Type 2 Timing Diagram. Shows timing for FF pin and LSICC signal for entering and exiting Flash*Freeze mode.

Table 2-4 summarizes Flash*Freeze mode implementations.

Flash*Freeze Mode TypeDescriptionFlash*Freeze PinState ULSICC MacroLSICC SignalOperating Mode
1Flash*Freeze mode is controlled only by the FF pin.DeassertedNoN/ANormal operation
AssertedNoN/AFlash*Freeze mode
2Flash*Freeze mode is controlled by the FF pin and LSICC signal."Don't care"YesDeassertedNormal operation
DeassertedYes"Don't care"Normal operation
AssertedYesAssertedFlash*Freeze mode

Note: Refer to Table 2-3 on page 26 for Flash*Freeze pin and LSICC signal assertion and deassertion values.

IGLOO, ProASIC3L, and RT ProASIC3 I/O State in Flash*Freeze Mode

In IGLOO and ProASIC3L devices, I/Os become tristated in Flash*Freeze mode. If weak pull-up or pull-down is used, I/Os maintain the configured status. Table 2-5 shows I/O pad state based on configuration and buffer type.

Buffer TypeI/O Pad Weak Pull-Up/-DownI/O Pad State in Flash*Freeze Mode
Input/GlobalEnabledWeak pull-up/pull-down*
DisabledTristate*
OutputEnabledWeak pull-up/pull-down
DisabledTristate
Bidirectional / TristateE = 0 (input/tristate)EnabledWeak pull-up/pull-down*
DisabledTristate*
E = 1 (output)EnabledWeak pull-up/pull-down
DisabledTristate

* Internal core logic driven by this input/global buffer will be tied High as long as the device is in Flash*Freeze mode.

IGLOO nano and IGLOO PLUS I/O State in Flash*Freeze Mode

In IGLOO nano and IGLOO PLUS devices, users can configure I/Os during Flash*Freeze mode in multiple ways: 1. Hold the previous state. 2. Set I/O pad to weak pull-up or pull-down. 3. Tristate I/O pads. Configuration is done per pin via the I/O Attribute Editor or a PDC constraint file. The output hold feature retains the last registered state. Input hold feature retains the last valid input pad state. Table 2-6 shows I/O pad state based on configuration and buffer type.

Buffer TypeHold StateI/O Pad Weak Pull-Up/-DownI/O Pad State in Flash*Freeze Mode
InputEnabledEnabledWeak pull-up/pull-down 1
DisabledWeak pull-up/pull-down 2
DisabledEnabledTristate 1
DisabledTristate 2
OutputEnabled"Don't care"Weak pull to hold state
DisabledEnabledWeak pull-up/pull-down
Bidirectional / TristateE = 0 (input/tristate)DisabledEnabledWeak pull-up/pull-down
DisabledTristate
E = 1 (output)EnabledDisabledWeak pull-up/pull-down
EnabledEnabledWeak pull-up/pull-down
DisabledDisabledTristate
EnabledDisabled"Don't care"

Notes: 1. Internal core logic driven by this input buffer will be set to the value this I/O had when entering Flash*Freeze mode. 2. Internal core logic driven by this input buffer will be tied High as long as the device is in Flash*Freeze mode. 3. For bidirectional buffers: Internal core logic driven by the input portion of the bidirectional buffer will be set to the hold state.

Flash*Freeze Mode Device Behavior

Flash*Freeze Mode Device Behavior

Entering Flash*Freeze Mode

  • Devices enter Flash*Freeze mode when power supplies are stable. If powering up while FF pin is asserted (Type 1) or both FF and LSICC are asserted (Type 2), the device enters Flash*Freeze mode within 5 s after activation levels are reached.
  • If already powered up, entry is within 1 s after FF pin assertion (Type 1) or both FF and LSICC assertion (Type 2). Exit is within 1 s after FF pin deassertion.
  • PLLs: Entering Flash*Freeze mode automatically powers down the PLL. Output clocks stop toggling within 1 s, and I/Os transition to their specified Flash*Freeze state. The user design must ensure safe entry.
  • I/Os and Globals: Inputs, globals, and PLLs enter their Flash*Freeze state asynchronously, potentially causing glitches or narrow pulses. I/O banks do not deactivate simultaneously. Inputs and globals tie High internally (except with hold state on nano/PLUS devices). Asynchronous input-to-output paths may glitch; use latches to prevent this.
  • For Type 2, ensure the LSICC signal remains asserted High to reliably enter Flash*Freeze mode.

During Flash*Freeze Mode

  • PLLs are off.
  • I/O pads are configured per tables.
  • Inputs and clocks can toggle with minimal power consumption if weak pull-up/down is not selected.
  • Toggling signals charge/discharge package pin capacitance.
  • IGLOO/ProASIC3L outputs are tristated unless configured with weak pull-up/down. Core output is High.
  • IGLOO nano/IGLOO PLUS output behavior depends on user configuration.
  • JTAG is active but operations are disabled. TCK should be static to avoid dynamic power consumption.
  • FF pin must be asserted to stay in Flash*Freeze mode and is used to exit when deasserted.

Exiting Flash*Freeze Mode

  • Inputs and globals exit their Flash*Freeze state asynchronously, potentially causing glitches.
  • I/O banks activate asynchronously.
  • Inputs and globals no longer tie High internally.
  • Output hold state transitions are asynchronously controlled by the output signal for clean exit.
  • PLLs require maximum acquisition time after exiting.

Flash*Freeze Pin Locations

Refer to device datasheets for Flash*Freeze pin location, which is independent of the device, allowing board-level consistency.

Sleep and Shutdown Modes

Sleep and Shutdown Modes

Sleep Mode

IGLOO, IGLOO nano, IGLOO PLUS, ProASIC3L, and RT ProASIC3 FPGAs support Sleep mode when functionality is not required. VCC (core voltage), VJTAG, and VPUMP are grounded, turning off the FPGA core to reduce power. Driven inputs do not pull up internal power planes, limiting current draw to leakage. Table 2-7 shows power supply status in Sleep mode.

Power SuppliesPower Supply State
VCCPowered off
VCCI = VMVPowered on
VJTAGPowered off
VPUMPPowered off

Refer to the "Power-Up/-Down Behavior" section on page 33 for more information.

Shutdown Mode

Shutdown mode is supported for IGLOO nano, IGLOO PLUS, and specific IGLOO/e devices (AGL015, AGL030, AGLE600, AGLE3000, A3PE3000L). It turns off all power supplies when the device is not needed. Cold-sparing and hot-insertion features allow power-down without system shutdown. The live-at-power-up feature enables operation after voltage activation.

Using Sleep and Shutdown Modes in the System

Using Sleep and Shutdown Modes in the System

Microprocessors can control power FETs or voltage regulator shutdown pins to manage power supplies for the device. Figure 2-6 shows microprocessor control via a power FET. Figure 2-7 shows control via a voltage regulator's shutdown pin.

Figure 2-6: Controlling Power-On/-Off State Using Microprocessor and Power FET. Diagram shows a power supply controlled by a microprocessor via a power FET, connected to the device's VCC, VJTAG, and VPUMP pins.
Figure 2-7: Controlling Power-On/-Off State Using Microprocessor and Voltage Regulator. Diagram shows a power supply controlled by a microprocessor via a voltage regulator's shutdown pin, connected to the device's VCCI, VCC, VJTAG, and VPUMP pins.

Power-Up/-Down Behavior

All IGLOO, IGLOO nano, IGLOO PLUS, ProASIC3L, and RT ProASIC3 I/Os are tristated before power-up and remain tristated until the last voltage supply (VCC or VCCI) reaches its activation level. During power-down, I/Os become tristated once the first power supply (VCC or VCCI) drops below its deactivation voltage. Figure 2-8 shows a timing diagram for VCC power supply ramp-up/down.

Figure 2-8: Entering and Exiting Sleep Mode, Typical Timing Diagram. Shows VCC voltage levels and timing for activation and deactivation trip points.

Context Save and Restore in Sleep or Shutdown Mode

In Sleep or Shutdown mode, SRAM, I/O, and register contents are lost without external measures. A serial EEPROM can save and restore device contents. Microcontrollers can manage this by reading data from the FPGA before powering down and loading it back after power-up.

Flash*Freeze Design Guide

Flash*Freeze Design Guide

This section guides designers in creating reliable designs using Flash*Freeze modes optimally. It covers selecting the right mode, design solutions for clocks, set/reset, I/Os, JTAG, and ULSICC, and details Microsemi's Flash*Freeze Management IP. Additional power conservation techniques are also discussed.

Selecting the Right Flash*Freeze Mode

Both Flash*Freeze modes retain register and SRAM content and set I/Os to a predetermined configuration. Type 2 mode offers an opportunity to wait for a second signal (internal or external) before activation, allowing for clean management of clocks and data, and performing housekeeping functions. Type 1 is suited for applications where entry is solely dependent on the FF pin, no internal housekeeping is needed, and the device is reset upon exit or external state saving is performed. Type 2 is recommended for most designs, especially when state saving is required and incoming data is not externally guaranteed valid.

Design Solutions

Clocks: Microsemi recommends synchronous design with Flash*Freeze management IP for clean clock gating. During entry/exit, external clocks may tie High internally or float; use weak pull-up if floating. Clock gating filters unwanted narrow pulses. Gating clocks LOW improves static power of RAM blocks. Drive FF port of RAM blocks with Flash*Freeze_Enabled signal.

Set/Reset: Use active low set/reset at the top-level port. A self-reset circuit can be implemented using an active High set/reset input pin with an internal pull-up.

I/Os: Release undriven inputs only after the device enters Flash*Freeze mode. Asynchronous input-to-output paths may glitch; use latches with management IP to gate these paths.

JTAG: TCK should be static during Flash*Freeze mode to prevent dynamic power consumption.

ULSICC: The ULSICC macro accesses the Flash*Freeze Technology block. The LSICC input must remain asserted High for reliable entry into Flash*Freeze mode.

Flash*Freeze Management IP: This IP offers a robust RTL block for clean clock gating and housekeeping before entering/exiting Flash*Freeze mode. It comprises the Flash*Freeze FSM, clock gating (filter) block, and ULSICC macro.

Figure 2-10: Flash*Freeze Management IP Block Diagram. Shows the FSM, Clock Gating, ULSICC Macro, and their connections to the FPGA core and Flash*Freeze technology.

Flash*Freeze Management FSM: A state machine that controls clock gating, ULSICC, and housekeeping. It asserts WAIT_HOUSEKEEPING for user logic to perform shutdown processes and Flash_Freeze_Enabled when the device enters Flash*Freeze mode.

Clock Gating Block: Initiated by the FSM, this circuit gates clocks in less than two cycles using flip-flops, latches, and AND gates.

Design Flow: For Libero IDE v8.3+, Flash*Freeze type 1 uses INBUF_FF. Type 2 uses the Flash*Freeze management IP, which includes INBUF_FF and ULSICC. Manual instantiation is also possible.

INBUF_FF: A special input buffer macro that forces the top-level port to the dedicated FF pin, enabling Flash*Freeze mode. Only one INBUF_FF can be instantiated per device.

ULSICC: Enables core access to Flash*Freeze Technology for mode control. Requires INBUF_FF for Type 2 mode. If not instantiated, LSICC port is tied High.

Flash*Freeze Management IP: Configured via Libero/SmartGen core generator. Includes clock gating, ULSICC macro, and INBUF_FF. Clock gating adds skew; analyze setup/hold times carefully.

Power Analysis: SmartPower tool estimates static and dynamic power consumption, providing detailed reports and battery life estimates based on operational modes.

Additional Power Conservation Techniques: Use minimum I/O banks, tie unused power supplies to ground, leave unused I/O ports floating, use lowest voltage I/O standard, lowest drive strength, and slowest slew rate. Deselect unused RAM blocks. Gate clocks LOW. Drive FF port of RAM blocks with Flash*Freeze_Enabled. Drive inputs to full voltage levels. Avoid pull-ups/downs on I/Os. Minimize I/O usage across devices.

Conclusion

Conclusion

Microsemi IGLOO, IGLOO nano, IGLOO PLUS, ProASIC3L, and RT ProASIC3 families achieve ultra-low power consumption via enhanced nonvolatile flash-based technology. Flash*Freeze, Static (Idle), Sleep, and Shutdown modes further reduce power, making them ideal for power-sensitive, battery-operated applications.

Related Documents

Related Documents

Application Notes

List of Changes

List of Changes

The following table lists critical changes that were made in each revision of the chapter.

DateChangesPage
July 2010This chapter is no longer published separately with its own part number and version but is now part of several FPGA fabric user's guides.N/A
v2.3 (November 2009)The "Sleep Mode" section was revised to state the VJTAG and VPUMP, as well as VCC, are grounded during Sleep mode (SAR 22517).32
v2.2 (December 2008)Figure 2-6 Controlling Power-On/-Off State Using Microprocessor and Power FET and Figure 2-7 Controlling Power-On/-Off State Using Microprocessor and Voltage Regulator were revised to show that VJTAG and VPUMP are powered off during Sleep mode.33
IGLOO nano devices were added as a supported family.N/A
The "Prototyping for IGLOO and ProASIC3L Devices Using ProASIC3" section was removed, as these devices are now in production.N/A
The "Additional Power Conservation Techniques" section was revised to add RT ProASIC3 devices.41
The "Flash*Freeze Management FSM" section was updated with the following information: The FSM also asserts Flash_Freeze_Enabled whenever the device enters Flash*Freeze mode. This occurs after all housekeeping and clock gating functions have completed.37
v2.1 (October 2008)The title changed from "Flash*Freeze Technology and Low Power Modes in IGLOO, IGLOO PLUS, and ProASIC3L Devices" to Actel's Flash*Freeze Technology and Low Power Modes."N/A
The "Flash Families Support the Flash*Freeze Feature" section was updated.22
Significant changes were made to this document to support Libero IDE v8.4 and later functionality. RT ProASIC3 device support information is new. In addition to the other major changes, the following tables and figures were updated or are new: Figure 2-3 Flash*Freeze Mode Type 2 Controlled by Flash*Freeze Pin and Internal Logic (LSICC signal) updated Figure 2-5 Narrow Clock Pulses During Flash*Freeze Entrance and Exit new Figure 2-10 Flash*Freeze Management IP Block Diagram new Figure 2-11 FSM State Diagram new Table 2-6 IGLOO nano and IGLOO PLUS Flash*Freeze Mode (type 1 and type 2)--I/O Pad State updated Please review the entire document carefully.27 30 37 38 29
v1.3 (June 2008)The family description for ProASIC3L in Table 2-1 Flash-Based FPGAs was updated to include 1.5 V.22
The part number for this document was changed from 51700094-003-1 to 51700094-004-2.N/A
The title of the document was changed to "Flash*Freeze Technology and Low Power Modes in IGLOO, IGLOO PLUS, and ProASIC3L Devices."N/A
The "Flash*Freeze Technology and Low Power Modes" section was updated to remove the parenthetical phrase, "from 25 W," in the second paragraph. The following sentence was added to the third paragraph: "IGLOO PLUS has an additional feature when operating in Flash*Freeze mode, allowing it to retain I/O states as well as SRAM and register states."21
The "Power Conservation Techniques" section was updated to add VJTAG to the parenthetical list of power supplies that should be tied to the ground plane if unused. Additional information was added regarding how the software configures unused I/Os.27
v1.2 (March 2008)Table 2-1 Flash-Based FPGAs and the accompanying text was updated to include the IGLOO PLUS family. The "IGLOO Terminology" section and "ProASIC3 Terminology" section are new.22
The "Flash*Freeze Mode" section was revised to include that I/O states are preserved in Flash*Freeze mode for IGLOO PLUS devices. The last sentence in the second paragraph was changed to, "If the FF pin is not used, it can be used as a regular I/O." The following sentence was added for Flash*Freeze mode type 2: "Exiting the mode is controlled by either the FF pin OR the user-defined LSICC signal."21
The "Flash*Freeze Type 1: Control by Dedicated Flash*Freeze Pin" section was revised to change instructions for implementing this mode, including instructions for implementation with Libero IDE v8.3.24
Figure 2-1 Flash*Freeze Mode Type 1 Controlled by the Flash*Freeze Pin was updated.25
The "Flash*Freeze Type 2: Control by Dedicated Flash*Freeze Pin and Internal Logic" section was renamed from "Type 2 Software Implementation."26
The "Type 2 Software Implementation for Libero IDE v8.3" section is new.26
Figure 2-3 Flash*Freeze Mode Type 2 Controlled by Flash*Freeze Pin and Internal Logic (LSICC signal) was updated.27
Figure 2-4 Flash*Freeze Mode Type 2 Timing Diagram was revised to show deasserting LSICC after the device has exited Flash*Freeze mode.27
The "IGLOO nano and IGLOO PLUS I/O State in Flash*Freeze Mode" section was added to include information for IGLOO PLUS devices. Table 2-6 IGLOO nano and IGLOO PLUS Flash*Freeze Mode (type 1 and type 2)--I/O Pad State is new.28, 29
The "During Flash*Freeze Mode" section was revised to include a new bullet pertaining to output behavior for IGLOO PLUS. The bullet on JTAG operation was revised to provide more detail.31
Figure 2-6 Controlling Power-On/-Off State Using Microprocessor and Power FET and Figure 2-7 Controlling Power-On/-Off State Using Microprocessor and Voltage Regulator were updated to include IGLOO PLUS.33, 33
The first sentence of the "Shutdown Mode" section was updated to list the devices for which it is supported.32
The first paragraph of the "Power-Up/-Down Behavior" section was revised. The second sentence was changed to, "The I/Os remain tristated until the last voltage supply (VCC or VCCI) is powered to its activation level." The word "activation" replaced the word "functional." The sentence, "During power-down, device I/Os become tristated once the first power supply (VCC or VCCI) drops below its deactivation voltage level" was revised. The word "deactivation" replaced the word "brownout."33
The "Prototyping for IGLOO and ProASIC3L Devices Using ProASIC3" section was revised to state that prototyping in ProASIC3 does not apply for the IGLOO PLUS family.2-21
Table 2-8 Prototyping/Migration Solutions, Table 2-9 Device Migration--IGLOO Supported Packages in ProASIC3 Devices, and Table 2-10 Device Migration-- ProASIC3L Supported Packages in ProASIC3 Devices were updated with a table note stating that device migration is not supported for IGLOO PLUS devices.2-21, 2-23
The "Flash*Freeze Design Guide" section was updated to add RT ProASIC3 devices.34
v1.1 (February 2008)Table 2-1 Flash-Based FPGAs was updated to remove the ProASIC3, ProASIC3E, and Automotive ProASIC3 families, which were incorrectly included.22
Detailed descriptions of low power modes are described in the advanced datasheets. This application note was updated to describe how to use the features in an IGLOO/e application.N/A
Figure 2-1 Flash*Freeze Mode Type 1 Controlled by the Flash*Freeze Pin was updated.25
Figure 2-2 Flash*Freeze Mode Type 1 Timing Diagram is new.25
Steps 4 and 5 are new in the "Flash*Freeze Type 2: Control by Dedicated Flash*Freeze Pin and Internal Logic" section.26
v1.1 (continued)In the following sentence, located in the "Flash*Freeze Mode" section, the bold text was changed from active high to active Low. The Flash*Freeze pin (active low) is a dedicated pin used to enter or exit Flash*Freeze mode directly, or alternatively the pin can be routed internally to the FPGA core to allow the user's logic to decide if it is safe to transition to this mode.24
Figure 2-2 Flash*Freeze Mode Type 1 Timing Diagram was updated.25
Information about ULSICC was added to the "Prototyping for IGLOO and ProASIC3L Devices Using ProASIC3" section.2-21
v1.0 (January 2008)In the "Flash*Freeze Mode" section, "active high" was changed to "active low."24
The "Prototyping for IGLOO and ProASIC3L Devices Using ProASIC3" section was updated with information concerning the Flash*Freeze pin.2-21
51900087-0/1.05 (January 2005)

Chapter 3: Global Resources in Low Power Flash Devices

This chapter describes the VersaNet global network distribution, chip and quadrant global I/Os, spine architecture, clock aggregation, and design recommendations for using global resources in Microsemi's low power flash and mixed signal FPGAs.

Introduction

IGLOO, Fusion, and ProASIC3 FPGA devices feature a powerful, low-delay VersaNet global network and extensive support for multiple clock domains. This includes Clock Conditioning Circuits (CCCs), phase-locked loops (PLLs), and a comprehensive global clock distribution network called a VersaNet global network. Each logical element (VersaTile) input and output port accesses these global networks, which can distribute low-skew clock signals or high-fanout nets. These segmented networks contain spines (vertical branches) and ribs that reach all VersaTiles within their region, allowing flexible creation of low-skew local clock networks. This document details VersaNet global networks and their assignment in a design flow. PLL details are in the "Clock Conditioning Circuits" section. This chapter covers the global architecture and usage of these networks.

Global Architecture

Low power flash devices offer powerful and flexible control of circuit timing via global circuitry. Each chip has up to six CCCs, some with PLLs. IGLOOe, ProASIC3EL, and ProASIC3E devices have six PLLs per device (except PQ208 package with 2 PLLs). IGLOO, IGLOO nano, IGLOO PLUS, ProASIC3, and ProASIC3L devices have a PLL core in the west CCC (except 10 k through 30 k devices). Fusion devices also have a PLL core in the west CCC; larger Fusion devices (AFS600, AFS1500) have PLLs in both west and east CCCs. Each PLL includes delay lines, phase shifters, and clock multipliers/dividers. CCCs contain circuitry for selecting and interconnecting inputs to the VersaNet global network. East and west CCCs access three chip global lines each, totaling six. Corner CCCs access three quadrant global lines each (except 10 k-30 k devices). Nano 10 k, 15 k, 20 k devices support four VersaNet global resources; 30 k devices support six. 10 k-30 k devices use simplified CCCs called CCC-GLs. The VersaNet global network allows routing external or gated internal clocks using fast, low-skew resources for high-fanout nets, including clocks. It enables creation of low-skew local clock networks using spines for up to 252 internal/external clocks or high-fanout nets, significantly improving design performance.

Global Resource Support in Flash-Based Devices

The flash FPGAs listed in Table 3-1 support the global resources and functions described in this document.

SeriesFamily*Description
IGLOOIGLOOUltra-low power 1.2 V to 1.5 V FPGAs with Flash*Freeze technology
IGLOOeHigher density IGLOO FPGAs with six PLLs and additional I/O standards
IGLOO PLUSIGLOO FPGAs with enhanced I/O capabilities
IGLOO nanoThe industry's lowest-power, smallest-size solution
ProASIC3ProASIC3Low power, high-performance 1.5 V FPGAs
ProASIC3EHigher density ProASIC3 FPGAs with six PLLs and additional I/O standards
ProASIC3 nanoLowest-cost solution with enhanced I/O capabilities
ProASIC3LProASIC3 FPGAs supporting 1.2 V to 1.5 V with Flash*Freeze technology
RT ProASIC3Radiation-tolerant RT3PE600L and RT3PE3000L
Military ProASIC3/ELMilitary temperature A3PE600L, A3P1000, and A3PE3000L
Automotive ProASIC3ProASIC3 FPGAs qualified for automotive applications
FusionFusionMixed signal FPGA integrating ProASIC3 FPGA fabric, programmable analog block, support for ARM CortexTM-M1 soft processors, and flash memory into a monolithic device

Note: *The device names link to the appropriate datasheet, including product brief, DC and switching characteristics, and packaging information.

IGLOO Terminology

In documentation, the terms IGLOO series and IGLOO devices refer to all of the IGLOO products as listed in Table 3-1. Where the information applies to only one product line or limited devices, these exclusions will be explicitly stated.

ProASIC3 Terminology

In documentation, the terms ProASIC3 series and ProASIC3 devices refer to all of the ProASIC3 devices as listed in Table 3-1. Where the information applies to only one product line or limited devices, these exclusions will be explicitly stated.

To further understand the differences between the IGLOO and ProASIC3 devices, refer to the Industry's Lowest Power FPGAs Portfolio.

VersaNet Global Network Distribution

Low power flash architecture offers powerful, low-delay VersaNet global networks accessing VersaTiles, SRAM, and I/O tiles. Each device has a chip global network with six global lines (except nano 10 k, 15 k, 20 k devices) distributed from the array center. Devices (except 10 k-30 k gate) have four quadrant global networks, each with three quadrant global net resources, driving signals only within their quadrant. Each VersaTile accesses nine global line resources (three quadrant, six chip-wide), totaling 18 globals per device (3x4 regional + 6 global). Figure 3-1 shows the VersaNet global network overview for devices 60 k and above. Figures 3-2 and 3-3 show simplified networks. VersaNet networks are segmented with spines, global ribs, and multiplexers (MUXes), driven from the center or north/south sides. MUX trees access spines, which use clock ribs to reach VersaTiles. These networks provide fast, low-skew routing for high-fanout nets like clocks, enabling low-skew local clock networks using spines for up to 252 internal/external clocks or nets, improving design performance.

Figure 3-1: Overview of VersaNet Global Network and Device Architecture. Diagram shows chip global pads, quadrant global pads, VersaTiles, memory blocks, I/O rings, spines, and MUXes. Note: Not applicable to 10 k through 30 k gate devices.
Figure 3-2: Simplified VersaNet Global Network (30 k gates and below). Diagram shows global drivers and chip (main) global network.
Figure 3-3: Simplified VersaNet Global Network (60 k gates and above). Diagram illustrates CCCs, chip global network, quadrant global networks, and their connections via spines.

Chip and Quadrant Global I/Os

Chip and Quadrant Global I/Os

Naming of Global I/Os

In low power flash devices, global I/Os access clock conditioning circuitry and have direct access to the global network. They can also function as regular I/Os. The naming convention Gmn/IOuxwByVz indicates a global input pin (Gmn) and a regular I/O pin (IOuxwByVz). Figure 3-4 illustrates global input pin connections, showing 54 global pins accessing 18 global networks in ProASIC3E families.

Figure 3-4: Global Connections Details. Diagram shows global input pins (GAA0-GAA2, GAB0-GAB2, etc.) connected to CCCs and global network spines.

Figure 3-5 shows detailed global input connections for the northwest quadrant, illustrating global input pins (GAA0-GAA2) connected to MUXes for CLKA, CLKB, CLKC, feeding into a CCC. Each global buffer and PLL reference clock can be driven by dedicated single-ended I/Os, differential I/Os (not for nano devices), or the FPGA core.

Figure 3-5: Global I/O Overview. Diagram shows sample pin names (GAA0/IO0NDB0V01) connected to MUXes for CCC inputs (CLKA, CLKB, CLKC) and routed clock inputs.

Figure 3-6 shows nine global inputs for location A connected to the top left quadrant global network via CCC, with MUXes for CLKA, CLKB, CLKC.

Figure 3-6: Global Inputs. Diagram illustrates global inputs (GAA0/IOuxwByVz, GAA1/IOuxwByVz, GAA2/IOuxwByVz) connected to MUXes for CLKA, CLKB, CLKC within a CCC.

Since each bank can have different I/O standards, choose the correct global I/O. 54 global pins access 18 global networks. For single-ended and voltage-referenced standards, any of three available I/Os can access the global network. For differential standards (LVDS, LVPECL), specific I/O macros must be used. Unassigned global I/Os can be regular I/Os. GF and GC pins are for chip global networks; GA, GB, GD, GE are for quadrant global networks. Tables 3-2 and 3-3 list chip and quadrant global pin names.

I/O TypeBeginning of I/O NameNotes
Single-EndedGFAO/IOuxwByVz GFA1/IOuxwByVz GFA2/IOuxwByVzOnly one of the I/Os can be directly connected to a chip global at a time.
GFBO/IOuxwByVz GFB1/IOuxwByVz GFB2/IOuxwByVzOnly one of the I/Os can be directly connected to a chip global at a time.
GFC0/IOuxwByVz GFC1/IOuxwByVz GFC2/IOuxwByVzOnly one of the I/Os can be directly connected to a chip global at a time.
GCAO/IOuxwByVz GCA1/IOuxwByVz GCA2/IOuxwByVzOnly one of the I/Os can be directly connected to a chip global at a time.
GCBO/IOuxwByVz GCB1/IOuxwByVz GCB2/IOuxwByVzOnly one of the I/Os can be directly connected to a chip global at a time.
GCC0/IOuxwByVz GCC1/IOuxwByVz GCC2/IOuxwByVzOnly one of the I/Os can be directly connected to a chip global at a time.
Differential I/O PairsGFAO/IOuxwByVz GFA1/IOuxwByVzThe output of the different pair will drive the chip global.
GFBO/IOuxwByVz GFB1/IOuxwByVzThe output of the different pair will drive the chip global.
GFCO/IOuxwByVz GFC1/IOuxwByVzThe output of the different pair will drive the chip global.
GCAO/IOuxwByVz GCA1/IOuxwByVzThe output of the different pair will drive the chip global.
GCBO/IOuxwByVz GCB1/IOuxwByVzThe output of the different pair will drive the chip global.
GCCO/IOuxwByVz GCC1/IOuxwByVzThe output of the different pair will drive the chip global.

Note: Only one of the I/Os can be directly connected to a quadrant at a time.

I/O TypeBeginning of I/O NameNotes
Single-EndedGAAO/IOuxwByVz GAA1/IOuxwByVz GAA2/IOuxwByVzOnly one of the I/Os can be directly connected to a quadrant global at a time
GABO/IOuxwByVz GAB1/IOuxwByVz GAB2/IOuxwByVzOnly one of the I/Os can be directly connected to a quadrant global at a time.
GAC0/IOuxwByVz GAC1/IOuxwByVz GAC2/IOuxwByVzOnly one of the I/Os can be directly connected to a quadrant global at a time.
GBAO/IOuxwByVz GBA1/IOuxwByVz GBA2/IOuxwByVzOnly one of the I/Os can be directly connected to a global at a time.
GBBO/IOuxwByVz GBB1/IOuxwByVz GBB2/IOuxwByVzOnly one of the I/Os can be directly connected to a global at a time.
GBC0/IOuxwByVz GBC1/IOuxwByVz GBC2/IOuxwByVzOnly one of the I/Os can be directly connected to a global at a time.
GDAO/IOuxwByVz GDA1/IOuxwByVz GDA2/IOuxwByVzOnly one of the I/Os can be directly connected to a global at a time.
GDBO/IOuxwByVz GDB1/IOuxwByVz GDB2/IOuxwByVzOnly one of the I/Os can be directly connected to a global at a time.
GDC0/IOuxwByVz GDC1/IOuxwByVz GDC2/IOuxwByVzOnly one of the I/Os can be directly connected to a global at a time.
GEAO/IOuxwByVz GEA1/IOuxwByVz GEA2/IOuxwByVzOnly one of the I/Os can be directly connected to a global at a time.
GEBO/IOuxwByVz GEB1/IOuxwByVz GEB2/IOuxwByVzOnly one of the I/Os can be directly connected to a global at a time.
GEC0/IOuxwByVz GEC1/IOuxwByVz GEC2/IOuxwByVzOnly one of the I/Os can be directly connected to a global at a time.
Differential I/O PairsGAAO/IOuxwByVz GAA1/IOuxwByVzThe output of the different pair will drive the global.
GABO/IOuxwByVz GAB1/IOuxwByVzThe output of the different pair will drive the global.
GACO/IOuxwByVz GAC1/IOuxwByVzThe output of the different pair will drive the global.
GBAO/IOuxwByVz GBA1/IOuxwByVzThe output of the different pair will drive the global.
GBBO/IOuxwByVz GBB1/IOuxwByVzThe output of the different pair will drive the global.
GBCO/IOuxwByVz GBC1/IOuxwByVzThe output of the different pair will drive the global.
GDAO/IOuxwByVz GDA1/IOuxwByVzThe output of the different pair will drive the global.
GDBO/IOuxwByVz GDB1/IOuxwByVzThe output of the different pair will drive the global.
GDCO/IOuxwByVz GDC1/IOuxwByVzThe output of the different pair will drive the global.
GEAO/IOuxwByVz GEA1/IOuxwByVzThe output of the different pair will drive the global.
GEBO/IOuxwByVz GEB1/IOuxwByVzThe output of the different pair will drive the global.
GECO/IOuxwByVz GEC1/IOuxwByVzThe output of the different pair will drive the global.

Note: Only one of the I/Os can be directly connected to a quadrant at a time.

Unused Global I/O Configuration

Unused clock inputs behave like unused Pro I/Os. Microsemi Designer software automatically configures unused global pins as inputs with pull-up resistors if not used as regular I/Os.

I/O Banks and Global I/O Standards

Any I/O or internal logic can drive the global network. Only global macros at global pins use hardwired connections. Global signal assignment to I/O banks is similar to regular I/O assignment, with pin placement location being the only constraint. Global signals compatible with VCCI and VREF standards can be assigned to the same bank.

Spine Architecture

Low power flash device architecture segments VersaNet global networks into spines (vertical branches) and ribs, reaching all VersaTiles within a region. Nine spines per vertical column exist in global networks, divided into quadrant global networks (three spines) and chip global networks (six spines). Spine access is via dedicated global network MUX trees. Spine drivers are in the die center. Quadrant spines are driven from user I/Os or internal signals on north/south sides. Driving spines in quadrant networks significantly impacts system performance for high-fanout inputs. Access to top quadrant spine regions is from the top, bottom from the bottom. The A3PE3000 device has 28 clock trees, each with nine spines, enabling mapping of up to 252 different clocks.

ProASIC3 / ProASIC3L DevicesIGLOO Devices
Globals/TotalRowsQuadrantSpinesTotalVersaTilesRows
Chip GlobalsSpinesinGlobalsperSpinesin Eachin Each
(43)Each DeviceTrees(43)Tree(43)TotalSpine
A3PN010 AGLN010401002602604
A3PN015 AGLN015401003843846
A3PN020 AGLN020401005205206
A3PN060 AGLN06061249363841,53612
A3PN125 AGLN12561289723843,07212
A3PN250 AGLN25061289727686,14424
A3P015AGL0156019938438412
A3P030AGL03060291838476812
A3P060AGL06061249363841,53612
A3P125AGL12561289723843,07212
A3P250/LAGL25061289727686,14424
A3P400AGL4006121291087689,21624
A3P600/LAGL6006121291081,15213,82436
A3P1000/LAGL10006121691441,53624,57648
A3PE600/LAGLE6006121291081,12013,44035
A3PE15006122091801,88837,76059
A3PE3000/LAGLE30006122892522,65674,36883
Table 3-5: Globals/Spines/Rows for IGLOO PLUS Devices. Lists clocking resources for IGLOO PLUS devices.
IGLOO PLUS DevicesQuadrantChip GlobalsClock TreesGlobals/TotalVersaTilesRows
Globals (43)Spines per TreeSpines per Devicein Each TreeTotal VersaTilesin Each Spine
AGLP030602918384*79212
AGLP0606124936384*1,58412
AGLP1256128972384*3,12012

Note: *Clock trees that are located at far left and far right will support more VersaTiles.

Table 3-6: Globals/Spines/Rows for Fusion Devices. Lists clocking resources for Fusion devices.
Fusion DeviceQuadrant Globals (43)Chip GlobalsClock TreesGlobals/ Spines per TreeTotal Spines per DeviceVersaTiles in Each TreeTotal VersaTilesRows in Each Spine
AFS09061269543842,30412
AFS25061289727686,14424
AFS6006121291081,15213,82436
AFS15006122091801,92038,40060

Spine Access

Spines, identified as Tn or Bn (n indicating horizontal location), are vertical branches of the global network tree. Chip global networks have six spines per tree, quadrant global networks have three. Spine segments (top/bottom) have the same height. Signals assigned only to top/bottom spines cannot access the middle two rows. Quadrant spines do not cross the die middle. Each spine and its ribs cover a region (scope). Spines are accessed by MUX trees, driven by global networks or user nets. Spine drivers are in the die center. Quadrant spines can be driven from user I/Os or internal signals on north/south sides. Driving spines in quadrant networks impacts performance. Access to top quadrant spine regions is from the top, bottom from the bottom. A3PE3000 has 28 clock trees, each with nine spines, allowing up to 252 clocks.

Figure 3-7: Chip Global Aggregation. Diagram shows spine aggregation for chip global networks (Tn, Tn+1, etc.).

A spine is a local clock network accessed by dedicated global MUX architecture. MUXes define spine driving signals. Chip global spine MUXes are in the die middle; quadrant spine MUXes are on north/south sides. Driving T1 and B1 quadrant spines from the same signal is not recommended.

Using Clock Aggregation

Clock aggregation allows balanced clock trees for improved skew. Physical regions are defined left-to-right, shifting by one spine. Chip global networks offer three types of aggregation: driving up to four, two, or one adjacent spine. Quadrant spines also offer three types: driving up to four, two, or one adjacent spine via I/Os or local resources. A3PE600/AFS600 have twelve spine locations (T1-T6, B1-B6). Table 3-7 shows spine aggregation options.

Figure 3-8: Spine Selection MUX of Global Tree. Diagram illustrates MUX trees for selecting spine inputs from internal/external signals and global networks.
Figure 3-9: Clock Aggregation Tree Architecture. Diagram shows I/O, internal signal, and global signal access points to clock aggregation trees.
Clock AggregationSpine
1 spineT1, T2, T3, T4, T5, T6, B1, B2, B3, B4, B5, B6
2 spinesT1:T2, T2:T3, T3:T4, T4:T5, T5:T6, B1:B2, B2:B3, B3:B4, B4:B5, B5:B6
4 spinesB1:B4, B2:B5, B3:B6, T1:T4, T2:T5, T3:T6

Quadrant spine aggregation can cross quadrants (e.g., T1:T4) but not top-to-bottom (T1:B1 is illegal). Clock aggregation is hardwired; using buffers for non-adjacent spines may add skew.

Design Recommendations

Design Recommendations

Global Macros and I/O Standards

Larger low power flash devices have six chip and four quadrant global networks. Clock macros (CLKBUF, CLKBUF_x, CLKINT, CLKDLY) are used for assigning signals to these networks. Table 3-8 lists clock macros. Use I/O-standard-specific macros (CLKBUF_x) for direct assignment; changing standards later requires MVN or PDC. CLKBUF defaults to LVTTL. Table 3-9 lists I/O standards for CLKBUF.

Macro NameDescriptionSymbol
CLKBUFInput macro for Clock NetworkPAD Y
CLKBUF_xInput macro for Clock Network with specific I/O standardPAD Y
CLKBUF_LVDS/LVPECLLVDS or LVPECL input macro for Clock Network (not supported for IGLOO nano or ProASIC3 nano devices)PADN PADP Y
CLKINTMacro for internal clock interfaceA Y
CLKBIBUFBidirectional macro with input dedicated to routed Clock NetworkDE PAD Y

Note: IGLOO nano and ProASIC nano devices do not support differential inputs.

NameDescription
CLKBUF_LVCMOS5LVCMOS clock buffer with 5.0 V CMOS voltage level
CLKBUF_LVCMOS33LVCMOS clock buffer with 3.3 V CMOS voltage level
CLKBUF_LVCMOS25LVCMOS clock buffer with 2.5 V CMOS voltage level1
CLKBUF_LVCMOS18LVCMOS clock buffer with 1.8 V CMOS voltage level
CLKBUF_LVCMOS15LVCMOS clock buffer with 1.5 V CMOS voltage level
CLKBUF_LVCMOS12LVCMOS clock buffer with 1.2 V CMOS voltage level
CLKBUF_PCIPCI clock buffer
CLKBUF_PCIXPCIX clock buffer
CLKBUF_GTL25GTL clock buffer with 2.5 V CMOS voltage level1
CLKBUF_GTL33GTL clock buffer with 3.3 V CMOS voltage level1
CLKBUF_GTLP25GTL+ clock buffer with 2.5 V CMOS voltage level1
CLKBUF_GTLP33GTL+ clock buffer with 3.3 V CMOS voltage level1
CLKBUF_ HSTL _IHSTL Class I clock buffer1
CLKBUF_ HSTL _IIHSTL Class II clock buffer1
CLKBUF_SSTL2_ISSTL2 Class I clock buffer1
CLKBUF_SSTL2_IISSTL2 Class II clock buffer1
CLKBUF_SSTL3_ISSTL3 Class I clock buffer1
CLKBUF_SSTL3_IISSTL3 Class II clock buffer1

Notes: 1. Supported in only the IGLOOe, ProASIC3E, AFS600, and AFS1500 devices 2. By default, the CLKBUF macro uses the 3.3 V LVTTL I/O technology.

VHDL Example for CLKBUF_LVCMOS25 instantiation:

component clkbuf_lvcmos25 port (pad : in std_logic; y : out std_logic); end component; u2 : clkbuf_lvcmos25 port map (pad => ext_clk, y => int_clk);

Verilog Example for CLKBUF_LVCMOS25 instantiation:

module design (______); input _____; output ______; clkbuf_lvcmos25 u2 (.y(int_clk), .pad(ext_clk); endmodule

Global Macro and Placement Selections

Low power flash devices offer three global input pad locations to connect to CCCs or global/quadrant networks. For 60K gate devices and above, single-ended I/O standards allow choosing one of three global input pads; other locations act as regular I/Os. Differential I/O standards pair inputs. Internal clock signals can also feed the global network. A multiplexer tree selects the input. Global I/O pads can also be regular I/Os.

Hardwired I/O Clock Source

Hardwired I/Os are global input pins directly connected to the multiplexer tree accessing global buffers. These pins have designated locations (Gmn, where m is position, n is MUX/pin number). This provides less delay. Figure 3-11 illustrates connections. CLKBUF macro inputs can be placed at nine dedicated global input pin locations (GmA0-GmA2, GmB0-GmB2, GmC0-GmC2). Placement determines chip vs. quadrant global usage (Figure 3-12, 3-13).

Figure 3-11: CLKBUF Macro. Diagram shows CLKBUF macro connected to global pins (GFA0, GFA1, GFA2) and core logic.
Figure 3-12: Chip Global Region. Diagram shows placement of CLKBUF at GF pins for chip global network access.
Figure 3-13: Quadrant Global Region. Diagram shows placement of CLKBUF at GA pins for quadrant global network access.

External I/O or Local signal as Clock Source

External I/Os (IOuxwByVz) can access the global network via internal routing using the CLKINT macro. Alternatively, PDC can promote signals from external I/Os or internal signals to the global network, but this may cause logic replication. Figure 3-14 shows CLKINT macro usage.

Figure 3-14: CLKINT Macro. Diagram shows CLKINT macro connecting core logic to the global network.

Using Global Macros in Synplicity

Synplify synthesis tool automatically inserts global buffers for high-fanout nets. By default, it inserts six global macros (CLKBUF or CLKINT), honoring user instantiations. A PLL uses 1-3 buffers. Synplify's global counting rule applies to CLKBUF, CLKINT, CLKDLY, and PLLs. The `syn_global_buffers` attribute limits the number of inserted globals. `syn_global_minfanout` promotes only high-fanout signals. Note that only six signals can be assigned to chip global networks; others must use quadrant networks.

Figure 3-15: PLLs in Low Power Flash Devices. Diagram shows PLL inputs (CLKA, POWERDOWN, OADIVRST, etc.) and outputs (GLA, LOCK, GLB, YB, etc.).

Global Promotion and Demotion Using PDC

HDL source files or schematics are preferred for defining global signal assignments using clock macro instantiation. This prevents synthesis tool replication. PDC can promote signals to global networks or demote global macros to regular ones. `assign_global_clock -net netname` promotes a regular net to a chip global clock, inserting CLKINT. `assign_local_clock -net netname -type quadrant UR|UL|LR|LL` promotes to a quadrant clock. `unassign_global_clock -net netname` demotes global signals, changing CLKBUF_x to INBUF_x and removing CLKINT. Demotion is recommended only for small-fanout nets due to potential timing/routability issues.

Spine Assignment

Global networks can be segmented into spines (local clock networks). PDC or MVN can assign signals to spines using `assign_local_clock -net netname -type [quadrant|chip] Tn|Bn|Tn:Bm`. Designer demotes clock nets driven by macros before spine assignment. PLL or CLKDLY macro nets cannot be assigned to local clocks. Designer legalizes shared instances during Compile; MVN does not. Figure 3-16 illustrates PDC spine assignment for shared instances.

Figure 3-16: Adding a Buffer for Shared Instances. Diagram shows PDC constraints for assigning net_clk to chip T3 and net_reset to chip T1:T2, with a buffer added after compile.

The number of shared instances can be controlled via Designer's Compile Option dialog box (Figure 3-17).

Figure 3-17: Shared Instances in the Compile Option Dialog Box. Shows the Globals Management GUI in Designer.

Designer Flow for Global Assignment

Global management is crucial during synthesis and place-and-route. Synplify defaults to six global buffers; quadrant assignment requires manual PDC or increased Synplify globals. Designer v6.2+ supports automatic quadrant global assignment. Steps for layout and timing improvement:

  1. Run Compile, check Compile report for global information (Device Utilization, Net Report).
  2. Promote high-fanout signals to global using compile options (e.g., "Promote regular nets whose fanout is greater than") or PDC. Figure 3-18 shows the Globals Management GUI.
  3. Demote global nets with low fanout using compile options or PDC to free up global networks.
  4. Use local clock networks (spines) for low-skew, non-chip-wide signals via PDC.
  5. Assign I/O buffers using MVN if I/O assignment is fixed. Do not place multiple CLKBUF macros on the same three sets of global pins. Click "Commit" in MVN for pre-layout checks.
  6. Run Compile with "Keep existing physical constraints" to verify MVN assignments.
  7. Run Layout and check timing.
Figure 3-18: Globals Management GUI in Designer. Shows options for promoting/demoting nets based on fanout.

Simple Design Example

Example: A3PE600-PQ208 device with six shift registers, two PLLs, a global reset (ACLR), an enable (EN_ALL), and three external clock domains (QCLK1, QCLK2, QCLK3). PQ208 has two PLLs accessing chip global networks. Global reset/enable need chip globals due to fanout. Two remaining clocks (QCLK1, QCLK2) are assigned to quadrant globals via PDC.

Step 1: Run Synthesis; check device utilization report (e.g., 1536 DFN1E1C1, 278 INBUF, 10 CLKBUF).

Step 2: Run Compile; report shows 8 globals used (5 auto-promoted, 3 essential). Designer will promote more and assign two to quadrant globals.

Step 3 (optional): Assign QCLK1_c to quadrant UL and QCLK2_c to quadrant LL using PDC.

Step 4: Re-run Compile with PDC; report shows QCLK1_c and QCLK2_c assigned to quadrant resources.

Step 5: Run Layout.

Figure 3-19: Block Diagram of the Global Management Example Design. Shows PLLs, registers, and clock signals connected via global and quadrant networks.

Global Management in PLL Design

Use dedicated global pins to drive PLL reference clock inputs for reduced delay and distortion. Low power flash devices allow other signals to connect to reference clock inputs. Each PLL is associated with three global networks. Limitations: using a PLL with only primary output leaves two free global networks; using three globals associated with a PLL location prevents PLL use there; YB/YC outputs occupy a global even if not used for global networks.

Using Spines of Occupied Global Networks

When a signal is assigned to a global network, flash switches program MUX select lines to drive spines. If a global net is restricted from a spine's scope, its MUX drivers can be used for other signals. Example: Limit CLK1_c to the left half of the chip and use the right side for CLK2_c via PDC (Figure 3-20).

Figure 3-20: Design Example Using Spines of Occupied Global Networks. Diagram shows PDC commands defining regions and assigning nets to spines.

Conclusion

IGLOO, Fusion, and ProASIC3 devices offer 18 global networks (6 chip, 12 quadrant), segmentable into local low-skew spines. These spines support high-fanout signals, enabling up to 252 clocks in an A3PE3000 device. This document details the global network architecture and assignment methodologies.

Related Documents

User's Guides

List of Changes

List of Changes

The following table lists critical changes that were made in each revision of the chapter.

DateChangesPage
July 2010This chapter is no longer published separately with its own part number and version but is now part of several FPGA fabric user's guides.N/A
v1.4 (December 2008)Notes were added where appropriate to point out that IGLOO nano and ProASIC3 nano devices do not support differential inputs (SAR 21449).N/A
The "Global Architecture" section and "VersaNet Global Network Distribution" section were revised for clarity (SARs 20646, 24779).47, 49
The "I/O Banks and Global I/Os" section was moved earlier, renamed "Chip and Quadrant Global I/Os", and revised. Figures 3-4, 3-6, Tables 3-2, 3-3 are new (SARs 20646, 24779).51, 50, 54, 55
The "Clock Aggregation Architecture" section was revised (SARs 20646, 24779).61
Figure 3-7 Chip Global Aggregation was revised (SARs 20646, 24779).59
The "Global Macro and Placement Selections" section is new (SARs 20646, 24779).64
v1.3 (October 2008)The "Global Architecture" section was updated to include 10 k devices and VersaNet global support for IGLOO nano devices.47
Table 3-1 Flash-Based FPGAs was updated to include IGLOO nano and ProASIC3 nano devices.48
The "VersaNet Global Network Distribution" section was updated to include 10 k devices and note an exception in global lines for nano devices.49
Figure 3-2 Simplified VersaNet Global Network (30 k gates and below) is new.50
The "Spine Architecture" section was updated to clarify support for 10 k and nano devices.57
Table 3-4 Globals/Spines/Rows for IGLOO and ProASIC3 Devices was updated to include IGLOO nano and ProASIC3 nano devices.57
The figure in the CLKBUF_LVDS/LVPECL row of Table 3-8 Clock Macros was updated to change CLKBIBUF to CLKBUF.62
v1.2 (June 2008)A third bullet was added to the beginning of the "Global Architecture" section regarding Fusion devices.47
The "Global Resource Support in Flash-Based Devices" section was revised to include new families and make information concise.48
Table 3-4 Globals/Spines/Rows for IGLOO and ProASIC3 Devices was updated to include A3PE600/L.57
Table note 1 in Table 3-9 I/O Standards within CLKBUF was revised to include AFS600 and AFS1500.63
The following changes were made to family descriptions in Table 3-1: ProASIC3L updated to include 1.5 V; ProASIC3E PLLs changed from five to six.48
v1.1 (March 2008)The "Global Architecture" section was updated to include IGLOO PLUS family. The west CCC in 15 k and 30 k devices does not contain a PLL core. Instances of "A3P030 and AGL030 devices" replaced with "15 k and 30 k gate devices."47
Table 3-1 Flash-Based FPGAs and accompanying text updated to include IGLOO PLUS family. "IGLOO Terminology" and "ProASIC3 Terminology" sections are new.48
"VersaNet Global Network Distribution", "Spine Architecture" sections, and notes in Figures 3-1, 3-3 updated to mention 15 k gate devices.49, 50, 57
Table 3-4 Globals/Spines/Rows for IGLOO and ProASIC3 Devices updated to add A3P015 and revise values for A3P030/AGL030.57
Table 3-5 Globals/Spines/Rows for IGLOO PLUS Devices is new.58
CLKBUF_LVCMOS12 added to Table 3-9 I/O Standards within CLKBUF.63
The "User's Guides" section updated to include I/O Structures chapters for ProASIC3 and IGLOO.74
Figure 3-3 Simplified VersaNet Global Network (60 k gates and above) updated.50
The "Naming of Global I/Os" section updated.51
The "Using Global Macros in Synplicity" section updated.66
The "Global Promotion and Demotion Using PDC" section updated.67
The "Designer Flow for Global Assignment" section updated.69
The "Simple Design Example" section updated.71
Table 3-4 Globals/Spines/Rows for IGLOO and ProASIC3 Devices updated.57
v1.0 (January 2008)51900087-0/1.05 (January 2005)

Chapter 4: Clock Conditioning Circuits in Low Power Flash Devices and Mixed Signal FPGAs

This chapter details Clock Conditioning Circuit (CCC) features, PLL core specifications, functional descriptions, software configuration, usage information, board-level considerations, and other aspects of clock conditioning circuits and global networks in Microsemi's low power flash and mixed signal FPGAs.

Introduction

This document outlines Clock Conditioning Circuit (CCC) features, PLL core specifications, functional descriptions, software configuration, usage, board-level considerations, and other aspects of clock conditioning circuits and global networks in low power flash devices and mixed signal FPGAs.

Overview of Clock Conditioning Circuitry

In Fusion, IGLOO, and ProASIC3 devices, CCCs implement frequency division, multiplication, phase shifting, and delay operations. CCCs are located at six chip positions: four corners and the middle of east/west sides. Each CCC contains a PLL core, three phase selectors, six programmable delays, one fixed delay, and a dynamic shift register for reconfiguration. Figure 4-1 shows a simplified block diagram of CCC building blocks.

Figure 4-1: Overview of the CCCs Offered in Fusion, IGLOO, and ProASIC3. Diagram shows global I/Os, multiplexer tree, CCC, function block (with or without PLL), and global networks.

Each CCC can implement up to three independent global buffers (with or without programmable delay) or a PLL function with up to three global outputs. Unused PLL outputs can serve as independent global buffers, up to three per CCC.

CCC Programming

CCC blocks are fully configurable via flash configuration bits or an asynchronous shift register interface, allowing dynamic parameter changes during operation. Configuration data is stored in flash memory during device programming or written to the shift register during operation, enabling dynamic reconfiguration without core reprogramming. The shift register uses a simple serial interface. Refer to "UJTAG Applications" or the "Using Global Resources in Actel Fusion Devices" application note.

Global Resources

Low power flash and mixed signal devices provide three global routing networks (GLA, GLB, GLC) per CCC location. Global I/O locations can be chosen from three possibilities via a multiplexer tree. CCCs can be used before signals connect to global networks. CCCs at corners drive quadrant global networks; CCCs on east/west sides drive chip global networks. Quadrant networks span a quarter of the device; chip networks span the entire device. Refer to "Global Resources in Low Power Flash Devices" section for more details.

A global buffer can be placed in any of the three global locations (CLKA-GLA, CLKB-GLB, CLKC-GLC) of a CCC. A PLL macro uses CLKA for its reference clock and GLA, optionally GLB/GLC, for global outputs. PLLs can also drive YB/YC core outputs. GLB/GLC cannot be reused if YB/YC are used.

Each global buffer and PLL reference clock can be driven by: 3 dedicated single-ended I/Os, 2 dedicated differential I/Os (not for nano devices), or the FPGA core.

CCC Support in Microsemi's Flash Devices

The flash FPGAs listed in Table 4-1 support the CCC feature.

SeriesFamily*Description
IGLOOIGLOOUltra-low power 1.2 V to 1.5 V FPGAs with Flash*Freeze technology
IGLOOeHigher density IGLOO FPGAs with six PLLs and additional I/O standards
IGLOO PLUSIGLOO FPGAs with enhanced I/O capabilities
IGLOO nanoThe industry's lowest-power, smallest-size solution
ProASIC3ProASIC3Low power, high-performance 1.5 V FPGAs
ProASIC3EHigher density ProASIC3 FPGAs with six PLLs and additional I/O standards
ProASIC3 nanoLowest-cost solution with enhanced I/O capabilities
ProASIC3LProASIC3 FPGAs supporting 1.2 V to 1.5 V with Flash*Freeze technology
RT ProASIC3Radiation-tolerant RT3PE600L and RT3PE3000L
Military ProASIC3/ELMilitary temperature A3PE600L, A3P1000, and A3PE3000L
Automotive ProASIC3ProASIC3 FPGAs qualified for automotive applications
FusionFusionMixed signal FPGA integrating ProASIC3 FPGA fabric, programmable analog block, support for ARM CortexTM-M1 soft processors, and flash memory into a monolithic device

Note: *The device names link to the appropriate datasheet, including product brief, DC and switching characteristics, and packaging information.

IGLOO Terminology

In documentation, the terms IGLOO series and IGLOO devices refer to all of the IGLOO devices as listed in Table 4-1. Where the information applies to only one product line or limited devices, these exclusions will be explicitly stated.

ProASIC3 Terminology

In documentation, the terms ProASIC3 series and ProASIC3 devices refer to all of the ProASIC3 devices as listed in Table 4-1. Where the information applies to only one product line or limited devices, these exclusions will be explicitly stated.

To further understand the differences between the IGLOO and ProASIC3 devices, refer to the Industry's Lowest Power FPGAs Portfolio.

Global Buffers with No Programmable Delays

Global/quadrant networks can be accessed directly from global I/O buffers, bypassing CCCs (dotted lines in Figure 4-1). Internal signals use the global/quadrant networks via the routed clock input of the multiplexer tree. Specific CLKBUF macros support various single-ended I/O inputs and differential I/O standards (CLKBUF_LVDS/LVPECL) for direct connection to global/quadrant networks. Nano devices do not support differential inputs. For internal signals, the CLKINT macro connects to the network's MUX tree routed clock input. CLKBUF, CLKBUF_LVPECL/LVDS, and CLKINT macros are used for direct connection (Figure 4-2). CLKBUF and CLKBUF_LVPECL/LVDS macros are composite, including an I/O macro driving a global buffer with hardwired connection. CLKINT provides a global buffer driven internally by the FPGA core. CLKBUF macros are detailed in the Macro Library Guide.

Figure 4-2: CCC Options: Global Buffers with No Programmable Delay. Diagram shows clock sources (PAD, DE, PADN, PADP) connected to macros (CLKBUF, CLKBIBUF, CLKINT) and outputting to global networks (GLA, GLB, GLC).

Global Buffer with Programmable Delay

Clocks needing adjustment can use programmable delay cores before connecting to global/quadrant networks. Up to 18 CCC global buffers per device can be instantiated (three per CCC, six CCCs per device). Each CCC has a programmable delay element for each global network (up to three). Users utilize these features via corresponding macros (Figure 4-3).

Figure 4-3: CCC Options: Global Buffers with Programmable Delay. Diagram shows clock sources connected to INBUF* macros, then to DLYGL[4:0] and outputting to GLA or GLB or GLC.

The CLKDLY macro delays clock inputs using a programmable delay element, providing phase shift. It can be driven by an INBUF* macro for a composite macro with hardwired connection. Many INBUF macros support various I/O standards. The CLKDLY macro can be driven directly from the FPGA core or via routed I/O using the PLLINT macro. SmartGen tool allows visual configuration of delay and input source selection, automatically instantiating PLLINT when needed.

CLKDLY Macro Signal Descriptions

The CLKDLY macro has one input (CLK) and one output (GL).

SignalNameI/ODescription
CLKReference Clock InputInputReference clock input for PLL core; input clock for primary output clock, GLA
GLGlobal OutputOutputOutput Primary output clock to respective global/quadrant clock networks

CLKDLY Macro Usage

When CLKDLY is used in a CCC, programmable delay elements connect clocks to the global network. The PLL can be bypassed in CCCs with PLLs, using only the programmable delay. CCCs without PLLs also use CLKDLY for programmable delay. Delay elements are the same for PLL and CLKDLY. CCCs with PLLs can use programmable delay elements (Type 2) for global networks A, B, C, bypassing the PLL. CCCs without PLLs contain only programmable delay blocks (Type 2).

Global Buffers with PLL Function

Clocks requiring frequency synthesis or adjustments can use the PLL core before connecting to global/quadrant networks. Up to 18 CCC global buffers can be instantiated per device. Each PLL core generates up to three global/quadrant clocks; a clock delay element provides one. The PLL macro supports this functionality (Figure 4-4).

Figure 4-4: CCC Options: Global Buffers with PLL. Diagram shows clock sources connected to INBUF* macros, then to PLL Macro with various inputs (CLKA, POWERDOWN, etc.) and outputs (GLA, LOCK, GLB, YB, etc.).

The PLL macro generates five derived clocks (three independent) from a single reference clock, plus power-down input and lock output. Configuration settings are managed via SmartGen. Figure 4-6 illustrates clock output options and delay elements.

PLL Macro Signal Descriptions

The PLL macro supports two inputs (CLKA, EXTFB, POWERDOWN) and up to six outputs (GLA, GLB, YB, GLC, YC, LOCK).

SignalNameI/ODescription
CLKAReference ClockInputReference clock input for PLL core; input clock for primary output clock, GLA
OADIVRSTReset Signal for the Output Divider AInputFor Fusion only. Resets output of final clock divider to synchronize with input when PLL is bypassed. Active on low to high transition. If PLL core is used, this signal is "don't care".
OADIVHALFOutput A Division by HalfInputFor Fusion only. Active high. Division by half feature, used when bypassing PLL core and RC Oscillator drives CLKA. Divides RC oscillator by 1.5, 2.5, etc.
EXTFBExternal FeedbackInputAllows external signal to be compared to reference clock in PLL core's phase detector.
POWERDOWNPower DownInputActive low input that selects power-down mode and disables the PLL.
GLAPrimary OutputOutputPrimary output clock to respective global/quadrant clock networks
GLBSecondary 1 OutputOutputSecondary 1 output clock to respective global/quadrant clock networks
YBCore 1 OutputOutputCore 1 output clock to local routing network
GLCSecondary 2 OutputOutputSecondary 2 output clock to respective global/quadrant clock networks
YCCore 2 OutputOutputCore 2 output clock to local routing network
LOCKPLL Lock IndicatorOutputActive high signal indicating steady-state lock achieved.

Input Clock

PLL reference clock inputs (CLKA) can come from global input pins, regular I/O pins, or internally from the core. Fusion families can also use embedded RC or crystal oscillators.

Global Output Clocks

GLA (Primary), GLB (Secondary 1), and GLC (Secondary 2) are outputs of Global Multiplexers 1, 2, and 3, driving high-speed global/quadrant networks. Each global multiplexer block includes input routing, output multiplexer, and delay elements.

Core Output Clocks

YB and YC are Core Outputs, driving internal logic without using global network resources, useful for conserving globals. They are identical to GLB and GLC, respectively, but with higher selectable final output delay. SmartGen configures these outputs and can enable them with or without Global Output Clocks.

PLL Macro Block Diagram

The PLL supports three distinct output frequencies from one input clock. GLB and GLC can route to B and C global networks or device core (YB, YC). Five delay elements support phase control on all five outputs. Feedback loop delays advance the clock relative to the reference. PLL reference clock can be driven by INBUF* macro (hardwired connection to global I/O), directly from FPGA core, or via routed I/O using PLLINT macro. During power-up, PLL outputs toggle around VCO frequency (40 MHz to 250 MHz) until CLKA is constant. POWERDOWN signal can prevent this. SmartGen derives internal divider ratios based on user-specified frequencies.

Figure 4-5: CLKA and EXTFB Assigned to Global I/Os. Diagram shows assignment of CLKA and EXTFB to global pins (GxA0, GxB1) for ProASIC3E devices.

SmartGen allows selection of delay and phase shift values for reference clock (CLKA) and derived clocks (GLA, GLB, GLC, YB, YC). It also selects input clock source and automatically instantiates PLLINT when needed.

Figure 4-6: CCC with PLL Block. Diagram illustrates PLL core, phase selectors, programmable delays (Type 1 and Type 2), and outputs to global networks and core.

Global Input Selections

Low power flash devices offer three global input pad locations to connect to CCCs or global/quadrant networks. Figures 4-7 and 4-8 show global input structures for 30 k gate devices and below, and 60 k gate devices and above, respectively. For 60 k+ devices, single-ended I/O standards allow choosing one of three global input pads; others act as regular I/Os. Differential I/O standards pair inputs. Internal clock signals can also feed the global network or CCCs. A multiplexer tree selects the input. Global I/O pads can also be regular I/Os.

Figure 4-7: Clock Input Sources (30 k gates devices and below). Diagram shows dedicated I/O pads connected to global networks or routed clock inputs.
Figure 4-8: Clock Input Sources Including CLKBUF, CLKBUF_LVDS/LVPECL, and CLKINT (60 k gates devices and above). Diagram shows global input pins (GAA0-GAA2) connected to MUXes for CCC inputs and routed clock inputs.

Each global buffer and PLL reference clock can be driven by: 3 dedicated single-ended I/Os, 2 dedicated differential I/Os (not for nano devices), or the FPGA core. I/O types supported for globals vary by device size: LVDS sources on 250 k+ gate devices (nano devices do not support differential inputs). 60 k/125 k gate devices support single-ended sources only. 15 k/30 k gate devices support inputs for CCC only and lack PLLs. Nano devices: 10 k, 15 k, 20 k support CLKBUF and CLKINT only (no PLLs). 60 k, 125 k, 250 k support one PLL in the middle left CCC; corner CCCs support CLKBUF, CLKINT, CLKDLY. Fusion devices (AFS600, AFS1500) support all I/O standards; AFS090/AFS250 support single-ended and differential.

Clock Sources for PLL and CLKDLY Macros

Input reference clocks (CLKA for PLL, CLK for CLKDLY) access CCCs via multiplexer trees. Sources include: Hardwired I/O, External I/O, Core Logic, RC Oscillator (Fusion only), Crystal Oscillator (Fusion only). SmartGen macro builder is recommended for creating PLL and CLKDLY macros.

Hardwired I/O Clock Source

Hardwired I/Os are global input pins directly connected to the multiplexer tree accessing CCC global buffers. They have designated locations (Gmn). This provides less delay. Figure 4-9 illustrates connections for 60 k+ gate devices, showing CLKBUF/CLKDLY inputs at nine global pin locations. For PLL macros, clock input connects only to GmA0, GmA1, or GmA2.

Figure 4-9: Illustration of Hardwired I/O (global input pins) Usage for IGLOO and ProASIC3 devices 60 k Gates and Larger. Diagram shows global input pins (Gmn0-Gmn2) connected to MUXes for PLL/CLKDLY macros.
Figure 4-10: Illustration of Hardwired I/O (global input pins) Usage for IGLOO and ProASIC3 devices 30 k Gates and Smaller. Diagram shows dedicated I/O pads connected to global networks or routed clock inputs.

External I/O Clock Source

External I/Os (regular I/O pins) access CCCs via internal routing using INBUF options. Assign input to any IOuxwByVz location. Figure 4-11 briefly explains external I/O usage. This option offers flexibility but requires additional file metadata.

Models: IGLOO FPGA, IGLOO FPGA Fabric Module, FPGA Fabric Module, Fabric Module

File Info : application/pdf, 354 Pages, 21.94MB

PDF preview unavailable. Download the PDF instead.

igloo ug

References

Related Documents

Preview Microsemi Flash Programming Frequently Asked Questions
A comprehensive guide addressing frequently asked questions about Microsemi's flash programming technologies, including ProASIC, IGLOO, Fusion, and SmartFusion families. Covers programming methods, software, hardware, and device-specific queries.
Preview Microsemi FlashPro Software and Hardware Installation Guide
Comprehensive installation guide for Microsemi FlashPro software and hardware, covering system requirements, USB and parallel port driver installation, and troubleshooting for various Microsemi programmers.
Preview Microsemi FlashPro Express v11.5 User's Guide - FPGA Programming Tool Documentation
Comprehensive user's guide for Microsemi FlashPro Express v11.5. Covers software installation, interface navigation, secure job programming, chain programming, Tcl commands, electrical specifications, and troubleshooting for Microsemi's FPGA programming solutions.
Preview ProASIC3/E Starter Kit User's Guide - Microsemi
This user guide provides essential information for evaluating Microsemi SoC Products Group ProASIC3/E devices. It covers hardware components, setup, testing procedures, and product support.
Preview Microsemi FPGA and SoC Product Catalog
A comprehensive catalog of Microsemi's FPGA and SoC products, highlighting features, specifications, and applications for various industries including defense, automotive, industrial, and consumer markets.
Preview Microsemi LX7720 Daughter Board User Manual: Motor Control & FPGA Integration
Comprehensive user manual for the Microsemi LX7720 Daughter Board, detailing its motor control capabilities, FPGA/MCU integration, and setup for development kits.
Preview Libero IDE Quick Start Guide for Software v9.0
A comprehensive guide to using the Microsemi Libero Integrated Design Environment (IDE) for FPGA development. This tutorial covers creating a new project, designing with counters and PLLs, synthesizing the design, implementing it with Designer, performing simulations, and generating programming files. It is suitable for engineers new to Microsemi SoC or Libero IDE.
Preview SmartFusion2 SoC FPGA SRAM Initialization Guide: eNVM and Libero SoC v11.7
This application note from Microsemi details methods for initializing Static Random Access Memory (SRAM) in SmartFusion2 SoC FPGAs using embedded Non-Volatile Memory (eNVM). It covers initialization via Cortex-M3 processor or fabric master logic, providing design examples and implementation guidance for Libero SoC v11.7.