Main Content

Automation Scripts for Third-Party Synthesis Tools

Select a Synthesis Tool

You can enable or disable generation of synthesis scripts, and select the synthesis tool for which the coder generates scripts. To do so, in the Generate HDL tool, select the EDA Tool Scripts tab. Then select Synthesis script from the menu on the left side, and select your synthesis tool from the Choose synthesis tool drop-down menu.

Supported Synthesis Tools
Xilinx ISE
Xilinx Vivado
Microsemi Libero
Mentor Graphics Precision
Altera Quartus II
Synopsis Synplify Pro

When you select a synthesis tool, the coder:

  • Enables the fields in the Synthesis script pane.

  • Sets Synthesis file postfix to correspond with the tool you selected.

  • Fills in the Synthesis initialization, Synthesis command, and Synthesis termination fields with default Tcl script code for the tool.

If you select None, the coder does not generate a synthesis script. The coder clears and disables the fields in the Synthesis script pane.

You can also select 'Custom', and set the Synthesis initialization, Synthesis command, and Synthesis termination Tcl code fields to generate a script that supports your tool.

Customize Synthesis Script Generation

You can customize the script according to your target device, constraints, etc., by modifying the Tcl code in the Synthesis initialization, Synthesis command, and Synthesis termination fields. To see these options in the Generate HDL tool, select the EDA Tool Scripts tab, and click Synthesis script from the menu in the left column.

The coder prints the three sections of the script in the order shown in the tool. The script file is named according to the name of your module or entity combined with the text in Synthesis file postfix. The custom character vectors for each section are passed to fprintf to write each section of the synthesis script. You can use format character vectors supported by the fprintf function. In Synthesis initialization, you can use an implicit argument that is the name of your top-level module or entity. In Synthesis command, you can use an implicit argument that is the name of the file that contains your generated HDL code.

The figure shows the Synthesis script pane, with the options set to their default values.

Generate HDL tool

The coder generates a script called firfilt_copy_synplify.tcl:

project -new firfilt_copy.prj
add_file firfilt_copy.vhd
set_option -technology VIRTEX4
set_option -part XC4VSX35
set_option -synthesis_onoff_pragma 0
set_option -frequency auto
project -run synthesis

Programmatic Synthesis Automation

You can also specify the synthesis tool and script options as 'Name',Value arguments to the generatehdl function. For programmatic use with generatehdl, see HDL Synthesis and Workflow Automation Properties.