I found some tcl scripts concerning the base.sdc file in my BSP:
$ grep --color=always -R "base.sdc" ./
Binary file ./hardware/xpressgxa10_lp1150_v1_ultra_ddr4/base.qar matches
./hardware/xpressgxa10_lp1150_v1_ultra_ddr4/scripts/base_write_sdc.tcl:# write_sdc base.sdc
./hardware/xpressgxa10_lp1150_v1_ultra_ddr4/scripts/base_write_sdc.tcl:# Create base.sdc file from SDC file list extracted from base.sta.rpt.
./hardware/xpressgxa10_lp1150_v1_ultra_ddr4/scripts/base_write_sdc.tcl:create_source_from_list "base.sdc"
./hardware/xpressgxa10_lp1150_v1_ultra_ddr4/scripts/post_flow_pr.tcl: post_message "Compiling base revision -> exporting SDC constraints to base.sdc!"
./hardware/xpressgxa10_lp1150_v1_ultra_ddr4/scripts/qar_ip_files.tcl: set list_in "opencl_bsp_ip.qsf base.qdb base.sdc pr_base.id"
./hardware/xpressgxa10_lp1150_v1_ultra_ddr4/tmp_qar_list:base.sdc
./hardware/xpressgxa10_lp1150_v1_ultra_ddr4/top.qsf:set_global_assignment -name SDC_FILE base.sdc
When opening base_write_sdc.tcl, which is probably my best clue, I find :
# ====================================================================================================================# This procedure create a list of .sdc files found in a .sta.rpt from Quartus compilation.# ====================================================================================================================
proc get_sdc_from_sta_rpt {filename} {
list sdc_list
set flag0 0
set flag1 0
set flag2 0
set fid
while { >= 0} {
if { $flag0==0 && ==1} {set flag0 1; continue}
if {$flag0==1 && $flag1==0 && ==1} {set flag1 1; continue}
if {$flag1==1 && $flag2==0 && ==1} {set flag2 1; continue}
if {$flag2==1 && ==1} { break}
if {$flag2==1} {
set split_line
lappend sdc_list ]
}
}
close $fid
return $sdc_list
}
# ====================================================================================================================# This procedure create a file which sources all files passed in argument.# ====================================================================================================================
proc create_source_from_list {filename list} {
set fid
foreach l $list {
puts $fid "source $l"
}
close $fid
}
# ====================================================================================================================# Create base.sdc file from SDC file list extracted from base.sta.rpt.# ====================================================================================================================
create_source_from_list "base.sdc"
So I searched for "base.sta.rpt", because I understand that it is the file that creates base.sdc, but it is nowhere to be found ... :/ (except in the previous script).