2.9.3 Configuring the LPDDR3 Subsystem

The PF_LPDDR3 macro located in the Libero IP catalog must be instantiated in SmartDesign to access the LPDDR3 memory from the FPGA fabric. The following figure shows the LPDDR3 configurator that configures the LPDDR3 subsystem. It supports the following modes:

  • Preset configuration—allows selection from a list of memory vendors and devices to preset all of the memory initialization and timing parameters into the DDR Configurator, as shown in Figure 2-56.
    Important: For LPDDR3, preset configuration is supported for 1333 at 666.666 MHz (minimum tCK ≥ 1.5 ns).
    Figure 2-56. LPDDR3 Configurator—Preset Configuration
  • User configuration—allows manual configuration of all memory initialization and timing parameters. This can be saved as a preset configuration, as shown in Figure 2-56. See the DDR vendor datasheets before configuring DDR parameters.
The LPDDR3 Configurator provides the following options.

General

The following figure shows the General tab.
Figure 2-57. LPDDR3 General Tab

As shown in the preceding figure, the General tab provides the following options.

  • Top
    • Protocol: By default, this is set to LPDDR3.
    • Generate PHY only: Enable this option to create a PHY-only LPDDR3 subsystem.
  • Clock: To set the LPDDR3 memory clock frequency and user logic clock rate. The user clock frequency is automatically populated.
    • Memory Clock Frequency (MHz): Valid range is 400–667 MHz
    • CCC PLL Clock Multiplier: Valid range 1 to 49
    • CCC PLL Reference Clock Frequency (MHz): Depends on the setting of CCC PLL Clock Multiplier.
    • User Logic Clock Rate: QUAD
    • User Clock Frequency: 166.5 MHz
    • CK/CA additive offset: The value must be within 0–7. The default value is 4.
  • Topology: To set the topology of the memory system, including the address bits, bank configurations, DM modes, and ECC.
    • Memory Format: COMPONENT
    • DQ Width: Select any one of the following options:
      • 16
      • 32
    • SDRAM Number of Ranks: 1
    • DQ/DQS group size: 8
    • Row Address width: The value must be within [14, 15] range
    • Column Address Width: The value must be within [10, 12] range
    • Bank Address width: 3
    • Enable DM: Select any one of the following options:
      • OFF
      • DM
    • Number of clock outputs: 1

Memory Initialization

The following figure shows the Memory Initialization tab.
Figure 2-58. LPDDR3 Memory Initialization Tab

