66 lines
2.5 KiB
Tcl
66 lines
2.5 KiB
Tcl
if {[catch {
|
|
|
|
########################################################################################################
|
|
|
|
# Config
|
|
source "${CMAKE_BINARY_DIR}/base.tcl"
|
|
|
|
########################################################################################################
|
|
# Linking
|
|
########################################################################################################
|
|
set_msg_config -suppress -id {[DRC RPBF-3] IO port buffering is incomplete}
|
|
set_msg_config -suppress -id {[Constraints 18-4866] Site}
|
|
set_msg_config -suppress -id {[Vivado 12-2261] HD.PARTPIN_RANGE cannot be set on pins}
|
|
set_msg_config -suppress -id {[Vivado 12-4385] Failed to assign PARTPIN_RANGE on port}
|
|
|
|
puts "[color $clr_flow "** Starting shell linking ..."]"
|
|
puts "[color $clr_flow "**"]"
|
|
create_project -in_memory -part $part
|
|
|
|
if {$cfg(build_static) eq 1} {
|
|
# Static
|
|
add_files "$dcp_dir/static/static_synthed.dcp"
|
|
add_files -fileset [get_filesets constrs_1] "$hw_dir/constraints/$cfg(fdev)/static/impl"
|
|
add_files -fileset [get_filesets constrs_1] "$hw_dir/constraints/$cfg(fdev)/fplan"
|
|
} else {
|
|
# Shell
|
|
add_files "$cfg(static_path)/static_routed_locked_$cfg(fdev).dcp"
|
|
}
|
|
add_files -fileset [get_filesets constrs_1] "$hw_dir/constraints/$cfg(fdev)/shell/impl"
|
|
add_files -fileset [get_filesets constrs_1] "$hw_dir/constraints/$cfg(fdev)/dynamic/impl"
|
|
|
|
# Shell
|
|
add_files "$dcp_dir/shell/shell_synthed.dcp"
|
|
set_property SCOPED_TO_CELLS {inst_shell} [get_files "$dcp_dir/shell/shell_synthed.dcp"]
|
|
|
|
# User
|
|
for {set j 0} {$j < $cfg(n_reg)} {incr j} {
|
|
add_files "$dcp_dir/config_0/user_synthed_c0_$j.dcp"
|
|
set cmd "set_property SCOPED_TO_CELLS {inst_shell/inst_dynamic/inst_user_wrapper_$j} \[get_files \"$dcp_dir/config_0/user_synthed_c0_$j.dcp\"]"
|
|
eval $cmd
|
|
}
|
|
|
|
# Link
|
|
link_design -mode default -reconfig_partitions {inst_shell} -part $part -top cyt_top
|
|
write_checkpoint -force "$dcp_dir/shell_linked.dcp"
|
|
|
|
#########################################################################################################
|
|
# Linking done
|
|
#########################################################################################################
|
|
close_project
|
|
|
|
puts ""
|
|
puts "[color $clr_cmplt "**"]"
|
|
puts "[color $clr_cmplt "** Shell linking completed"]"
|
|
puts "[color $clr_cmplt "**"]"
|
|
puts ""
|
|
|
|
########################################################################################################
|
|
|
|
} errorstring]} {
|
|
puts "[color $clr_error "** CERR: $errorstring"]"
|
|
puts "[color $clr_error "**"]"
|
|
exit 1
|
|
}
|
|
|
|
exit 0 |