---------------------
; Table of Contents ;
---------------------
  1. About this file
  2. Outputs of IP generation
  3. Instantiating IP in a Quartus Prime project
  4. Early I/O timing analysis
  5. I/O assignments
  6. Pin locations
  7. Sharing core clocks between interfaces
  8. Sharing PLL reference clock pin between interfaces
  9. Global reset interface
 10. PLL reference clock input
 11. On-Chip Termination (OCT) interface
 12. Interface between FPGA and external memory
 13. PHY calibration status interface
 14. User clock domain reset interface
 15. User clock interface
 16. Reset interface for the core slave logic that interacts with the sequencer CPU
 17. Clock interface for the core slave logic that interacts with the sequencer CPU
 18. Controller Avalon Memory-Mapped interface 0
 19. Interface that allows the EMIF calibration processor to talk to its slave components
 20. Instantiating IP in a simulation project
 21. Full-calibration versus skip-calibration simulation
 22. IP Settings
 23. Configuring the Traffic Generator


------------------------
;   1. About this file ;
------------------------

   This is the readme file for the Intel External Memory Interface (EMIF) IP v19.1.
   
   The file provides a high-level overview of the IP. For details, refer to the
   handbook chapter on Arria 10 LPDDR3 External Memory Interface.
   
   This file was auto-generated.


---------------------------------
;   2. Outputs of IP generation ;
---------------------------------

   IP generation supports the following output filesets:
   
      Synthesis            - This is the fileset you should use when instantiating the IP in
                             your Quartus Prime project. RTL files in this fileset can be
                             simulated, but your simulator must support SystemVerilog.
                             Simulating the synthesis files yields identical results as
                             simulating the simulation files.
   
      Simulation           - This fileset contains scripts and source files to help you
                             integrate the IP into your simulation project targeting a
                             3rd-party simulator of your choice. If you select VHDL
                             during IP generation, the fileset contains IEEE-encrypted
                             Verilog files that can be used in VHDL-only simulators, such
                             as ModelSim - Intel FPGA edition. All source files in the simulation
                             filesets are functionally equivalent to the synthesis fileset.
   
      Example Design       - This fileset contains scripts to generate example Quartus Prime project
                             and simulation projects for 3rd-party simulators. An example
                             design contains an instantiation of the IP, a simple traffic
                             generator, and in the case of a simulation example design, a
                             simple memory model.


----------------------------------------------------
;   3. Instantiating IP in a Quartus Prime project ;
----------------------------------------------------

   If you instantiate the IP as part of a Platform Designer system, follow the Platform Designer
   documentation on how to instantiate the system in a Quartus Prime project.
   
   If the IP was generated as a standalone component, it is sufficient to add
   the generated .qip file from the synthesis fileset to your Quartus Prime project.
   The .qip file allows the Quartus Prime software to locate all the files of
   the IP, including RTL files, SDC files, hex files, and timing scripts. Once the
   .qip file is added, you can instantiate the memory interface in your RTL.


----------------------------------
;   4. Early I/O timing analysis ;
----------------------------------

   Early I/O timing analysis allows you to run I/O timing analysis without first
   running a Quartus Prime compilation. This is useful if you want to quickly evaluate
   whether the I/O interface between the FPGA and the external memory device has
   sufficient timing margin. The analysis takes into account the timing parameters
   of the memory device, the speed and topology of the memory interface, the board
   timing and ISI characteristics, and the timing of the selected FPGA device.
   
   To run early I/O timing analysis:
   
      1) Create a Quartus Prime project that instantiates the IP (or use the example design)
      2) Open the project in the Quartus Prime GUI
      3) Go to "Tools" -> "TimeQuest Timing Analyzer"
      4) Inside TimeQuest, Go to "Script" -> "Run Tcl Script..."
      5) Locate the *_report_io_timing.tcl script, and click "Open"


------------------------
;   5. I/O assignments ;
------------------------

   The generated .qip file in the synthesis fileset contains the I/O standard and input/output
   termination assignments required by the memory interface pins to function correctly.
   The values to the assignments are based on user inputs provided during generation.
   
   Unlike previous EMIF IP, there is no need to manually run a *_pin_assignments.tcl
   script to annotate the assignments into the project's .qsf file.
   Assignments in the .qip file are read and applied during every compilation, regardless
   of how you name the memory interface pins in your design top-level component. No new
   assignment is created in the project's .qsf file during the process.
   
   You should never edit the generated .qip file, because changes made to this file
   are overwritten when you regenerate the IP. To override an I/O assignment made in
   the .qip file, simply add an assignment to the project's .qsf file. Assignments in
   the .qsf file always take precedence over those in the .qip file. Note that I/O
   assignments in the .qsf file must specify the names of your top-level pins as
   target (i.e. -to), and you must not use the -entity and -library options.
   
   Consult the .qip file for the set of I/O assignments that come with the IP.


----------------------
;   6. Pin locations ;
----------------------

   The Arria 10 I/O subsystem is located in the I/O columns. The device has up to
   two I/O columns that can be used by memory interfaces. Each column consists of up
   to 12 I/O banks. Each bank consists of 4 I/O lanes. A lane is a group of 12 I/Os.
   A bank is a group of 48 I/Os.
   
   The pins of a memory interface must be placed within a single I/O column. A memory
   interface can occupy one or more banks. When multiple banks are needed, the banks must
   be consecutive.
   
   All address/command pins of a memory interface must be placed within a single bank.
   This bank is denoted as the "address/command" bank. While any physical bank within
   an I/O column can be used as an "address/command" bank, for a multi-bank memory
   interface, the "address/command" bank must be at the center of the interface.
   
   Address/command pins within the "address/command" bank must follow a fixed pinout
   scheme within the bank. Note that the pinout scheme used is dependent on the topology
   of the memory interface, and is a hardware requirement. An I/O lane unused in the
   "address/command" bank can be used to implement a data group (e.g. a x8 DQS group).
   
   A read data group must be placed based on the DQS/CQ/QK grouping in the pin table.
   Specifically, read data strobes/clocks must be placed at physical pins capable of
   functioning as DQS/CK/QK for a specific read data group size, and the associated
   data pins must be placed within the same group.
   A x8/x9 read data group occupies one lane; a x16/x18 read data group occupies either
   the top or bottom 2 lanes of a bank; a x36 read data group occupies all four lanes of
   a bank. For protocols/topologies where a write data group consists of multiple read data
   groups, the read data groups should be placed in the same bank to improve I/O timing.
   
   I/Os that are unused by memory interface pins can be used as general-purpose I/Os with
   compatible I/O standard and termination settings.
   
   The following shows one possible grouping of memory interface pins into logical banks. To
   implement the scheme in your Quartus Prime project, you need to:
   
      1) Decide which physical I/O banks the logical banks occupy.
      2) Add location assignments for the following pins:
            All read data strobes/clocks (e.g. DQS/CQ/DQ)
            One of the address/command pins
            PLL reference clock pins (unless using a shared PLL reference clock pin in another interface)
            RZQ pin
         The Quartus Prime Fitter automatically places the remaining pins.
   
   The current memory interface occupies 2 banks.
   
   Note that this is only an example and other possible schemes may exist. The example
   is functionally correct and legal, but is not necessarily optimal from the resource
   consumption, timing, and board routability perspective.
   
   Logical bank 1:
   ----------------------
   
      Lane index      Pin index       Port                  
      -------------------------------------------------------
      3               47              -
      .               46              -
      .               45              -
      .               44              -
      .               43              -
      .               42              -
      .               41              -
      .               40              -
      .               39              -
      .               38              -
      .               37              -
      .               36              -
      2               35              -
      .               34              -
      .               33              -
      .               32              -
      .               31              -
      .               30              -
      .               29              -
      .               28              -
      .               27              -
      .               26              -
      .               25              -
      .               24              -
      1               23              mem_dm[3]
      .               22              mem_dq[31]
      .               21              mem_dq[30]
      .               20              mem_dq[29]
      .               19              mem_dq[28]
      .               18              mem_dq[27]
      .               17              mem_dqs_n[3]
      .               16              mem_dqs[3]
      .               15              mem_dq[26]
      .               14              mem_dq[25]
      .               13              mem_dq[24]
      .               12              -
      0               11              mem_dm[2]
      .               10              mem_dq[23]
      .               9               mem_dq[22]
      .               8               mem_dq[21]
      .               7               mem_dq[20]
      .               6               mem_dq[19]
      .               5               mem_dqs_n[2]
      .               4               mem_dqs[2]
      .               3               mem_dq[18]
      .               2               mem_dq[17]
      .               1               mem_dq[16]
      .               0               -
   
   Logical bank 0 (address/command bank):
   --------------------------------------------
   
      Address/command pinout scheme  : LPDDR3 Scheme 1
      Number of address/command lanes: 2
   
      Lane index      Pin index       Port                  
      -------------------------------------------------------
      3               47              mem_dm[1]
      .               46              mem_dq[15]
      .               45              mem_dq[14]
      .               44              mem_dq[13]
      .               43              mem_dq[12]
      .               42              mem_dq[11]
      .               41              mem_dqs_n[1]
      .               40              mem_dqs[1]
      .               39              mem_dq[10]
      .               38              mem_dq[9]
      .               37              mem_dq[8]
      .               36              -
      2               35              mem_dm[0]
      .               34              mem_dq[7]
      .               33              mem_dq[6]
      .               32              mem_dq[5]
      .               31              mem_dq[4]
      .               30              mem_dq[3]
      .               29              mem_dqs_n[0]
      .               28              mem_dqs[0]
      .               27              mem_dq[2]
      .               26              mem_dq[1]
      .               25              mem_dq[0]
      .               24              pll_ref_clk (positive leg) - if needed
      1               23              -
      .               22              -
      .               21              mem_a[9]
      .               20              mem_a[8]
      .               19              mem_a[7]
      .               18              mem_a[6]
      .               17              mem_a[5]
      .               16              mem_a[4]
      .               15              mem_a[3]
      .               14              mem_a[2]
      .               13              mem_a[1]
      .               12              mem_a[0]
      0               11              -
      .               10              -
      .               9               mem_ck_n[0]
      .               8               mem_ck[0]
      .               7               -
      .               6               mem_cke[0]
      .               5               -
      .               4               mem_odt[0]
      .               3               -
      .               2               mem_cs_n[0]
      .               1               -
      .               0               -