As shown in the preceding figure, the Memory Initialization tab provides the following options.

  • Mode Register 2
    • Data Latency (#RL, #WL): Select any one of the following options:
      • (6, 3)
      • (8, 4)
      • (9, 5)
      • (10, 6)
      • (11, 6)
      • (12, 6)
    By Default, (10, 6) is selected.
  • Mode Register 3
    • Output Drive Strength: Select any one of the following options:
      • 34.3 typical pull-down/pull-up
      • 40 typical pull-down/pull-up
      • 48 typical pull-down/pull-up
      • 34.3 typical pull-down, 40 typical pull-up
      • 40 typical pull-down, 48 typical pull-up
      • 34.3 typical pull-down, 48 typical pull-up
  • Mode Register 11
    • DQ ODT: Select any one of the following options:
      • Disable
      • RZQ/4
      • RZQ/2
      • RZQ/1
    • Power down ODT: Disabled or Enabled

Memory Timing

The following figure shows the Memory Timing tab.
Figure 2-59. LPDDR3 Memory Timing Tab
As shown in the preceding figure, the Memory Timing tab provides the following options.
  • Timing parameters dependents on speed bin
    • tRAS (ns): Preset values for different configurations according to the JEDEC standard are supported. See the speed bin and its corresponding value in the vendor datasheet.
    • tRCD (ns): Preset values for different configurations according to the JEDEC standard are supported. See the speed bin and its corresponding value in the vendor datasheet.
    • tRP (ns): Preset values for different configurations according to the JEDEC standard are supported. See the speed bin and its corresponding value in the vendor datasheet.
    • tRC (ns): Preset values for different configurations according to the JEDEC standard are supported. See the speed bin and its corresponding value in the vendor datasheet.
    • tWR (ns): Preset values for different configurations according to the JEDEC standard are supported. See the speed bin and its corresponding value in the vendor datasheet.
    • tRP (ns): Preset values for different configurations according to the JEDEC standard are supported. See the speed bin and its corresponding value in the vendor datasheet.
    • tFAW(ns): Preset values for different configurations according to the JEDEC standard are supported. See the speed bin and its corresponding value in the vendor datasheet.
    • tMRR (cycles): Preset values for different configurations according to the JEDEC standard are supported. See the speed bin and its corresponding value in the vendor datasheet.
    • tMRW (cycles): Preset values for different configurations according to the JEDEC standard are supported. See the speed bin and its corresponding value in the vendor datasheet.
  • Timing parameters dependents on speed bin and clock frequency
    • tWTR (cycles): Preset values for different configurations according to the JEDEC standard are supported. See the speed bin and its corresponding value in the vendor datasheet.
    • tRRD (ns): Preset values for different configurations according to the JEDEC standard are supported. See the speed bin and its corresponding value in the vendor datasheet.
    • tRTP (ns): Preset values for different configurations according to the JEDEC standard are supported. See the speed bin and its corresponding value in the vendor datasheet.
  • Timing parameters dependents on operating condition
    • tREFI (us): Preset values for different configurations according to the JEDEC standard are supported. See the speed bin and its corresponding value in the vendor datasheet.
  • Timing parameters dependents on speed bin and page size
    • tRFC (ns): Preset values for different configurations according to the JEDEC standard are supported. See the speed bin and its corresponding value in the vendor datasheet.
  • Others Timing parameters
    • tZQinit (us): By default, 1 is selected. The value must be within [1, 6] range.
    • ZQ Calibration Type: Select Short or Long. By default, Short is selected.
    • tZQCS (ns): By default, 90 is selected. The value must be within 2047.
    • tZQCL (ns): This value is fixed to 360.
    • tZQRESET (ns): By default, 50 is selected. The value must be within 2047.
    • Enable User ZQ Calibration Controls: Select this check box for using user-defined ZQ Calibration Controls
    • Automatic ZQ Calibration Period (us): By default, 200 µs is selected. For every 200 µs, ZQ calibration is triggered based on the ZQCL or ZQCS cycles selected.
      Important:
      • By default, preset configuration is selected. Preset values for different configurations according to the JEDEC standard are supported. See the speed bin and its corresponding value in the vendor datasheet.

Controller

The following figure shows the Controller tab.
Figure 2-60. LPDDR3 Controller Tab

As shown in the preceding figure, the Controller tab provides the following options.

  • Instance Select: Enables the option to select of the LPDDR3 subsystem instance number that is used to unify the controller instance. PolarFire family supports a maximum of six LPDDR3 subsystem instances.
    • Instance Number:
  • User Interface
    • Fabric Interface: Options are AMBA AXI3/4 and native interface. The following table lists the supported AXI bus data widths with respect to the DQ widths.
    • Table 2-30. Supported AXI Bus Data Width
      DQ WidthSupported AXI Data Bus Width
      x1664, 128
      x3264, 128, 256
      x64512
      Data Bus Turnaround—provides additional bus turnaround time between different SDRAM ranks. The turnaround time is the number of clock cycles it takes to change the access from one rank to another rank for back-to-back memory accesses (read to read, read to write, write to write, and write to read). The AXI interface address is mapped based on the type of the Address Ordering selected in the PF_LPDDR3 configurator. For example, if Chip-Row-Bank-Col is selected, and if a row address width and column address width is configured for 13 and 11, the AXI address is mapped as shown in the following table.
    • Table 2-31. AXI Address Mapping
      AXI Address313029282726252423222120191817161514131211109876543210
      Column AddressC10C9C8C7C6C5C4C3C2C1C0
      Bank AddressBA2BA1BA0
      Row AddressR12R11R10R9R8R7R6R5R4R3R2R1R0
      Important: The address mapping shown in the preceding table is applicable to Native interface also.
    • AXI Width: 64, 128, or 256
    • AXI ID Width: Valid range is 1–8
  • Efficiency: Provides control over memory refresh, precharge, and address ordering options.
    • Enable Activate/Precharge look-head: Check box toggle option
    • Enable User Refresh Controls: Check box toggle option
    • Address Ordering: Any one of the following options is supported:
      • Chip-Bank-Row-Col
      • Chip-Row-Bank-Col
  • Misc
    • Enable RE-INIT Controls: When selected, the configurator exposes the CTRLR_INIT signal. The initialization begins when this signal is asserted high for minimum 4 clock cycles in the fabric clock domain.
  • ODT Activation Setting on Write: Provides options to enable ODT on write operations.
    • Enable Rank0 - ODT0: Supported
    • Enable Rank0 - ODT1: Not supported
    • Enable Rank1 - ODT0: Not supported
    • Enable Rank1 - ODT1: Not supported
  • Low Power
    • Enable self request refresh control: Use this option to save power.

Miscellaneous

The Misc. tab provides the following options.
Figure 2-61. LPDDR3 Simulation Tab

As shown in the preceding figure, the Misc. tab provides the following options.

  • Simulation Options
    • Simulation mode:
      • Fast (skip training and settling time): In this mode, the LPDDR3 subsystem skips the LPDDR3 training sequence and asserts CTRLR_READY without waiting for the settling time. CTRLR_READY is asserted within 8 μs.
      • Training (skip settling time): In this mode, the LPDDR3 subsystem performs the LPDDR3 training sequence but asserts CTRLR_READY without waiting for settling time. CTRLR_READY is asserted within 240 μs.
      • Full (training and settling time): In this mode, the LPDDR3 subsystem performs the LPDDR3 training sequence and also waits for settling time before asserting CTRLR_READY. In this mode, CTRLR_READY is asserted within 10 ms.
  • Throughput Options
    • Pipe Lining: Adds pipeline registers to Training IP (TIP) write and read data path to improve static timing closure.