Return to previous page Advance to next page
Libraries Guide
Chapter 9: Design Elements (PULLDOWN to ROM32X1)

RAM16X1

16-Deep by 1-Wide Static RAM

XC3000
XC4000E
XC4000X
XC5200
XC9000
Spartan
SpartanXL
Spartan2
Virtex
N/A
Primitive
Primitive
N/A
N/A
N/A
N/A
N/A
N/A

RAM16X1 is a 16-word by 1-bit static read-write random access memory. When the write enable (WE) is High, the data on the data input (D) is loaded into the word selected by the 4-bit address (A3 - A0). The data output (O) reflects the selected (addressed) word, whether WE is High or Low. When WE is Low, the RAM content is unaffected by address or input data transitions. Address inputs must be stable before the High-to-Low WE transition for predictable performance.

You can initialize RAM16X1 during configuration. See “Specifying Initial Contents of a RAM” in this section.

Mode selection is shown in the following truth table.

Inputs
Outputs
WE(mode)
D
O
0(read)
X
Data
1(write)
D
Data
Data = word addressed by bits A3 - A0

Specifying Initial Contents of a RAM

You can use the INIT attribute to specify an initial value directly on the symbol only if the RAM is 1 bit wide and 16 or 32 bits deep. The value must be a hexadecimal number, for example, INIT=ABAC.

If the INIT attribute is not specified, the RAM is initialized with zero.