complete-bd.tcl 23 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453
  1. # Set the reference directory for source file relative paths (by default the value is script directory path)
  2. set origin_dir "."
  3. # Use origin directory path location variable, if specified in the tcl shell
  4. if { [info exists ::origin_dir_loc] } {
  5. set origin_dir $::origin_dir_loc
  6. }
  7. # Set the project name
  8. set _xil_proj_name_ "complete-bd"
  9. # Use project name variable, if specified in the tcl shell
  10. if { [info exists ::user_project_name] } {
  11. set _xil_proj_name_ $::user_project_name
  12. }
  13. variable script_file
  14. set script_file ".exported.tcl"
  15. # Help information for this script
  16. proc print_help {} {
  17. variable script_file
  18. puts "\nDescription:"
  19. puts "Recreate a Vivado project from this script. The created project will be"
  20. puts "functionally equivalent to the original project for which this script was"
  21. puts "generated. The script contains commands for creating a project, filesets,"
  22. puts "runs, adding/importing sources and setting properties on various objects.\n"
  23. puts "Syntax:"
  24. puts "$script_file"
  25. puts "$script_file -tclargs \[--origin_dir <path>\]"
  26. puts "$script_file -tclargs \[--project_name <name>\]"
  27. puts "$script_file -tclargs \[--help\]\n"
  28. puts "Usage:"
  29. puts "Name Description"
  30. puts "-------------------------------------------------------------------------"
  31. puts "\[--origin_dir <path>\] Determine source file paths wrt this path. Default"
  32. puts " origin_dir path value is \".\", otherwise, the value"
  33. puts " that was set with the \"-paths_relative_to\" switch"
  34. puts " when this script was generated.\n"
  35. puts "\[--project_name <name>\] Create project with the specified name. Default"
  36. puts " name is the name of the project from where this"
  37. puts " script was generated.\n"
  38. puts "\[--help\] Print help information for this script"
  39. puts "-------------------------------------------------------------------------\n"
  40. exit 0
  41. }
  42. if { $::argc > 0 } {
  43. for {set i 0} {$i < $::argc} {incr i} {
  44. set option [string trim [lindex $::argv $i]]
  45. switch -regexp -- $option {
  46. "--origin_dir" { incr i; set origin_dir [lindex $::argv $i] }
  47. "--project_name" { incr i; set _xil_proj_name_ [lindex $::argv $i] }
  48. "--help" { print_help }
  49. default {
  50. if { [regexp {^-} $option] } {
  51. puts "ERROR: Unknown option '$option' specified, please type '$script_file -tclargs --help' for usage info.\n"
  52. return 1
  53. }
  54. }
  55. }
  56. }
  57. }
  58. # Set the directory path for the original project from where this script was exported
  59. set orig_proj_dir "[file normalize "sources/complete-bd"]"
  60. # Create project
  61. create_project complete-bd workspace/complete-bd
  62. # Set the directory path for the new project
  63. set proj_dir [get_property directory [current_project]]
  64. # Set project properties
  65. set obj [current_project]
  66. set_property -name "default_lib" -value "xil_defaultlib" -objects $obj
  67. set_property -name "dsa.accelerator_binary_content" -value "bitstream" -objects $obj
  68. set_property -name "dsa.accelerator_binary_format" -value "xclbin2" -objects $obj
  69. set_property -name "dsa.description" -value "Vivado generated DSA" -objects $obj
  70. set_property -name "dsa.dr_bd_base_address" -value "0" -objects $obj
  71. set_property -name "dsa.emu_dir" -value "emu" -objects $obj
  72. set_property -name "dsa.flash_interface_type" -value "bpix16" -objects $obj
  73. set_property -name "dsa.flash_offset_address" -value "0" -objects $obj
  74. set_property -name "dsa.flash_size" -value "1024" -objects $obj
  75. set_property -name "dsa.host_architecture" -value "x86_64" -objects $obj
  76. set_property -name "dsa.host_interface" -value "pcie" -objects $obj
  77. set_property -name "dsa.num_compute_units" -value "60" -objects $obj
  78. set_property -name "dsa.platform_state" -value "pre_synth" -objects $obj
  79. set_property -name "dsa.vendor" -value "xilinx" -objects $obj
  80. set_property -name "dsa.version" -value "0.0" -objects $obj
  81. set_property -name "enable_vhdl_2008" -value "1" -objects $obj
  82. set_property -name "ip_cache_permissions" -value "read write" -objects $obj
  83. set_property -name "ip_output_repo" -value "" -objects $obj
  84. set_property -name "mem.enable_memory_map_generation" -value "1" -objects $obj
  85. set_property -name "part" -value "xc7a100tcsg324-1" -objects $obj
  86. set_property -name "sim.central_dir" -value "" -objects $obj
  87. set_property -name "sim.ip.auto_export_scripts" -value "1" -objects $obj
  88. set_property -name "simulator_language" -value "Mixed" -objects $obj
  89. set_property -name "target_language" -value "VHDL" -objects $obj
  90. # Create 'sources_1' fileset (if not found)
  91. if {[string equal [get_filesets -quiet sources_1] ""]} {
  92. create_fileset -srcset sources_1
  93. }
  94. # Set 'sources_1' fileset object
  95. set obj [get_filesets sources_1]
  96. # Empty (no sources present)
  97. # Set 'sources_1' fileset properties
  98. set obj [get_filesets sources_1]
  99. # Create 'constrs_1' fileset (if not found)
  100. if {[string equal [get_filesets -quiet constrs_1] ""]} {
  101. create_fileset -constrset constrs_1
  102. }
  103. # Set 'constrs_1' fileset object
  104. set obj [get_filesets constrs_1]
  105. # Empty (no sources present)
  106. # Set 'constrs_1' fileset properties
  107. set obj [get_filesets constrs_1]
  108. set_property -name "target_part" -value "xc7a100tcsg324-1" -objects $obj
  109. # Create 'sim_1' fileset (if not found)
  110. if {[string equal [get_filesets -quiet sim_1] ""]} {
  111. create_fileset -simset sim_1
  112. }
  113. # Set 'sim_1' fileset object
  114. set obj [get_filesets sim_1]
  115. # Empty (no sources present)
  116. # Set 'sim_1' fileset properties
  117. set obj [get_filesets sim_1]
  118. # Set 'utils_1' fileset object
  119. set obj [get_filesets utils_1]
  120. # Empty (no sources present)
  121. # Set 'utils_1' fileset properties
  122. set obj [get_filesets utils_1]
  123. # Create 'synth_1' run (if not found)
  124. if {[string equal [get_runs -quiet synth_1] ""]} {
  125. create_run -name synth_1 -part xc7a100tcsg324-1 -flow {Vivado Synthesis 2018} -strategy "Vivado Synthesis Defaults" -report_strategy {No Reports} -constrset constrs_1
  126. } else {
  127. set_property strategy "Vivado Synthesis Defaults" [get_runs synth_1]
  128. set_property flow "Vivado Synthesis 2018" [get_runs synth_1]
  129. }
  130. set obj [get_runs synth_1]
  131. set_property set_report_strategy_name 1 $obj
  132. set_property report_strategy {Vivado Synthesis Default Reports} $obj
  133. set_property set_report_strategy_name 0 $obj
  134. # Create 'synth_1_synth_report_utilization_0' report (if not found)
  135. if { [ string equal [get_report_configs -of_objects [get_runs synth_1] synth_1_synth_report_utilization_0] "" ] } {
  136. create_report_config -report_name synth_1_synth_report_utilization_0 -report_type report_utilization:1.0 -steps synth_design -runs synth_1
  137. }
  138. set obj [get_report_configs -of_objects [get_runs synth_1] synth_1_synth_report_utilization_0]
  139. if { $obj != "" } {
  140. set_property -name "display_name" -value "synth_1_synth_report_utilization_0" -objects $obj
  141. }
  142. set obj [get_runs synth_1]
  143. set_property -name "part" -value "xc7a100tcsg324-1" -objects $obj
  144. set_property -name "strategy" -value "Vivado Synthesis Defaults" -objects $obj
  145. # set the current synth run
  146. current_run -synthesis [get_runs synth_1]
  147. # Create 'impl_1' run (if not found)
  148. if {[string equal [get_runs -quiet impl_1] ""]} {
  149. create_run -name impl_1 -part xc7a100tcsg324-1 -flow {Vivado Implementation 2018} -strategy "Vivado Implementation Defaults" -report_strategy {No Reports} -constrset constrs_1 -parent_run synth_1
  150. } else {
  151. set_property strategy "Vivado Implementation Defaults" [get_runs impl_1]
  152. set_property flow "Vivado Implementation 2018" [get_runs impl_1]
  153. }
  154. set obj [get_runs impl_1]
  155. set_property set_report_strategy_name 1 $obj
  156. set_property report_strategy {Vivado Implementation Default Reports} $obj
  157. set_property set_report_strategy_name 0 $obj
  158. # Create 'impl_1_init_report_timing_summary_0' report (if not found)
  159. if { [ string equal [get_report_configs -of_objects [get_runs impl_1] impl_1_init_report_timing_summary_0] "" ] } {
  160. 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
  161. }
  162. set obj [get_report_configs -of_objects [get_runs impl_1] impl_1_init_report_timing_summary_0]
  163. if { $obj != "" } {
  164. set_property -name "is_enabled" -value "0" -objects $obj
  165. set_property -name "display_name" -value "impl_1_init_report_timing_summary_0" -objects $obj
  166. }
  167. # Create 'impl_1_opt_report_drc_0' report (if not found)
  168. if { [ string equal [get_report_configs -of_objects [get_runs impl_1] impl_1_opt_report_drc_0] "" ] } {
  169. create_report_config -report_name impl_1_opt_report_drc_0 -report_type report_drc:1.0 -steps opt_design -runs impl_1
  170. }
  171. set obj [get_report_configs -of_objects [get_runs impl_1] impl_1_opt_report_drc_0]
  172. if { $obj != "" } {
  173. set_property -name "display_name" -value "impl_1_opt_report_drc_0" -objects $obj
  174. }
  175. # Create 'impl_1_opt_report_timing_summary_0' report (if not found)
  176. if { [ string equal [get_report_configs -of_objects [get_runs impl_1] impl_1_opt_report_timing_summary_0] "" ] } {
  177. 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
  178. }
  179. set obj [get_report_configs -of_objects [get_runs impl_1] impl_1_opt_report_timing_summary_0]
  180. if { $obj != "" } {
  181. set_property -name "is_enabled" -value "0" -objects $obj
  182. set_property -name "display_name" -value "impl_1_opt_report_timing_summary_0" -objects $obj
  183. }
  184. # Create 'impl_1_power_opt_report_timing_summary_0' report (if not found)
  185. if { [ string equal [get_report_configs -of_objects [get_runs impl_1] impl_1_power_opt_report_timing_summary_0] "" ] } {
  186. 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
  187. }
  188. set obj [get_report_configs -of_objects [get_runs impl_1] impl_1_power_opt_report_timing_summary_0]
  189. if { $obj != "" } {
  190. set_property -name "is_enabled" -value "0" -objects $obj
  191. set_property -name "display_name" -value "impl_1_power_opt_report_timing_summary_0" -objects $obj
  192. }
  193. # Create 'impl_1_place_report_io_0' report (if not found)
  194. if { [ string equal [get_report_configs -of_objects [get_runs impl_1] impl_1_place_report_io_0] "" ] } {
  195. create_report_config -report_name impl_1_place_report_io_0 -report_type report_io:1.0 -steps place_design -runs impl_1
  196. }
  197. set obj [get_report_configs -of_objects [get_runs impl_1] impl_1_place_report_io_0]
  198. if { $obj != "" } {
  199. set_property -name "display_name" -value "impl_1_place_report_io_0" -objects $obj
  200. }
  201. # Create 'impl_1_place_report_utilization_0' report (if not found)
  202. if { [ string equal [get_report_configs -of_objects [get_runs impl_1] impl_1_place_report_utilization_0] "" ] } {
  203. create_report_config -report_name impl_1_place_report_utilization_0 -report_type report_utilization:1.0 -steps place_design -runs impl_1
  204. }
  205. set obj [get_report_configs -of_objects [get_runs impl_1] impl_1_place_report_utilization_0]
  206. if { $obj != "" } {
  207. set_property -name "display_name" -value "impl_1_place_report_utilization_0" -objects $obj
  208. }
  209. # Create 'impl_1_place_report_control_sets_0' report (if not found)
  210. if { [ string equal [get_report_configs -of_objects [get_runs impl_1] impl_1_place_report_control_sets_0] "" ] } {
  211. 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
  212. }
  213. set obj [get_report_configs -of_objects [get_runs impl_1] impl_1_place_report_control_sets_0]
  214. if { $obj != "" } {
  215. set_property -name "display_name" -value "impl_1_place_report_control_sets_0" -objects $obj
  216. }
  217. # Create 'impl_1_place_report_incremental_reuse_0' report (if not found)
  218. if { [ string equal [get_report_configs -of_objects [get_runs impl_1] impl_1_place_report_incremental_reuse_0] "" ] } {
  219. 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
  220. }
  221. set obj [get_report_configs -of_objects [get_runs impl_1] impl_1_place_report_incremental_reuse_0]
  222. if { $obj != "" } {
  223. set_property -name "is_enabled" -value "0" -objects $obj
  224. set_property -name "display_name" -value "impl_1_place_report_incremental_reuse_0" -objects $obj
  225. }
  226. # Create 'impl_1_place_report_incremental_reuse_1' report (if not found)
  227. if { [ string equal [get_report_configs -of_objects [get_runs impl_1] impl_1_place_report_incremental_reuse_1] "" ] } {
  228. 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
  229. }
  230. set obj [get_report_configs -of_objects [get_runs impl_1] impl_1_place_report_incremental_reuse_1]
  231. if { $obj != "" } {
  232. set_property -name "is_enabled" -value "0" -objects $obj
  233. set_property -name "display_name" -value "impl_1_place_report_incremental_reuse_1" -objects $obj
  234. }
  235. # Create 'impl_1_place_report_timing_summary_0' report (if not found)
  236. if { [ string equal [get_report_configs -of_objects [get_runs impl_1] impl_1_place_report_timing_summary_0] "" ] } {
  237. 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
  238. }
  239. set obj [get_report_configs -of_objects [get_runs impl_1] impl_1_place_report_timing_summary_0]
  240. if { $obj != "" } {
  241. set_property -name "is_enabled" -value "0" -objects $obj
  242. set_property -name "display_name" -value "impl_1_place_report_timing_summary_0" -objects $obj
  243. }
  244. # Create 'impl_1_post_place_power_opt_report_timing_summary_0' report (if not found)
  245. if { [ string equal [get_report_configs -of_objects [get_runs impl_1] impl_1_post_place_power_opt_report_timing_summary_0] "" ] } {
  246. 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
  247. }
  248. set obj [get_report_configs -of_objects [get_runs impl_1] impl_1_post_place_power_opt_report_timing_summary_0]
  249. if { $obj != "" } {
  250. set_property -name "is_enabled" -value "0" -objects $obj
  251. set_property -name "display_name" -value "impl_1_post_place_power_opt_report_timing_summary_0" -objects $obj
  252. }
  253. # Create 'impl_1_phys_opt_report_timing_summary_0' report (if not found)
  254. if { [ string equal [get_report_configs -of_objects [get_runs impl_1] impl_1_phys_opt_report_timing_summary_0] "" ] } {
  255. 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
  256. }
  257. set obj [get_report_configs -of_objects [get_runs impl_1] impl_1_phys_opt_report_timing_summary_0]
  258. if { $obj != "" } {
  259. set_property -name "is_enabled" -value "0" -objects $obj
  260. set_property -name "display_name" -value "impl_1_phys_opt_report_timing_summary_0" -objects $obj
  261. }
  262. # Create 'impl_1_route_report_drc_0' report (if not found)
  263. if { [ string equal [get_report_configs -of_objects [get_runs impl_1] impl_1_route_report_drc_0] "" ] } {
  264. create_report_config -report_name impl_1_route_report_drc_0 -report_type report_drc:1.0 -steps route_design -runs impl_1
  265. }
  266. set obj [get_report_configs -of_objects [get_runs impl_1] impl_1_route_report_drc_0]
  267. if { $obj != "" } {
  268. set_property -name "display_name" -value "impl_1_route_report_drc_0" -objects $obj
  269. }
  270. # Create 'impl_1_route_report_methodology_0' report (if not found)
  271. if { [ string equal [get_report_configs -of_objects [get_runs impl_1] impl_1_route_report_methodology_0] "" ] } {
  272. create_report_config -report_name impl_1_route_report_methodology_0 -report_type report_methodology:1.0 -steps route_design -runs impl_1
  273. }
  274. set obj [get_report_configs -of_objects [get_runs impl_1] impl_1_route_report_methodology_0]
  275. if { $obj != "" } {
  276. set_property -name "display_name" -value "impl_1_route_report_methodology_0" -objects $obj
  277. }
  278. # Create 'impl_1_route_report_power_0' report (if not found)
  279. if { [ string equal [get_report_configs -of_objects [get_runs impl_1] impl_1_route_report_power_0] "" ] } {
  280. create_report_config -report_name impl_1_route_report_power_0 -report_type report_power:1.0 -steps route_design -runs impl_1
  281. }
  282. set obj [get_report_configs -of_objects [get_runs impl_1] impl_1_route_report_power_0]
  283. if { $obj != "" } {
  284. set_property -name "display_name" -value "impl_1_route_report_power_0" -objects $obj
  285. }
  286. # Create 'impl_1_route_report_route_status_0' report (if not found)
  287. if { [ string equal [get_report_configs -of_objects [get_runs impl_1] impl_1_route_report_route_status_0] "" ] } {
  288. 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
  289. }
  290. set obj [get_report_configs -of_objects [get_runs impl_1] impl_1_route_report_route_status_0]
  291. if { $obj != "" } {
  292. set_property -name "display_name" -value "impl_1_route_report_route_status_0" -objects $obj
  293. }
  294. # Create 'impl_1_route_report_timing_summary_0' report (if not found)
  295. if { [ string equal [get_report_configs -of_objects [get_runs impl_1] impl_1_route_report_timing_summary_0] "" ] } {
  296. 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
  297. }
  298. set obj [get_report_configs -of_objects [get_runs impl_1] impl_1_route_report_timing_summary_0]
  299. if { $obj != "" } {
  300. set_property -name "display_name" -value "impl_1_route_report_timing_summary_0" -objects $obj
  301. }
  302. # Create 'impl_1_route_report_incremental_reuse_0' report (if not found)
  303. if { [ string equal [get_report_configs -of_objects [get_runs impl_1] impl_1_route_report_incremental_reuse_0] "" ] } {
  304. 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
  305. }
  306. set obj [get_report_configs -of_objects [get_runs impl_1] impl_1_route_report_incremental_reuse_0]
  307. if { $obj != "" } {
  308. set_property -name "display_name" -value "impl_1_route_report_incremental_reuse_0" -objects $obj
  309. }
  310. # Create 'impl_1_route_report_clock_utilization_0' report (if not found)
  311. if { [ string equal [get_report_configs -of_objects [get_runs impl_1] impl_1_route_report_clock_utilization_0] "" ] } {
  312. 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
  313. }
  314. set obj [get_report_configs -of_objects [get_runs impl_1] impl_1_route_report_clock_utilization_0]
  315. if { $obj != "" } {
  316. set_property -name "display_name" -value "impl_1_route_report_clock_utilization_0" -objects $obj
  317. }
  318. # Create 'impl_1_route_report_bus_skew_0' report (if not found)
  319. if { [ string equal [get_report_configs -of_objects [get_runs impl_1] impl_1_route_report_bus_skew_0] "" ] } {
  320. 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
  321. }
  322. set obj [get_report_configs -of_objects [get_runs impl_1] impl_1_route_report_bus_skew_0]
  323. if { $obj != "" } {
  324. set_property -name "display_name" -value "impl_1_route_report_bus_skew_0" -objects $obj
  325. }
  326. # Create 'impl_1_post_route_phys_opt_report_timing_summary_0' report (if not found)
  327. if { [ string equal [get_report_configs -of_objects [get_runs impl_1] impl_1_post_route_phys_opt_report_timing_summary_0] "" ] } {
  328. 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
  329. }
  330. set obj [get_report_configs -of_objects [get_runs impl_1] impl_1_post_route_phys_opt_report_timing_summary_0]
  331. if { $obj != "" } {
  332. set_property -name "display_name" -value "impl_1_post_route_phys_opt_report_timing_summary_0" -objects $obj
  333. }
  334. # Create 'impl_1_post_route_phys_opt_report_bus_skew_0' report (if not found)
  335. if { [ string equal [get_report_configs -of_objects [get_runs impl_1] impl_1_post_route_phys_opt_report_bus_skew_0] "" ] } {
  336. 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
  337. }
  338. set obj [get_report_configs -of_objects [get_runs impl_1] impl_1_post_route_phys_opt_report_bus_skew_0]
  339. if { $obj != "" } {
  340. set_property -name "display_name" -value "impl_1_post_route_phys_opt_report_bus_skew_0" -objects $obj
  341. }
  342. set obj [get_runs impl_1]
  343. set_property -name "part" -value "xc7a100tcsg324-1" -objects $obj
  344. set_property -name "strategy" -value "Vivado Implementation Defaults" -objects $obj
  345. set_property -name "steps.write_bitstream.args.readback_file" -value "0" -objects $obj
  346. set_property -name "steps.write_bitstream.args.verbose" -value "0" -objects $obj
  347. # set the current impl run
  348. current_run -implementation [get_runs impl_1]
  349. puts "INFO: Project created:${_xil_proj_name_}"
  350. set obj [get_dashboards default_dashboard]
  351. # Create 'drc_1' gadget (if not found)
  352. if {[string equal [get_dashboard_gadgets -of_objects [get_dashboards default_dashboard] [ list "drc_1" ] ] ""]} {
  353. create_dashboard_gadget -name {drc_1} -type drc
  354. }
  355. set obj [get_dashboard_gadgets -of_objects [get_dashboards default_dashboard] [ list "drc_1" ] ]
  356. set_property -name "reports" -value "impl_1#impl_1_route_report_drc_0" -objects $obj
  357. # Create 'methodology_1' gadget (if not found)
  358. if {[string equal [get_dashboard_gadgets -of_objects [get_dashboards default_dashboard] [ list "methodology_1" ] ] ""]} {
  359. create_dashboard_gadget -name {methodology_1} -type methodology
  360. }
  361. set obj [get_dashboard_gadgets -of_objects [get_dashboards default_dashboard] [ list "methodology_1" ] ]
  362. set_property -name "reports" -value "impl_1#impl_1_route_report_methodology_0" -objects $obj
  363. # Create 'power_1' gadget (if not found)
  364. if {[string equal [get_dashboard_gadgets -of_objects [get_dashboards default_dashboard] [ list "power_1" ] ] ""]} {
  365. create_dashboard_gadget -name {power_1} -type power
  366. }
  367. set obj [get_dashboard_gadgets -of_objects [get_dashboards default_dashboard] [ list "power_1" ] ]
  368. set_property -name "reports" -value "impl_1#impl_1_route_report_power_0" -objects $obj
  369. # Create 'timing_1' gadget (if not found)
  370. if {[string equal [get_dashboard_gadgets -of_objects [get_dashboards default_dashboard] [ list "timing_1" ] ] ""]} {
  371. create_dashboard_gadget -name {timing_1} -type timing
  372. }
  373. set obj [get_dashboard_gadgets -of_objects [get_dashboards default_dashboard] [ list "timing_1" ] ]
  374. set_property -name "reports" -value "impl_1#impl_1_route_report_timing_summary_0" -objects $obj
  375. # Create 'utilization_1' gadget (if not found)
  376. if {[string equal [get_dashboard_gadgets -of_objects [get_dashboards default_dashboard] [ list "utilization_1" ] ] ""]} {
  377. create_dashboard_gadget -name {utilization_1} -type utilization
  378. }
  379. set obj [get_dashboard_gadgets -of_objects [get_dashboards default_dashboard] [ list "utilization_1" ] ]
  380. set_property -name "reports" -value "synth_1#synth_1_synth_report_utilization_0" -objects $obj
  381. set_property -name "run.step" -value "synth_design" -objects $obj
  382. set_property -name "run.type" -value "synthesis" -objects $obj
  383. # Create 'utilization_2' gadget (if not found)
  384. if {[string equal [get_dashboard_gadgets -of_objects [get_dashboards default_dashboard] [ list "utilization_2" ] ] ""]} {
  385. create_dashboard_gadget -name {utilization_2} -type utilization
  386. }
  387. set obj [get_dashboard_gadgets -of_objects [get_dashboards default_dashboard] [ list "utilization_2" ] ]
  388. set_property -name "reports" -value "impl_1#impl_1_place_report_utilization_0" -objects $obj
  389. move_dashboard_gadget -name {utilization_1} -row 0 -col 0
  390. move_dashboard_gadget -name {power_1} -row 1 -col 0
  391. move_dashboard_gadget -name {drc_1} -row 2 -col 0
  392. move_dashboard_gadget -name {timing_1} -row 0 -col 1
  393. move_dashboard_gadget -name {utilization_2} -row 1 -col 1
  394. move_dashboard_gadget -name {methodology_1} -row 2 -col 1
  395. # Set current dashboard to 'default_dashboard'
  396. current_dashboard default_dashboard