One Enterprise, Aliso Viejo,
CA 92656 USA
Within the USA: +1 (800) 713-4113
Outside the USA: +1 (949) 380-6100
Sales: +1 (949) 380-6136
Fax: +1 (949) 215-4996
Email: sales.support@microsemi.com
Microsemi makes no warranty, representation, or guarantee regarding the information contained herein or the suitability of
its products and services for any particular purpose, nor does Microsemi assume any liability whatsoever arising out of the
application or use of any product or circuit. The products sold hereunder and any other products sold by Microsemi have
been subject to limited testing and should not be used in conjunction with mission-critical equipment or applications. Any
performance specifications are believed to be reliable but are not verified, and Buyer must conduct and complete all
performance and other testing of the products, alone and together with, or installed in, any end-products. Buyer shall not
rely on any data and performance specifications or parameters provided by Microsemi. It is the Buyer’s responsibility to
independently determine suitability of any products and to test and verify the same. The information provided by Microsemi
hereunder is provided “as is, where is” and with all faults, and the entire risk associated with such information is entirely
with the Buyer. Microsemi does not grant, explicitly or implicitly, to any party any patent rights, licenses, or any other IP
rights, whether with regard to such information itself or anything described by such information. Information provided in this
document is proprietary to Microsemi, and Microsemi reserves the right to make any changes to the information in this
document or to any products and services at any time without notice.
About Microsemi
Microsemi, a wholly owned subsidiary of Microchip Technology Inc. (Nasdaq: MCHP), offers a comprehensive portfolio of
semiconductor and system solutions for aerospace & defense, communications, data center and industrial markets.
Products include high-performance and radiation-hardened analog mixed-signal integrated circuits, FPGAs, SoCs and
ASICs; power management products; timing and synchronization devices and precise time solutions, setting the world's
standard for time; voice processing devices; RF solutions; discrete components; enterprise storage and communication
solutions, security technologies and scalable anti-tamper products; Ethernet solutions; Power-over-Ethernet ICs and
midspans; as well as custom design capabilities and services. Learn more at www.microsemi.com.
Microsemi Proprietary and Confidential UG0445 User Guide Revision 7.0ix
Revision History
1Revision 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.
1.1Revision 7.0
The following is a summary of the changes in revision 7.0 of this document.
•Updated information about RADDR Synchronizer circuit. For more information see,Figure 14,
page 25 and Operating Modes, page 23.
•Updated Table 64, page 97. For more information see, Receiver ODT Configuration, page 95.
•Updated recommendation for A_BLK[1:0],B_BLK [1:0],and C_BLK signals. For more information
see, A_BLK[1:0], B_BLK [1:0], and C_BLK [1:0], page 42.
•Updated Synchronous Read Mode, page 44. For more information, see Operating Modes, page 44.
1.2Revision 6.0
The following is a summary of the changes in revision 6.0 of this document.
•Updated SSO Guidelines to Simultaneous Switching Noise. For more information, see Simultaneous
Switching Noise, page 81.
•Added a table to provide the status of the V
information, see Table 59, page 89.
pin when assigned to P-side of the pair. For more
REF
1.3Revision 5.0
The following is a summary of the changes in revision 5.0 of this document.
•Added 060 device information.
•Updated Figure 2, page 5. For more information, see Fabric Architecture, page 3.
•Updated Logic Element, page 5. For more information, see Fabric Architecture, page 3.
•Added note to Two-Port Mode, page 21. For more information, see LSRAM, page 13.
•Updated A_DOUT[17:0] and B_DOUT[17:0], page 18 with the unconnected information. For more
information, see LSRAM, page 13.
•Updated Table 7, page 16. For more information, see LSRAM, page 13.
•Updated Table 44, page 62. For more information, see Math Blocks, page 56.
•Added Input Reference Voltage, page 88. For more information, see I/Os, page 77.
•Added 3.3 V Input Tolerance in 2.5 V MSIOD/DDRIO Banks, page 104. For more information, see
I/Os, page 77.
•Added Simultaneous Switching Noise, page 81. For more information, see I/Os, page 77.
•Updated table note Table 64, page 97. For more information, see I/Os, page 77.
1.4Revision 4.0
The following is a summary of the changes in revision 4.0 of this document.
•Updated Supported I/O Standards, page 87. For more information, see I/Os, page 77.
•Updated I/O Programmable Features, page 90 with ODT, Driver impedance, and other features. For
more information, see I/Os, page 77.
•Updated Figure 47, page 80 for DDRIO. For more information, see I/Os, page 77.
•Added Internal Clamp Diode, page 102. For more information, see I/Os, page 77.
1.5Revision 3.0
The following is a summary of the changes in revision 3.0 of this document.
•Merged the SmartFusion2 SoC and IGLOO2 FPGA Fabric user guide.
•Removed all instances of and references to M2GL100 device from Table 1, page 4 and Table 3,
page 12. For more information, see Fabric Architecture, page 3.
Microsemi Proprietary and Confidential UG0445 User Guide Revision 7.01
Revision History
•Removed all instances of and references to M2GL100 device from Table 4, page 13 and Table 3,
•Removed all instances of and references to M2GL100 device from Table 24, page 37. For more
•Removed all instances of and references to M2GL100 device from Table 42, page 56. For more
•Updated Table 18, page 29. For more information, see LSRAM, page 13.
•Updated Micro SRAM (µSRAM), page 37.
•Updated Math Blocks, page 56.
•Updated Introduction, page 77 and Functional Description, page 77. For more information, see I/Os,
•Updated Figure 46, page 78. For more information, see I/Os, page 77.
•Updated Table 57, page 87 and Table 60, page 91. For more information, see I/Os, page 77.
•Updated Programmable Slew-Rate Control, page 91 and Table 63, page 94. For more information,
•Updated Receiver ODT Configuration, page 95. For more information, see I/Os, page 77.
•Updated 5 V Input Tolerance and Output Driving Compatibility (only MSIO), page 105. For more
•Updated I/O Banks, page 81. For more information, see I/Os, page 77.
•Updated the Receive Buffer, page 79 for DDR support in low power devices. For more information,
•Added the Sub-LVDS, page 90. For more information, see I/Os, page 77.
•Added Solution 3, page 106 for 5 V input tolerance section. For more information, see I/Os, page 77.
page 12. For more information, see LSRAM, page 13.
information, see Micro SRAM (µSRAM), page 37.
information, see Math Blocks, page 56.
page 77.
see I/Os, page 77.
information, see I/Os, page 77.
see I/Os, page 77.
1.6Revision 2.0
The following is a summary of the changes in revision 2.0 of this document.
•Updated Introduction, page 3, Architecture Overview, page 5, and Table 3, page 12. For more
information, see Fabric Architecture, page 3.
•Updated Figure 36, page 57 and Coding Style Examples, page 72. For more information, see Math
Blocks, page 56.
•Updated Introduction, page 77, I/O Banks, page 81, Low-Power Signature Mode and Activity Mode,
page 103, Table 60, page 91, and Table 75, page 108. For more information, see I/Os, page 77.
1.7Revision 1.0
The following is a summary of the changes in revision 1.0 of this document.
•Updated Figure 46, page 78, Figure 51, page 91, Figure 52, page 92. For more information, see
I/Os, page 77.
•Updated B-LVDS/M-LVDS, page 90. For more information, see I/Os, page 77.
•Updated 5 V Input Tolerance and Output Driving Compatibility (only MSIO), page 105. For more
information, see I/Os, page 77.
•Updated SerDes I/O Pins, page 111. For more information, see I/Os, page 77.
1.8Revision 0.0
Revision 0.0 was the first publication of this document.
Microsemi Proprietary and Confidential UG0445 User Guide Revision 7.02
Fabric Architecture
2Fabric Architecture
2.1Introduction
SmartFusion®2 SoC FPGA and IGLOO2 FPGA fabric comprises an array of logic blocks and embedded
hard blocks such as large static random access memory (LSRAM), micro SRAM (µSRAM), and math
blocks for digital signal processing (DSP) capability. These elements are arranged as several rows inside
the fabric, interconnected by the clustered routing architecture of the SmartFusion2 and IGLOO2 device.
Each element in the fabric has a distinct logical coordinate value assigned to it. Figure 1, page 4 shows
the simple layout of the SmartFusion2 and IGLOO2 fabric architecture.
Three types of resources constitute the major part of the fabric logic blocks:
•Logic elements
•Interface logic elements
•I/O modules
The logic element is the basic element used for implementing the combinatorial circuits, arithmetic
functions, and sequential circuits inside the fabric. Each logic module consists of a 4-input LUT, a D-flipflop, and a dedicated carry chain.
The interface logic is the logic element that interfaces the embedded hard blocks to the fabric routing.
The interface logic enables the accessibility of the embedded hard block through the fabric routing. The
interface logic is structurally similar to the logic element except that it does not contain the dedicated
carry chain. The interface logic can also be used to implement the combinatorial and sequential circuits,
if the associated embedded hard block is not being used by the design.
The I/O module forms the digital part of the fabric user I/Os, also called as multi-standard inputs/outputs
(MSIOs). The I/O module enables the user I/Os to be connected to the fabric routing.
The SmartFusion2 and IGLOO2 fabric use a clustered routing architecture to interconnect the various
elements of the fabric. In clustered architecture, various logic elements are grouped together to form the
clusters. The SmartFusion2 and IGLOO2 fabric has three types of clusters:
•Logic clusters
•Interface clusters
•I/O clusters
The logic cluster is composed of 12 logic elements; the interface cluster is composed of 12 interface logic
elements. I/O clusters are composed of 3 to 4 I/O modules, which are distributed on four sides of the
device, as shown in the following figurer (north, south, east, and west I/O clusters).
Microsemi Proprietary and Confidential UG0445 User Guide Revision 7.03
Fabric Architecture
North I/O Clusters
East I/O Clusters
One Logic Element
Chip
Layout
Fabric Layout
One Logic Cluster
South I/O Clusters
West I/O Clusters
Logic Clusters
Mathblocks
LSRAM
uSRAM
CCC(x2)
Interface Clusters
Logic Element
Logic Cluster
Logic Cluster
Lo
Logic Cluster
Lo
Logic
gic Cluster
Logic Element
Logic Element
Logic Element
Logic Element
Logic Element
Logic Element
Logic Element
Logic Element
Logic Element
Logic Element
Logic Element
Figure 1 • SmartFusion2/IGLOO2 Fabric Architecture for M2S050/M2GL050
2.2Fabric Resources
The following tables list the fabric resources available on SmartFusion2 and IGLOO2 devices.
Table 1 • Fabric Resources for SmartFusion2 Devices
The following sections of this chapter describe the SmartFusion2 and IGLOO2 fabric architecture in
detail.
•Logic Element
•Interface Logic Element
•I/O Module
•FPGA Routing Architecture
2.3.1Logic Element
The logic elements can be used as a combinational logic element (CLE), and/or sequential logic element
(SLE) in the design. Each logic element consists of:
•A 4-input LUT
•A dedicated carry chain based on the carry look-ahead technique
•A separate flip-flop which can be used independently from the LUT
The following illustration shows the functional block diagram of the logic element with carry chain.
Figure 2 • Functional Block Diagram of Logic Element
Microsemi Proprietary and Confidential UG0445 User Guide Revision 7.05
Fabric Architecture
The 4-input LUT can be configured to implement any 4-input combinatorial function or to implement an
arithmetic function, where the LUT output is XORed with carry input (Cin) to generate the sum (S) output.
The sum output, S, is typically used as an output for arithmetic functions but can also be used as an
output for logical functions along with the other output, Y, when the LUT is used to implement
combinatorial functions.
Each logic element has a dedicated 3-bit look-ahead carry implementation, which is used to implement a
dedicated carry chain between the logic elements when the LUT is used to implement arithmetic
operations.
The carry chain has hardwired routing nets running between the logic elements, which reduces the carry
propagation delay through the carry chain, thus giving better performance. The logic element also
contains a dedicated flip-flop, which can be used in conjunction with or independently from the LUT. The
flip-flop can be configured as a register or latch. It has asynchronous and synchronous load and clock
enable inputs. Asynchronous load signal (ALDATA) can be used as asynchronous set or reset signal of
each fabric D flip-flops. It sets or resets the register depending on configuration. Synchronous load signal
(SLDATA) can be used as synchronous set or reset signal of each fabric D flip-flop. It sets or resets the
register depending on configuration. The data input of the flip-flop can be fed from the direct input (D1) or
from the outputs of the 4-input LUT inside the logic element.
2.3.2Interface Logic Element
Embedded hard blocks (LSRAM blocks, µSRAM blocks, and math blocks) contain a dedicated interface
logic. The embedded hard blocks are connected to the fabric routing structure through LUTs and
flip-flops on their inputs and outputs, and these together form the interface logic element.
Each embedded hard block is associated with 36 interface logic elements. This interface logic element is
structurally equivalent to a logic element but does not have a dedicated carry chain. When a given
embedded hard block is used by the target design, the interface logic is used to connect the embedded
hard block’s I/Os to the fabric routing. If an embedded hard block is not used by the design, the interface
logic element is available for use as a normal logic elements for implementing combinatorial and
sequential circuits. These are in addition to the logic elements available in the fabric.
2.3.3I/O Module
The I/O module includes the I/O digital (IOD) circuitry and the associated routing interface. Each user I/O
pad is connected to its own dedicated I/O module. The I/O module interfaces the user I/Os with the fabric
routing and enables the routing of external signals coming in through the I/Os to reach all the logic
elements. The I/O modules also enable the internal signals to reach the I/Os.
The following illustration shows the functional diagram of the complete MSIO with the IOD and I/O analog
(IOA) sections. The IOD consists of the input registers, output registers, output enable registers, and
routing multiplexers (MUXes). The output register provides the registered version of the output signals to
the I/Os. In the same way, the input registers are used to register the inputs received from the I/Os. The
output enable acts as a control signal for the output, if the I/O is configured as a tristated or bidirectional
I/O. These registers in the I/O modules are similar to the D-flip-flops available in the logic element. The
usage of the output registers in the I/O modules for registering the output signals at I/Os enables better
design performance. Also, in the case of a signal bus, these registers ensure that all the bits of the signal
bus are synchronized to the clock signal when being sent out through the I/Os. At the input side, the input
registers allow capturing the input signals and synchronizing them to the design clock.
Microsemi Proprietary and Confidential UG0445 User Guide Revision 7.06
Fabric Architecture
Figure 3 • Functional Block Diagram of MSIO
Output data
OCLK
Output enable
Output data
Output enable
non-registered
input data
registered input data
I/O Module (IOD)
ICLK
outreg
outreg
outreg
outreg
inreg
DO_P
OE_P
DO_N
OE_N
DI_P
RX
RX
Weak pull-up/pull-down
resistor control
Differential
ODT
01
PAD_P
PAD_N
V
REF
IOA
TX
ODT
0
1
0
1
TX
ODT
non-registered
input data
registered input data
DI_N
inreg
2.3.4FPGA Routing Architecture
The SmartFusion2 and IGLOO2 fabric has a clustered routing architecture. Clustering is a hierarchical
grouping of fabric resources that allows a more area-efficient implementation of designs while
maintaining optimal performance. It also helps in reducing the run-time of the place-and-route software.
The SmartFusion2 and IGLOO2 fabric routing architecture is composed of three types of clusters:
•Logic Cluster
•Interface Cluster
•I/O Cluster
2.3.4.1Logic Cluster
The logic cluster is a combination of 12 logic elements with a dedicated hardwired carry chain
implemented for all 12 logic elements. The logic clusters contain routing MUXes. Each routed signal is
driven by a unique logic element output or routing MUX. All the logic elements are interconnected with
feedback from outputs to inputs. The intra-routing inside the logic clusters has a very low propagation
delay as compared to the routing outside the logic clusters.
DIFF_IN
DIFF_OUT
Microsemi Proprietary and Confidential UG0445 User Guide Revision 7.07
Fabric Architecture
Logic Elements
Cluster Carry IN
Cluster Carry Out
Intra-cluster
Routing
Buffers
Dedicated Carry Chain
Interface Cluster
Routing
Interface Cluster
Embedded Hard Blocks-LSRAMs, µSRAMs, Mathblocks, CCCs
3 Clusters Wide
Interface
Logic
LUT+ FF
Routing
Interface
Logic
LUT+ FF
12 Interface Logic 12 Interface Logic
Each LUT, D-flip-flop, and the carry-circuit in the logic cluster have an individual X-Y logical coordinate
assigned, and this makes them independently addressable. The following illustration shows the top-level
logic cluster layout diagram.
Figure 4 • Logic Cluster Top-Level Layout
2.3.4.2Interface Cluster
The interface cluster is similar to the logic cluster except that it is a combination of 12 interface logic
elements. These clusters are used to interface the inputs and outputs of the embedded hard blocks
(LSRAM, µSRAM, math blocks, and CCCs) to fabric routing. Each embedded hard block is spanned by 3
interface clusters, as shown in the following figure. The interface logic can be used as a logic elements
(without carry chain) when the associated embedded hard block is not used by the design.
Figure 5 • Interface Cluster
2.3.4.3I/O Cluster
I/O clusters are combinations of I/O modules and the associated routing interfaces. The north and south
I/O clusters each contain four I/O modules. The east and west I/O clusters, each contain three I/O
modules. Each I/O pad is associated with its own dedicated I/O module.
2.3.4.4Routing Structure
The routing of any design is completed automatically by the software, thus, the utilization of the routing
resources is completely transparent to the user. The selection among various routing resources by the
placement-and-routing software is impacted by the design constraints provided. See SmartFusion2 and
IGLOO2 SmartTime, I/O Editor and ChipPlanner User Guide for more details on how to use the
constraints using Libero SoC software.
Microsemi Proprietary and Confidential UG0445 User Guide Revision 7.08
Fabric Architecture
Knowledge of the routing architecture and functional modules can be useful in providing effective design
constraints to the software, so that it can be guided to do an optimal design implementation on the
SmartFusion2 and IGLOO2 fabric.
In the SmartFusion2 and IGLOO2 device, the fabric routing is segregated into two parts:
•Inter-cluster routing
•Intra-cluster routing
The following illustration shows the fabric routing structure for the SmartFusion2 and IGLOO2 device.
Figure 6 • Fabric Routing Structure
From Other
Clusters
Inter-Cluster Routing
To Other
Clusters
Cluster
From Adjacent
To Adjacent
To Other
Clusters
Clusters
Clusters
From Other
Clusters
Intra-Cluster Routing (3 Levels of Routing Muxes)
Logic Elements
Output MUXes
Inter-Cluster Routing
Inter-cluster routing spans the clusters and connects them together. The inter-cluster routing resource is
common to all the clusters inside the fabric and is universal across the clusters.
Intra-cluster routing spans the modules that constitute a cluster. Intra-cluster routing is not unique and
varies from cluster to cluster, depending upon the functionality of the cluster. For example, the intracluster routing for an interface cluster is different from that of a logic cluster. There are differences in the
routing of the various interface clusters, depending upon the embedded hard block to which they
interface.
Inter-cluster routing and intra-cluster routing are completely separate. Inter-cluster routing never drives
the inputs of the functional modules (logic elements, interface logic elements, or I/O modules) directly
and the outputs of the functional modules do not drive the inter-cluster routing directly. Inter-cluster
routing has to pass through the intra-cluster routing to reach the functional modules. That makes
SmartFusion2 and IGLOO2 routing a fully clustered routing architecture.
The global network can also drive intra-cluster routing through special routing MUXes. These global
routing MUXes bring in flip-flop control signals such as clock, enable, and sets/resets.
There are a few short routing lines between the adjacent clusters and between the inter-cluster and intracluster routing MUXes. These short paths are provided to provide better performance to the signals
routed through these lines.
Microsemi Proprietary and Confidential UG0445 User Guide Revision 7.09
Fabric Architecture
2.4Fabric Array Coordinate System
Every element in the SmartFusion2 and IGLOO2 fabric has individual logical X-Y coordinates associated
with the fabric array coordinate system. These logical coordinates are used by the place-and-route
software while implementing the design using the fabric elements. The place-and-route software can be
constrained to occupy the design components in specific locations inside the fabric using this coordinate
system. Regions can be created inside the fabric and a particular part of the design can be assigned to
that region using the Libero SoC floor-planner software.
The boundaries of these regions can be specified using the array coordinates. Similarly, the embedded
hard block is also addressable through the fabric coordinate system.
The array coordinates are measured from the bottom-left corner to the top-right corner of the FPGA
fabric. Table 3, page 12 provides the array coordinates of logical modules and embedded hard blocks of
SmartFusion2 and IGLOO2 devices. Figure 7, page 10, Figure 8, page 11, and Figure 9, page 11 show
the array coordinates of an M2S050/M2GL050, M2S060/M2GL060, M2S025/M2GL025, and
M2S010/M2GL010 devices. For more information on how to use array coordinates for region/placement
constraints, see Libero SoC User Guide or online help (available in the software) for SmartFusion2 and
IGLOO2 Libero SoC tools.
Figure 7 • M2S050/M2GL050 and M2S060/M2GL060 Fabric Logical Coordinates
(0,206)
LSRAM (36,194)
(887,206)
(851,194)
Mathblocks (0,158)
uSRAM (0,146)
LSRAM (0,134)
Mathblocks (0,95)
uSRAM (0,83)
Mathblocks (0,59)
uSRAM (0,47)
LSRAM (36,11)
(0,0)
(887,158)
(887,146)
(887,134)
(887,95)
(887,83)
(887,59)
(887,47)
(887,11)
(887,0)
Microsemi Proprietary and Confidential UG0445 User Guide Revision 7.010
Microsemi Proprietary and Confidential UG0445 User Guide Revision 7.012
LSRAM
3LSRAM
3.1Introduction
The SmartFusion2 and IGLOO2 fabric has embedded 18 Kbit SRAM blocks used for storing data. These
large SRAM blocks (LSRAMs) are arranged in multiple rows within the FPGA fabric and can be
accessed through the fabric routing architecture. The number of LSRAM blocks available depends upon
the specific SmartFusion2 and IGLOO2 device, as shown in the following table. For example, in the
M2S050 or M2GL050 device, there are 69 LSRAM blocks available, which are spread across three rows
inside the fabric.
3.1.1Features
The SmartFusion2 and IGLOO2 LSRAM blocks have the following features:
•Each LSRAM block can store up to 18,432 bits of data and can be configured in any of the following
depth x width combinations: 512 x 36, 512 x 32, 1k x 18, 1k x 16, 2k x 9, 2k x 8, 4k x 4, 8k x 2, or
16k x 1.
•Each LSRAM block contains two independent data ports—Port A and Port B.
•The LSRAM is synchronous for both read and write operations. These operations are triggered on
the rising edge of the clock.
•Supports maximum frequency up to 400 MHz.
•An optional pipeline register is available at the read data port to improve the clock-to-out delay.
•LSRAM supports two types of read operations:
•Flow-through read (or non-pipelined)
•Pipelined read
•LSRAM supports two types of write operations:
•Simple write
•Feed-through write (write-bypass write)
•LSRAM can be operated in two memory modes:
•Dual-port mode
•Two-port mode
•A write operation requires one clock cycle.
•A read operation requires one clock cycle in Non-pipelined mode. In Pipelined mode, the output data
appears in the next cycle.
•Read from both ports at the same location is allowed.
•Read and write on the same location at the same time is not allowed. There is no built in collision
prevention or detection circuit in LSRAM.
3.2LSRAM Resources
The following table lists LSRAM rows and 18K blocks available in SmartFusion2 and IGLOO2 devices.
Microsemi Proprietary and Confidential UG0445 User Guide Revision 7.013
M2S010/
M2GL010
M2S025/
M2GL025
M2S050/
M2GL050
M2S060/
M2GL060
M2S090/
M2GL090
M2S150/
M2GL150
LSRAM
3.3Functional Description
This section provides the detailed description of the following:
•Architecture Overview
•Port List
•Port Descriptions
Architecture Overview
SmartFusion2 and IGLOO2 LSRAM embedded memory includes the RAM1Kx18 macro. The following
illustration shows a simplified block diagram of the LSRAM memory block and Table 5, page 15 provides
the port descriptions. The following illustration shows two independent data ports, the pipeline registers
for read data delay, and the feed-through multiplexers to enable immediate access to the write data.
Figure 10 • Simplified Functional Block Diagram for LSRAM
A_ DIN[17 : 0 ]
A_ADDR[13:0 ]
A_WEN[1:0]
A_BLK[2 :0]
A_CLK
B_A DDR[ 13 : 0 ]
B_WEN[ 1: 0]
`
B_BLK[ 2:0 ]
B_C LK
B_ DIN[ 17:0 ]
Port A Row Decode
Write Control
Memory
Array
1K x 18
Port B Row Decode
Write Control
A_ARST_N
Column
Decode
Column
Dec ode
B_A RST_N
A_WMODE
Feed-through MUX
A
_DOUT_CLK
B_WMODE
B_ DOUT_CLK
A_DOUT[17 :0 ]
A_DOUT_LAT
B_DOUT[ 17 : 0]
B_DOUT_LAT
Pipeline Register
Microsemi Proprietary and Confidential UG0445 User Guide Revision 7.014
LSRAM
3.3.1Port List
Table 5 • Port List for LSRAM Macro (RAM1KX18)
Port NameDirectionType
PORT A
A_WIDTH[2:0]InputStaticPort A Width/depth mode select
A_WEN[1:0]2InputDynamicHighPort A Write enable
A_ADDR[13:0]InputDynamicPort A Address input
A_DIN[17:0]InputDynamicPort A Data input
A_DOUT[17:0]OutputDynamicPort A Data output
A_BLK[2:0]InputDynamicHighPort A Block select
A_WMODEInputStaticHighPort A Feed-through write select
A_CLKInputDynamicRisingPort A Clock
A_ARST_NInputDynamicLowPort A Asynchronous reset
A_DOUT_CLKInputDynamicRisingPort A Pipeline register clock
A_DOUT_LATInputStaticLowPort A Pipeline register Select
A_DOUT_ARST_NInputDynamicLowPort A Pipeline register asynchronous reset
A_DOUT_ENInputDynamicHighPort A Pipeline register enable
A_DOUT_SRST_NInputDynamicLowPort A Pipeline register synchronous reset
PORT B
B_WIDTH[2:0]InputStaticPort B Width/depth mode select
B_WEN[1:0]
B_ADDR[13:0]InputDynamicPort B Address input
B_DIN[17:0]InputDynamicPort B Data input
B_DOUT[17:0]OutputDynamicPort B Data output
B_BLK[2:0]InputDynamicHighPort B Block select
B_WMODEInputStaticHighPort B Feed-through write select
B_CLKInputDynamicRisingPort B Clock
B_ARST_NInputDynamicLowPort B Asynchronous reset
B_DOUT_CLKInputDynamicRisingPort B Pipeline register clock
B_DOUT_LATInputStaticLowPort B Pipeline register select
B_DOUT_ARST_NInputDynamicLowPort B Pipeline register asynchronous reset
B_DOUT_ENInputDynamicHighPort B Pipeline register enable
B_DOUT_SRST_NInputDynamicLowPort B Pipeline register synchronous reset
Common Signals
A_ENInputStaticLowPort A power-down
B_ENInput StaticLowPort B power-down
SII_LOCKInputStaticHighLock access to SII
BUSYOutputDynamicHighBusy signal from SII
2
InputDynamicHighPort B Write enable
1
PolarityDescription
1.Static inputs are defined at design time and can be or are controlled by flash configuration bits.
Microsemi Proprietary and Confidential UG0445 User Guide Revision 7.015
LSRAM
2.If LSRAM is configured in two-port mode with a write data width of x36/x32 and read data width of x36/x32, both the
bits of A_WEN and B_WEN must be tied to logic 1 and should not be dynamically changed.
3.3.2Port Descriptions
3.3.2.1A_WIDTH[2:0] and B_WIDTH[2:0]
These signals represent the depth x width mode selections for each port. The following table shows the
depth x width based on ports width selection.
Table 6 • Depth/Width Mode Selection
A_WIDTH/B_WIDTHDepth/Width
00016K x 1
0018K x 2
0104k x 4
0112K x 9
2K x 8
1001K x 18
1K x 16
101
110
111
(Two-port)
512 x 36
512 x 32
3.3.2.2A_WEN[1:0] and B_WEN[1:0]
These signals represent the write enables for each port to select read/write operations. The following
table shows the depth x width operations based on port write enable selection.
Table 7 • Read/Write Operation Selection
Depth x WidthA_WEN/B_WENOperation
16K x 1
8K x 2
4K x 4
2K x 8
2K x 9
1K x 16
1K x 18
16K x 1
8K x 2
4K x 4
2K x 8
2K x 9
1K x 16
1K x 18
512 x 32
(Two-port write-Port B)
512 x 36
(Two-port write-Port B)
1, 2
00Read
operation
1Write
operation
A_WEN[1:0] = “11”
B_WEN[1:0] = “11”
B_WEN[1:0] = “11”
A_WEN[1:0] = “11”
Write [31:0]
Write [35:0]
1.In dual-port mode, every port reads when the corresponding write
enable (A_WEN/B_WEN) is "00" and corresponding port select
(A_BLK/B_BLK) is active.
Microsemi Proprietary and Confidential UG0445 User Guide Revision 7.016
LSRAM
2.In two-port mode, the read port (Port A) reads in every clock cycle if
A_BLK is active.
3.3.2.3A_ADDR[13:0] and B_ADDR[13:0]
These signals represent the address buses for the two ports. In x1 mode 14 bits are used to address the
16,384 independent locations. In wider modes (x2, x4, etc.) fewer address bits are used. The used
address bits are the most significant bits (MSB). The unused bits are the least significant bits (LSBs) and
they must be grounded. The following table shows the address bus used and unused bits for depth x
width selections.
Table 8 • Address Bus Used and Unused Bits
A_ADDR/B_ADDR
Depth x Width
16K x 1[13:0]None
8K x 2[13:1][0]
4K x 4[13:2][1:0]
2K x 9
2K x 8
1K x 18
1K x 16
512 x 36[13:5][4:0]
Used BitsUnused bits (to be grounded)
[13:3][2:0]
[13:4][3:0]
3.3.2.4A_DIN[17:0] and B_DIN[17:0]
These signals represent the data input buses for the two ports. In dual-port mode, the data width can
range from 1 bit to 18 bits. In two-port mode, Port B becomes the write-only port. Giving a write data
width of 36 bits, A_DIN[17:0] becomes write data[35:18] and B_DIN[17:0] becomes write data[17:0]. The
used bits for any mode are LSB justified in the data bus and the unused MSB bits must be grounded. The
following table shows the data input buses used and unused bits for depth x width selections.
Table 9 • Data Input Buses Used and Unused Bits
Depth x WidthA_DIN/B_DIN
Used BitsUnused bits (to be grounded)
16K x 1[0][17:1]
8K x 2[1:0][17:2]
4K x 4[3:0][17:4]
2K x 8[7:0][17:8]
2K x 9[8:0][17:9]
1K x 16[16:9] is [15:8]
[7:0] is [7:0]
1K x 18[17:0]None
512 x 32A_DIN[16:9] is [31:24]
A_DIN[7:0] is [23:16]
B_DIN[16:9] is [15:8]
B_DIN[7:0] is [7:0]
[17]
[8]
A_DIN[17]
A_DIN[8]
B_DIN[17]
B_DIN[8]
512 x 36A_DIN[17:0] is [35:18]
B_DIN[17:0] is [17:0]
Microsemi Proprietary and Confidential UG0445 User Guide Revision 7.017
None
LSRAM
3.3.2.5A_DOUT[17:0] and B_DOUT[17:0]
These signals represent the data output buses for the two ports. In dual-port mode, the data width can
range from 1 bit to 18 bits. In two-port mode, Port A becomes the read-only port. Giving a read data width
of 36 bits, A_DOUT[17:0] becomes read data[35:18] and B_DOUT[17:0] becomes read data[17:0]. The
used bits for any mode are LSB justified in the data bus and the unused MSB bits must be unconnected.
The following table shows the data output buses used and unused bits for depth x width selections.
Table 10 • Data Output Buses Used and Unused Bits
A_DOUT/B_DOUT
Depth x Width
16K x 1[0][17:1]
8K x 2[1:0][17:2]
4K x 4[3:0][17:4]
2K x 8[7:0][17:8]
2K x 9[8:0][17:9]
1K x 16[16:9] is [15:8]
1K x 18[17:0]None
512 x 32A_DOUT[16:9] is [31:24]
512 x 36A_DOUT[17:0] is [35:18]
Used BitsUnused bits (unconnected)
[7:0] is [7:0]
A_DOUT[7:0] is [23:16]
B_DOUT[16:9] is [15:8]
B_DOUT[7:0] is [7:0]
B_DOUT[17:0] is [17:0]
[17]
[8]
A_DOUT[17]
A_DOUT[8]
B_DOUT[17]
B_DOUT[8]
None
3.3.2.6A_BLK[2:0] and B_BLK[2:0]
These signals represent the port select control signals for each port. The following table shows
operations (Read, Write, and No operation) based on selection of port select control signals.
Table 11 • Port Select Control Signals
Port Select SignalValueResult
A_BLK[2:0]111Perform read or write operation on Port A.
A_BLK[2:0]000
001
010
011
100
101
110
B_BLK[2:0]111Perform read or write operation on Port B.
B_BLK[2:0]000
001
010
011
100
101
110
No operation in memory from Port A. Port A output is forced to logic 0.
No operation in memory from Port B. Port B output is forced to logic 0.
Microsemi Proprietary and Confidential UG0445 User Guide Revision 7.018
LSRAM
3.3.2.7A_WMODE and B_WMODE
These signals represent the Write mode control signals for Port A and Port B.
•Logic 0: Output data port holds the previous value.
•Logic 1: Feed-through; write data appears on the corresponding output data port. In two-port mode,
feed-through write is not supported.
3.3.2.8A_CLK and B_CLK
These signals represent the clock inputs for Port A and Port B. All inputs must be set up before the rising
edge of the clock. The read or write operation begins with the rising edge.
3.3.2.9A_ARST_N and B_ARST_N
These signals represent Active Low, asynchronous reset inputs for Port A and Port B. Assertion of these
resets during read operation forces the data output lines to logic 0. Assertion of these resets during write
operation results in garbage values written into the memory.
3.3.2.10A_DOUT_ARST_N and B_DOUT_ARST_N
These signals represent Active Low, asynchronous reset inputs for the output pipeline registers for Port A
and Port B. Assertion of these reset signals forces the data output to logic 0. In Non-pipelined mode,
these inputs should be tied to logic 1.
3.3.2.11A_DOUT_LAT and B_DOUT_LAT
These signals represent Latch mode inputs for the output pipeline registers for Port A and Port B.
•Logic 0: Register operation
•Logic 1: Latch operation
3.3.2.12A_DOUT_EN and B_DOUT_EN
These signals represent Active High; enable inputs for the output pipeline registers for Port A and Port B.
•Logic 1: Normal register operation
•Logic 0: Register holds previous data
3.3.2.13A_DOUT_SRST_N and B_DOUT_SRST_N
These signals represent Active Low, synchronous reset inputs for the output pipeline registers for Port A
and Port B. Assertion of these reset signals forces the data output to logic 0. In Non-pipelined mode,
these inputs should be tied to logic 1.
3.3.2.14A_EN and B_EN
These are Active Low, power-down configuration bits for each port.
3.3.2.15SII_LOCK
This control signal, when asserted to logic 1, locks the entire LSRAM memory for being accessed by the
system controller interface bus (SII). The system controller can access the LSRAM for the following
purposes:
•Testing the memory
•Moving data between LSRAM and embedded nonvolatile memory (eNVM) or external memories
•Moving data between various LSRAMs or between µSRAMs and LSRAMs
•LSRAMs cannot be accessed when the system controller is accessing them
3.3.2.16BUSY
This signal acts as a Status signal when the system controller is accessing the particular LSRAM. Logic
1 on this signal indicates system controller access. This signal can be used to monitor the completion of
LSRAM access.
Microsemi Proprietary and Confidential UG0445 User Guide Revision 7.019
LSRAM
3.4Memory Modes
LSRAM can be configured as a dual-port SRAM or two-port SRAM.
3.4.1Dual-Port Mode
LSRAM configured as dual-port SRAM provides a data storage capability of 18 Kbits with two
independent access ports: Port A and Port B, as shown in the following illustration. Read and write
operations can be done from both the ports independently at any location as long as there is no collision.
In dual-port mode, the maximum data width can be x18 for either port. In dual-port mode, each port of the
LSRAM can be configured in the following depth x width configurations:
•1k x 18, 1k x 16
•2k x 9, 2k x 8
•4k x 4
•8k x 2
•16k x 1
The following illustration shows the data path for the dual-port SRAM (DPSRAM).
Figure 11 • Data Path for Dual-Port Mode
PORT A
A_DINB_DIN
18
18
PORT B
DATA In ADATA In B
Port A
Signals
DATA Out ADATA Out B
Pipeline
Register A
1818
Data can be written to either or both ports and also can be read from either or both ports. Each port has
its own address, data in, data out, clock, block select, and write enable. The read and write operations
are synchronous and require a clock edge.
There is no collision detection or prevention circuit built into LSRAM. Simultaneous write operations from
both the ports to the same address location result in data uncertainty. Simultaneous read and write
operations from both the ports to the same address location results in correct data written into the
memory but garbage values being read out.
Pipeline
Register B
B_DOUTA_DOUT
Port B
Signals
The read operation requires one clock cycle in Non-pipelined mode. In Pipelined mode, the output data
appears in the next cycle. The write operation requires one clock cycle.
Microsemi Proprietary and Confidential UG0445 User Guide Revision 7.020
LSRAM
When the read operation is configured with output pipeline registers, the input clock sourcing the pipeline
registers has to be synchronized to the LSRAM's clock input; that is, A_DOUT_CLK should be
synchronized to A_CLK and B_DOUT_CLK should be synchronized to B_CLK.
The following table describes the data width configurations that are supported by LSRAM configured in
dual-port mode.
Table 12 • Data Width Configurations for LSRAM in Dual-Port Mode
Port A Data Width (represented
as “x number of bits”)Port B Data Width (represented as “x number of bits”)
x1x1, x2, x4, x8, x16
x2x1, x2, x4, x8, x16
x4x1, x2, x4, x8, x16
x8x1, x2, x4, x8, x16
x16x1, x2, x4, x8, x16
x9x9, x18
x18x9, x18
3.4.2Two-Port Mode
LSRAM configured as two-port SRAM provides a data storage capability of 18 Kbits, with Port A
dedicated to read operations and Port B dedicated to write operations, as shown in the following figure.
In two-port mode, the maximum data width for the read port (Port A) and the write port (Port B) is x36.
Figure 12 • Data Path for Two-Port Mode
PORT A
Port A
Signals
PORT B
A_DINB_DIN
18
DATA In ADATA In B
DATA Out ADATA Out B
Pipeline
Register A
1818
18
Pipeline
Register B
B_DOUTA_DOUT
Port B
Signals
Microsemi Proprietary and Confidential UG0445 User Guide Revision 7.021
Loading...
+ 94 hidden pages
You need points to download manuals.
1 point = 1 manual.
You can buy points or you can get point for every manual you upload.