
ProASIC3/E Flash Family FPGAs
v2.1
2-23
SRAM and FIFO3
ProASIC3
devices
(A3P250,
A3P400,
A3P600,
and
A3P1000) have embedded SRAM blocks along the north
and south sides of the devices; A3P060 and A3P125
devices have embedded SRAM blocks on the north side
only. The A3P030 does not include SRAM or FIFO. To
meet the needs of high-performance designs, the
memory blocks operate strictly in synchronous mode for
both read and write operations. The read and write
clocks are completely independent, and each may
operate at any desired frequency less than or equal to
350 MHz.
4k×1, 2k×2, 1k×4, 512×9 (dual-port RAM—2 read,
2 write or 1 read, 1 write)
512×9, 256×18 (2-port RAM—1 read and 1 write)
Sync write, sync pipelined / nonpipelined read
The ProASIC3 memory block includes dedicated FIFO
control logic to generate internal addresses and external
flag
logic
(FULL,
EMPTY,
AFULL,
AEMPTY).
Block
diagrams of the memory modules are illustrated in
Simultaneous
dual-port
read/write
and
write/write
operations at the same address are allowed when certain
timing requirements are met.
During RAM operation, addresses are sourced by the
user logic and the FIFO controller is ignored. In FIFO
mode, the internal addresses are generated by the FIFO
controller and routed to the RAM array by internal
information about the implementation of the embedded
FIFO controller.
The ProASIC3 architecture enables the read and write
sizes of RAMs to be organized independently, allowing
for bus conversion. For example, the write side size can
be set to 256×18 and the read size to 512×9.
Both the write width and read width for the RAM blocks
can be specified independently with the WW (write
width) and RW (read width) pins. The different D×W
configurations are: 256×18, 512×9, 1k×4, 2k×2, and 4k×1.
Refer to the allowable RW and WW values supported for
When widths of one, two, or four are selected, the ninth
bit is unused. For example, when writing nine-bit values
and reading four-bit values, only the first four bits and
the second four bits of each nine-bit value are
addressable for read operations. The ninth bit is not
accessible.
Conversely, when writing four-bit values and reading
nine-bit values, the ninth bit of a read operation will be
undefined. The RAM blocks employ little-endian byte
order for read and write operations.
3. The A3P030 device does not support SRAM or FIFO.