Visible to Intel only — GUID: hco1416491644469
Ixiasoft
Visible to Intel only — GUID: hco1416491644469
Ixiasoft
8.2.6. UniPHY Abstract PHY Simulation
Full calibration mode cannot be used with abstract models, which is the default model type for all devices except Arria V and Cyclone V. In addition to enabling full calibration during generation, you must also disable the use of abstract models by modifying the generated simulation scripts as described below. For VHDL, the UniPHY abstract model is the only option because you cannot switch to regular simulation model. The PLL frequencies in simulation may differ from the real time simulation due to pico-second timing rounding.
However, you can switch to regular simulation models for Verilog HDL language. The full and quick calibration modes are available for regular simulation models.
Add an additional command line to the compilation script for the two relevant files to enable regular PHY simulation:
+define+ALTERA_ALT_MEM_IF_PHY_FAST_SIM_MODEL=0
The two relevant files are:
- In <variation_name>_example_design/simulation/verilog/submodules:
<variation_name>_example_sim_e0_if0_p0.sv
and
<variation_name>_example_sim_e0_if0_pll0.sv
or
- In <variation_name>_sim/submodules:
<variation_name>_p0.sv
and
<variation_name>_pll0.sv
To switch to regular simulation models for the Verilog HDL language on the example simulation design, follow the appropriate steps for your simulator:
- For the Mentor simulator, edit the msim_setup.tcl file as follows:
vlog - sv "$QSYS_SIMDIR/submodules/<variation_name>_example_sim_e0_if0_p0.sv” +define+ALTERA_ALT_MEM_IF_PHY_FAST_SIM_MODEL=0 -work <variation_name>_example_sim_work
vlog - sv "$QSYS_SIMDIR/submodules/<variation_name>/_example_sim_e0_if0_pll0.sv" +define+ALTERA_ALT_MEM_IF_PHY_FAST_SIM_MODEL=0 -work <variation_name>_example_sim_work
- For the Cadence simulator, edit the ncsim_setup.sh file as follows:
ncvlog - sv “$QSYS_SIMDIR/submodules/<variation_name>_example_sim_e0_if0_p0.sv" +define+ALTERA_ALT_MEM_IF_PHY_FAST_SIM_MODEL=0 -work <variation_name>_example_sim_work - cdslib ./cds_libs/skip_example_sim_work.cds.lib
ncvlog - sv "$QSYS_SIMDIR/submodules/<variation_name>_example_sim_e0_if0_pll0.sv" +define+ALTERA_ALT_MEM_IF_PHY_FAST_SIM_MODEL=0 -work <variation_name>_example_sim_work - cdslib ./cds_libs/<variation_name>_example_sim_work.cds.lib
- For the Synopsys simulator, edit the vscmx_setup.sh file as follows:
vlogan +v2k - sverilog "$QSYS_SIMDIR/submodules/<variation_name>_example_sim_e0_if0_p0.sv" +define+ALTERA_ALT_MEM_IF_PHY_FAST_SIM_MODEL=0 - work <variation_name>_example_sim_work
vlogan +v2k - sverilog "$QSYS_SIMDIR/submodules/<variation_name>_example_sim_e0_if0_pll0.sv" +define+ALTERA_ALT_MEM_IF_PHY_FAST_SIM_MODEL=0 - work <variation_name>_example_sim_work
If you use the UniPHY abstract model, the simulation is two times faster in magnitude if compared to the real simulation model. Instantiating a standalone UniPHY IP in your design further improves the simulation time if you use a half-rate controller with UniPHY or a larger memory DQ width.