1#***************************************************************************************** 2# Vivado (TM) v2019.1 (64-bit) 3# 4# project_v4.tcl: Tcl script for re-creating project 'faust_v4_project' 5# 6# Generated by Vivado on Fri Jun 25 15:15:29 CEST 2021 7# IP Build 2548770 on Fri May 24 18:01:18 MDT 2019 8# 9# This file contains the Vivado Tcl commands for re-creating the project to the state* 10# when this script was generated. In order to re-create the project, please source this 11# file in the Vivado Tcl Shell. 12# 13# * Note that the runs in the created project will be configured the same way as the 14# original project, however they will not be launched automatically. To regenerate the 15# run results please launch the synthesis/implementation runs as needed. 16# 17#***************************************************************************************** 18# NOTE: In order to use this script for source control purposes, please make sure that the 19# following files are added to the source control system:- 20# 21# 1. This project restoration tcl script (project_v4.tcl) that was generated. 22# 23# 2. The following source(s) files that were local or imported into the original project. 24# (Please see the '$orig_proj_dir' and '$origin_dir' variable setting below at the start of the script) 25# 26# "/home/trisset/technical/syfala/v5.5-oussama/v4.1-hand-shake-no-axi/build/faust_v4_project/faust_v4_project.srcs/sources_1/imports/src/debounce_onepulse.vhd" 27# "/home/trisset/technical/syfala/v5.5-oussama/v4.1-hand-shake-no-axi/build/faust_v4_project/faust_v4_project.srcs/sources_1/imports/src/i2c_master.vhd" 28# "/home/trisset/technical/syfala/v5.5-oussama/v4.1-hand-shake-no-axi/build/faust_v4_project/faust_v4_project.srcs/sources_1/imports/src/i2s_transceiver.vhd" 29# "/home/trisset/technical/syfala/v5.5-oussama/v4.1-hand-shake-no-axi/build/faust_v4_project/faust_v4_project.srcs/sources_1/imports/vhdl/fixed_float_types_c.vhd" 30# "/home/trisset/technical/syfala/v5.5-oussama/v4.1-hand-shake-no-axi/build/faust_v4_project/faust_v4_project.srcs/sources_1/imports/vhdl/fixed_pkg_c.vhd" 31# "/home/trisset/technical/syfala/v5.5-oussama/v4.1-hand-shake-no-axi/build/faust_v4_project/faust_v4_project.srcs/sources_1/imports/vhdl/faust.vhd" 32# "/home/trisset/technical/syfala/v5.5-oussama/v4.1-hand-shake-no-axi/build/faust_v4_project/faust_v4_project.srcs/sources_1/imports/src/bd/main_wrapper.vhd" 33# "/home/trisset/technical/syfala/v5.5-oussama/v4.1-hand-shake-no-axi/build/faust_v4_project/faust_v4_project.srcs/constrs_1/imports/src/master.xdc" 34# "/home/trisset/technical/syfala/v5.5-oussama/v4.1-hand-shake-no-axi/build/faust_v4_project/faust_v4_project.srcs/sim_1/imports/sim/main_wrapper_behav.wcfg" 35# 36# 3. The following remote source files that were added to the original project:- 37# 38# <none> 39# 40#***************************************************************************************** 41 42# Set the reference directory for source file relative paths (by default the value is script directory path) 43set origin_dir "." 44 45# Use origin directory path location variable, if specified in the tcl shell 46if { [info exists ::origin_dir_loc] } { 47 set origin_dir $::origin_dir_loc 48} 49 50# Set the project name 51set _xil_proj_name_ "faust_v4_project" 52 53# Use project name variable, if specified in the tcl shell 54if { [info exists ::user_project_name] } { 55 set _xil_proj_name_ $::user_project_name 56} 57 58variable script_file 59set script_file "project_v4.tcl" 60 61# Help information for this script 62proc print_help {} { 63 variable script_file 64 puts "\nDescription:" 65 puts "Recreate a Vivado project from this script. The created project will be" 66 puts "functionally equivalent to the original project for which this script was" 67 puts "generated. The script contains commands for creating a project, filesets," 68 puts "runs, adding/importing sources and setting properties on various objects.\n" 69 puts "Syntax:" 70 puts "$script_file" 71 puts "$script_file -tclargs \[--origin_dir <path>\]" 72 puts "$script_file -tclargs \[--project_name <name>\]" 73 puts "$script_file -tclargs \[--help\]\n" 74 puts "Usage:" 75 puts "Name Description" 76 puts "-------------------------------------------------------------------------" 77 puts "\[--origin_dir <path>\] Determine source file paths wrt this path. Default" 78 puts " origin_dir path value is \".\", otherwise, the value" 79 puts " that was set with the \"-paths_relative_to\" switch" 80 puts " when this script was generated.\n" 81 puts "\[--project_name <name>\] Create project with the specified name. Default" 82 puts " name is the name of the project from where this" 83 puts " script was generated.\n" 84 puts "\[--help\] Print help information for this script" 85 puts "-------------------------------------------------------------------------\n" 86 exit 0 87} 88 89if { $::argc > 0 } { 90 for {set i 0} {$i < $::argc} {incr i} { 91 set option [string trim [lindex $::argv $i]] 92 switch -regexp -- $option { 93 "--origin_dir" { incr i; set origin_dir [lindex $::argv $i] } 94 "--project_name" { incr i; set _xil_proj_name_ [lindex $::argv $i] } 95 "--help" { print_help } 96 default { 97 if { [regexp {^-} $option] } { 98 puts "ERROR: Unknown option '$option' specified, please type '$script_file -tclargs --help' for usage info.\n" 99 return 1 100 } 101 } 102 } 103 } 104} 105 106# Set the directory path for the original project from where this script was exported 107set orig_proj_dir "[file normalize "$origin_dir/build/faust_v4_project"]" 108 109# Create project 110create_project ${_xil_proj_name_} ./${_xil_proj_name_} -part xc7z010clg400-1 -force 111 112# Set the directory path for the new project 113set proj_dir [get_property directory [current_project]] 114 115# Set project properties 116set obj [current_project] 117set_property -name "board_part" -value "digilentinc.com:zybo-z7-10:part0:1.0" -objects $obj 118set_property -name "board_part_repo_paths" -value "/home/trisset/.Xilinx/Vivado/2019.1/xhub/board_store" -objects $obj 119set_property -name "default_lib" -value "xil_defaultlib" -objects $obj 120set_property -name "dsa.accelerator_binary_content" -value "bitstream" -objects $obj 121set_property -name "dsa.accelerator_binary_format" -value "xclbin2" -objects $obj 122set_property -name "dsa.board_id" -value "zybo-z7-10" -objects $obj 123set_property -name "dsa.description" -value "Vivado generated DSA" -objects $obj 124set_property -name "dsa.dr_bd_base_address" -value "0" -objects $obj 125set_property -name "dsa.emu_dir" -value "emu" -objects $obj 126set_property -name "dsa.flash_interface_type" -value "bpix16" -objects $obj 127set_property -name "dsa.flash_offset_address" -value "0" -objects $obj 128set_property -name "dsa.flash_size" -value "1024" -objects $obj 129set_property -name "dsa.host_architecture" -value "x86_64" -objects $obj 130set_property -name "dsa.host_interface" -value "pcie" -objects $obj 131set_property -name "dsa.num_compute_units" -value "60" -objects $obj 132set_property -name "dsa.platform_state" -value "pre_synth" -objects $obj 133set_property -name "dsa.vendor" -value "xilinx" -objects $obj 134set_property -name "dsa.version" -value "0.0" -objects $obj 135set_property -name "enable_vhdl_2008" -value "1" -objects $obj 136set_property -name "ip_cache_permissions" -value "read write" -objects $obj 137set_property -name "ip_output_repo" -value "$proj_dir/${_xil_proj_name_}.cache/ip" -objects $obj 138set_property -name "mem.enable_memory_map_generation" -value "1" -objects $obj 139set_property -name "sim.central_dir" -value "$proj_dir/${_xil_proj_name_}.ip_user_files" -objects $obj 140set_property -name "sim.ip.auto_export_scripts" -value "1" -objects $obj 141set_property -name "simulator_language" -value "Mixed" -objects $obj 142set_property -name "target_language" -value "VHDL" -objects $obj 143set_property -name "webtalk.activehdl_export_sim" -value "6" -objects $obj 144set_property -name "webtalk.ies_export_sim" -value "6" -objects $obj 145set_property -name "webtalk.modelsim_export_sim" -value "6" -objects $obj 146set_property -name "webtalk.questa_export_sim" -value "6" -objects $obj 147set_property -name "webtalk.riviera_export_sim" -value "6" -objects $obj 148set_property -name "webtalk.vcs_export_sim" -value "6" -objects $obj 149set_property -name "webtalk.xsim_export_sim" -value "6" -objects $obj 150set_property -name "webtalk.xsim_launch_sim" -value "6" -objects $obj 151set_property -name "xpm_libraries" -value "XPM_CDC" -objects $obj 152 153# Create 'sources_1' fileset (if not found) 154if {[string equal [get_filesets -quiet sources_1] ""]} { 155 create_fileset -srcset sources_1 156} 157 158# Set IP repository paths 159#set obj [get_filesets sources_1] 160#set_property "ip_repo_paths" "[file normalize "$origin_dir/build/faust_v4_ip/faust_v4"]" $obj 161 162# Rebuild user ip_repo's index before adding any source files 163update_ip_catalog -rebuild 164 165# Set 'sources_1' fileset object 166set obj [get_filesets sources_1] 167# Import local files from the original project 168set files [list \ 169 [file normalize "${origin_dir}/src/debounce_onepulse.vhd"]\ 170 [file normalize "${origin_dir}/src/i2c_master.vhd"]\ 171 [file normalize "${origin_dir}/src/i2s_transceiver.vhd"]\ 172 [file normalize "${origin_dir}/vhdl/fixed_float_types_c.vhd"]\ 173 [file normalize "${origin_dir}/vhdl/fixed_pkg_c.vhd"]\ 174 [file normalize "${origin_dir}/vhdl/faust.vhd"]\ 175 [file normalize "${origin_dir}/src/bd/main_wrapper.vhd" ]\ 176] 177set imported_files [import_files -fileset sources_1 $files] 178 179# Set 'sources_1' fileset file properties for remote files 180# None 181 182# Set 'sources_1' fileset file properties for local files 183set file "src/debounce_onepulse.vhd" 184set file_obj [get_files -of_objects [get_filesets sources_1] [list "*$file"]] 185set_property -name "file_type" -value "VHDL" -objects $file_obj 186 187set file "src/i2c_master.vhd" 188set file_obj [get_files -of_objects [get_filesets sources_1] [list "*$file"]] 189set_property -name "file_type" -value "VHDL" -objects $file_obj 190 191set file "src/i2s_transceiver.vhd" 192set file_obj [get_files -of_objects [get_filesets sources_1] [list "*$file"]] 193set_property -name "file_type" -value "VHDL" -objects $file_obj 194 195set file "vhdl/fixed_float_types_c.vhd" 196set file_obj [get_files -of_objects [get_filesets sources_1] [list "*$file"]] 197set_property -name "file_type" -value "VHDL" -objects $file_obj 198 199set file "vhdl/fixed_pkg_c.vhd" 200set file_obj [get_files -of_objects [get_filesets sources_1] [list "*$file"]] 201set_property -name "file_type" -value "VHDL" -objects $file_obj 202 203set file "vhdl/faust.vhd" 204set file_obj [get_files -of_objects [get_filesets sources_1] [list "*$file"]] 205set_property -name "file_type" -value "VHDL" -objects $file_obj 206 207set file "bd/main_wrapper.vhd" 208set file_obj [get_files -of_objects [get_filesets sources_1] [list "*$file"]] 209set_property -name "file_type" -value "VHDL" -objects $file_obj 210 211 212# Set 'sources_1' fileset properties 213set obj [get_filesets sources_1] 214set_property -name "top" -value "main_wrapper" -objects $obj 215set_property -name "top_auto_set" -value "0" -objects $obj 216 217# Create 'constrs_1' fileset (if not found) 218if {[string equal [get_filesets -quiet constrs_1] ""]} { 219 create_fileset -constrset constrs_1 220} 221 222# Set 'constrs_1' fileset object 223set obj [get_filesets constrs_1] 224 225# Add/Import constrs file and set constrs file properties 226set file "[file normalize ${origin_dir}/src/master.xdc]" 227set file_imported [import_files -fileset constrs_1 [list $file]] 228set file "src/master.xdc" 229set file_obj [get_files -of_objects [get_filesets constrs_1] [list "*$file"]] 230set_property -name "file_type" -value "XDC" -objects $file_obj 231 232# Set 'constrs_1' fileset properties 233set obj [get_filesets constrs_1] 234 235# Create 'sim_1' fileset (if not found) 236if {[string equal [get_filesets -quiet sim_1] ""]} { 237 create_fileset -simset sim_1 238} 239 240# Set 'sim_1' fileset object 241set obj [get_filesets sim_1] 242# Import local files from the original project 243set files [list \ 244 [file normalize "${origin_dir}/src/sim/main_wrapper_behav.wcfg"]\ 245] 246set imported_files [import_files -fileset sim_1 $files] 247 248# Set 'sim_1' fileset file properties for remote files 249# None 250 251# Set 'sim_1' fileset file properties for local files 252# None 253 254# Set 'sim_1' fileset properties 255set obj [get_filesets sim_1] 256set_property -name "top" -value "main_wrapper" -objects $obj 257set_property -name "top_auto_set" -value "0" -objects $obj 258set_property -name "top_lib" -value "xil_defaultlib" -objects $obj 259 260# Set 'utils_1' fileset object 261set obj [get_filesets utils_1] 262# Empty (no sources present) 263 264# Set 'utils_1' fileset properties 265set obj [get_filesets utils_1] 266 267 268# # Adding sources referenced in BDs, if not already added 269# if { [get_files debounce_onepulse.vhd] == "" } { 270# import_files -quiet -fileset sources_1 /home/trisset/technical/syfala/v5.5-oussama/v4.1-hand-shake-no-axi/build/faust_v4_project/faust_v4_project.srcs/sources_1/imports/src/debounce_onepulse.vhd 271# } 272# if { [get_files i2c_master.vhd] == "" } { 273# import_files -quiet -fileset sources_1 /home/trisset/technical/syfala/v5.5-oussama/v4.1-hand-shake-no-axi/build/faust_v4_project/faust_v4_project.srcs/sources_1/imports/src/i2c_master.vhd 274# } 275# if { [get_files i2s_transceiver.vhd] == "" } { 276# import_files -quiet -fileset sources_1 /home/trisset/technical/syfala/v5.5-oussama/v4.1-hand-shake-no-axi/build/faust_v4_project/faust_v4_project.srcs/sources_1/imports/src/i2s_transceiver.vhd 277# } 278# if { [get_files fixed_float_types_c.vhd] == "" } { 279# import_files -quiet -fileset sources_1 /home/trisset/technical/syfala/v5.5-oussama/v4.1-hand-shake-no-axi/build/faust_v4_project/faust_v4_project.srcs/sources_1/imports/vhdl/fixed_float_types_c.vhd 280# } 281# if { [get_files fixed_pkg_c.vhd] == "" } { 282# import_files -quiet -fileset sources_1 /home/trisset/technical/syfala/v5.5-oussama/v4.1-hand-shake-no-axi/build/faust_v4_project/faust_v4_project.srcs/sources_1/imports/vhdl/fixed_pkg_c.vhd 283# } 284# if { [get_files faust.vhd] == "" } { 285# import_files -quiet -fileset sources_1 /home/trisset/technical/syfala/v5.5-oussama/v4.1-hand-shake-no-axi/build/faust_v4_project/faust_v4_project.srcs/sources_1/imports/vhdl/faust.vhd 286# } 287 288 289# Proc to create BD main 290proc cr_bd_main { parentCell } { 291# The design that will be created by this Tcl proc contains the following 292# module references: 293# FAUST, i2cemu, i2s_transceiver 294 295 296 297 # CHANGE DESIGN NAME HERE 298 set design_name main 299 300 common::send_msg_id "BD_TCL-003" "INFO" "Currently there is no design <$design_name> in project, so creating one..." 301 302 create_bd_design $design_name 303 304 set bCheckIPsPassed 1 305 ################################################################## 306 # CHECK IPs 307 ################################################################## 308 set bCheckIPs 1 309 if { $bCheckIPs == 1 } { 310 set list_check_ips "\ 311 xilinx.com:ip:clk_wiz:6.0\ 312 xilinx.com:ip:proc_sys_reset:5.0\ 313 " 314 315 set list_ips_missing "" 316 common::send_msg_id "BD_TCL-006" "INFO" "Checking if the following IPs exist in the project's IP catalog: $list_check_ips ." 317 318 foreach ip_vlnv $list_check_ips { 319 set ip_obj [get_ipdefs -all $ip_vlnv] 320 if { $ip_obj eq "" } { 321 lappend list_ips_missing $ip_vlnv 322 } 323 } 324 325 if { $list_ips_missing ne "" } { 326 catch {common::send_msg_id "BD_TCL-115" "ERROR" "The following IPs are not found in the IP Catalog:\n $list_ips_missing\n\nResolution: Please add the repository containing the IP(s) to the project." } 327 set bCheckIPsPassed 0 328 } 329 330 } 331 332 ################################################################## 333 # CHECK Modules 334 ################################################################## 335 set bCheckModules 1 336 if { $bCheckModules == 1 } { 337 set list_check_mods "\ 338 FAUST\ 339 i2cemu\ 340 i2s_transceiver\ 341 " 342 343 set list_mods_missing "" 344 common::send_msg_id "BD_TCL-006" "INFO" "Checking if the following modules exist in the project's sources: $list_check_mods ." 345 346 foreach mod_vlnv $list_check_mods { 347 if { [can_resolve_reference $mod_vlnv] == 0 } { 348 lappend list_mods_missing $mod_vlnv 349 } 350 } 351 352 if { $list_mods_missing ne "" } { 353 catch {common::send_msg_id "BD_TCL-115" "ERROR" "The following module(s) are not found in the project: $list_mods_missing" } 354 common::send_msg_id "BD_TCL-008" "INFO" "Please add source files for the missing module(s) above." 355 set bCheckIPsPassed 0 356 } 357} 358 359 if { $bCheckIPsPassed != 1 } { 360 common::send_msg_id "BD_TCL-1003" "WARNING" "Will not continue with creation of design due to the error(s) above." 361 return 3 362 } 363 364 variable script_folder 365 366 if { $parentCell eq "" } { 367 set parentCell [get_bd_cells /] 368 } 369 370 # Get object for parentCell 371 set parentObj [get_bd_cells $parentCell] 372 if { $parentObj == "" } { 373 catch {common::send_msg_id "BD_TCL-100" "ERROR" "Unable to find parent cell <$parentCell>!"} 374 return 375 } 376 377 # Make sure parentObj is hier blk 378 set parentType [get_property TYPE $parentObj] 379 if { $parentType ne "hier" } { 380 catch {common::send_msg_id "BD_TCL-101" "ERROR" "Parent <$parentObj> has TYPE = <$parentType>. Expected to be <hier>."} 381 return 382 } 383 384 # Save current instance; Restore later 385 set oldCurInst [current_bd_instance .] 386 387 # Set parent object as current 388 current_bd_instance $parentObj 389 390 391 # Create interface ports 392 393 # Create ports 394 set ack_error [ create_bd_port -dir O ack_error ] 395 set bclk [ create_bd_port -dir O bclk ] 396 set bclkpmod [ create_bd_port -dir O bclkpmod ] 397 set bypass_analog [ create_bd_port -dir I bypass_analog ] 398 set bypass_dsp [ create_bd_port -dir I -type data bypass_dsp ] 399 set bypass_faust [ create_bd_port -dir I -type data bypass_faust ] 400 set in_mute [ create_bd_port -dir I in_mute ] 401 set mclk [ create_bd_port -dir O mclk ] 402 set mclkpmod [ create_bd_port -dir O mclkpmod ] 403 set out_mute [ create_bd_port -dir O out_mute ] 404 set reset_btn [ create_bd_port -dir I -type rst reset_btn ] 405 set_property -dict [ list \ 406 CONFIG.POLARITY {ACTIVE_HIGH} \ 407 ] $reset_btn 408 set sclk [ create_bd_port -dir IO sclk ] 409 set sclpmod [ create_bd_port -dir O sclpmod ] 410 set sd_rx [ create_bd_port -dir I sd_rx ] 411 set sd_rxpmod [ create_bd_port -dir O sd_rxpmod ] 412 set sd_tx [ create_bd_port -dir O sd_tx ] 413 set sd_txpmod [ create_bd_port -dir O sd_txpmod ] 414 set sdapmod [ create_bd_port -dir O sdapmod ] 415 set sdin [ create_bd_port -dir IO sdin ] 416 set sys_clk [ create_bd_port -dir I -type clk sys_clk ] 417 set_property -dict [ list \ 418 CONFIG.FREQ_HZ {125000000} \ 419 ] $sys_clk 420 set vol_down [ create_bd_port -dir I vol_down ] 421 set vol_up [ create_bd_port -dir I vol_up ] 422 set ws_rx [ create_bd_port -dir O ws_rx ] 423 set ws_tx [ create_bd_port -dir O ws_tx ] 424 set wspmod [ create_bd_port -dir O wspmod ] 425 426 # Create instance: FAUST_0, and set properties 427 set block_name FAUST 428 set block_cell_name FAUST_0 429 if { [catch {set FAUST_0 [create_bd_cell -type module -reference $block_name $block_cell_name] } errmsg] } { 430 catch {common::send_msg_id "BD_TCL-105" "ERROR" "Unable to add referenced block <$block_name>. Please add the files for ${block_name}'s definition into the project."} 431 return 1 432 } elseif { $FAUST_0 eq "" } { 433 catch {common::send_msg_id "BD_TCL-106" "ERROR" "Unable to referenced block <$block_name>. Please add the files for ${block_name}'s definition into the project."} 434 return 1 435 } 436 437 # Create instance: clk_wiz_0, and set properties 438 set clk_wiz_0 [ create_bd_cell -type ip -vlnv xilinx.com:ip:clk_wiz:6.0 clk_wiz_0 ] 439 set_property -dict [ list \ 440 CONFIG.CLKOUT1_JITTER {129.915} \ 441 CONFIG.CLKOUT1_PHASE_ERROR {112.379} \ 442 CONFIG.CLKOUT1_REQUESTED_OUT_FREQ {120.000} \ 443 CONFIG.CLKOUT2_JITTER {205.311} \ 444 CONFIG.CLKOUT2_PHASE_ERROR {112.379} \ 445 CONFIG.CLKOUT2_REQUESTED_OUT_FREQ {12.288} \ 446 CONFIG.CLKOUT2_USED {true} \ 447 CONFIG.CLK_OUT1_PORT {sys_clock} \ 448 CONFIG.CLK_OUT2_PORT {mclk} \ 449 CONFIG.MMCM_CLKFBOUT_MULT_F {6.000} \ 450 CONFIG.MMCM_CLKOUT0_DIVIDE_F {6.250} \ 451 CONFIG.MMCM_CLKOUT1_DIVIDE {61} \ 452 CONFIG.MMCM_DIVCLK_DIVIDE {1} \ 453 CONFIG.NUM_OUT_CLKS {2} \ 454 ] $clk_wiz_0 455 456 # Create instance: i2cemu_0, and set properties 457 set block_name i2cemu 458 set block_cell_name i2cemu_0 459 if { [catch {set i2cemu_0 [create_bd_cell -type module -reference $block_name $block_cell_name] } errmsg] } { 460 catch {common::send_msg_id "BD_TCL-105" "ERROR" "Unable to add referenced block <$block_name>. Please add the files for ${block_name}'s definition into the project."} 461 return 1 462 } elseif { $i2cemu_0 eq "" } { 463 catch {common::send_msg_id "BD_TCL-106" "ERROR" "Unable to referenced block <$block_name>. Please add the files for ${block_name}'s definition into the project."} 464 return 1 465 } 466 467 # Create instance: i2s_transceiver_0, and set properties 468 set block_name i2s_transceiver 469 set block_cell_name i2s_transceiver_0 470 if { [catch {set i2s_transceiver_0 [create_bd_cell -type module -reference $block_name $block_cell_name] } errmsg] } { 471 catch {common::send_msg_id "BD_TCL-105" "ERROR" "Unable to add referenced block <$block_name>. Please add the files for ${block_name}'s definition into the project."} 472 return 1 473 } elseif { $i2s_transceiver_0 eq "" } { 474 catch {common::send_msg_id "BD_TCL-106" "ERROR" "Unable to referenced block <$block_name>. Please add the files for ${block_name}'s definition into the project."} 475 return 1 476 } 477 478 # Create instance: proc_sys_reset_0, and set properties 479 set proc_sys_reset_0 [ create_bd_cell -type ip -vlnv xilinx.com:ip:proc_sys_reset:5.0 proc_sys_reset_0 ] 480 481 # Create port connections 482 connect_bd_net -net FAUST_0_ap_done [get_bd_pins FAUST_0/ap_done] [get_bd_pins i2s_transceiver_0/ap_done] 483 connect_bd_net -net FAUST_0_out_left_V [get_bd_pins FAUST_0/out_left_V] [get_bd_pins i2s_transceiver_0/l_data_tx] 484 connect_bd_net -net FAUST_0_out_left_V_ap_vld [get_bd_pins FAUST_0/out_left_V_ap_vld] [get_bd_pins i2s_transceiver_0/out_left_V_ap_vld] 485 connect_bd_net -net FAUST_0_out_right_V [get_bd_pins FAUST_0/out_right_V] [get_bd_pins i2s_transceiver_0/r_data_tx] 486 connect_bd_net -net FAUST_0_out_right_V_ap_vld [get_bd_pins FAUST_0/out_right_V_ap_vld] [get_bd_pins i2s_transceiver_0/out_right_V_ap_vld] 487 connect_bd_net -net Net [get_bd_ports sclk] [get_bd_pins i2cemu_0/sclk] 488 connect_bd_net -net Net1 [get_bd_ports sdin] [get_bd_pins i2cemu_0/sdin] 489 connect_bd_net -net analog_bypass_0_1 [get_bd_ports bypass_analog] [get_bd_pins i2cemu_0/analog_bypass] 490 connect_bd_net -net bypass_dsp_0_1 [get_bd_ports bypass_dsp] [get_bd_pins FAUST_0/bypass_dsp] 491 connect_bd_net -net bypass_faust_0_1 [get_bd_ports bypass_faust] [get_bd_pins FAUST_0/bypass_faust] 492 connect_bd_net -net clk_in1_0_1 [get_bd_ports sys_clk] [get_bd_pins clk_wiz_0/clk_in1] 493 connect_bd_net -net clk_wiz_0_locked [get_bd_pins clk_wiz_0/locked] [get_bd_pins proc_sys_reset_0/dcm_locked] 494 connect_bd_net -net clk_wiz_0_mclk [get_bd_ports mclk] [get_bd_ports mclkpmod] [get_bd_pins clk_wiz_0/mclk] [get_bd_pins i2s_transceiver_0/mclk] 495 connect_bd_net -net clk_wiz_0_sys_clock [get_bd_pins FAUST_0/ap_clk] [get_bd_pins clk_wiz_0/sys_clock] [get_bd_pins i2cemu_0/clk] [get_bd_pins i2s_transceiver_0/sys_clk] [get_bd_pins proc_sys_reset_0/slowest_sync_clk] 496 connect_bd_net -net i2cemu_0_ack_error [get_bd_ports ack_error] [get_bd_pins i2cemu_0/ack_error] 497 connect_bd_net -net i2cemu_0_done [get_bd_pins i2cemu_0/done] [get_bd_pins i2s_transceiver_0/start] 498 connect_bd_net -net i2cemu_0_sclkpmod [get_bd_ports sclpmod] [get_bd_pins i2cemu_0/sclkpmod] 499 connect_bd_net -net i2cemu_0_sdinpmod [get_bd_ports sdapmod] [get_bd_pins i2cemu_0/sdinpmod] 500 connect_bd_net -net i2s_transceiver_0_l_data_rx [get_bd_pins FAUST_0/in_left_V] [get_bd_pins i2s_transceiver_0/l_data_rx] 501 connect_bd_net -net i2s_transceiver_0_r_data_rx [get_bd_pins FAUST_0/in_right_V] [get_bd_pins i2s_transceiver_0/r_data_rx] 502 connect_bd_net -net i2s_transceiver_0_rdy [get_bd_pins FAUST_0/ap_start] [get_bd_pins i2s_transceiver_0/rdy] 503 connect_bd_net -net i2s_transceiver_0_sclk [get_bd_ports bclk] [get_bd_ports bclkpmod] [get_bd_pins i2s_transceiver_0/sclk] 504 connect_bd_net -net i2s_transceiver_0_sd_tx [get_bd_ports sd_tx] [get_bd_ports sd_txpmod] [get_bd_pins i2s_transceiver_0/sd_tx] 505 connect_bd_net -net i2s_transceiver_0_ws [get_bd_ports ws_rx] [get_bd_ports ws_tx] [get_bd_ports wspmod] [get_bd_pins FAUST_0/ws] [get_bd_pins i2s_transceiver_0/ws] 506 connect_bd_net -net in_mute_1 [get_bd_ports in_mute] [get_bd_ports out_mute] 507 connect_bd_net -net proc_sys_reset_0_peripheral_aresetn [get_bd_pins FAUST_0/ap_rst_n] [get_bd_pins i2cemu_0/reset_n] [get_bd_pins i2s_transceiver_0/reset_n] [get_bd_pins proc_sys_reset_0/peripheral_aresetn] 508 connect_bd_net -net reset_btn_1 [get_bd_ports reset_btn] [get_bd_pins clk_wiz_0/reset] [get_bd_pins proc_sys_reset_0/ext_reset_in] 509 connect_bd_net -net sd_rx_1 [get_bd_ports sd_rx] [get_bd_ports sd_rxpmod] [get_bd_pins i2s_transceiver_0/sd_rx] 510 connect_bd_net -net vol_down_0_1 [get_bd_ports vol_down] [get_bd_pins i2cemu_0/vol_down] 511 connect_bd_net -net vol_up_0_1 [get_bd_ports vol_up] [get_bd_pins i2cemu_0/vol_up] 512 513 # Create address segments 514 515 # Perform GUI Layout 516 regenerate_bd_layout -layout_string { 517 "ExpandedHierarchyInLayout":"", 518 "guistr":"# # String gsaved with Nlview 7.0.19 2019-03-26 bk=1.5019 VDI=41 GEI=35 GUI=JA:9.0 TLS 519# -string -flagsOSRD 520preplace port ack_error -pg 1 -lvl 5 -x 1610 -y 480 -defaultsOSRD 521preplace port bclk -pg 1 -lvl 5 -x 1610 -y 100 -defaultsOSRD 522preplace port bclkpmod -pg 1 -lvl 5 -x 1610 -y 120 -defaultsOSRD 523preplace port bypass_analog -pg 1 -lvl 0 -x -90 -y 570 -defaultsOSRD 524preplace port bypass_dsp -pg 1 -lvl 0 -x -90 -y 330 -defaultsOSRD 525preplace port bypass_faust -pg 1 -lvl 0 -x -90 -y 350 -defaultsOSRD 526preplace port in_mute -pg 1 -lvl 0 -x -90 -y 20 -defaultsOSRD 527preplace port mclk -pg 1 -lvl 5 -x 1610 -y 40 -defaultsOSRD 528preplace port mclkpmod -pg 1 -lvl 5 -x 1610 -y 60 -defaultsOSRD 529preplace port out_mute -pg 1 -lvl 5 -x 1610 -y 20 -defaultsOSRD 530preplace port reset_btn -pg 1 -lvl 0 -x -90 -y 160 -defaultsOSRD 531preplace port sclk -pg 1 -lvl 5 -x 1610 -y 540 -defaultsOSRD 532preplace port sclpmod -pg 1 -lvl 5 -x 1610 -y 580 -defaultsOSRD 533preplace port sd_rx -pg 1 -lvl 0 -x -90 -y 420 -defaultsOSRD 534preplace port sd_rxpmod -pg 1 -lvl 5 -x 1610 -y 360 -defaultsOSRD 535preplace port sd_tx -pg 1 -lvl 5 -x 1610 -y 200 -defaultsOSRD 536preplace port sd_txpmod -pg 1 -lvl 5 -x 1610 -y 220 -defaultsOSRD 537preplace port sdapmod -pg 1 -lvl 5 -x 1610 -y 560 -defaultsOSRD 538preplace port sdin -pg 1 -lvl 5 -x 1610 -y 520 -defaultsOSRD 539preplace port sys_clk -pg 1 -lvl 0 -x -90 -y 250 -defaultsOSRD 540preplace port vol_down -pg 1 -lvl 0 -x -90 -y 550 -defaultsOSRD 541preplace port vol_up -pg 1 -lvl 0 -x -90 -y 530 -defaultsOSRD 542preplace port ws_rx -pg 1 -lvl 5 -x 1610 -y 160 -defaultsOSRD 543preplace port ws_tx -pg 1 -lvl 5 -x 1610 -y 140 -defaultsOSRD 544preplace port wspmod -pg 1 -lvl 5 -x 1610 -y 180 -defaultsOSRD 545preplace inst clk_wiz_0 -pg 1 -lvl 1 -x 120 -y 130 -defaultsOSRD 546preplace inst i2cemu_0 -pg 1 -lvl 3 -x 920 -y 530 -defaultsOSRD 547preplace inst i2s_transceiver_0 -pg 1 -lvl 4 -x 1370 -y 210 -defaultsOSRD 548preplace inst proc_sys_reset_0 -pg 1 -lvl 2 -x 480 -y 220 -defaultsOSRD 549preplace inst FAUST_0 -pg 1 -lvl 3 -x 920 -y 20 -defaultsOSRD 550preplace netloc Net 1 3 2 NJ 540 NJ 551preplace netloc Net1 1 3 2 NJ 520 NJ 552preplace netloc analog_bypass_0_1 1 0 3 NJ 570 NJ 570 NJ 553preplace netloc bypass_dsp_0_1 1 0 3 -70J 30 NJ 30 NJ 554preplace netloc bypass_faust_0_1 1 0 3 -60J 50 NJ 50 NJ 555preplace netloc clk_in1_0_1 1 0 1 -50J 140n 556preplace netloc clk_wiz_0_locked 1 1 1 220 150n 557preplace netloc clk_wiz_0_mclk 1 1 4 220 120 660J 150 1090 50 1590J 558preplace netloc clk_wiz_0_sys_clock 1 1 3 230 110 670 170 1130J 559preplace netloc i2cemu_0_ack_error 1 3 2 NJ 480 NJ 560preplace netloc i2cemu_0_done 1 3 1 1180 180n 561preplace netloc i2cemu_0_sclkpmod 1 3 2 NJ 580 NJ 562preplace netloc i2cemu_0_sdinpmod 1 3 2 NJ 560 NJ 563preplace netloc i2s_transceiver_0_rdy 1 2 3 720 -110 NJ -110 1540 564preplace netloc i2s_transceiver_0_sclk 1 4 1 1570 100n 565preplace netloc i2s_transceiver_0_sd_tx 1 4 1 1580 200n 566preplace netloc i2s_transceiver_0_ws 1 2 3 710 160 1110 60 1580 567preplace netloc in_mute_1 1 0 5 -70J -140 NJ -140 NJ -140 NJ -140 1590J 568preplace netloc proc_sys_reset_0_peripheral_aresetn 1 2 2 680 180 1150 569preplace netloc reset_btn_1 1 0 2 -40 210 230J 570preplace netloc sd_rx_1 1 0 5 NJ 420 NJ 420 NJ 420 1190 360 NJ 571preplace netloc vol_down_0_1 1 0 3 NJ 550 NJ 550 NJ 572preplace netloc vol_up_0_1 1 0 3 NJ 530 NJ 530 NJ 573preplace netloc FAUST_0_ap_done 1 3 1 1170 -20n 574preplace netloc i2s_transceiver_0_l_data_rx 1 2 3 700 -120 NJ -120 1550 575preplace netloc i2s_transceiver_0_r_data_rx 1 2 3 690 -130 NJ -130 1560 576preplace netloc FAUST_0_out_left_V 1 3 1 1120 40n 577preplace netloc FAUST_0_out_right_V 1 3 1 1100 60n 578preplace netloc FAUST_0_out_right_V_ap_vld 1 3 1 1140 20n 579preplace netloc FAUST_0_out_left_V_ap_vld 1 3 1 1160 0n 580levelinfo -pg 1 -90 120 480 920 1370 1610 581pagesize -pg 1 -db -bbox -sgen -250 -150 1740 680 582" 583} 584 585 # Restore current instance 586 current_bd_instance $oldCurInst 587 588 validate_bd_design 589 save_bd_design 590 close_bd_design $design_name 591} 592# End of cr_bd_main() 593cr_bd_main "" 594set_property REGISTERED_WITH_MANAGER "1" [get_files main.bd ] 595set_property SYNTH_CHECKPOINT_MODE "Hierarchical" [get_files main.bd ] 596 597# Create 'synth_1' run (if not found) 598if {[string equal [get_runs -quiet synth_1] ""]} { 599 create_run -name synth_1 -part xc7z010clg400-1 -flow {Vivado Synthesis 2019} -strategy "Vivado Synthesis Defaults" -report_strategy {No Reports} -constrset constrs_1 600} else { 601 set_property strategy "Vivado Synthesis Defaults" [get_runs synth_1] 602 set_property flow "Vivado Synthesis 2019" [get_runs synth_1] 603} 604set obj [get_runs synth_1] 605set_property set_report_strategy_name 1 $obj 606set_property report_strategy {Vivado Synthesis Default Reports} $obj 607set_property set_report_strategy_name 0 $obj 608# Create 'synth_1_synth_report_utilization_0' report (if not found) 609if { [ string equal [get_report_configs -of_objects [get_runs synth_1] synth_1_synth_report_utilization_0] "" ] } { 610 create_report_config -report_name synth_1_synth_report_utilization_0 -report_type report_utilization:1.0 -steps synth_design -runs synth_1 611} 612set obj [get_report_configs -of_objects [get_runs synth_1] synth_1_synth_report_utilization_0] 613if { $obj != "" } { 614 615} 616set obj [get_runs synth_1] 617set_property -name "strategy" -value "Vivado Synthesis Defaults" -objects $obj 618 619# set the current synth run 620current_run -synthesis [get_runs synth_1] 621 622# Create 'impl_1' run (if not found) 623if {[string equal [get_runs -quiet impl_1] ""]} { 624 create_run -name impl_1 -part xc7z010clg400-1 -flow {Vivado Implementation 2019} -strategy "Vivado Implementation Defaults" -report_strategy {No Reports} -constrset constrs_1 -parent_run synth_1 625} else { 626 set_property strategy "Vivado Implementation Defaults" [get_runs impl_1] 627 set_property flow "Vivado Implementation 2019" [get_runs impl_1] 628} 629set obj [get_runs impl_1] 630set_property set_report_strategy_name 1 $obj 631set_property report_strategy {Vivado Implementation Default Reports} $obj 632set_property set_report_strategy_name 0 $obj 633# Create 'impl_1_init_report_timing_summary_0' report (if not found) 634if { [ string equal [get_report_configs -of_objects [get_runs impl_1] impl_1_init_report_timing_summary_0] "" ] } { 635 create_report_config -report_name impl_1_init_report_timing_summary_0 -report_type report_timing_summary:1.0 -steps init_design -runs impl_1 636} 637set obj [get_report_configs -of_objects [get_runs impl_1] impl_1_init_report_timing_summary_0] 638if { $obj != "" } { 639set_property -name "is_enabled" -value "0" -objects $obj 640set_property -name "options.max_paths" -value "10" -objects $obj 641 642} 643# Create 'impl_1_opt_report_drc_0' report (if not found) 644if { [ string equal [get_report_configs -of_objects [get_runs impl_1] impl_1_opt_report_drc_0] "" ] } { 645 create_report_config -report_name impl_1_opt_report_drc_0 -report_type report_drc:1.0 -steps opt_design -runs impl_1 646} 647set obj [get_report_configs -of_objects [get_runs impl_1] impl_1_opt_report_drc_0] 648if { $obj != "" } { 649 650} 651# Create 'impl_1_opt_report_timing_summary_0' report (if not found) 652if { [ string equal [get_report_configs -of_objects [get_runs impl_1] impl_1_opt_report_timing_summary_0] "" ] } { 653 create_report_config -report_name impl_1_opt_report_timing_summary_0 -report_type report_timing_summary:1.0 -steps opt_design -runs impl_1 654} 655set obj [get_report_configs -of_objects [get_runs impl_1] impl_1_opt_report_timing_summary_0] 656if { $obj != "" } { 657set_property -name "is_enabled" -value "0" -objects $obj 658set_property -name "options.max_paths" -value "10" -objects $obj 659 660} 661# Create 'impl_1_power_opt_report_timing_summary_0' report (if not found) 662if { [ string equal [get_report_configs -of_objects [get_runs impl_1] impl_1_power_opt_report_timing_summary_0] "" ] } { 663 create_report_config -report_name impl_1_power_opt_report_timing_summary_0 -report_type report_timing_summary:1.0 -steps power_opt_design -runs impl_1 664} 665set obj [get_report_configs -of_objects [get_runs impl_1] impl_1_power_opt_report_timing_summary_0] 666if { $obj != "" } { 667set_property -name "is_enabled" -value "0" -objects $obj 668set_property -name "options.max_paths" -value "10" -objects $obj 669 670} 671# Create 'impl_1_place_report_io_0' report (if not found) 672if { [ string equal [get_report_configs -of_objects [get_runs impl_1] impl_1_place_report_io_0] "" ] } { 673 create_report_config -report_name impl_1_place_report_io_0 -report_type report_io:1.0 -steps place_design -runs impl_1 674} 675set obj [get_report_configs -of_objects [get_runs impl_1] impl_1_place_report_io_0] 676if { $obj != "" } { 677 678} 679# Create 'impl_1_place_report_utilization_0' report (if not found) 680if { [ string equal [get_report_configs -of_objects [get_runs impl_1] impl_1_place_report_utilization_0] "" ] } { 681 create_report_config -report_name impl_1_place_report_utilization_0 -report_type report_utilization:1.0 -steps place_design -runs impl_1 682} 683set obj [get_report_configs -of_objects [get_runs impl_1] impl_1_place_report_utilization_0] 684if { $obj != "" } { 685 686} 687# Create 'impl_1_place_report_control_sets_0' report (if not found) 688if { [ string equal [get_report_configs -of_objects [get_runs impl_1] impl_1_place_report_control_sets_0] "" ] } { 689 create_report_config -report_name impl_1_place_report_control_sets_0 -report_type report_control_sets:1.0 -steps place_design -runs impl_1 690} 691set obj [get_report_configs -of_objects [get_runs impl_1] impl_1_place_report_control_sets_0] 692if { $obj != "" } { 693set_property -name "options.verbose" -value "1" -objects $obj 694 695} 696# Create 'impl_1_place_report_incremental_reuse_0' report (if not found) 697if { [ string equal [get_report_configs -of_objects [get_runs impl_1] impl_1_place_report_incremental_reuse_0] "" ] } { 698 create_report_config -report_name impl_1_place_report_incremental_reuse_0 -report_type report_incremental_reuse:1.0 -steps place_design -runs impl_1 699} 700set obj [get_report_configs -of_objects [get_runs impl_1] impl_1_place_report_incremental_reuse_0] 701if { $obj != "" } { 702set_property -name "is_enabled" -value "0" -objects $obj 703 704} 705# Create 'impl_1_place_report_incremental_reuse_1' report (if not found) 706if { [ string equal [get_report_configs -of_objects [get_runs impl_1] impl_1_place_report_incremental_reuse_1] "" ] } { 707 create_report_config -report_name impl_1_place_report_incremental_reuse_1 -report_type report_incremental_reuse:1.0 -steps place_design -runs impl_1 708} 709set obj [get_report_configs -of_objects [get_runs impl_1] impl_1_place_report_incremental_reuse_1] 710if { $obj != "" } { 711set_property -name "is_enabled" -value "0" -objects $obj 712 713} 714# Create 'impl_1_place_report_timing_summary_0' report (if not found) 715if { [ string equal [get_report_configs -of_objects [get_runs impl_1] impl_1_place_report_timing_summary_0] "" ] } { 716 create_report_config -report_name impl_1_place_report_timing_summary_0 -report_type report_timing_summary:1.0 -steps place_design -runs impl_1 717} 718set obj [get_report_configs -of_objects [get_runs impl_1] impl_1_place_report_timing_summary_0] 719if { $obj != "" } { 720set_property -name "is_enabled" -value "0" -objects $obj 721set_property -name "options.max_paths" -value "10" -objects $obj 722 723} 724# Create 'impl_1_post_place_power_opt_report_timing_summary_0' report (if not found) 725if { [ string equal [get_report_configs -of_objects [get_runs impl_1] impl_1_post_place_power_opt_report_timing_summary_0] "" ] } { 726 create_report_config -report_name impl_1_post_place_power_opt_report_timing_summary_0 -report_type report_timing_summary:1.0 -steps post_place_power_opt_design -runs impl_1 727} 728set obj [get_report_configs -of_objects [get_runs impl_1] impl_1_post_place_power_opt_report_timing_summary_0] 729if { $obj != "" } { 730set_property -name "is_enabled" -value "0" -objects $obj 731set_property -name "options.max_paths" -value "10" -objects $obj 732 733} 734# Create 'impl_1_phys_opt_report_timing_summary_0' report (if not found) 735if { [ string equal [get_report_configs -of_objects [get_runs impl_1] impl_1_phys_opt_report_timing_summary_0] "" ] } { 736 create_report_config -report_name impl_1_phys_opt_report_timing_summary_0 -report_type report_timing_summary:1.0 -steps phys_opt_design -runs impl_1 737} 738set obj [get_report_configs -of_objects [get_runs impl_1] impl_1_phys_opt_report_timing_summary_0] 739if { $obj != "" } { 740set_property -name "is_enabled" -value "0" -objects $obj 741set_property -name "options.max_paths" -value "10" -objects $obj 742 743} 744# Create 'impl_1_route_report_drc_0' report (if not found) 745if { [ string equal [get_report_configs -of_objects [get_runs impl_1] impl_1_route_report_drc_0] "" ] } { 746 create_report_config -report_name impl_1_route_report_drc_0 -report_type report_drc:1.0 -steps route_design -runs impl_1 747} 748set obj [get_report_configs -of_objects [get_runs impl_1] impl_1_route_report_drc_0] 749if { $obj != "" } { 750 751} 752# Create 'impl_1_route_report_methodology_0' report (if not found) 753if { [ string equal [get_report_configs -of_objects [get_runs impl_1] impl_1_route_report_methodology_0] "" ] } { 754 create_report_config -report_name impl_1_route_report_methodology_0 -report_type report_methodology:1.0 -steps route_design -runs impl_1 755} 756set obj [get_report_configs -of_objects [get_runs impl_1] impl_1_route_report_methodology_0] 757if { $obj != "" } { 758 759} 760# Create 'impl_1_route_report_power_0' report (if not found) 761if { [ string equal [get_report_configs -of_objects [get_runs impl_1] impl_1_route_report_power_0] "" ] } { 762 create_report_config -report_name impl_1_route_report_power_0 -report_type report_power:1.0 -steps route_design -runs impl_1 763} 764set obj [get_report_configs -of_objects [get_runs impl_1] impl_1_route_report_power_0] 765if { $obj != "" } { 766 767} 768# Create 'impl_1_route_report_route_status_0' report (if not found) 769if { [ string equal [get_report_configs -of_objects [get_runs impl_1] impl_1_route_report_route_status_0] "" ] } { 770 create_report_config -report_name impl_1_route_report_route_status_0 -report_type report_route_status:1.0 -steps route_design -runs impl_1 771} 772set obj [get_report_configs -of_objects [get_runs impl_1] impl_1_route_report_route_status_0] 773if { $obj != "" } { 774 775} 776# Create 'impl_1_route_report_timing_summary_0' report (if not found) 777if { [ string equal [get_report_configs -of_objects [get_runs impl_1] impl_1_route_report_timing_summary_0] "" ] } { 778 create_report_config -report_name impl_1_route_report_timing_summary_0 -report_type report_timing_summary:1.0 -steps route_design -runs impl_1 779} 780set obj [get_report_configs -of_objects [get_runs impl_1] impl_1_route_report_timing_summary_0] 781if { $obj != "" } { 782set_property -name "options.max_paths" -value "10" -objects $obj 783 784} 785# Create 'impl_1_route_report_incremental_reuse_0' report (if not found) 786if { [ string equal [get_report_configs -of_objects [get_runs impl_1] impl_1_route_report_incremental_reuse_0] "" ] } { 787 create_report_config -report_name impl_1_route_report_incremental_reuse_0 -report_type report_incremental_reuse:1.0 -steps route_design -runs impl_1 788} 789set obj [get_report_configs -of_objects [get_runs impl_1] impl_1_route_report_incremental_reuse_0] 790if { $obj != "" } { 791 792} 793# Create 'impl_1_route_report_clock_utilization_0' report (if not found) 794if { [ string equal [get_report_configs -of_objects [get_runs impl_1] impl_1_route_report_clock_utilization_0] "" ] } { 795 create_report_config -report_name impl_1_route_report_clock_utilization_0 -report_type report_clock_utilization:1.0 -steps route_design -runs impl_1 796} 797set obj [get_report_configs -of_objects [get_runs impl_1] impl_1_route_report_clock_utilization_0] 798if { $obj != "" } { 799 800} 801# Create 'impl_1_route_report_bus_skew_0' report (if not found) 802if { [ string equal [get_report_configs -of_objects [get_runs impl_1] impl_1_route_report_bus_skew_0] "" ] } { 803 create_report_config -report_name impl_1_route_report_bus_skew_0 -report_type report_bus_skew:1.1 -steps route_design -runs impl_1 804} 805set obj [get_report_configs -of_objects [get_runs impl_1] impl_1_route_report_bus_skew_0] 806if { $obj != "" } { 807set_property -name "options.warn_on_violation" -value "1" -objects $obj 808 809} 810# Create 'impl_1_post_route_phys_opt_report_timing_summary_0' report (if not found) 811if { [ string equal [get_report_configs -of_objects [get_runs impl_1] impl_1_post_route_phys_opt_report_timing_summary_0] "" ] } { 812 create_report_config -report_name impl_1_post_route_phys_opt_report_timing_summary_0 -report_type report_timing_summary:1.0 -steps post_route_phys_opt_design -runs impl_1 813} 814set obj [get_report_configs -of_objects [get_runs impl_1] impl_1_post_route_phys_opt_report_timing_summary_0] 815if { $obj != "" } { 816set_property -name "options.max_paths" -value "10" -objects $obj 817set_property -name "options.warn_on_violation" -value "1" -objects $obj 818 819} 820# Create 'impl_1_post_route_phys_opt_report_bus_skew_0' report (if not found) 821if { [ string equal [get_report_configs -of_objects [get_runs impl_1] impl_1_post_route_phys_opt_report_bus_skew_0] "" ] } { 822 create_report_config -report_name impl_1_post_route_phys_opt_report_bus_skew_0 -report_type report_bus_skew:1.1 -steps post_route_phys_opt_design -runs impl_1 823} 824set obj [get_report_configs -of_objects [get_runs impl_1] impl_1_post_route_phys_opt_report_bus_skew_0] 825if { $obj != "" } { 826set_property -name "options.warn_on_violation" -value "1" -objects $obj 827 828} 829set obj [get_runs impl_1] 830set_property -name "strategy" -value "Vivado Implementation Defaults" -objects $obj 831set_property -name "steps.write_bitstream.args.readback_file" -value "0" -objects $obj 832set_property -name "steps.write_bitstream.args.verbose" -value "0" -objects $obj 833 834# set the current impl run 835current_run -implementation [get_runs impl_1] 836 837puts "INFO: Project created:${_xil_proj_name_}" 838# Create 'drc_1' gadget (if not found) 839if {[string equal [get_dashboard_gadgets [ list "drc_1" ] ] ""]} { 840create_dashboard_gadget -name {drc_1} -type drc 841} 842set obj [get_dashboard_gadgets [ list "drc_1" ] ] 843set_property -name "reports" -value "impl_1#impl_1_route_report_drc_0" -objects $obj 844 845# Create 'methodology_1' gadget (if not found) 846if {[string equal [get_dashboard_gadgets [ list "methodology_1" ] ] ""]} { 847create_dashboard_gadget -name {methodology_1} -type methodology 848} 849set obj [get_dashboard_gadgets [ list "methodology_1" ] ] 850set_property -name "reports" -value "impl_1#impl_1_route_report_methodology_0" -objects $obj 851 852# Create 'power_1' gadget (if not found) 853if {[string equal [get_dashboard_gadgets [ list "power_1" ] ] ""]} { 854create_dashboard_gadget -name {power_1} -type power 855} 856set obj [get_dashboard_gadgets [ list "power_1" ] ] 857set_property -name "reports" -value "impl_1#impl_1_route_report_power_0" -objects $obj 858 859# Create 'timing_1' gadget (if not found) 860if {[string equal [get_dashboard_gadgets [ list "timing_1" ] ] ""]} { 861create_dashboard_gadget -name {timing_1} -type timing 862} 863set obj [get_dashboard_gadgets [ list "timing_1" ] ] 864set_property -name "reports" -value "impl_1#impl_1_route_report_timing_summary_0" -objects $obj 865 866# Create 'utilization_1' gadget (if not found) 867if {[string equal [get_dashboard_gadgets [ list "utilization_1" ] ] ""]} { 868create_dashboard_gadget -name {utilization_1} -type utilization 869} 870set obj [get_dashboard_gadgets [ list "utilization_1" ] ] 871set_property -name "reports" -value "synth_1#synth_1_synth_report_utilization_0" -objects $obj 872set_property -name "run.step" -value "synth_design" -objects $obj 873set_property -name "run.type" -value "synthesis" -objects $obj 874 875# Create 'utilization_2' gadget (if not found) 876if {[string equal [get_dashboard_gadgets [ list "utilization_2" ] ] ""]} { 877create_dashboard_gadget -name {utilization_2} -type utilization 878} 879set obj [get_dashboard_gadgets [ list "utilization_2" ] ] 880set_property -name "reports" -value "impl_1#impl_1_place_report_utilization_0" -objects $obj 881 882move_dashboard_gadget -name {utilization_1} -row 0 -col 0 883move_dashboard_gadget -name {power_1} -row 1 -col 0 884move_dashboard_gadget -name {drc_1} -row 2 -col 0 885move_dashboard_gadget -name {timing_1} -row 0 -col 1 886move_dashboard_gadget -name {utilization_2} -row 1 -col 1 887move_dashboard_gadget -name {methodology_1} -row 2 -col 1 888