5.2 μSRAM Macro

The μSRAM macro (RAM64x12) in Libero SoC can be used directly to instantiate μSRAM in the design. μSRAM must be configured correctly with appropriate values provided to the static signals before instantiating in the design. Instantiating μSRAM primitives in a design is not recommended. For the recommended methods of instantiating memory into a user design, see μSRAM Memory Macro. The following figure shows the μSRAM macro (RAM64x12) available in the Libero SoC macro library.

Figure 5-2. RAM64x12 Macro

The following table lists the ports of RAM64x12.

Table 5-10. Port List for RAM64x12
Pin NameDirectionType1PolarityDescription
W_ENInputDynamicActive highWrite port enable
W_CLKInputDynamicRising edgeWrite clock. All write-address, write-data, and write-enable inputs must be set up before the rising edge of the clock. The write operation begins with the rising edge.
W_ADDR[5:0]InputDynamicWrite address
W_DATA[11:0]InputDynamicWrite-data
BLK_ENInputDynamicActive highRead port block select. When High, a read operation is performed. When Low, read-data is forced to zero. BLK_EN signal is registered through R_CLK when R_ADDR_BYPASS is Low.
R_CLKInputDynamicRising edgeRead registers clock. All read-address, block-port select, and read-enable inputs must be set up before the rising edge of the clock. The read operation begins with the rising edge.
R_ADDR[]InputDynamicRead-address
R_ADDR_BYPASSInputStaticActive highRead-address and BLK_EN register bypassed when high
R_ADDR_ENInputDynamicActive highRead-address register enable
R_ADDR_SL_NInputDynamicActive lowRead-address register synchronous load
R_ADDR_SDInputStaticActive highRead-address register synchronous load data
R_ADDR_AL_NInputDynamicActive lowRead-address register asynchronous load
R_ADDR_AD_NInputStaticActive lowRead-address register asynchronous load data
R_DATA[]OutputDynamicRead-data
R_DATA_BYPASSInputStaticActive highRead-data pipeline register bypassed when high
R_DATA_ENInputDynamicActive highRead-data pipeline register enable
R_DATA_SL_NInputDynamicActive lowRead-data pipeline register synchronous load
R_DATA_SDInputStaticActive highRead-data pipeline register synchronous load data
R_DATA_AL_NInputDynamicActive lowRead-data pipeline register asynchronous load
R_DATA_AD_NInputStaticActive lowRead-data pipeline register asynchronous load data
BUSY_FBInputStaticActive highLock access to SmartDebug
ACCESS_BUSYOutputDynamicActive highBusy signal from SmartDebug
Note: (1) Static inputs are defined at design time and need to be tied to 0 or 1.