2.2.4.2 μSRAM Configurator

The μSRAM configurator is available in the Libero SoC software under Memory & Controllers. Figure   1 shows μSRAM available in the Libero SoC software. The RAM configurator automatically cascades μSRAM blocks to create wider and deeper memories by selecting the most efficient aspect ratio. It also handles the grounding of unused bits. The core configurator supports the generation of memories that have same write/read depth and width. The configurator uses one or more memory blocks to generate a RAM matching the configuration. In addition, it also creates the surrounding cascading logic.

The configurator cascades RAM blocks in three different methods:
  • Cascaded deep. For example, two blocks of 64 x 12 combined to create a 128 x 12.
  • Cascaded wide. For example, two blocks of 64 x 12 combined to create a 64 x 24.
  • Cascaded wide and deep. For example, four blocks of 64 x 12 combined to create a 128 x 24, in two blocks width-wise by two blocks depth-wise configuration.

Write operations are synchronous for setting up the address and writing the data. The memory write operations are triggered at the rising edge of the clock.

Read operations for setting up the address and reading the data can be either asynchronous or synchronous. An optional pipeline register is available for the read-address to improve the setup. An optional pipeline register is available at the read data to improve the clock-to-output delay. Disabling both the address and read data registers creates the asynchronous mode for read operations. For synchronous read operations, the memory read operations are triggered at the rising edge of the clock.

Figure 2-29. µSRAM Configurator: Generated Component
Table 2-17. μSRAM Configurator Signals
PortDirectionPolarityDescription
CLKInputRising edgeSingle clock signal that drives both ports with the same clock. Applicable only when Single clock is selected.
BLK_ENInputActive highRead port enable
R_ADDR[5:0]InputRead address
R_ADDR_ENInputActive highRead address register enable
R_ADDR_SRST_NInputActive lowRead address register synchronous reset
R_ADDR_ARST_NInputActive lowRead address register asynchronous reset
R_CLKInputRising edgeRead clock. Applicable only when independent clocks are selected.
R_DATA[11:0]OutputRead data
R_DATA_ENInputActive highRead data register enable
R_DATA_SRST_NInputActive lowRead data register synchronous reset
R_DATA_ARST_NInputActive lowRead data register asynchronous reset
W_ADDR[5:0]InputWrite address
W_CLKInputRising edgeWrite clock. Applicable only when independent clocks are selected.
W_ENInputActive lowWrite enable
W_DATA[11:0]InputWrite data
ACCESS_BUSYOutputActive highBusy signal from SmartDebug

This section also describes the μSRAM configuration and defines how the signals are connected.

The μSRAM configurator window has three tabs for settings:

  • Parameter settings
  • Port settings
  • Memory Initialization settings