Knowledge Base Article
Why does my synthesis fail on the floating-point library blocks?
Description
Synthesis may fail with designs that include floating point library blocks. This issue affects all designs that use floating-point library blocks. The design fails.
Resolution
To work around the issue, perform the following steps:
- In the import directory that DSP Builder creates (DSPBuilder_<modelname>_import), when you compile (which fails), create a file called aaa_add.tcl (alphabetically first so it runs before other files).
Add the following lines to that file: set quartus_dir $::env(QUARTUS_ROOTDIR)
if [info exists ::env(DSPBA_HDL_DIR)] {
set dspba_hdl_dir $::env(DSPBA_HDL_DIR)
} else {
set dspba_hdl_dir /dspba/Libraries
}
set_global_assignment -name VHDL_FILE /vhdl/fpc/hcc_package.vhd
set_global_assignment -name VHDL_FILE /vhdl/fpc/math_package.vhd
set_global_assignment -name VHDL_FILE /vhdl/fpc/hcc_implementation.vhd
set_global_assignment -name VHDL_FILE /vhdl/fpc/math_implementation.vhd
set_global_assignment -name VHDL_FILE /vhdl/fpc/fpc_library_package.vhd
set_global_assignment -name VHDL_FILE /vhdl/fpc/fpc_library.vhd
- Create another file called aaa_add_msim.tcl.
- Add the following lines:
set base_dir "<path to your DSPBA rtl directory>"
set quartus_dir $::env(QUARTUS_ROOTDIR)
if [info exists ::env(DSPBA_HDL_DIR)] {
set dspba_hdl_dir $::env(DSPBA_HDL_DIR)
} else {
set dspba_hdl_dir /dspba/Libraries
}
file delete -force /fpc
vlib fpc
vmap fpc /fpc
vcom -quiet -93 -work /fpc "/vhdl/fpc/hcc_package.vhd"
vcom -quiet -93 -work /fpc "/vhdl/fpc/math_package.vhd"
vcom -quiet -93 -work /fpc "/vhdl/fpc/hcc_implementation.vhd"
vcom -quiet -93 -work /fpc "/vhdl/fpc/math_implementation.vhd"
vcom -quiet -93 -work /fpc "/vhdl/fpc/fpc_library_package.vhd"
vcom -quiet -93 -work /fpc "/vhdl/fpc/fpc_library.vhd"
- Rerun the complation.
This problem is fixed in DSP Builder v13.1.