AR# 47666


Vivado Design Suite 2012.1 - Guidance for Simulating Ethernet IP Cores


For the 2012.1 release of this core, the simulation process requires additional guidance. The Vivado design tools currently deliver IP simulation scripts when you elaborate the core which assume the core is delivered as a Verilog netlist; since the IP netlist is not automatically generated by the Vivado IP flow, the user must first manually synthesize the core, then run write_verilog to generate the netlist before the simulation can be run.


The required steps are as follows:

The following procedure assumes you have a Vivado project with the IP already added to it from the Vivado IP Catalog.

To run Functional Simulation:

  1. In the hierarchy view of the project, click to select the core.
  2. Right-click the core and select Generate.
  3. In the pop-up menu that appears, select "All", and click OK.
    • This will generate all the simulation support scripts for the core.
  4. In the hierarchy view, once again select the core,
  5. Click Run Synthesis.
  6. Once complete, select "open synthesis netlist".
  7. In the Tcl console enter:
    • write_verilog -mode funcsim <corename>.v (corename should be the user-defined name given to the IP when it is initially added to the original project, e.g., tri_mode_eth_mac_v5_3_0)
  8. This will write a netlist to the main project directory and return the created file name.
  9. This netlist is required by the simulation script, so copy this file to:
    • <project>.srcs/source_1/ip/<corename>/<corename>.v
  10. Navigate to:
    • <project>.srcs/sources_1/ip/<corename>/<corename>/simulation/functional
  11. Ensure the library definitions/links (e.g., modelsim.ini for MTI) are set.
  12. Run the simulation by executing the simulation script.
AR# 47666
Date 12/15/2012
Status Active
Type General Article
IP More Less
People Also Viewed