Skip to content

wrong timing constraints on gc_sync from general_cores

the general-cores synchronizers are intended to be used with the script that generates the correct timing constaint on the basic sync elements:

https://ohwr.org/project/general-cores/blob/master/tools/generate_cdc_constraints.tcl

it should be run after the synth pass, and it generates an XDC file that should be read at that point (before PnR).

I have it working by adding the following to the build_gw.tcl


################################################################################
# Synthesis
################################################################################

# Launch Synthesis
print_msg "Launching Synthesis..." "info" "$script_name"
...

################################################################################
# generating timing constraint for gen-cores
################################################################################
open_run synth_1 -name synth_1
cd $build_dir/$project_name/
source ../../projects/diot_v2/src/ip_repo/fsi-tcp-core/src/rtl/general-cores/tools/generate_cdc_constraints.tcl
read_xdc gencores_constraints.xdc 
cd ../..

################################################################################
# Implementation and Bitstream Generation
################################################################################
...