Vivado synthesis supports conditional identifiers that can be used to control synthesis based on the tool or the version.
For example, the following code creates an extra output if the tool is a synthesis tool :
entity my_ent is port(
clk : in std_logic;
in1, in2 : in std_logic;
`if TOOL_TYPE = "SYNTHESIS" then
new_out : out std_logic;
`end if
out1 : out std_logic;
Vivado synthesis supports the following conditional identifiers.
Identifier | Value |
---|---|
VHDL_VERSION | Same as in VHDL compile version |
TOOL_TYPE | “SYNTHESIS” |
TOOL_VENDOR | “AMD/XILINX” |
TOOL_NAME | “Vivado” |
TOOL_EDITION | “ML Editions” |
TOOL_VERSION | Current tool version |
Note: The values for these identifiers are case
sensitive.