vhdl-modules.tcl 23 KB

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