-----------------------------------------------
;   7. Sharing core clocks between interfaces ;
-----------------------------------------------

   When a design contains multiple memory interfaces of the same protocol, rate,
   frequency, and PLL reference clock source, it is possible for these interfaces
   to share a common set of core clock signals. Core clocks sharing allows your
   logic to use a single clock domain to synchronously access all interfaces.
   The feature also reduces the number of core clock networks required.
   
   In order for multiple memory interfaces to share core clocks, one of the interfaces
   must be specified as "Master" using the "Core clocks sharing" setting during
   generation, and the remaining interfaces must be denoted as "Slave". There is no
   preference to which interface needs to be a master. In the RTL, connect the
   clks_sharing_master_out signal from the master interface to the clks_sharing_slave_in
   signal of all the slave interfaces. Note that both the master and slave interfaces
   expose their own output clock ports in the RTL (e.g. emif_usr_clk, afi_clk), but the
   physical signals are equivalent and so it does not matter whether a clock port from a
   master or a slave is used.
   
   Core clocks sharing necessitates PLL reference clock sharing. Therefore,
   only the master interface exposes an input port for the PLL reference clock. The
   same PLL reference clock signal is used by all the slave interfaces. See section
   on PLL reference clock sharing for additional requirements.
   
   The core clocks sharing mode of the current IP is "No Sharing"


-----------------------------------------------------------
;   8. Sharing PLL reference clock pin between interfaces ;
-----------------------------------------------------------

   To share a single PLL reference clock signal between multiple memory interfaces,
   simply connect the same PLL reference clock signal to all interfaces in the RTL.
   
   Interfaces that share the same PLL reference clock signal must be placed in the
   same I/O column and must occupy consecutive banks.


-------------------------------
;   9. Global reset interface ;
-------------------------------

   Port                           Width   Direction   Description                                        
   ------------------------------------------------------------------------------------------------------
   global_reset_n                 1       input       Asynchronous reset causes the memory interface to be reset and recalibrated. The global reset signal applies to all memory interfaces placed within an I/O column.


----------------------------------
;  10. PLL reference clock input ;
----------------------------------

   Port                           Width   Direction   Description                                        
   ------------------------------------------------------------------------------------------------------
   pll_ref_clk                    1       input       PLL reference clock input


--------------------------------------------
;  11. On-Chip Termination (OCT) interface ;
--------------------------------------------

   Port                           Width   Direction   Description                                        
   ------------------------------------------------------------------------------------------------------
   oct_rzqin                      1       input       Calibrated On-Chip Termination (OCT) RZQ input pin


---------------------------------------------------
;  12. Interface between FPGA and external memory ;
---------------------------------------------------

   Port                           Width   Direction   Description                                        
   ------------------------------------------------------------------------------------------------------
   mem_ck                         1       output      CK clock
   mem_ck_n                       1       output      CK clock (negative leg)
   mem_a                          10      output      Address
   mem_cke                        1       output      Clock enable
   mem_cs_n                       1       output      Chip select
   mem_odt                        1       output      On-die termination
   mem_dqs                        4       bidir       Data strobe
   mem_dqs_n                      4       bidir       Data strobe (negative leg)
   mem_dq                         32      bidir       Read/write data
   mem_dm                         4       output      Write data mask


-----------------------------------------
;  13. PHY calibration status interface ;
-----------------------------------------

   Port                           Width   Direction   Description                                        
   ------------------------------------------------------------------------------------------------------
   local_cal_success              1       output      When high, indicates that PHY calibration was successful
   local_cal_fail                 1       output      When high, indicates that PHY calibration failed


------------------------------------------
;  14. User clock domain reset interface ;
------------------------------------------

   Port                           Width   Direction   Description                                        
   ------------------------------------------------------------------------------------------------------
   emif_usr_reset_n               1       output      Reset for the user clock domain. Asynchronous assertion and synchronous deassertion


-----------------------------
;  15. User clock interface ;
-----------------------------

   Port                           Width   Direction   Description                                        
   ------------------------------------------------------------------------------------------------------
   emif_usr_clk                   1       output      User clock domain


---------------------------------------------------------------------------------------
;  16. Reset interface for the core slave logic that interacts with the sequencer CPU ;
---------------------------------------------------------------------------------------

   Port                           Width   Direction   Description                                        
   ------------------------------------------------------------------------------------------------------
   cal_slave_reset_n_in           1       input       Reset for the core slave logic that interacts with the sequencer CPU. Asynchronous assertion and synchronous deassertion


---------------------------------------------------------------------------------------
;  17. Clock interface for the core slave logic that interacts with the sequencer CPU ;
---------------------------------------------------------------------------------------

   Port                           Width   Direction   Description                                        
   ------------------------------------------------------------------------------------------------------
   cal_slave_clk_in               1       input       Clock for the core slave logic that interacts with the sequencer CPU.


----------------------------------------------------
;  18. Controller Avalon Memory-Mapped interface 0 ;
----------------------------------------------------

   Port                           Width   Direction   Description                                        
   ------------------------------------------------------------------------------------------------------
   amm_ready_0                    1       output      Wait-request is asserted when controller is busy
   amm_read_0                     1       input       Read request signal
   amm_write_0                    1       input       Write request signal
   amm_address_0                  25      input       Address for the read/write request
   amm_readdata_0                 256     output      Read data
   amm_writedata_0                256     input       Write data
   amm_burstcount_0               7       input       Number of transfers in each read/write burst
   amm_byteenable_0               32      input       Byte-enable for write data
   amm_readdatavalid_0            1       output      Indicates whether read data is valid
   
   Interface properties:
      WORD_WIDTH                    : 256
      SYMBOL_WIDTH                  : 8
      SYMBOLS_PER_WORD              : 32
      BYTE_ENABLE_WIDTH             : 32
      USE_BYTE_ENABLE               : true
      WORD_ADDRESS_WIDTH            : 25
      SYMBOL_ADDRESS_WIDTH          : 30
      BURST_COUNT_WIDTH             : 7
      WORD_ADDRESS_DIVISIBLE_BY     : 1
      BURST_COUNT_DIVISIBLE_BY      : 1
   
   For details, refer to documentation on "Avalon Interface Specifications".


