Skip to content

Add native support for VHDL-2008 features #155

@DavidMonk00

Description

@DavidMonk00

When attempting to build a design with the IEEE.FIXED_PKG package in vivado, the following errors are thrown:

chk-syn | CRITICAL WARNING: [HDL 9-3134] 'fixed_pkg' is not compiled in library 'ieee' [/builds/cms-tracker-phase2-data-processing/BE_firmware/mprocessor/ci/builds/work/src/mprocessor/top/firmware/hdl/TrackReconstructor.vhd:4]
chk-syn | INFO: [HDL 9-3642] library 'ieee' is mapped to '/opt/Xilinx/Vivado/2020.2/data/precomp_hsv/vhdl/ieee_2008' [/builds/cms-tracker-phase2-data-processing/BE_firmware/mprocessor/ci/builds/work/src/mprocessor/top/firmware/hdl/TrackReconstructor.vhd:4]
chk-syn | ERROR: [HDL 9-3136] 'sfixed' is not declared [/builds/cms-tracker-phase2-data-processing/BE_firmware/mprocessor/ci/builds/work/src/mprocessor/top/firmware/hdl/TrackReconstructor.vhd:27]

This is due to 2008 features not being compiled by default by into the ieee library. The Vivado User Guide recognises this and suggests the following solution (p 219):
First, compile the Fixed Package in the IEEE library.
This package is available in the file: fixed_pkg_2008.vhd, in the scripts/rt/data/
directory in your Vivado install.
This package is not precompiled in Vivado, so you must compile the file in your design.
To compile the file using Tcl commands, type the following on the Tcl Console:

add_files -norecurse <path to package file>/fixed_pkg_2008.vhd
set_property library ieee [get_files <path to package file>/fixed_pkg_2008.vhd]
read_vhdl -vhdl2008 ./my_design.vhd
launch_runs synth_1 -jobs 4
wait_on_run synth_1
open_run synth_1 -name synth_1

Could the relevant lines be added to the Generate Project command within ipbb? Having native support would ensure portability of code compared to adding these lines into a .tcl file which is then called by ipbb. If this is not possible, how would you suggest that this issue is best fixed?

Metadata

Metadata

Type

No type

Projects

No projects

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions