Intel® Quartus® Prime Pro Edition User Guide: Third-party Simulation

ID 683870
Date 4/13/2022
Public

A newer version of this document is available. Customers should click here to go to the newest version.

Document Table of Contents

2.5.2. Using The EDA Netlist Writer

The Intel® Quartus® Prime EDA Netlist Writer (quartus_eda on the command line) allows you to write gate-level (technology mapped) netlists for simulation and other applications. Using simulation of gate-level netlists as the main method of testing and validation is not recommended. Gate level simulation is slower than RTL simulation and it is harder to debug because of the remapping of nodes and names.

The EDA netlist writer supports the following design port types. Your design ports must be of these types to generate a .vo or .vho netlist for simulation:

  • Single-bit signal types
  • One-dimensional arrays
  • Two-dimensional arrays

The EDA Netlist Writer does not support complex data types, such as enums, stucts, unions, or interfaces, at the external boundary of the design or the partition that it produces.

The EDA Netlist Writer can produce netlists after synthesis and after the completion of the Fitter, the synthesized, and final snapshot respectively. The EDA Netlist Writer supports output of Verilog (.vo) and VHDL (.vho) netlists. The EDA Netlist Writer can also produce Verilog Quartus Map (.vqm) netlists for resynthesis.

Start the EDA Netlist Writer from the Processing menu, or from the command line using quartus_eda, followed by the set of options to specify the type of netlist to produce.

--simulation

The simulation flag specifies that quartus_eda creates a Verilog (.vo) or VHDL (.vho) gate-level netlist, for simulation by one of the supported simulators. This option requires you to also specify the target tool and format for the simulation.

--tool=<modelsim|questa_oem|vcs|vcs_mx|xcelium|rivierapro|activehdl|verilogxl>

This option specifies that quartus_eda writes out a netlist for the specified third-party EDA tool. You can choose the third-party EDA tool from one of the three categories of available tools: simulation, timing analysis, or board level design and analysis.

This option overrides the settings specified in the Intel® Quartus® Prime Settings File (.qsf). Specify both the tool name and format to generate a netlist.

--format=<vhdl|verilog|ibis (when using with –board_signal_integrity flag)>

The --format option specifies whether the simulation option produces a Verilog or VHDL gate-level netlist.

--resynthesis

The --resynthesis flag specifies that quartus_eda creates a Verilog Quartus Map (.vqm) netlist. The software can resynthesize the netlist as an RTL input, from the gate-level netlist. Only use this option with partitions containing core logic only, not periphery. The sub-option is a flag only and takes no arguments.

--power

The --power flag specifies that quartus_eda generates a standard delay format output (.sdo) file. You can use this file in power analysis, but the file is not a fully accurate timing simulation. Currently this option is only supported for Verilog HDL simulations in the ModelSim* simulator.

--partition=<partition name>

The --partition selects an individual partition as the netlist output. For no partition argument, the software writes the entire design out to a single file. The partition argument takes a name of a partition in the design.

You can use the --partition option with the --simulation (.vo, .vho) and --resynthesis (.vqm) output.

--exclude_sub_partitions

The --exclude_sub_partitions flag limits the output to the netlist of this partition only. This flag is only valid when you use the --partition option, this flag outputs the netlist belonging to the partition you specify. The software instantiates subpartitions as module instances in the netlist. The sub-option is a flag only and takes no arguments.

When you specify the --exclude_sub_partitions flag, the software only writes out the contents of the selected partition. Each call of quartus_eda writes one netlist. If you write out the design one partition at a time, using the exclude_sub_partitions flag, you need to call quartus_eda for each partition in the design including the root.

You can specify the root_partition as the partition name in the --partition option to get the top level partition, which is useful when using the --exclude_sub_partitions flag.

--module_name

The --module_name option allows you to rename a partition name in the generated netlist file. By default, the software uses the partition name as the module name in the netlist file. This option is only valid when you use the --partition option. You can rename any module using --module_name=abc=xyz. The generated file names format is: <revision>.<partition name>.<vo or vho>. By default, the Intel® Quartus® Prime software writes the netlist file to the simulation directory (for example, simulation/questa), unless you specify an output_directory (using a command line option or .qsf assignment).