---------------------------------------------------------------------------------------------
;  19. Interface that allows the EMIF calibration processor to talk to its slave components ;
---------------------------------------------------------------------------------------------

   Port                           Width   Direction   Description                                        
   ------------------------------------------------------------------------------------------------------
   cal_master_waitrequest         1       input       Wait-request is asserted when controller is busy
   cal_master_read                1       output      Read request signal
   cal_master_write               1       output      Write request signal
   cal_master_addr                16      output      Address for the read/write request
   cal_master_read_data           32      input       Read data
   cal_master_write_data          32      output      Write data
   cal_master_byteenable          4       output      Byte-enable for write data
   cal_master_read_data_valid     1       input       Indicates whether read data is valid
   cal_master_burstcount          1       output      Burstcount
   cal_master_debugaccess         1       output      Debugaccess


-------------------------------------------------
;  20. Instantiating IP in a simulation project ;
-------------------------------------------------

   The simulation fileset as well as the simulation example design contain scripts
   that illustrate what files are required when including the EMIF IP for simulation.
   The scripts are customized for all the 3rd-party simulators supported. It is highly
   recommended that you use these scripts as reference when setting up your simulation
   environment.


------------------------------------------------------------
;  21. Full-calibration versus skip-calibration simulation ;
------------------------------------------------------------

   During generation, you can specify the default RTL simulation behavior for PHY calibration.
   If you specify full-calibration simulation, the simulation time can take a very long time
   because all the stages and the detailed behavior of PHY calibration are simulated. If you
   specify skip-calibration simulation, the detailed behavior of PHY calibration is not
   simulated. Skip-calibration simulation is recommended unless you suspect a functional
   issue with the PHY calibration algorithm. Note however, that RTL simulation is a zero-delay
   simulation, and so timing-related calibration failures on hardware do not manifest themselves
   during RTL simulations.
   
   The setting that controls the calibration mode is encoded within the *_seq_params_sim.hex file
   and the *_seq_params_synth.hex file. When the IP is compiled under the Quartus Prime software,
   synthesis-directive causes the *_seq_params_synth.hex file to always be used. Outside of the
   Quartus Prime software (e.g. 3rd-party simulator), the *_seq_params_sim.hex file is always used.
   The behavior is the same regardless of which fileset is being synthesized or simulated.
   The calibration mode setting specified during generation only affects the *_seq_params_sim.hex
   file. The *_seq_params_synth.hex file always specifies full-calibration since full calibration
   is key to functional hardware.
   The RTL simulation behavior of the current IP is "Skip Calibration"


