Cascade User Attributes

Versal ACAP Memory Resources Architecture Manual (AM007)

Document ID
AM007
Release Date
2020-11-24
Revision
1.1 English
  • CASCADE_ORDER_A/B determines the UltraRAM block cascade order for control and data.
    • NONE (Default) – UltraRAM is not in cascade mode.
    • FIRST – UltraRAM is the first instance in a cascade chain in each column of the chain.
    • MIDDLE – UltraRAM is a the middle instance in a cascade chain.
    • LAST – UltraRAM is the last instance in a cascade chain in each column of the chain.

    For legal combinations of cascade order attributes, see Table 1.

  • SELF_MASK_A/B[25:15] determines the number of UltraRAM blocks in the cascade chain and therefore which of the ADDR_A/B[22:12] bits are used.
    • 11'h7ff (Default) – Not in cascade mode. ADDR_A/B[25:15] inputs are masked.
    • 11'h7fe – 2 UltraRAMs are cascaded. ADDR_A/B[25:16] inputs are masked.
    • 11'h7fc – 3-4 UltraRAMs are cascaded. ADDR_A/B[25:17] inputs are masked
    • 11'h7f8 – 5-8 UltraRAMs are cascaded. ADDR_A/B[25:18] inputs are masked.
    • 11'h7f0 – 9-16 UltraRAMs are cascaded. ADDR_A/B[25:19] inputs are masked.
    • 11'h7e0 – 17-32 UltraRAMs are cascaded. ADDR_A/B[25:20] inputs are masked.
    • 11'h7c0 – 31-64 UltraRAMs are cascaded. ADDR_A/B[25:21] inputs are masked.
    • 11'h780 – 65-128 UltraRAMs are cascaded. ADDR_A/B[25:22] inputs are masked.
    • 11'h700 – 129-256 UltraRAMs are cascaded. ADDR_A/B[25:23] inputs are masked.
    • 11'h600 – 257-512 UltraRAMs are cascaded. ADDR_A/B[25:24] inputs are masked.
    • 11'h400 – 513-1024 UltraRAMs are cascaded. ADDR_A/B[25] input is masked.
    • 11'h000 – 1025-2048 (1036) UltraRAMs are cascaded. None of the address inputs are masked.
  • SELF_ADDR_A/B[25:15]

    This attribute is used in cascade mode and must be set depending on which address bit in the UltraRAM cascade chain addresses the particular block to which it is attached. A particular UltraRAM block in the cascade chain is accessed when the self-address bit is set after masking with the address bits with the SELF_MASK_A/B attribute that matches the used ADDR_A/B address bits. The default is 11'h0 (see the following figure).

Figure 1. Cascade Chain Examples

Note: SELF_ADDR/SELF_MASK can be used even when CASCADE_ORDER_CTRL is set to NONE. This allows non-contiguous UltraRAMs to be cascaded using fabric logic if needed. Typically SELF_MASK | SELF_ADDR is unique for all the UltraRAMs in a cascade chain. This is a requirement for a read port to ensure the correct read data propagated to the exit point.