17.5.3.3 HIF Address to SDRAM Address Mapping

The address mapper maps HIF word addresses to SDRAM addresses by selecting the HIF address bit that maps to each and every applicable SDRAM address bit. While it is possible to map HIF address bits to an SDRAM address in any desired manner, the full available address space is accessible only when no two SDRAM address bits are determined by the same HIF address bit. Each SDRAM address bit has an associated register vector to determine its source.

Registers ADDRMAPx (x = 0 to 11) are used to program the address mapper. For more information on ADDRMAP registers, see Register Descriptions.

The HIF address bit number is determined by adding the internal base of the ADDRMAPx (x = 0 to 11) register to the programmed value for that register, as described in the following equation:

HIF address bit number = [internal base] + [register value]

For example, for ADDRMAP3.addrmap_col_b7, the internal base is 7. When full data bus is in use, column bit 7 is determined by the following equation:

7 + [register value]

If this register is programmed to 2, the HIF address bit can be calculated by using following equation:

[HIF address bit number] = 7 + 2 = 9

In other words, the column address bit 7 sent to SDRAM would always be equal to hif_cmd_addr[9] of the corresponding HIF source address.

Note:
  1. All of the column bits shift up 1 bit when only half of the data bus is in use. In this case, you need to look at ADDRMAP3.addrmap_col_b6 instead to determine the value of column address bit 7.
  2. All of the column bits shift up 2 bits when only a quarter of the data bus is in use. In this case, you need to look at ADDRMAP2.addrmap_col_b5 instead to determine the value of column address bit 7.
  3. The addressing for column bits is independent of hardware configuration. The column bits do not shift up by an additional 1 bit.
  4. The register ADDRMAP5.addrmap_row_b2_10 can map multiple HIF address bits (if the value set is lesser than 15). If set to 15, then ADDRMAP9, ADDRMAP10, and ADDRMAP11 registers are used, which provide individual mapping for the HIF address bits (rows 2 to 10).
  5. For any address bits which cannot be in use in all cases, all bits of the associated address map register must be set to 1 when the associated SDRAM address bit is not in use.

The system address to physical address mapping can be done by choosing any one of the possible combinations from the following figure. It explains the different possible ways to map the HIF address bits to the SDRAM rank/bank/bank group/row/column address.

Figure 17-3. System Address to Physical Address Mapping