--------------------
;  22. IP Settings ;
--------------------

   SYS_INFO_DEVICE_FAMILY                            : Arria 10
   SYS_INFO_DEVICE                                   : 10AX022C3U19I2SG
   SYS_INFO_DEVICE_SPEEDGRADE                        : 2
   SYS_INFO_DEVICE_TEMPERATURE_GRADE                 : INDUSTRIAL
   SYS_INFO_DEVICE_POWER_MODEL                       : STANDARD
   SYS_INFO_DEVICE_DIE_REVISIONS                     : 
   FAMILY_ENUM                                       : FAMILY_ARRIA10
   TRAIT_SUPPORTS_VID                                : 0
   TRAIT_IOBANK_REVISION                             : 
   PROTOCOL_ENUM                                     : PROTOCOL_LPDDR3
   IS_ED_SLAVE                                       : false
   INTERNAL_TESTING_MODE                             : false
   CAL_DEBUG_CLOCK_FREQUENCY                         : 50000000
   SYS_INFO_UNIQUE_ID                                : ed_sim_emif_0_emif_0
   PREV_PROTOCOL_ENUM                                : PROTOCOL_LPDDR3
   PHY_FPGA_SPEEDGRADE_GUI                           : I2 (Production) - change device under 'View'->'Device Family'
   PHY_TARGET_SPEEDGRADE                             : I2
   PHY_TARGET_IS_ES                                  : false
   PHY_TARGET_IS_ES2                                 : false
   PHY_TARGET_IS_ES3                                 : false
   PHY_TARGET_IS_PRODUCTION                          : true
   PHY_CONFIG_ENUM                                   : CONFIG_PHY_AND_HARD_CTRL
   PHY_PING_PONG_EN                                  : false
   PHY_CLAMSHELL_EN                                  : false
   PHY_RATE_ENUM                                     : RATE_QUARTER
   PHY_MEM_CLK_FREQ_MHZ                              : 800.0
   PHY_REF_CLK_FREQ_MHZ                              : 200.0
   PHY_REF_CLK_JITTER_PS                             : 10.0
   PHY_DLL_CORE_UPDN_EN                              : true
   PHY_CORE_CLKS_SHARING_ENUM                        : CORE_CLKS_SHARING_DISABLED
   PHY_CORE_CLKS_SHARING_EXPOSE_SLAVE_OUT            : false
   PHY_CALIBRATED_OCT                                : true
   PHY_AC_CALIBRATED_OCT                             : true
   PHY_CK_CALIBRATED_OCT                             : true
   PHY_DATA_CALIBRATED_OCT                           : true
   PHY_RZQ                                           : 240
   PHY_HPS_ENABLE_EARLY_RELEASE                      : false
   PHY_USER_PERIODIC_OCT_RECAL_ENUM                  : PERIODIC_OCT_RECAL_AUTO
   PHY_AC_IO_STD_ENUM                                : IO_STD_HSUL_12
   PHY_CK_IO_STD_ENUM                                : IO_STD_HSUL_12
   PHY_DATA_IO_STD_ENUM                              : IO_STD_HSUL_12
   PHY_AC_MODE_ENUM                                  : OUT_OCT_40_CAL
   PHY_CK_MODE_ENUM                                  : OUT_OCT_40_CAL
   PHY_AC_DEEMPHASIS_ENUM                            : DEEMPHASIS_MODE_INVALID
   PHY_CK_DEEMPHASIS_ENUM                            : DEEMPHASIS_MODE_INVALID
   PHY_DATA_OUT_DEEMPHASIS_ENUM                      : DEEMPHASIS_MODE_INVALID
   PHY_DATA_OUT_SLEW_RATE_ENUM                       : 
   PHY_DATA_OUT_MODE_ENUM                            : OUT_OCT_40_CAL
   PHY_MIMIC_HPS_EMIF                                : false
   PLL_ADD_EXTRA_CLKS                                : false
   PLL_USER_NUM_OF_EXTRA_CLKS                        : 0
   PLL_EXTRA_CLK_ACTUAL_FREQ_MHZ_GUI_0               : 0.0
   PLL_EXTRA_CLK_ACTUAL_PHASE_PS_GUI_0               : 0.0
   PLL_EXTRA_CLK_DESIRED_FREQ_MHZ_GUI_0              : 0.0
   PLL_EXTRA_CLK_PHASE_SHIFT_UNIT_GUI_0              : ps
   PLL_EXTRA_CLK_DESIRED_PHASE_GUI_0                 : 0.0
   PLL_EXTRA_CLK_ACTUAL_PHASE_DEG_GUI_0              : 0.0
   PLL_EXTRA_CLK_DESIRED_DUTY_CYCLE_GUI_0            : 50.0
   PLL_EXTRA_CLK_ACTUAL_DUTY_CYCLE_GUI_0             : 50.0
   PLL_EXTRA_CLK_ACTUAL_DUTY_CYCLE_0                 : 50.0
   PLL_EXTRA_CLK_ACTUAL_FREQ_MHZ_GUI_1               : 0.0
   PLL_EXTRA_CLK_ACTUAL_PHASE_PS_GUI_1               : 0.0
   PLL_EXTRA_CLK_DESIRED_FREQ_MHZ_GUI_1              : 0.0
   PLL_EXTRA_CLK_PHASE_SHIFT_UNIT_GUI_1              : ps
   PLL_EXTRA_CLK_DESIRED_PHASE_GUI_1                 : 0.0
   PLL_EXTRA_CLK_ACTUAL_PHASE_DEG_GUI_1              : 0.0
   PLL_EXTRA_CLK_DESIRED_DUTY_CYCLE_GUI_1            : 50.0
   PLL_EXTRA_CLK_ACTUAL_DUTY_CYCLE_GUI_1             : 50.0
   PLL_EXTRA_CLK_ACTUAL_DUTY_CYCLE_1                 : 50.0
   PLL_EXTRA_CLK_ACTUAL_FREQ_MHZ_GUI_2               : 0.0
   PLL_EXTRA_CLK_ACTUAL_PHASE_PS_GUI_2               : 0.0
   PLL_EXTRA_CLK_DESIRED_FREQ_MHZ_GUI_2              : 0.0
   PLL_EXTRA_CLK_PHASE_SHIFT_UNIT_GUI_2              : ps
   PLL_EXTRA_CLK_DESIRED_PHASE_GUI_2                 : 0.0
   PLL_EXTRA_CLK_ACTUAL_PHASE_DEG_GUI_2              : 0.0
   PLL_EXTRA_CLK_DESIRED_DUTY_CYCLE_GUI_2            : 50.0
   PLL_EXTRA_CLK_ACTUAL_DUTY_CYCLE_GUI_2             : 50.0
   PLL_EXTRA_CLK_ACTUAL_DUTY_CYCLE_2                 : 50.0
   PLL_EXTRA_CLK_ACTUAL_FREQ_MHZ_GUI_3               : 0.0
   PLL_EXTRA_CLK_ACTUAL_PHASE_PS_GUI_3               : 0.0
   PLL_EXTRA_CLK_DESIRED_FREQ_MHZ_GUI_3              : 0.0
   PLL_EXTRA_CLK_PHASE_SHIFT_UNIT_GUI_3              : ps
   PLL_EXTRA_CLK_DESIRED_PHASE_GUI_3                 : 0.0
   PLL_EXTRA_CLK_ACTUAL_PHASE_DEG_GUI_3              : 0.0
   PLL_EXTRA_CLK_DESIRED_DUTY_CYCLE_GUI_3            : 50.0
   PLL_EXTRA_CLK_ACTUAL_DUTY_CYCLE_GUI_3             : 50.0
   PLL_EXTRA_CLK_ACTUAL_DUTY_CYCLE_3                 : 50.0
   PLL_EXTRA_CLK_ACTUAL_FREQ_MHZ_GUI_4               : 0.0
   PLL_EXTRA_CLK_ACTUAL_PHASE_PS_GUI_4               : 0.0
   PLL_EXTRA_CLK_DESIRED_FREQ_MHZ_GUI_4              : 0.0
   PLL_EXTRA_CLK_PHASE_SHIFT_UNIT_GUI_4              : ps
   PLL_EXTRA_CLK_DESIRED_PHASE_GUI_4                 : 0.0
   PLL_EXTRA_CLK_ACTUAL_PHASE_DEG_GUI_4              : 0.0
   PLL_EXTRA_CLK_DESIRED_DUTY_CYCLE_GUI_4            : 50.0
   PLL_EXTRA_CLK_ACTUAL_DUTY_CYCLE_GUI_4             : 50.0
   PLL_EXTRA_CLK_ACTUAL_DUTY_CYCLE_4                 : 50.0
   PLL_EXTRA_CLK_ACTUAL_FREQ_MHZ_GUI_5               : 0.0
   PLL_EXTRA_CLK_ACTUAL_PHASE_PS_GUI_5               : 0.0
   PLL_EXTRA_CLK_DESIRED_FREQ_MHZ_GUI_5              : 0.0
   PLL_EXTRA_CLK_PHASE_SHIFT_UNIT_GUI_5              : ps
   PLL_EXTRA_CLK_DESIRED_PHASE_GUI_5                 : 0.0
   PLL_EXTRA_CLK_ACTUAL_PHASE_DEG_GUI_5              : 0.0
   PLL_EXTRA_CLK_DESIRED_DUTY_CYCLE_GUI_5            : 50.0
   PLL_EXTRA_CLK_ACTUAL_DUTY_CYCLE_GUI_5             : 50.0
   PLL_EXTRA_CLK_ACTUAL_DUTY_CYCLE_5                 : 50.0
   PLL_EXTRA_CLK_ACTUAL_FREQ_MHZ_GUI_6               : 0.0
   PLL_EXTRA_CLK_ACTUAL_PHASE_PS_GUI_6               : 0.0
   PLL_EXTRA_CLK_DESIRED_FREQ_MHZ_GUI_6              : 0.0
   PLL_EXTRA_CLK_PHASE_SHIFT_UNIT_GUI_6              : ps
   PLL_EXTRA_CLK_DESIRED_PHASE_GUI_6                 : 0.0
   PLL_EXTRA_CLK_ACTUAL_PHASE_DEG_GUI_6              : 0.0
   PLL_EXTRA_CLK_DESIRED_DUTY_CYCLE_GUI_6            : 50.0
   PLL_EXTRA_CLK_ACTUAL_DUTY_CYCLE_GUI_6             : 50.0
   PLL_EXTRA_CLK_ACTUAL_DUTY_CYCLE_6                 : 50.0
   PLL_EXTRA_CLK_ACTUAL_FREQ_MHZ_GUI_7               : 0.0
   PLL_EXTRA_CLK_ACTUAL_PHASE_PS_GUI_7               : 0.0
   PLL_EXTRA_CLK_DESIRED_FREQ_MHZ_GUI_7              : 0.0
   PLL_EXTRA_CLK_PHASE_SHIFT_UNIT_GUI_7              : ps
   PLL_EXTRA_CLK_DESIRED_PHASE_GUI_7                 : 0.0
   PLL_EXTRA_CLK_ACTUAL_PHASE_DEG_GUI_7              : 0.0
   PLL_EXTRA_CLK_DESIRED_DUTY_CYCLE_GUI_7            : 50.0
   PLL_EXTRA_CLK_ACTUAL_DUTY_CYCLE_GUI_7             : 50.0
   PLL_EXTRA_CLK_ACTUAL_DUTY_CYCLE_7                 : 50.0
   PLL_EXTRA_CLK_ACTUAL_FREQ_MHZ_GUI_8               : 0.0
   PLL_EXTRA_CLK_ACTUAL_PHASE_PS_GUI_8               : 0.0
   PLL_EXTRA_CLK_DESIRED_FREQ_MHZ_GUI_8              : 0.0
   PLL_EXTRA_CLK_PHASE_SHIFT_UNIT_GUI_8              : ps
   PLL_EXTRA_CLK_DESIRED_PHASE_GUI_8                 : 0.0
   PLL_EXTRA_CLK_ACTUAL_PHASE_DEG_GUI_8              : 0.0
   PLL_EXTRA_CLK_DESIRED_DUTY_CYCLE_GUI_8            : 50.0
   PLL_EXTRA_CLK_ACTUAL_DUTY_CYCLE_GUI_8             : 50.0
   PLL_EXTRA_CLK_ACTUAL_DUTY_CYCLE_8                 : 50.0
   PLL_VCO_CLK_FREQ_MHZ                              : 800.0
   PLL_NUM_OF_EXTRA_CLKS                             : 0
   PLL_EXTRA_CLK_ACTUAL_FREQ_MHZ_0                   : 0.0
   PLL_EXTRA_CLK_ACTUAL_PHASE_PS_0                   : 0.0
   PLL_EXTRA_CLK_ACTUAL_FREQ_MHZ_1                   : 0.0
   PLL_EXTRA_CLK_ACTUAL_PHASE_PS_1                   : 0.0
   PLL_EXTRA_CLK_ACTUAL_FREQ_MHZ_2                   : 0.0
   PLL_EXTRA_CLK_ACTUAL_PHASE_PS_2                   : 0.0
   PLL_EXTRA_CLK_ACTUAL_FREQ_MHZ_3                   : 0.0
   PLL_EXTRA_CLK_ACTUAL_PHASE_PS_3                   : 0.0
   PLL_EXTRA_CLK_ACTUAL_FREQ_MHZ_4                   : 0.0
   PLL_EXTRA_CLK_ACTUAL_PHASE_PS_4                   : 0.0
   PLL_EXTRA_CLK_ACTUAL_FREQ_MHZ_5                   : 800.0
   PLL_EXTRA_CLK_ACTUAL_PHASE_PS_5                   : 0.0
   PLL_EXTRA_CLK_ACTUAL_FREQ_MHZ_6                   : 800.0
   PLL_EXTRA_CLK_ACTUAL_PHASE_PS_6                   : 0.0
   PLL_EXTRA_CLK_ACTUAL_FREQ_MHZ_7                   : 800.0
   PLL_EXTRA_CLK_ACTUAL_PHASE_PS_7                   : 0.0
   PLL_EXTRA_CLK_ACTUAL_FREQ_MHZ_8                   : 800.0
   PLL_EXTRA_CLK_ACTUAL_PHASE_PS_8                   : 0.0
   PHY_LPDDR3_CONFIG_ENUM                            : CONFIG_PHY_AND_HARD_CTRL
   PHY_LPDDR3_USER_PING_PONG_EN                      : false
   PHY_LPDDR3_MEM_CLK_FREQ_MHZ                       : 800.0
   PHY_LPDDR3_DEFAULT_REF_CLK_FREQ                   : true
   PHY_LPDDR3_USER_REF_CLK_FREQ_MHZ                  : 200.0
   PHY_LPDDR3_REF_CLK_JITTER_PS                      : 10.0
   PHY_LPDDR3_RATE_ENUM                              : RATE_QUARTER
   PHY_LPDDR3_CORE_CLKS_SHARING_ENUM                 : CORE_CLKS_SHARING_DISABLED
   PHY_LPDDR3_CORE_CLKS_SHARING_EXPOSE_SLAVE_OUT     : false
   PHY_LPDDR3_IO_VOLTAGE                             : 1.2
   PHY_LPDDR3_DEFAULT_IO                             : true
   PHY_LPDDR3_HPS_ENABLE_EARLY_RELEASE               : false
   PHY_LPDDR3_USER_PERIODIC_OCT_RECAL_ENUM           : PERIODIC_OCT_RECAL_AUTO
   PHY_LPDDR3_USER_DLL_CORE_UPDN_EN                  : true
   PHY_LPDDR3_MIMIC_HPS_EMIF                         : false
   PHY_LPDDR3_REF_CLK_FREQ_MHZ                       : 200.0
   PHY_LPDDR3_PING_PONG_EN                           : false
   PHY_LPDDR3_USER_AC_IO_STD_ENUM                    : unset
   PHY_LPDDR3_USER_AC_MODE_ENUM                      : unset
   PHY_LPDDR3_USER_AC_SLEW_RATE_ENUM                 : unset
   PHY_LPDDR3_USER_AC_DEEMPHASIS_ENUM                : unset
   PHY_LPDDR3_USER_CK_IO_STD_ENUM                    : unset
   PHY_LPDDR3_USER_CK_MODE_ENUM                      : unset
   PHY_LPDDR3_USER_CK_SLEW_RATE_ENUM                 : unset
   PHY_LPDDR3_USER_CK_DEEMPHASIS_ENUM                : unset
   PHY_LPDDR3_USER_DATA_IO_STD_ENUM                  : unset
   PHY_LPDDR3_USER_DATA_OUT_MODE_ENUM                : unset
   PHY_LPDDR3_USER_DATA_OUT_SLEW_RATE_ENUM           : unset
   PHY_LPDDR3_USER_DATA_OUT_DEEMPHASIS_ENUM          : unset
   PHY_LPDDR3_USER_DATA_IN_MODE_ENUM                 : unset
   PHY_LPDDR3_USER_AUTO_STARTING_VREFIN_EN           : true
   PHY_LPDDR3_USER_STARTING_VREFIN                   : 70.0
   PHY_LPDDR3_USER_PLL_REF_CLK_IO_STD_ENUM           : unset
   PHY_LPDDR3_USER_RZQ_IO_STD_ENUM                   : unset
   PHY_LPDDR3_AC_IO_STD_ENUM                         : IO_STD_HSUL_12
   PHY_LPDDR3_AC_MODE_ENUM                           : OUT_OCT_40_CAL
   PHY_LPDDR3_AC_SLEW_RATE_ENUM                      : SLEW_RATE_FAST
   PHY_LPDDR3_AC_DEEMPHASIS_ENUM                     : DEEMPHASIS_MODE_INVALID
   PHY_LPDDR3_CK_IO_STD_ENUM                         : IO_STD_HSUL_12
   PHY_LPDDR3_CK_MODE_ENUM                           : OUT_OCT_40_CAL
   PHY_LPDDR3_CK_SLEW_RATE_ENUM                      : SLEW_RATE_FAST
   PHY_LPDDR3_CK_DEEMPHASIS_ENUM                     : DEEMPHASIS_MODE_INVALID
   PHY_LPDDR3_DATA_IO_STD_ENUM                       : IO_STD_HSUL_12
   PHY_LPDDR3_DATA_OUT_MODE_ENUM                     : OUT_OCT_40_CAL
   PHY_LPDDR3_DATA_OUT_SLEW_RATE_ENUM                : SLEW_RATE_INVALID
   PHY_LPDDR3_DATA_OUT_DEEMPHASIS_ENUM               : DEEMPHASIS_MODE_INVALID
   PHY_LPDDR3_DATA_IN_MODE_ENUM                      : IN_OCT_INFINITE_CAL
   PHY_LPDDR3_AUTO_STARTING_VREFIN_EN                : true
   PHY_LPDDR3_STARTING_VREFIN                        : 50.0
   PHY_LPDDR3_PLL_REF_CLK_IO_STD_ENUM                : IO_STD_LVDS
   PHY_LPDDR3_RZQ_IO_STD_ENUM                        : IO_STD_CMOS_12
   MEM_FORMAT_ENUM                                   : MEM_FORMAT_DISCRETE
   MEM_READ_LATENCY                                  : 12.0
   MEM_WRITE_LATENCY                                 : 6
   MEM_BURST_LENGTH                                  : 8
   MEM_DATA_MASK_EN                                  : true
   MEM_HAS_SIM_SUPPORT                               : true
   MEM_HAS_BSI_SUPPORT                               : false
   MEM_NUM_OF_PHYSICAL_RANKS                         : 1
   MEM_NUM_OF_LOGICAL_RANKS                          : 1
   MEM_NUM_OF_DATA_ENDPOINTS                         : 1
   MEM_TTL_DATA_WIDTH                                : 32
   MEM_TTL_NUM_OF_READ_GROUPS                        : 4
   MEM_TTL_NUM_OF_WRITE_GROUPS                       : 4
   MEM_LPDDR3_DQ_WIDTH                               : 32
   MEM_LPDDR3_DISCRETE_CS_WIDTH                      : 1
   MEM_LPDDR3_CK_WIDTH                               : 1
   MEM_LPDDR3_DM_EN                                  : true
   MEM_LPDDR3_ROW_ADDR_WIDTH                         : 15
   MEM_LPDDR3_COL_ADDR_WIDTH                         : 10
   MEM_LPDDR3_BANK_ADDR_WIDTH                        : 3
   MEM_LPDDR3_DQS_WIDTH                              : 4
   MEM_LPDDR3_DM_WIDTH                               : 4
   MEM_LPDDR3_CS_WIDTH                               : 1
   MEM_LPDDR3_CKE_WIDTH                              : 1
   MEM_LPDDR3_ODT_WIDTH                              : 1
   MEM_LPDDR3_ADDR_WIDTH                             : 10
   MEM_LPDDR3_DQ_PER_DQS                             : 8
   MEM_LPDDR3_FORMAT_ENUM                            : MEM_FORMAT_DISCRETE
   MEM_LPDDR3_MR1                                    : 0x83010
   MEM_LPDDR3_MR2                                    : 0x1a020
   MEM_LPDDR3_MR3                                    : 0x2030
   MEM_LPDDR3_MR11                                   : 0xb0
   MEM_LPDDR3_BL                                     : LPDDR3_BL_BL8
   MEM_LPDDR3_DATA_LATENCY                           : LPDDR3_DL_RL12_WL6
   MEM_LPDDR3_DRV_STR                                : LPDDR3_DRV_STR_40D_40U
   MEM_LPDDR3_DQODT                                  : LPDDR3_DQODT_DISABLE
   MEM_LPDDR3_PDODT                                  : LPDDR3_PDODT_DISABLED
   MEM_LPDDR3_WLSELECT                               : Set A
   MEM_LPDDR3_NWR                                    : LPDDR3_NWR_NWR12
   MEM_LPDDR3_NUM_OF_LOGICAL_RANKS                   : 1
   MEM_LPDDR3_NUM_OF_PHYSICAL_RANKS                  : 1
   MEM_LPDDR3_USE_DEFAULT_ODT                        : true
   MEM_LPDDR3_R_ODTN_1X1                             : {Rank 0}
   MEM_LPDDR3_R_ODT0_1X1                             : off
   MEM_LPDDR3_W_ODTN_1X1                             : {Rank 0}
   MEM_LPDDR3_W_ODT0_1X1                             : on
   MEM_LPDDR3_R_ODTN_2X2                             : {Rank 0} {Rank 1}
   MEM_LPDDR3_R_ODT0_2X2                             : off off
   MEM_LPDDR3_R_ODT1_2X2                             : off off
   MEM_LPDDR3_W_ODTN_2X2                             : {Rank 0} {Rank 1}
   MEM_LPDDR3_W_ODT0_2X2                             : on on
   MEM_LPDDR3_W_ODT1_2X2                             : off off
   MEM_LPDDR3_R_ODTN_4X4                             : {Rank 0} {Rank 1} {Rank 2} {Rank 3}
   MEM_LPDDR3_R_ODT0_4X4                             : off off off off
   MEM_LPDDR3_R_ODT1_4X4                             : off off off off
   MEM_LPDDR3_R_ODT2_4X4                             : off off off off
   MEM_LPDDR3_R_ODT3_4X4                             : off off off off
   MEM_LPDDR3_W_ODTN_4X4                             : {Rank 0} {Rank 1} {Rank 2} {Rank 3}
   MEM_LPDDR3_W_ODT0_4X4                             : on on on on
   MEM_LPDDR3_W_ODT1_4X4                             : off off off off
   MEM_LPDDR3_W_ODT2_4X4                             : off off off off
   MEM_LPDDR3_W_ODT3_4X4                             : off off off off
   MEM_LPDDR3_R_DERIVED_ODTN                         : {Rank 0} - - -
   MEM_LPDDR3_R_DERIVED_ODT0                         : {(Drive) 40 ohm pull-down/pull-up} - - -
   MEM_LPDDR3_R_DERIVED_ODT1                         : - - - -
   MEM_LPDDR3_R_DERIVED_ODT2                         : - - - -
   MEM_LPDDR3_R_DERIVED_ODT3                         : - - - -
   MEM_LPDDR3_W_DERIVED_ODTN                         : {Rank 0} - - -
   MEM_LPDDR3_W_DERIVED_ODT0                         : Disabled - - -
   MEM_LPDDR3_W_DERIVED_ODT1                         : - - - -
   MEM_LPDDR3_W_DERIVED_ODT2                         : - - - -
   MEM_LPDDR3_W_DERIVED_ODT3                         : - - - -
   MEM_LPDDR3_SEQ_ODT_TABLE_LO                       : 4
   MEM_LPDDR3_SEQ_ODT_TABLE_HI                       : 0
   MEM_LPDDR3_CTRL_CFG_READ_ODT_CHIP                 : 0
   MEM_LPDDR3_CTRL_CFG_WRITE_ODT_CHIP                : 0
   MEM_LPDDR3_CTRL_CFG_READ_ODT_RANK                 : 0
   MEM_LPDDR3_CTRL_CFG_WRITE_ODT_RANK                : 0
   MEM_LPDDR3_SPEEDBIN_ENUM                          : LPDDR3_SPEEDBIN_1600
   MEM_LPDDR3_TIS_PS                                 : 75
   MEM_LPDDR3_TIS_AC_MV                              : 150
   MEM_LPDDR3_TIH_PS                                 : 100
   MEM_LPDDR3_TIH_DC_MV                              : 100
   MEM_LPDDR3_TDS_PS                                 : 75
   MEM_LPDDR3_TDS_AC_MV                              : 150
   MEM_LPDDR3_TDH_PS                                 : 100
   MEM_LPDDR3_TDH_DC_MV                              : 100
   MEM_LPDDR3_TDQSQ_PS                               : 135
   MEM_LPDDR3_TQH_CYC                                : 0.38
   MEM_LPDDR3_TDQSCKDL                               : 614
   MEM_LPDDR3_TDQSS_CYC                              : 1.25
   MEM_LPDDR3_TQSH_CYC                               : 0.38
   MEM_LPDDR3_TDSH_CYC                               : 0.2
   MEM_LPDDR3_TWLS_PS                                : 175.0
   MEM_LPDDR3_TWLH_PS                                : 175.0
   MEM_LPDDR3_TDSS_CYC                               : 0.2
   MEM_LPDDR3_TINIT_US                               : 500
   MEM_LPDDR3_TMRR_CK_CYC                            : 4
   MEM_LPDDR3_TMRW_CK_CYC                            : 10
   MEM_LPDDR3_TRAS_NS                                : 42.0
   MEM_LPDDR3_TRCD_NS                                : 18.0
   MEM_LPDDR3_TRP_NS                                 : 18.0
   MEM_LPDDR3_TREFI_US                               : 3.9
   MEM_LPDDR3_TRFC_NS                                : 210.0
   MEM_LPDDR3_TWR_NS                                 : 15.0
   MEM_LPDDR3_TWTR_CYC                               : 6
   MEM_LPDDR3_TFAW_NS                                : 50.0
   MEM_LPDDR3_TRRD_CYC                               : 8
   MEM_LPDDR3_TRTP_CYC                               : 6
   MEM_LPDDR3_TINIT_CK                               : 400000
   MEM_LPDDR3_TDQSCK_DERV_PS                         : 2
   MEM_LPDDR3_TDQSCKDS                               : 220
   MEM_LPDDR3_TDQSCKDM                               : 511
   MEM_LPDDR3_TDQSCK_PS                              : 5500
   MEM_LPDDR3_TRAS_CYC                               : 34
   MEM_LPDDR3_TRCD_CYC                               : 15
   MEM_LPDDR3_TRP_CYC                                : 15
   MEM_LPDDR3_TRFC_CYC                               : 168
   MEM_LPDDR3_TWR_CYC                                : 12
   MEM_LPDDR3_TFAW_CYC                               : 40
   MEM_LPDDR3_TREFI_CYC                              : 3120
   MEM_LPDDR3_TRL_CYC                                : 10
   MEM_LPDDR3_TWL_CYC                                : 6
   BOARD_LPDDR3_USE_DEFAULT_SLEW_RATES               : true
   BOARD_LPDDR3_USE_DEFAULT_ISI_VALUES               : true
   BOARD_LPDDR3_USER_CK_SLEW_RATE                    : 4.0
   BOARD_LPDDR3_USER_AC_SLEW_RATE                    : 2.0
   BOARD_LPDDR3_USER_RCLK_SLEW_RATE                  : 4.0
   BOARD_LPDDR3_USER_WCLK_SLEW_RATE                  : 4.0
   BOARD_LPDDR3_USER_RDATA_SLEW_RATE                 : 2.0
   BOARD_LPDDR3_USER_WDATA_SLEW_RATE                 : 2.0
   BOARD_LPDDR3_USER_AC_ISI_NS                       : 0.0
   BOARD_LPDDR3_USER_RCLK_ISI_NS                     : 0.0
   BOARD_LPDDR3_USER_WCLK_ISI_NS                     : 0.0
   BOARD_LPDDR3_USER_RDATA_ISI_NS                    : 0.0
   BOARD_LPDDR3_USER_WDATA_ISI_NS                    : 0.0
   BOARD_LPDDR3_IS_SKEW_WITHIN_DQS_DESKEWED          : false
   BOARD_LPDDR3_BRD_SKEW_WITHIN_DQS_NS               : 0.02
   BOARD_LPDDR3_PKG_BRD_SKEW_WITHIN_DQS_NS           : 0.02
   BOARD_LPDDR3_IS_SKEW_WITHIN_AC_DESKEWED           : true
   BOARD_LPDDR3_BRD_SKEW_WITHIN_AC_NS                : 0.02
   BOARD_LPDDR3_PKG_BRD_SKEW_WITHIN_AC_NS            : 0.02
   BOARD_LPDDR3_DQS_TO_CK_SKEW_NS                    : 0.02
   BOARD_LPDDR3_SKEW_BETWEEN_DIMMS_NS                : 0.05
   BOARD_LPDDR3_SKEW_BETWEEN_DQS_NS                  : 0.02
   BOARD_LPDDR3_AC_TO_CK_SKEW_NS                     : 0.0
   BOARD_LPDDR3_MAX_CK_DELAY_NS                      : 0.6
   BOARD_LPDDR3_MAX_DQS_DELAY_NS                     : 0.6
   BOARD_LPDDR3_TIS_DERATING_PS                      : 0
   BOARD_LPDDR3_TIH_DERATING_PS                      : 0
   BOARD_LPDDR3_TDS_DERATING_PS                      : 0
   BOARD_LPDDR3_TDH_DERATING_PS                      : 0
   BOARD_LPDDR3_CK_SLEW_RATE                         : 4.0
   BOARD_LPDDR3_AC_SLEW_RATE                         : 2.0
   BOARD_LPDDR3_RCLK_SLEW_RATE                       : 4.0
   BOARD_LPDDR3_WCLK_SLEW_RATE                       : 4.0
   BOARD_LPDDR3_RDATA_SLEW_RATE                      : 2.0
   BOARD_LPDDR3_WDATA_SLEW_RATE                      : 2.0
   BOARD_LPDDR3_AC_ISI_NS                            : 0.125
   BOARD_LPDDR3_RCLK_ISI_NS                          : 0.125
   BOARD_LPDDR3_WCLK_ISI_NS                          : 0.063
   BOARD_LPDDR3_RDATA_ISI_NS                         : 0.1
   BOARD_LPDDR3_WDATA_ISI_NS                         : 0.125
   BOARD_LPDDR3_SKEW_WITHIN_DQS_NS                   : 0.12000000000000001
   BOARD_LPDDR3_SKEW_WITHIN_AC_NS                    : 0.02
   CTRL_ECC_EN                                       : false
   CTRL_MMR_EN                                       : false
   CTRL_AUTO_PRECHARGE_EN                            : false
   CTRL_USER_PRIORITY_EN                             : false
   CTRL_REORDER_EN                                   : false
   CTRL_ECC_READDATAERROR_EN                         : false
   CTRL_ECC_STATUS_EN                                : false
   CTRL_LPDDR3_AVL_PROTOCOL_ENUM                     : CTRL_AVL_PROTOCOL_MM
   CTRL_LPDDR3_SELF_REFRESH_EN                       : false
   CTRL_LPDDR3_AUTO_POWER_DOWN_EN                    : false
   CTRL_LPDDR3_AUTO_POWER_DOWN_CYCS                  : 32
   CTRL_LPDDR3_USER_REFRESH_EN                       : false
   CTRL_LPDDR3_USER_PRIORITY_EN                      : false
   CTRL_LPDDR3_AUTO_PRECHARGE_EN                     : false
   CTRL_LPDDR3_ADDR_ORDER_ENUM                       : LPDDR3_CTRL_ADDR_ORDER_R_CS_B_C
   CTRL_LPDDR3_REORDER_EN                            : false
   CTRL_LPDDR3_STARVE_LIMIT                          : 10
   CTRL_LPDDR3_MMR_EN                                : false
   CTRL_LPDDR3_RD_TO_WR_SAME_CHIP_DELTA_CYCS         : 0
   CTRL_LPDDR3_WR_TO_RD_SAME_CHIP_DELTA_CYCS         : 0
   CTRL_LPDDR3_RD_TO_RD_DIFF_CHIP_DELTA_CYCS         : 0
   CTRL_LPDDR3_RD_TO_WR_DIFF_CHIP_DELTA_CYCS         : 0
   CTRL_LPDDR3_WR_TO_WR_DIFF_CHIP_DELTA_CYCS         : 0
   CTRL_LPDDR3_WR_TO_RD_DIFF_CHIP_DELTA_CYCS         : 0
   DIAG_SIM_REGTEST_MODE                             : false
   DIAG_TIMING_REGTEST_MODE                          : false
   DIAG_SYNTH_FOR_SIM                                : false
   DIAG_FAST_SIM_OVERRIDE                            : FAST_SIM_OVERRIDE_DEFAULT
   DIAG_SEQ_RESET_AUTO_RELEASE                       : avl
   DIAG_DB_RESET_AUTO_RELEASE                        : avl_release
   DIAG_ADD_READY_PIPELINE                           : true
   DIAG_EXPOSE_EARLY_READY                           : false
   DIAG_EXPOSE_RD_TYPE                               : false
   DIAG_VERBOSE_IOAUX                                : false
   DIAG_ECLIPSE_DEBUG                                : false
   DIAG_EXPORT_VJI                                   : false
   DIAG_ENABLE_JTAG_UART                             : false
   DIAG_ENABLE_JTAG_UART_HEX                         : false
   DIAG_ENABLE_HPS_EMIF_DEBUG                        : false
   DIAG_SOFT_NIOS_MODE                               : SOFT_NIOS_MODE_DISABLED
   DIAG_SOFT_NIOS_CLOCK_FREQUENCY                    : 100
   DIAG_USE_RS232_UART                               : false
   DIAG_RS232_UART_BAUDRATE                          : 57600
   DIAG_EX_DESIGN_ADD_TEST_EMIFS                     : 
   DIAG_EX_DESIGN_SEPARATE_RESETS                    : false
   DIAG_EXPOSE_DFT_SIGNALS                           : false
   DIAG_EXTRA_CONFIGS                                : 
   DIAG_USE_BOARD_DELAY_MODEL                        : false
   DIAG_BOARD_DELAY_CONFIG_STR                       : 
   DIAG_TG_AVL_2_NUM_CFG_INTERFACES                  : 0
   DIAG_EXPORT_PLL_REF_CLK_OUT                       : false
   DIAG_EXPORT_PLL_LOCKED                            : false
   DIAG_HMC_HRC                                      : auto
   SHORT_QSYS_INTERFACE_NAMES                        : true
   DIAG_EXT_DOCS                                     : false
   DIAG_SIM_CAL_MODE_ENUM                            : SIM_CAL_MODE_SKIP
   DIAG_EXPORT_SEQ_AVALON_SLAVE                      : CAL_DEBUG_EXPORT_MODE_DISABLED
   DIAG_EXPORT_SEQ_AVALON_MASTER                     : false
   DIAG_EXPORT_SEQ_AVALON_HEAD_OF_CHAIN              : true
   DIAG_EX_DESIGN_NUM_OF_SLAVES                      : 1
   DIAG_EX_DESIGN_ISSP_EN                            : false
   DIAG_INTERFACE_ID                                 : 0
   DIAG_EFFICIENCY_MONITOR                           : EFFMON_MODE_DISABLED
   DIAG_USE_NEW_EFFMON_S10                           : false
   DIAG_USE_ABSTRACT_PHY                             : false
   DIAG_SIM_MEMORY_PRELOAD                           : false
   DIAG_SIM_MEMORY_PRELOAD_PRI_EMIF_FILE             : 
   DIAG_SIM_MEMORY_PRELOAD_PRI_ECC_FILE              : 
   DIAG_SIM_MEMORY_PRELOAD_PRI_MEM_FILE              : 
   DIAG_SIM_MEMORY_PRELOAD_PRI_ABPHY_FILE            : 
   DIAG_SIM_MEMORY_PRELOAD_SEC_EMIF_FILE             : 
   DIAG_SIM_MEMORY_PRELOAD_SEC_ECC_FILE              : 
   DIAG_SIM_MEMORY_PRELOAD_SEC_MEM_FILE              : 
   DIAG_SIM_MEMORY_PRELOAD_SEC_ABPHY_FILE            : 
   DIAG_USE_SIM_MEMORY_VALIDATION_TG                 : false
   DIAG_SIM_VERBOSE_LEVEL                            : 5
   DIAG_FAST_SIM                                     : true
   DIAG_USE_TG_AVL_2                                 : false
   DIAG_TG2_TEST_DURATION                            : SHORT
   DIAG_USE_TG_HBM                                   : false
   DIAG_EXPORT_TG_CFG_AVALON_SLAVE                   : TG_CFG_AMM_EXPORT_MODE_JTAG
   DIAG_ENABLE_DEFAULT_MODE                          : false
   DIAG_ENABLE_USER_MODE                             : true
   DIAG_ENABLE_SOFT_M20K                             : true
   DIAG_SIM_CHECKER_SKIP_TG                          : false
   DIAG_AC_PARITY_ERR                                : false
   DIAG_DISABLE_AFI_P2C_REGISTERS                    : false
   DIAG_EX_DESIGN_SEPARATE_RZQS                      : true
   DIAG_LPDDR3_SIM_CAL_MODE_ENUM                     : SIM_CAL_MODE_SKIP
   DIAG_LPDDR3_EXPORT_SEQ_AVALON_SLAVE               : CAL_DEBUG_EXPORT_MODE_DISABLED
   DIAG_LPDDR3_EXPORT_SEQ_AVALON_MASTER              : false
   DIAG_LPDDR3_EXPORT_SEQ_AVALON_HEAD_OF_CHAIN       : true
   DIAG_LPDDR3_EX_DESIGN_NUM_OF_SLAVES               : 1
   DIAG_LPDDR3_EX_DESIGN_ISSP_EN                     : false
   DIAG_LPDDR3_INTERFACE_ID                          : 0
   DIAG_LPDDR3_EFFICIENCY_MONITOR                    : EFFMON_MODE_DISABLED
   DIAG_LPDDR3_USE_NEW_EFFMON_S10                    : false
   DIAG_LPDDR3_USER_SIM_MEMORY_PRELOAD               : false
   DIAG_LPDDR3_USER_SIM_MEMORY_PRELOAD_PRI_EMIF_FILE : EMIF_PRI_PRELOAD.txt
   DIAG_LPDDR3_USER_SIM_MEMORY_PRELOAD_SEC_EMIF_FILE : EMIF_SEC_PRELOAD.txt
   DIAG_LPDDR3_USER_USE_SIM_MEMORY_VALIDATION_TG     : true
   DIAG_LPDDR3_USE_TG_AVL_2                          : false
   DIAG_LPDDR3_USE_TG_HBM                            : false
   DIAG_LPDDR3_ABSTRACT_PHY                          : false
   DIAG_LPDDR3_ENABLE_DEFAULT_MODE                   : false
   DIAG_LPDDR3_ENABLE_USER_MODE                      : true
   DIAG_LPDDR3_EXPORT_TG_CFG_AVALON_SLAVE            : TG_CFG_AMM_EXPORT_MODE_JTAG
   DIAG_LPDDR3_TG2_TEST_DURATION                     : SHORT
   DIAG_LPDDR3_SEPARATE_READ_WRITE_ITFS              : false
   DIAG_LPDDR3_DISABLE_AFI_P2C_REGISTERS             : false
   DIAG_LPDDR3_AC_PARITY_ERR                         : false
   DIAG_LPDDR3_SIM_MEMORY_PRELOAD                    : false
   DIAG_LPDDR3_SIM_MEMORY_PRELOAD_PRI_EMIF_FILE      : 
   DIAG_LPDDR3_SIM_MEMORY_PRELOAD_SEC_EMIF_FILE      : 
   DIAG_LPDDR3_USE_SIM_MEMORY_VALIDATION_TG          : false
   DIAG_LPDDR3_EX_DESIGN_SEPARATE_RZQS               : true
   DIAG_LPDDR3_SIM_VERBOSE                           : true
   DIAG_LPDDR3_SKIP_CA_LEVEL                         : false
   DIAG_LPDDR3_SKIP_CA_DESKEW                        : false
   NUM_IPS                                           : 1
   EMIF_0_CONN_TO_CALIP                              : CALIP_0
   EMIF_0_STORED_PARAM                               : 
   EMIF_0_REF_CLK_SHARING                            : EXPORTED
   EMIF_1_CONN_TO_CALIP                              : CALIP_0
   EMIF_1_STORED_PARAM                               : 
   EMIF_1_REF_CLK_SHARING                            : EXPORTED
   EMIF_2_CONN_TO_CALIP                              : CALIP_0
   EMIF_2_STORED_PARAM                               : 
   EMIF_2_REF_CLK_SHARING                            : EXPORTED
   EMIF_3_CONN_TO_CALIP                              : CALIP_0
   EMIF_3_STORED_PARAM                               : 
   EMIF_3_REF_CLK_SHARING                            : EXPORTED
   EMIF_4_CONN_TO_CALIP                              : CALIP_0
   EMIF_4_STORED_PARAM                               : 
   EMIF_4_REF_CLK_SHARING                            : EXPORTED
   EMIF_5_CONN_TO_CALIP                              : CALIP_0
   EMIF_5_STORED_PARAM                               : 
   EMIF_5_REF_CLK_SHARING                            : EXPORTED
   EMIF_6_CONN_TO_CALIP                              : CALIP_0
   EMIF_6_STORED_PARAM                               : 
   EMIF_6_REF_CLK_SHARING                            : EXPORTED
   EMIF_7_CONN_TO_CALIP                              : CALIP_0
   EMIF_7_STORED_PARAM                               : 
   EMIF_7_REF_CLK_SHARING                            : EXPORTED
   EMIF_8_CONN_TO_CALIP                              : CALIP_0
   EMIF_8_STORED_PARAM                               : 
   EMIF_8_REF_CLK_SHARING                            : EXPORTED
   EMIF_9_CONN_TO_CALIP                              : CALIP_0
   EMIF_9_STORED_PARAM                               : 
   EMIF_9_REF_CLK_SHARING                            : EXPORTED
   EMIF_10_CONN_TO_CALIP                             : CALIP_0
   EMIF_10_STORED_PARAM                              : 
   EMIF_10_REF_CLK_SHARING                           : EXPORTED
   EMIF_11_CONN_TO_CALIP                             : CALIP_0
   EMIF_11_STORED_PARAM                              : 
   EMIF_11_REF_CLK_SHARING                           : EXPORTED
   EMIF_12_CONN_TO_CALIP                             : CALIP_0
   EMIF_12_STORED_PARAM                              : 
   EMIF_12_REF_CLK_SHARING                           : EXPORTED
   EMIF_13_CONN_TO_CALIP                             : CALIP_0
   EMIF_13_STORED_PARAM                              : 
   EMIF_13_REF_CLK_SHARING                           : EXPORTED
   EMIF_14_CONN_TO_CALIP                             : CALIP_0
   EMIF_14_STORED_PARAM                              : 
   EMIF_14_REF_CLK_SHARING                           : EXPORTED
   EMIF_15_CONN_TO_CALIP                             : CALIP_0
   EMIF_15_STORED_PARAM                              : 
   EMIF_15_REF_CLK_SHARING                           : EXPORTED
   EX_DESIGN_GUI_GEN_SIM                             : true
   EX_DESIGN_GUI_GEN_SYNTH                           : true
   EX_DESIGN_GUI_GEN_BSI                             : false
   EX_DESIGN_GUI_GEN_CDC                             : false
   EX_DESIGN_GUI_TARGET_DEV_KIT                      : TARGET_DEV_KIT_NONE
   NUM_IPS_SAVED                                     : 0
   EX_DESIGN_GUI_PREV_PRESET                         : TARGET_DEV_KIT_NONE
   EX_DESIGN_GUI_LPDDR3_SEL_DESIGN                   : AVAIL_EX_DESIGNS_GEN_DESIGN
   EX_DESIGN_GUI_LPDDR3_GEN_SIM                      : true
   EX_DESIGN_GUI_LPDDR3_GEN_SYNTH                    : true
   EX_DESIGN_GUI_LPDDR3_GEN_BSI                      : false
   EX_DESIGN_GUI_LPDDR3_GEN_CDC                      : false
   EX_DESIGN_GUI_LPDDR3_HDL_FORMAT                   : HDL_FORMAT_VERILOG
   EX_DESIGN_GUI_LPDDR3_TARGET_DEV_KIT               : TARGET_DEV_KIT_NONE
   EX_DESIGN_GUI_LPDDR3_PREV_PRESET                  : TARGET_DEV_KIT_NONE


------------------------------------------
;  23. Configuring the Traffic Generator ;
------------------------------------------

   The EMIF traffic generator is a built-in verification solution for the EMIF IP.
   The default traffic generator performs random reads and writes in order to stress
   the memory interface. A new configurable traffic generator is also available for
   more complex testing and debugging. Both traffic generators can be instantiated as
   part of the EMIF IP.
   
   The Configurable Traffic Generator 2.0 (CTG2) has many configuration options. These
   include options in read/write command, address, data and data-mask generation. CTG2
   can be used in simulation and hardware verification.
   
   For full details concerning the traffic generator, including the new Configurable
   Traffic Generator 2.0, please consult Volume 3 of the EMIF Handbook.


