diff --git a/toolflow/vivado/platform/AU280/plugins/hbm.tcl b/toolflow/vivado/platform/AU280/plugins/hbm.tcl index 423b28b3..5ef4fd27 100644 --- a/toolflow/vivado/platform/AU280/plugins/hbm.tcl +++ b/toolflow/vivado/platform/AU280/plugins/hbm.tcl @@ -288,15 +288,17 @@ namespace eval hbm { current_bd_instance /arch set mgroups [platform::max_masters] set masters [ldiff [lsort -dictionary [tapasco::get_aximm_interfaces [get_bd_cells /arch/target_ip_*]]] $hbmInterfaces] - set arch_mem_ics [arch::arch_create_mem_interconnects $mgroups [llength $masters]] - arch::arch_connect_mem $arch_mem_ics $masters - - connect_bd_net [tapasco::subsystem::get_port "design" "clk"] \ - [get_bd_pins -of_objects [get_bd_cells] -filter "TYPE == clk && DIR == I"] - connect_bd_net -quiet [tapasco::subsystem::get_port "design" "rst" "interconnect"] \ - [get_bd_pins -of_objects [get_bd_cells] -filter "TYPE == rst && NAME =~ *interconnect_aresetn && DIR == I"] - connect_bd_net [tapasco::subsystem::get_port "design" "rst" "peripheral" "resetn"] \ - [get_bd_pins -of_objects [get_bd_cells -of_objects [current_bd_instance .]] -filter "TYPE == rst && NAME =~ *peripheral_aresetn && DIR == I"] + if {[llength $masters] > 0} { + set arch_mem_ics [arch::arch_create_mem_interconnects $mgroups [llength $masters]] + arch::arch_connect_mem $arch_mem_ics $masters + + connect_bd_net [tapasco::subsystem::get_port "design" "clk"] \ + [get_bd_pins -of_objects [get_bd_cells] -filter "TYPE == clk && DIR == I"] + connect_bd_net -quiet [tapasco::subsystem::get_port "design" "rst" "interconnect"] \ + [get_bd_pins -of_objects [get_bd_cells] -filter "TYPE == rst && NAME =~ *interconnect_aresetn && DIR == I"] + connect_bd_net [tapasco::subsystem::get_port "design" "rst" "peripheral" "resetn"] \ + [get_bd_pins -of_objects [get_bd_cells -of_objects [current_bd_instance .]] -filter "TYPE == rst && NAME =~ *peripheral_aresetn && DIR == I"] + } # apply constraints for one or both stacks current_bd_instance /hbm diff --git a/toolflow/vivado/platform/xupvvh/plugins/hbm.tcl b/toolflow/vivado/platform/xupvvh/plugins/hbm.tcl index 07326dd2..8ef46692 100644 --- a/toolflow/vivado/platform/xupvvh/plugins/hbm.tcl +++ b/toolflow/vivado/platform/xupvvh/plugins/hbm.tcl @@ -306,16 +306,18 @@ namespace eval hbm { current_bd_instance /arch set mgroups [platform::max_masters] set masters [ldiff [lsort -dictionary [tapasco::get_aximm_interfaces [get_bd_cells /arch/target_ip_*]]] $hbmInterfaces] - set arch_mem_ics [arch::arch_create_mem_interconnects $mgroups [llength $masters]] - arch::arch_connect_mem $arch_mem_ics $masters - - connect_bd_net [tapasco::subsystem::get_port "design" "clk"] \ - [get_bd_pins -of_objects [get_bd_cells] -filter "TYPE == clk && DIR == I"] - connect_bd_net -quiet [tapasco::subsystem::get_port "design" "rst" "interconnect"] \ - [get_bd_pins -of_objects [get_bd_cells] -filter "TYPE == rst && NAME =~ *interconnect_aresetn && DIR == I"] - connect_bd_net [tapasco::subsystem::get_port "design" "rst" "peripheral" "resetn"] \ - [get_bd_pins -of_objects [get_bd_cells -of_objects [current_bd_instance .]] -filter "TYPE == rst && NAME =~ *peripheral_aresetn && DIR == I"] - + if {[llength $masters] > 0} { + set arch_mem_ics [arch::arch_create_mem_interconnects $mgroups [llength $masters]] + arch::arch_connect_mem $arch_mem_ics $masters + + connect_bd_net [tapasco::subsystem::get_port "design" "clk"] \ + [get_bd_pins -of_objects [get_bd_cells] -filter "TYPE == clk && DIR == I"] + connect_bd_net -quiet [tapasco::subsystem::get_port "design" "rst" "interconnect"] \ + [get_bd_pins -of_objects [get_bd_cells] -filter "TYPE == rst && NAME =~ *interconnect_aresetn && DIR == I"] + connect_bd_net [tapasco::subsystem::get_port "design" "rst" "peripheral" "resetn"] \ + [get_bd_pins -of_objects [get_bd_cells -of_objects [current_bd_instance .]] -filter "TYPE == rst && NAME =~ *peripheral_aresetn && DIR == I"] + } + # apply constraints for one or both stacks current_bd_instance /hbm set constraints_l "$::env(TAPASCO_HOME_TCL)/platform/xupvvh/plugins/hbm_l.xdc"