File Property : Support for VHDL 2008 in Vivado

In order to interpret VHDL 2008 files correctly Vivado requires the “FILE_TYPE” property on each file be set to “VHDL 2008”.

Is there a way to set file properties? And if not, is there a work around?

I tried adding “set_property FILE_TYPE {VHDL 2008} [get_files *.vhd]” to the syn_properties. That failed because it was interpreted prior to the files being loaded.

No, it isn’t yet possible.
Do you need to set it per file or for all the files ?

What if you create your own tcl script that does this and hook it to syn_post_project_cmd?

Look at the Manifest.py and syn_extra_steps.tcl script here for an idea on how to do it:

Essentially it boils down to writing your script and calling it from the Manifest with something like:

syn_post_project_cmd = "$(TCL_INTERPRETER) your_script.tcl $(PROJECT_FILE)"

This will run it after the Xilinx project has been created, but before doing any synthesis.

> Do you need to set it per file or for all the files ?

In my case it’s all the files. Though I could imagine a user who had a mix of VHDL file types.

@dlamprid, Thanks for the suggestion. This should work fine for me until we can get a proper solution.

My tcl script is as follows, note that this assumes all of my files are VHDL 2008, and that I had to exclude /synth/ files so that I would not mark Xilinx IP source files as VHDL 2008.

set_property FILE_TYPE {VHDL 2008} [get_files *.vhd -filter {NAME !~ "*/synth/*"}]
exit