recreate.tcl 49 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572573574575576577578579580581582583584585586587588589590591592593594595596597598599600601602603604605606607608609610611612613614615616617618619620621622623624625626627628629630631632633634635636637638639640641642643644645646647648649650651652653654655656657658659660661662663664665666667668669670671672673674675676677678679680681682683684685686687688689690691692693694695696697698699700701702703704705706707708709710711712713714715716717718719720721722723724725726727728729730731732733734735736737738739740741742743744745746747748749750751752753754755756757758759760761762763764765766767768769770771772773774775776777778779780781782783784785786787788789790791792793794795796797798799800801802803804805806807808809810811812813814815816817818819820821822823824825826827828829830831832833834835836837838839840841842843844845846847848849850851852853854855856857858859860861862863864865866867868869870871872873874875876877878879880881882883884885886887888889890891892893894895896897898899900901902903904905906907908909910911912913914915916917918919920921922923924925926927928929930931932933934935936937938939940941942943944945946947
  1. #*****************************************************************************************
  2. # Vivado (TM) v2024.1 (64-bit)
  3. #
  4. # recreate.tcl: Tcl script for re-creating project 'PciVnaEmul'
  5. #
  6. # Generated by Vivado on Thu Oct 10 10:35:07 +0300 2024
  7. # IP Build 5075265 on Wed May 22 21:45:21 MDT 2024
  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 (recreate.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. # "C:/PciVnaEmul_PROJ/PciVnaEmul.srcs/sources_1/ip/MeasDataFifo/MeasDataFifo.xci"
  27. # "C:/PciVnaEmul_PROJ/PciVnaEmul.srcs/sources_1/ip/pcie1234/pcie1234.xci"
  28. # "C:/PciVnaEmul_PROJ/PciVnaEmul.srcs/sources_1/ip/ClkPllSysTo125/ClkPllSysTo125.xci"
  29. # "C:/PciVnaEmul_PROJ/PciVnaEmul.srcs/sources_1/ip/CdcFifo/CdcFifo.xci"
  30. # "C:/PciVnaEmul_PROJ/PciVnaEmul.srcs/utils_1/imports/synth_1/PciVnaEmulTop.dcp"
  31. #
  32. # 3. The following remote source files that were added to the original project:-
  33. #
  34. # "C:/PciVnaEmul_REPO/src/PulseMeas/ActivePortSelector.v"
  35. # "C:/PciVnaEmul_REPO/src/InternalDsp/AdcCalibration.v"
  36. # "C:/PciVnaEmul_REPO/src/InternalDsp/ComplPrng.v"
  37. # "C:/PciVnaEmul_REPO/src/InternalDsp/CordicNco.v"
  38. # "C:/PciVnaEmul_REPO/src/InternalDsp/CordicRotation.v"
  39. # "C:/PciVnaEmul_REPO/src/DitherGen/DitherGenv2.v"
  40. # "C:/PciVnaEmul_REPO/src/InternalDsp/DspPipeline.v"
  41. # "C:/PciVnaEmul_REPO/src/PciE/EP_MEM.v"
  42. # "C:/PciVnaEmul_REPO/src/Math/FpCustomMultiplier.v"
  43. # "C:/PciVnaEmul_REPO/src/GainOverloadControl/GainControl.v"
  44. # "C:/PciVnaEmul_REPO/src/GainOverloadControl/GainControlWrapper.v"
  45. # "C:/PciVnaEmul_REPO/src/InitRst/InitRst.v"
  46. # "C:/PciVnaEmul_REPO/src/Top/IntermediateLogic.v"
  47. # "C:/PciVnaEmul_REPO/src/InternalDsp/InternalDsp.v"
  48. # "C:/PciVnaEmul_REPO/src/InternalDsp/MeasCtrlModule.v"
  49. # "C:/PciVnaEmul_REPO/src/PulseMeas/MeasStartEventGen.v"
  50. # "C:/PciVnaEmul_REPO/src/Math/MultModule.v"
  51. # "C:/PciVnaEmul_REPO/src/PulseMeas/Mux.v"
  52. # "C:/PciVnaEmul_REPO/src/Math/MyIntToFp.v"
  53. # "C:/PciVnaEmul_REPO/src/InternalDsp/NcoRstGen.v"
  54. # "C:/PciVnaEmul_REPO/src/GainOverloadControl/OverloadDetect.v"
  55. # "C:/PciVnaEmul_REPO/src/PulseMeas/PGenRstGenerator.v"
  56. # "C:/PciVnaEmul_REPO/src/PciE/PIO.v"
  57. # "C:/PciVnaEmul_REPO/src/PciE/PIO_EP.v"
  58. # "C:/PciVnaEmul_REPO/src/PciE/PIO_EP_MEM_ACCESS.v"
  59. # "C:/PciVnaEmul_REPO/src/PciE/PIO_RX_ENGINE.v"
  60. # "C:/PciVnaEmul_REPO/src/PciE/PIO_TO_CTRL.v"
  61. # "C:/PciVnaEmul_REPO/src/PciE/PIO_TX_ENGINE.v"
  62. # "C:/PciVnaEmul_REPO/src/PulseMeas/PulseGen.v"
  63. # "C:/PciVnaEmul_REPO/src/RegMap/RegMap.v"
  64. # "C:/PciVnaEmul_REPO/src/Top/S5443Top.v"
  65. # "C:/PciVnaEmul_REPO/src/PulseMeas/SampleStrobeGenRstDemux.v"
  66. # "C:/PciVnaEmul_REPO/src/Math/SimpleMult.v"
  67. # "C:/PciVnaEmul_REPO/src/PulseMeas/StartAfterGainSel.v"
  68. # "C:/PciVnaEmul_REPO/src/Math/SumAcc.v"
  69. # "C:/PciVnaEmul_REPO/src/PulseMeas/TrigInt2Mux.v"
  70. # "C:/PciVnaEmul_REPO/src/InternalDsp/WinParameters.v"
  71. # "C:/PciVnaEmul_REPO/src/InternalDsp/Win_calc.v"
  72. # "C:/PciVnaEmul_REPO/src/PciE/pcie1234_pipe_clock.v"
  73. # "C:/PciVnaEmul_REPO/src/PciE/pcie1234_support.v"
  74. # "C:/PciVnaEmul_REPO/src/PciE/pcie_app_7x.v"
  75. # "C:/PciVnaEmul_REPO/src/PciE/xilinx_pcie_2_1_ep_7x.v"
  76. # "C:/PciVnaEmul_REPO/src/Top/PciVnaEmulTop.v"
  77. # "C:/PciVnaEmul_REPO/src/ExtDspInterface/DspInterface.v"
  78. # "C:/PciVnaEmul_REPO/src/MeasDataFifo/FifoController.v"
  79. # "C:/PciVnaEmul_REPO/src/MeasDataFifo/MeasDataFifoWrapper.v"
  80. # "C:/PciVnaEmul_REPO/src/ExtDspInterface/SlaveSpi.v"
  81. # "C:/PciVnaEmul_REPO/src/PciE/board_common.vh"
  82. # "C:/PciVnaEmul_REPO/src/PciE/pci_exp_expect_tasks.vh"
  83. # "C:/PciVnaEmul_REPO/src/PciE/tests.vh"
  84. # "C:/PciVnaEmul_REPO/src/PciE/sample_tests1.vh"
  85. # "C:/PciVnaEmul_REPO/src/PciE/pipe_interconnect.vh"
  86. # "C:/PciVnaEmul_REPO/src/PciE/pcie1234_gt_top_pipe_mode.v"
  87. # "C:/PciVnaEmul_REPO/constr/xilinx_pcie_7x_ep_x1g1.xdc"
  88. # "C:/PciVnaEmul_REPO/src/Sim/S5443TopSimpleMeasTb.v"
  89. # "C:/PciVnaEmul_REPO/src/PciE/EP_MEM.v"
  90. # "C:/PciVnaEmul_REPO/src/PciE/PIO.v"
  91. # "C:/PciVnaEmul_REPO/src/PciE/PIO_EP.v"
  92. # "C:/PciVnaEmul_REPO/src/PciE/PIO_EP_MEM_ACCESS.v"
  93. # "C:/PciVnaEmul_REPO/src/PciE/PIO_RX_ENGINE.v"
  94. # "C:/PciVnaEmul_REPO/src/PciE/PIO_TO_CTRL.v"
  95. # "C:/PciVnaEmul_REPO/src/PciE/PIO_TX_ENGINE.v"
  96. # "C:/PciVnaEmul_REPO/src/PciE/board_common.vh"
  97. # "C:/PciVnaEmul_REPO/src/PciE/pci_exp_usrapp_cfg.v"
  98. # "C:/PciVnaEmul_REPO/src/PciE/pci_exp_expect_tasks.vh"
  99. # "C:/PciVnaEmul_REPO/src/PciE/pci_exp_usrapp_com.v"
  100. # "C:/PciVnaEmul_REPO/src/PciE/pci_exp_usrapp_pl.v"
  101. # "C:/PciVnaEmul_REPO/src/PciE/pci_exp_usrapp_rx.v"
  102. # "C:/PciVnaEmul_REPO/src/PciE/tests.vh"
  103. # "C:/PciVnaEmul_REPO/src/PciE/sample_tests1.vh"
  104. # "C:/PciVnaEmul_REPO/src/PciE/pci_exp_usrapp_tx.v"
  105. # "C:/PciVnaEmul_REPO/src/PciE/pcie1234_pipe_clock.v"
  106. # "C:/PciVnaEmul_REPO/src/PciE/pcie1234_support.v"
  107. # "C:/PciVnaEmul_REPO/src/PciE/pcie_app_7x.v"
  108. # "C:/PciVnaEmul_REPO/src/PciE/pcie_axi_trn_bridge.v"
  109. # "C:/PciVnaEmul_REPO/src/PciE/sys_clk_gen.v"
  110. # "C:/PciVnaEmul_REPO/src/PciE/sys_clk_gen_ds.v"
  111. # "C:/PciVnaEmul_REPO/src/PciE/xilinx_pcie_2_1_ep_7x.v"
  112. # "C:/PciVnaEmul_REPO/src/PciE/xilinx_pcie_2_1_rport_7x.v"
  113. # "C:/PciVnaEmul_REPO/src/PciE/board.v"
  114. # "C:/PciVnaEmul_REPO/src/PciE/pipe_interconnect.vh"
  115. #
  116. #*****************************************************************************************
  117. # Check file required for this script exists
  118. proc checkRequiredFiles { origin_dir} {
  119. set status true
  120. set files [list \
  121. "[file normalize "$origin_dir/PciVnaEmul_PROJ/PciVnaEmul.srcs/sources_1/ip/MeasDataFifo/MeasDataFifo.xci"]"\
  122. "[file normalize "$origin_dir/PciVnaEmul_PROJ/PciVnaEmul.srcs/sources_1/ip/pcie1234/pcie1234.xci"]"\
  123. "[file normalize "$origin_dir/PciVnaEmul_PROJ/PciVnaEmul.srcs/sources_1/ip/ClkPllSysTo125/ClkPllSysTo125.xci"]"\
  124. "[file normalize "$origin_dir/PciVnaEmul_PROJ/PciVnaEmul.srcs/sources_1/ip/CdcFifo/CdcFifo.xci"]"\
  125. "[file normalize "$origin_dir/PciVnaEmul_PROJ/PciVnaEmul.srcs/utils_1/imports/synth_1/PciVnaEmulTop.dcp"]"\
  126. ]
  127. foreach ifile $files {
  128. if { ![file isfile $ifile] } {
  129. puts " Could not find local file $ifile "
  130. set status false
  131. }
  132. }
  133. set files [list \
  134. "[file normalize "$origin_dir/PciVnaEmul_REPO/src/PulseMeas/ActivePortSelector.v"]"\
  135. "[file normalize "$origin_dir/PciVnaEmul_REPO/src/InternalDsp/AdcCalibration.v"]"\
  136. "[file normalize "$origin_dir/PciVnaEmul_REPO/src/InternalDsp/ComplPrng.v"]"\
  137. "[file normalize "$origin_dir/PciVnaEmul_REPO/src/InternalDsp/CordicNco.v"]"\
  138. "[file normalize "$origin_dir/PciVnaEmul_REPO/src/InternalDsp/CordicRotation.v"]"\
  139. "[file normalize "$origin_dir/PciVnaEmul_REPO/src/DitherGen/DitherGenv2.v"]"\
  140. "[file normalize "$origin_dir/PciVnaEmul_REPO/src/InternalDsp/DspPipeline.v"]"\
  141. "[file normalize "$origin_dir/PciVnaEmul_REPO/src/PciE/EP_MEM.v"]"\
  142. "[file normalize "$origin_dir/PciVnaEmul_REPO/src/Math/FpCustomMultiplier.v"]"\
  143. "[file normalize "$origin_dir/PciVnaEmul_REPO/src/GainOverloadControl/GainControl.v"]"\
  144. "[file normalize "$origin_dir/PciVnaEmul_REPO/src/GainOverloadControl/GainControlWrapper.v"]"\
  145. "[file normalize "$origin_dir/PciVnaEmul_REPO/src/InitRst/InitRst.v"]"\
  146. "[file normalize "$origin_dir/PciVnaEmul_REPO/src/Top/IntermediateLogic.v"]"\
  147. "[file normalize "$origin_dir/PciVnaEmul_REPO/src/InternalDsp/InternalDsp.v"]"\
  148. "[file normalize "$origin_dir/PciVnaEmul_REPO/src/InternalDsp/MeasCtrlModule.v"]"\
  149. "[file normalize "$origin_dir/PciVnaEmul_REPO/src/PulseMeas/MeasStartEventGen.v"]"\
  150. "[file normalize "$origin_dir/PciVnaEmul_REPO/src/Math/MultModule.v"]"\
  151. "[file normalize "$origin_dir/PciVnaEmul_REPO/src/PulseMeas/Mux.v"]"\
  152. "[file normalize "$origin_dir/PciVnaEmul_REPO/src/Math/MyIntToFp.v"]"\
  153. "[file normalize "$origin_dir/PciVnaEmul_REPO/src/InternalDsp/NcoRstGen.v"]"\
  154. "[file normalize "$origin_dir/PciVnaEmul_REPO/src/GainOverloadControl/OverloadDetect.v"]"\
  155. "[file normalize "$origin_dir/PciVnaEmul_REPO/src/PulseMeas/PGenRstGenerator.v"]"\
  156. "[file normalize "$origin_dir/PciVnaEmul_REPO/src/PciE/PIO.v"]"\
  157. "[file normalize "$origin_dir/PciVnaEmul_REPO/src/PciE/PIO_EP.v"]"\
  158. "[file normalize "$origin_dir/PciVnaEmul_REPO/src/PciE/PIO_EP_MEM_ACCESS.v"]"\
  159. "[file normalize "$origin_dir/PciVnaEmul_REPO/src/PciE/PIO_RX_ENGINE.v"]"\
  160. "[file normalize "$origin_dir/PciVnaEmul_REPO/src/PciE/PIO_TO_CTRL.v"]"\
  161. "[file normalize "$origin_dir/PciVnaEmul_REPO/src/PciE/PIO_TX_ENGINE.v"]"\
  162. "[file normalize "$origin_dir/PciVnaEmul_REPO/src/PulseMeas/PulseGen.v"]"\
  163. "[file normalize "$origin_dir/PciVnaEmul_REPO/src/RegMap/RegMap.v"]"\
  164. "[file normalize "$origin_dir/PciVnaEmul_REPO/src/Top/S5443Top.v"]"\
  165. "[file normalize "$origin_dir/PciVnaEmul_REPO/src/PulseMeas/SampleStrobeGenRstDemux.v"]"\
  166. "[file normalize "$origin_dir/PciVnaEmul_REPO/src/Math/SimpleMult.v"]"\
  167. "[file normalize "$origin_dir/PciVnaEmul_REPO/src/PulseMeas/StartAfterGainSel.v"]"\
  168. "[file normalize "$origin_dir/PciVnaEmul_REPO/src/Math/SumAcc.v"]"\
  169. "[file normalize "$origin_dir/PciVnaEmul_REPO/src/PulseMeas/TrigInt2Mux.v"]"\
  170. "[file normalize "$origin_dir/PciVnaEmul_REPO/src/InternalDsp/WinParameters.v"]"\
  171. "[file normalize "$origin_dir/PciVnaEmul_REPO/src/InternalDsp/Win_calc.v"]"\
  172. "[file normalize "$origin_dir/PciVnaEmul_REPO/src/PciE/pcie1234_pipe_clock.v"]"\
  173. "[file normalize "$origin_dir/PciVnaEmul_REPO/src/PciE/pcie1234_support.v"]"\
  174. "[file normalize "$origin_dir/PciVnaEmul_REPO/src/PciE/pcie_app_7x.v"]"\
  175. "[file normalize "$origin_dir/PciVnaEmul_REPO/src/PciE/xilinx_pcie_2_1_ep_7x.v"]"\
  176. "[file normalize "$origin_dir/PciVnaEmul_REPO/src/Top/PciVnaEmulTop.v"]"\
  177. "[file normalize "$origin_dir/PciVnaEmul_REPO/src/ExtDspInterface/DspInterface.v"]"\
  178. "[file normalize "$origin_dir/PciVnaEmul_REPO/src/MeasDataFifo/FifoController.v"]"\
  179. "[file normalize "$origin_dir/PciVnaEmul_REPO/src/MeasDataFifo/MeasDataFifoWrapper.v"]"\
  180. "[file normalize "$origin_dir/PciVnaEmul_REPO/src/ExtDspInterface/SlaveSpi.v"]"\
  181. "[file normalize "$origin_dir/PciVnaEmul_REPO/src/PciE/board_common.vh"]"\
  182. "[file normalize "$origin_dir/PciVnaEmul_REPO/src/PciE/pci_exp_expect_tasks.vh"]"\
  183. "[file normalize "$origin_dir/PciVnaEmul_REPO/src/PciE/tests.vh"]"\
  184. "[file normalize "$origin_dir/PciVnaEmul_REPO/src/PciE/sample_tests1.vh"]"\
  185. "[file normalize "$origin_dir/PciVnaEmul_REPO/src/PciE/pipe_interconnect.vh"]"\
  186. "[file normalize "$origin_dir/PciVnaEmul_REPO/src/PciE/pcie1234_gt_top_pipe_mode.v"]"\
  187. "[file normalize "$origin_dir/PciVnaEmul_REPO/constr/xilinx_pcie_7x_ep_x1g1.xdc"]"\
  188. "[file normalize "$origin_dir/PciVnaEmul_REPO/src/Sim/S5443TopSimpleMeasTb.v"]"\
  189. "[file normalize "$origin_dir/PciVnaEmul_REPO/src/PciE/EP_MEM.v"]"\
  190. "[file normalize "$origin_dir/PciVnaEmul_REPO/src/PciE/PIO.v"]"\
  191. "[file normalize "$origin_dir/PciVnaEmul_REPO/src/PciE/PIO_EP.v"]"\
  192. "[file normalize "$origin_dir/PciVnaEmul_REPO/src/PciE/PIO_EP_MEM_ACCESS.v"]"\
  193. "[file normalize "$origin_dir/PciVnaEmul_REPO/src/PciE/PIO_RX_ENGINE.v"]"\
  194. "[file normalize "$origin_dir/PciVnaEmul_REPO/src/PciE/PIO_TO_CTRL.v"]"\
  195. "[file normalize "$origin_dir/PciVnaEmul_REPO/src/PciE/PIO_TX_ENGINE.v"]"\
  196. "[file normalize "$origin_dir/PciVnaEmul_REPO/src/PciE/board_common.vh"]"\
  197. "[file normalize "$origin_dir/PciVnaEmul_REPO/src/PciE/pci_exp_usrapp_cfg.v"]"\
  198. "[file normalize "$origin_dir/PciVnaEmul_REPO/src/PciE/pci_exp_expect_tasks.vh"]"\
  199. "[file normalize "$origin_dir/PciVnaEmul_REPO/src/PciE/pci_exp_usrapp_com.v"]"\
  200. "[file normalize "$origin_dir/PciVnaEmul_REPO/src/PciE/pci_exp_usrapp_pl.v"]"\
  201. "[file normalize "$origin_dir/PciVnaEmul_REPO/src/PciE/pci_exp_usrapp_rx.v"]"\
  202. "[file normalize "$origin_dir/PciVnaEmul_REPO/src/PciE/tests.vh"]"\
  203. "[file normalize "$origin_dir/PciVnaEmul_REPO/src/PciE/sample_tests1.vh"]"\
  204. "[file normalize "$origin_dir/PciVnaEmul_REPO/src/PciE/pci_exp_usrapp_tx.v"]"\
  205. "[file normalize "$origin_dir/PciVnaEmul_REPO/src/PciE/pcie1234_pipe_clock.v"]"\
  206. "[file normalize "$origin_dir/PciVnaEmul_REPO/src/PciE/pcie1234_support.v"]"\
  207. "[file normalize "$origin_dir/PciVnaEmul_REPO/src/PciE/pcie_app_7x.v"]"\
  208. "[file normalize "$origin_dir/PciVnaEmul_REPO/src/PciE/pcie_axi_trn_bridge.v"]"\
  209. "[file normalize "$origin_dir/PciVnaEmul_REPO/src/PciE/sys_clk_gen.v"]"\
  210. "[file normalize "$origin_dir/PciVnaEmul_REPO/src/PciE/sys_clk_gen_ds.v"]"\
  211. "[file normalize "$origin_dir/PciVnaEmul_REPO/src/PciE/xilinx_pcie_2_1_ep_7x.v"]"\
  212. "[file normalize "$origin_dir/PciVnaEmul_REPO/src/PciE/xilinx_pcie_2_1_rport_7x.v"]"\
  213. "[file normalize "$origin_dir/PciVnaEmul_REPO/src/PciE/board.v"]"\
  214. "[file normalize "$origin_dir/PciVnaEmul_REPO/src/PciE/pipe_interconnect.vh"]"\
  215. ]
  216. foreach ifile $files {
  217. if { ![file isfile $ifile] } {
  218. puts " Could not find remote file $ifile "
  219. set status false
  220. }
  221. }
  222. return $status
  223. }
  224. # Set the reference directory for source file relative paths (by default the value is script directory path)
  225. set origin_dir "C:/"
  226. # Use origin directory path location variable, if specified in the tcl shell
  227. if { [info exists ::origin_dir_loc] } {
  228. set origin_dir $::origin_dir_loc
  229. }
  230. # Set the project name
  231. set _xil_proj_name_ "PciVnaEmul"
  232. # Use project name variable, if specified in the tcl shell
  233. if { [info exists ::user_project_name] } {
  234. set _xil_proj_name_ $::user_project_name
  235. }
  236. variable script_file
  237. set script_file "recreate.tcl"
  238. # Help information for this script
  239. proc print_help {} {
  240. variable script_file
  241. puts "\nDescription:"
  242. puts "Recreate a Vivado project from this script. The created project will be"
  243. puts "functionally equivalent to the original project for which this script was"
  244. puts "generated. The script contains commands for creating a project, filesets,"
  245. puts "runs, adding/importing sources and setting properties on various objects.\n"
  246. puts "Syntax:"
  247. puts "$script_file"
  248. puts "$script_file -tclargs \[--origin_dir <path>\]"
  249. puts "$script_file -tclargs \[--project_name <name>\]"
  250. puts "$script_file -tclargs \[--help\]\n"
  251. puts "Usage:"
  252. puts "Name Description"
  253. puts "-------------------------------------------------------------------------"
  254. puts "\[--origin_dir <path>\] Determine source file paths wrt this path. Default"
  255. puts " origin_dir path value is \".\", otherwise, the value"
  256. puts " that was set with the \"-paths_relative_to\" switch"
  257. puts " when this script was generated.\n"
  258. puts "\[--project_name <name>\] Create project with the specified name. Default"
  259. puts " name is the name of the project from where this"
  260. puts " script was generated.\n"
  261. puts "\[--help\] Print help information for this script"
  262. puts "-------------------------------------------------------------------------\n"
  263. exit 0
  264. }
  265. if { $::argc > 0 } {
  266. for {set i 0} {$i < $::argc} {incr i} {
  267. set option [string trim [lindex $::argv $i]]
  268. switch -regexp -- $option {
  269. "--origin_dir" { incr i; set origin_dir [lindex $::argv $i] }
  270. "--project_name" { incr i; set _xil_proj_name_ [lindex $::argv $i] }
  271. "--help" { print_help }
  272. default {
  273. if { [regexp {^-} $option] } {
  274. puts "ERROR: Unknown option '$option' specified, please type '$script_file -tclargs --help' for usage info.\n"
  275. return 1
  276. }
  277. }
  278. }
  279. }
  280. }
  281. # Set the directory path for the original project from where this script was exported
  282. set orig_proj_dir "[file normalize "$origin_dir/PciVnaEmul_PROJ"]"
  283. # Check for paths and files needed for project creation
  284. set validate_required 0
  285. if { $validate_required } {
  286. if { [checkRequiredFiles $origin_dir] } {
  287. puts "Tcl file $script_file is valid. All files required for project creation is accesable. "
  288. } else {
  289. puts "Tcl file $script_file is not valid. Not all files required for project creation is accesable. "
  290. return
  291. }
  292. }
  293. # Create project
  294. create_project ${_xil_proj_name_} ./${_xil_proj_name_} -part xc7a100tfgg484-2
  295. # Set the directory path for the new project
  296. set proj_dir [get_property directory [current_project]]
  297. # Reconstruct message rules
  298. # None
  299. # Set project properties
  300. set obj [current_project]
  301. set_property -name "default_lib" -value "xil_defaultlib" -objects $obj
  302. set_property -name "enable_resource_estimation" -value "0" -objects $obj
  303. set_property -name "enable_vhdl_2008" -value "1" -objects $obj
  304. set_property -name "ip_cache_permissions" -value "read write" -objects $obj
  305. set_property -name "ip_output_repo" -value "$proj_dir/${_xil_proj_name_}.cache/ip" -objects $obj
  306. set_property -name "mem.enable_memory_map_generation" -value "1" -objects $obj
  307. set_property -name "part" -value "xc7a100tfgg484-2" -objects $obj
  308. set_property -name "revised_directory_structure" -value "1" -objects $obj
  309. set_property -name "sim.central_dir" -value "$proj_dir/${_xil_proj_name_}.ip_user_files" -objects $obj
  310. set_property -name "sim.ip.auto_export_scripts" -value "1" -objects $obj
  311. set_property -name "simulator_language" -value "Mixed" -objects $obj
  312. set_property -name "sim_compile_state" -value "1" -objects $obj
  313. set_property -name "webtalk.xsim_launch_sim" -value "69" -objects $obj
  314. set_property -name "xpm_libraries" -value "XPM_CDC XPM_MEMORY" -objects $obj
  315. # Create 'sources_1' fileset (if not found)
  316. if {[string equal [get_filesets -quiet sources_1] ""]} {
  317. create_fileset -srcset sources_1
  318. }
  319. # Set 'sources_1' fileset object
  320. set obj [get_filesets sources_1]
  321. set files [list \
  322. [file normalize "${origin_dir}/PciVnaEmul_REPO/src/PulseMeas/ActivePortSelector.v"] \
  323. [file normalize "${origin_dir}/PciVnaEmul_REPO/src/InternalDsp/AdcCalibration.v"] \
  324. [file normalize "${origin_dir}/PciVnaEmul_REPO/src/InternalDsp/ComplPrng.v"] \
  325. [file normalize "${origin_dir}/PciVnaEmul_REPO/src/InternalDsp/CordicNco.v"] \
  326. [file normalize "${origin_dir}/PciVnaEmul_REPO/src/InternalDsp/CordicRotation.v"] \
  327. [file normalize "${origin_dir}/PciVnaEmul_REPO/src/DitherGen/DitherGenv2.v"] \
  328. [file normalize "${origin_dir}/PciVnaEmul_REPO/src/InternalDsp/DspPipeline.v"] \
  329. [file normalize "${origin_dir}/PciVnaEmul_REPO/src/PciE/EP_MEM.v"] \
  330. [file normalize "${origin_dir}/PciVnaEmul_REPO/src/Math/FpCustomMultiplier.v"] \
  331. [file normalize "${origin_dir}/PciVnaEmul_REPO/src/GainOverloadControl/GainControl.v"] \
  332. [file normalize "${origin_dir}/PciVnaEmul_REPO/src/GainOverloadControl/GainControlWrapper.v"] \
  333. [file normalize "${origin_dir}/PciVnaEmul_REPO/src/InitRst/InitRst.v"] \
  334. [file normalize "${origin_dir}/PciVnaEmul_REPO/src/Top/IntermediateLogic.v"] \
  335. [file normalize "${origin_dir}/PciVnaEmul_REPO/src/InternalDsp/InternalDsp.v"] \
  336. [file normalize "${origin_dir}/PciVnaEmul_REPO/src/InternalDsp/MeasCtrlModule.v"] \
  337. [file normalize "${origin_dir}/PciVnaEmul_REPO/src/PulseMeas/MeasStartEventGen.v"] \
  338. [file normalize "${origin_dir}/PciVnaEmul_REPO/src/Math/MultModule.v"] \
  339. [file normalize "${origin_dir}/PciVnaEmul_REPO/src/PulseMeas/Mux.v"] \
  340. [file normalize "${origin_dir}/PciVnaEmul_REPO/src/Math/MyIntToFp.v"] \
  341. [file normalize "${origin_dir}/PciVnaEmul_REPO/src/InternalDsp/NcoRstGen.v"] \
  342. [file normalize "${origin_dir}/PciVnaEmul_REPO/src/GainOverloadControl/OverloadDetect.v"] \
  343. [file normalize "${origin_dir}/PciVnaEmul_REPO/src/PulseMeas/PGenRstGenerator.v"] \
  344. [file normalize "${origin_dir}/PciVnaEmul_REPO/src/PciE/PIO.v"] \
  345. [file normalize "${origin_dir}/PciVnaEmul_REPO/src/PciE/PIO_EP.v"] \
  346. [file normalize "${origin_dir}/PciVnaEmul_REPO/src/PciE/PIO_EP_MEM_ACCESS.v"] \
  347. [file normalize "${origin_dir}/PciVnaEmul_REPO/src/PciE/PIO_RX_ENGINE.v"] \
  348. [file normalize "${origin_dir}/PciVnaEmul_REPO/src/PciE/PIO_TO_CTRL.v"] \
  349. [file normalize "${origin_dir}/PciVnaEmul_REPO/src/PciE/PIO_TX_ENGINE.v"] \
  350. [file normalize "${origin_dir}/PciVnaEmul_REPO/src/PulseMeas/PulseGen.v"] \
  351. [file normalize "${origin_dir}/PciVnaEmul_REPO/src/RegMap/RegMap.v"] \
  352. [file normalize "${origin_dir}/PciVnaEmul_REPO/src/Top/S5443Top.v"] \
  353. [file normalize "${origin_dir}/PciVnaEmul_REPO/src/PulseMeas/SampleStrobeGenRstDemux.v"] \
  354. [file normalize "${origin_dir}/PciVnaEmul_REPO/src/Math/SimpleMult.v"] \
  355. [file normalize "${origin_dir}/PciVnaEmul_REPO/src/PulseMeas/StartAfterGainSel.v"] \
  356. [file normalize "${origin_dir}/PciVnaEmul_REPO/src/Math/SumAcc.v"] \
  357. [file normalize "${origin_dir}/PciVnaEmul_REPO/src/PulseMeas/TrigInt2Mux.v"] \
  358. [file normalize "${origin_dir}/PciVnaEmul_REPO/src/InternalDsp/WinParameters.v"] \
  359. [file normalize "${origin_dir}/PciVnaEmul_REPO/src/InternalDsp/Win_calc.v"] \
  360. [file normalize "${origin_dir}/PciVnaEmul_REPO/src/PciE/pcie1234_pipe_clock.v"] \
  361. [file normalize "${origin_dir}/PciVnaEmul_REPO/src/PciE/pcie1234_support.v"] \
  362. [file normalize "${origin_dir}/PciVnaEmul_REPO/src/PciE/pcie_app_7x.v"] \
  363. [file normalize "${origin_dir}/PciVnaEmul_REPO/src/PciE/xilinx_pcie_2_1_ep_7x.v"] \
  364. [file normalize "${origin_dir}/PciVnaEmul_REPO/src/Top/PciVnaEmulTop.v"] \
  365. [file normalize "${origin_dir}/PciVnaEmul_REPO/src/ExtDspInterface/DspInterface.v"] \
  366. [file normalize "${origin_dir}/PciVnaEmul_REPO/src/MeasDataFifo/FifoController.v"] \
  367. [file normalize "${origin_dir}/PciVnaEmul_REPO/src/MeasDataFifo/MeasDataFifoWrapper.v"] \
  368. [file normalize "${origin_dir}/PciVnaEmul_REPO/src/ExtDspInterface/SlaveSpi.v"] \
  369. [file normalize "${origin_dir}/PciVnaEmul_REPO/src/PciE/board_common.vh"] \
  370. [file normalize "${origin_dir}/PciVnaEmul_REPO/src/PciE/pci_exp_expect_tasks.vh"] \
  371. [file normalize "${origin_dir}/PciVnaEmul_REPO/src/PciE/tests.vh"] \
  372. [file normalize "${origin_dir}/PciVnaEmul_REPO/src/PciE/sample_tests1.vh"] \
  373. [file normalize "${origin_dir}/PciVnaEmul_REPO/src/PciE/pipe_interconnect.vh"] \
  374. [file normalize "${origin_dir}/PciVnaEmul_REPO/src/PciE/pcie1234_gt_top_pipe_mode.v"] \
  375. ]
  376. add_files -norecurse -fileset $obj $files
  377. # Set 'sources_1' fileset file properties for remote files
  378. set file "$origin_dir/PciVnaEmul_REPO/src/PciE/board_common.vh"
  379. set file [file normalize $file]
  380. set file_obj [get_files -of_objects [get_filesets sources_1] [list "*$file"]]
  381. set_property -name "file_type" -value "Verilog Header" -objects $file_obj
  382. set file "$origin_dir/PciVnaEmul_REPO/src/PciE/pci_exp_expect_tasks.vh"
  383. set file [file normalize $file]
  384. set file_obj [get_files -of_objects [get_filesets sources_1] [list "*$file"]]
  385. set_property -name "file_type" -value "Verilog Header" -objects $file_obj
  386. set file "$origin_dir/PciVnaEmul_REPO/src/PciE/tests.vh"
  387. set file [file normalize $file]
  388. set file_obj [get_files -of_objects [get_filesets sources_1] [list "*$file"]]
  389. set_property -name "file_type" -value "Verilog Header" -objects $file_obj
  390. set file "$origin_dir/PciVnaEmul_REPO/src/PciE/sample_tests1.vh"
  391. set file [file normalize $file]
  392. set file_obj [get_files -of_objects [get_filesets sources_1] [list "*$file"]]
  393. set_property -name "file_type" -value "Verilog Header" -objects $file_obj
  394. set file "$origin_dir/PciVnaEmul_REPO/src/PciE/pipe_interconnect.vh"
  395. set file [file normalize $file]
  396. set file_obj [get_files -of_objects [get_filesets sources_1] [list "*$file"]]
  397. set_property -name "file_type" -value "Verilog Header" -objects $file_obj
  398. # Set 'sources_1' fileset file properties for local files
  399. # None
  400. # Set 'sources_1' fileset properties
  401. set obj [get_filesets sources_1]
  402. set_property -name "dataflow_viewer_settings" -value "min_width=16" -objects $obj
  403. set_property -name "top" -value "PciVnaEmulTop" -objects $obj
  404. set_property -name "top_auto_set" -value "0" -objects $obj
  405. # Set 'sources_1' fileset object
  406. set obj [get_filesets sources_1]
  407. # Import local files from the original project
  408. set files [list \
  409. [file normalize "${origin_dir}/PciVnaEmul_PROJ/PciVnaEmul.srcs/sources_1/ip/MeasDataFifo/MeasDataFifo.xci" ]\
  410. ]
  411. set imported_files [import_files -fileset sources_1 $files]
  412. # Set 'sources_1' fileset file properties for remote files
  413. # None
  414. # Set 'sources_1' fileset file properties for local files
  415. set file "MeasDataFifo/MeasDataFifo.xci"
  416. set file_obj [get_files -of_objects [get_filesets sources_1] [list "*$file"]]
  417. set_property -name "generate_files_for_reference" -value "0" -objects $file_obj
  418. set_property -name "registered_with_manager" -value "1" -objects $file_obj
  419. if { ![get_property "is_locked" $file_obj] } {
  420. set_property -name "synth_checkpoint_mode" -value "Singular" -objects $file_obj
  421. }
  422. # Set 'sources_1' fileset object
  423. set obj [get_filesets sources_1]
  424. # Import local files from the original project
  425. set files [list \
  426. [file normalize "${origin_dir}/PciVnaEmul_PROJ/PciVnaEmul.srcs/sources_1/ip/pcie1234/pcie1234.xci" ]\
  427. ]
  428. set imported_files [import_files -fileset sources_1 $files]
  429. # Set 'sources_1' fileset file properties for remote files
  430. # None
  431. # Set 'sources_1' fileset file properties for local files
  432. set file "pcie1234/pcie1234.xci"
  433. set file_obj [get_files -of_objects [get_filesets sources_1] [list "*$file"]]
  434. set_property -name "generate_files_for_reference" -value "0" -objects $file_obj
  435. set_property -name "registered_with_manager" -value "1" -objects $file_obj
  436. if { ![get_property "is_locked" $file_obj] } {
  437. set_property -name "synth_checkpoint_mode" -value "Singular" -objects $file_obj
  438. }
  439. # Set 'sources_1' fileset object
  440. set obj [get_filesets sources_1]
  441. # Import local files from the original project
  442. set files [list \
  443. [file normalize "${origin_dir}/PciVnaEmul_PROJ/PciVnaEmul.srcs/sources_1/ip/ClkPllSysTo125/ClkPllSysTo125.xci" ]\
  444. ]
  445. set imported_files [import_files -fileset sources_1 $files]
  446. # Set 'sources_1' fileset file properties for remote files
  447. # None
  448. # Set 'sources_1' fileset file properties for local files
  449. set file "ClkPllSysTo125/ClkPllSysTo125.xci"
  450. set file_obj [get_files -of_objects [get_filesets sources_1] [list "*$file"]]
  451. set_property -name "generate_files_for_reference" -value "0" -objects $file_obj
  452. set_property -name "registered_with_manager" -value "1" -objects $file_obj
  453. if { ![get_property "is_locked" $file_obj] } {
  454. set_property -name "synth_checkpoint_mode" -value "Singular" -objects $file_obj
  455. }
  456. # Set 'sources_1' fileset object
  457. set obj [get_filesets sources_1]
  458. # Import local files from the original project
  459. set files [list \
  460. [file normalize "${origin_dir}/PciVnaEmul_PROJ/PciVnaEmul.srcs/sources_1/ip/CdcFifo/CdcFifo.xci" ]\
  461. ]
  462. set imported_files [import_files -fileset sources_1 $files]
  463. # Set 'sources_1' fileset file properties for remote files
  464. # None
  465. # Set 'sources_1' fileset file properties for local files
  466. set file "CdcFifo/CdcFifo.xci"
  467. set file_obj [get_files -of_objects [get_filesets sources_1] [list "*$file"]]
  468. set_property -name "generate_files_for_reference" -value "0" -objects $file_obj
  469. set_property -name "registered_with_manager" -value "1" -objects $file_obj
  470. if { ![get_property "is_locked" $file_obj] } {
  471. set_property -name "synth_checkpoint_mode" -value "Singular" -objects $file_obj
  472. }
  473. # Create 'constrs_1' fileset (if not found)
  474. if {[string equal [get_filesets -quiet constrs_1] ""]} {
  475. create_fileset -constrset constrs_1
  476. }
  477. # Set 'constrs_1' fileset object
  478. set obj [get_filesets constrs_1]
  479. # Add/Import constrs file and set constrs file properties
  480. set file "[file normalize "$origin_dir/PciVnaEmul_REPO/constr/xilinx_pcie_7x_ep_x1g1.xdc"]"
  481. set file_added [add_files -norecurse -fileset $obj [list $file]]
  482. set file "$origin_dir/PciVnaEmul_REPO/constr/xilinx_pcie_7x_ep_x1g1.xdc"
  483. set file [file normalize $file]
  484. set file_obj [get_files -of_objects [get_filesets constrs_1] [list "*$file"]]
  485. set_property -name "file_type" -value "XDC" -objects $file_obj
  486. # Set 'constrs_1' fileset properties
  487. set obj [get_filesets constrs_1]
  488. set_property -name "target_constrs_file" -value "[file normalize "$origin_dir/PciVnaEmul_REPO/constr/xilinx_pcie_7x_ep_x1g1.xdc"]" -objects $obj
  489. set_property -name "target_part" -value "xc7a100tfgg484-2" -objects $obj
  490. set_property -name "target_ucf" -value "[file normalize "$origin_dir/PciVnaEmul_REPO/constr/xilinx_pcie_7x_ep_x1g1.xdc"]" -objects $obj
  491. # Create 'sim_1' fileset (if not found)
  492. if {[string equal [get_filesets -quiet sim_1] ""]} {
  493. create_fileset -simset sim_1
  494. }
  495. # Set 'sim_1' fileset object
  496. set obj [get_filesets sim_1]
  497. set files [list \
  498. [file normalize "${origin_dir}/PciVnaEmul_REPO/src/Sim/S5443TopSimpleMeasTb.v"] \
  499. [file normalize "${origin_dir}/PciVnaEmul_REPO/src/PciE/EP_MEM.v"] \
  500. [file normalize "${origin_dir}/PciVnaEmul_REPO/src/PciE/PIO.v"] \
  501. [file normalize "${origin_dir}/PciVnaEmul_REPO/src/PciE/PIO_EP.v"] \
  502. [file normalize "${origin_dir}/PciVnaEmul_REPO/src/PciE/PIO_EP_MEM_ACCESS.v"] \
  503. [file normalize "${origin_dir}/PciVnaEmul_REPO/src/PciE/PIO_RX_ENGINE.v"] \
  504. [file normalize "${origin_dir}/PciVnaEmul_REPO/src/PciE/PIO_TO_CTRL.v"] \
  505. [file normalize "${origin_dir}/PciVnaEmul_REPO/src/PciE/PIO_TX_ENGINE.v"] \
  506. [file normalize "${origin_dir}/PciVnaEmul_REPO/src/PciE/board_common.vh"] \
  507. [file normalize "${origin_dir}/PciVnaEmul_REPO/src/PciE/pci_exp_usrapp_cfg.v"] \
  508. [file normalize "${origin_dir}/PciVnaEmul_REPO/src/PciE/pci_exp_expect_tasks.vh"] \
  509. [file normalize "${origin_dir}/PciVnaEmul_REPO/src/PciE/pci_exp_usrapp_com.v"] \
  510. [file normalize "${origin_dir}/PciVnaEmul_REPO/src/PciE/pci_exp_usrapp_pl.v"] \
  511. [file normalize "${origin_dir}/PciVnaEmul_REPO/src/PciE/pci_exp_usrapp_rx.v"] \
  512. [file normalize "${origin_dir}/PciVnaEmul_REPO/src/PciE/tests.vh"] \
  513. [file normalize "${origin_dir}/PciVnaEmul_REPO/src/PciE/sample_tests1.vh"] \
  514. [file normalize "${origin_dir}/PciVnaEmul_REPO/src/PciE/pci_exp_usrapp_tx.v"] \
  515. [file normalize "${origin_dir}/PciVnaEmul_REPO/src/PciE/pcie1234_pipe_clock.v"] \
  516. [file normalize "${origin_dir}/PciVnaEmul_REPO/src/PciE/pcie1234_support.v"] \
  517. [file normalize "${origin_dir}/PciVnaEmul_REPO/src/PciE/pcie_app_7x.v"] \
  518. [file normalize "${origin_dir}/PciVnaEmul_REPO/src/PciE/pcie_axi_trn_bridge.v"] \
  519. [file normalize "${origin_dir}/PciVnaEmul_REPO/src/PciE/sys_clk_gen.v"] \
  520. [file normalize "${origin_dir}/PciVnaEmul_REPO/src/PciE/sys_clk_gen_ds.v"] \
  521. [file normalize "${origin_dir}/PciVnaEmul_REPO/src/PciE/xilinx_pcie_2_1_ep_7x.v"] \
  522. [file normalize "${origin_dir}/PciVnaEmul_REPO/src/PciE/xilinx_pcie_2_1_rport_7x.v"] \
  523. [file normalize "${origin_dir}/PciVnaEmul_REPO/src/PciE/board.v"] \
  524. [file normalize "${origin_dir}/PciVnaEmul_REPO/src/PciE/pipe_interconnect.vh"] \
  525. ]
  526. add_files -norecurse -fileset $obj $files
  527. # Set 'sim_1' fileset file properties for remote files
  528. set file "$origin_dir/PciVnaEmul_REPO/src/PciE/board_common.vh"
  529. set file [file normalize $file]
  530. set file_obj [get_files -of_objects [get_filesets sim_1] [list "*$file"]]
  531. set_property -name "file_type" -value "Verilog Header" -objects $file_obj
  532. set file "$origin_dir/PciVnaEmul_REPO/src/PciE/pci_exp_expect_tasks.vh"
  533. set file [file normalize $file]
  534. set file_obj [get_files -of_objects [get_filesets sim_1] [list "*$file"]]
  535. set_property -name "file_type" -value "Verilog Header" -objects $file_obj
  536. set file "$origin_dir/PciVnaEmul_REPO/src/PciE/tests.vh"
  537. set file [file normalize $file]
  538. set file_obj [get_files -of_objects [get_filesets sim_1] [list "*$file"]]
  539. set_property -name "file_type" -value "Verilog Header" -objects $file_obj
  540. set file "$origin_dir/PciVnaEmul_REPO/src/PciE/sample_tests1.vh"
  541. set file [file normalize $file]
  542. set file_obj [get_files -of_objects [get_filesets sim_1] [list "*$file"]]
  543. set_property -name "file_type" -value "Verilog Header" -objects $file_obj
  544. set file "$origin_dir/PciVnaEmul_REPO/src/PciE/pipe_interconnect.vh"
  545. set file [file normalize $file]
  546. set file_obj [get_files -of_objects [get_filesets sim_1] [list "*$file"]]
  547. set_property -name "file_type" -value "Verilog Header" -objects $file_obj
  548. # Set 'sim_1' fileset file properties for local files
  549. # None
  550. # Set 'sim_1' fileset properties
  551. set obj [get_filesets sim_1]
  552. set_property -name "top" -value "S5443TopSimpleMeasTb" -objects $obj
  553. set_property -name "top_auto_set" -value "0" -objects $obj
  554. set_property -name "top_lib" -value "xil_defaultlib" -objects $obj
  555. # Set 'utils_1' fileset object
  556. set obj [get_filesets utils_1]
  557. # Import local files from the original project
  558. set files [list \
  559. [file normalize "${origin_dir}/PciVnaEmul_PROJ/PciVnaEmul.srcs/utils_1/imports/synth_1/PciVnaEmulTop.dcp" ]\
  560. ]
  561. set imported_files ""
  562. foreach f $files {
  563. lappend imported_files [import_files -fileset utils_1 $f]
  564. }
  565. # Set 'utils_1' fileset file properties for remote files
  566. # None
  567. # Set 'utils_1' fileset file properties for local files
  568. set file "synth_1/PciVnaEmulTop.dcp"
  569. set file_obj [get_files -of_objects [get_filesets utils_1] [list "*$file"]]
  570. set_property -name "netlist_only" -value "0" -objects $file_obj
  571. # Set 'utils_1' fileset properties
  572. set obj [get_filesets utils_1]
  573. set idrFlowPropertiesConstraints ""
  574. catch {
  575. set idrFlowPropertiesConstraints [get_param runs.disableIDRFlowPropertyConstraints]
  576. set_param runs.disableIDRFlowPropertyConstraints 1
  577. }
  578. # Create 'synth_1' run (if not found)
  579. if {[string equal [get_runs -quiet synth_1] ""]} {
  580. create_run -name synth_1 -part xc7a100tfgg484-2 -flow {Vivado Synthesis 2024} -strategy "Vivado Synthesis Defaults" -report_strategy {No Reports} -constrset constrs_1
  581. } else {
  582. set_property strategy "Vivado Synthesis Defaults" [get_runs synth_1]
  583. set_property flow "Vivado Synthesis 2024" [get_runs synth_1]
  584. }
  585. set obj [get_runs synth_1]
  586. set_property set_report_strategy_name 1 $obj
  587. set_property report_strategy {Vivado Synthesis Default Reports} $obj
  588. set_property set_report_strategy_name 0 $obj
  589. # Create 'synth_1_synth_report_utilization_0' report (if not found)
  590. if { [ string equal [get_report_configs -of_objects [get_runs synth_1] synth_1_synth_report_utilization_0] "" ] } {
  591. create_report_config -report_name synth_1_synth_report_utilization_0 -report_type report_utilization:1.0 -steps synth_design -runs synth_1
  592. }
  593. set obj [get_report_configs -of_objects [get_runs synth_1] synth_1_synth_report_utilization_0]
  594. if { $obj != "" } {
  595. }
  596. set obj [get_runs synth_1]
  597. set_property -name "part" -value "xc7a100tfgg484-2" -objects $obj
  598. set_property -name "incremental_checkpoint" -value "$proj_dir/${_xil_proj_name_}.srcs/utils_1/imports/synth_1/PciVnaEmulTop.dcp" -objects $obj
  599. set_property -name "auto_incremental_checkpoint" -value "1" -objects $obj
  600. set_property -name "strategy" -value "Vivado Synthesis Defaults" -objects $obj
  601. # set the current synth run
  602. current_run -synthesis [get_runs synth_1]
  603. # Create 'impl_1' run (if not found)
  604. if {[string equal [get_runs -quiet impl_1] ""]} {
  605. create_run -name impl_1 -part xc7a100tfgg484-2 -flow {Vivado Implementation 2024} -strategy "Vivado Implementation Defaults" -report_strategy {No Reports} -constrset constrs_1 -parent_run synth_1
  606. } else {
  607. set_property strategy "Vivado Implementation Defaults" [get_runs impl_1]
  608. set_property flow "Vivado Implementation 2024" [get_runs impl_1]
  609. }
  610. set obj [get_runs impl_1]
  611. set_property set_report_strategy_name 1 $obj
  612. set_property report_strategy {Vivado Implementation Default Reports} $obj
  613. set_property set_report_strategy_name 0 $obj
  614. # Create 'impl_1_init_report_timing_summary_0' report (if not found)
  615. if { [ string equal [get_report_configs -of_objects [get_runs impl_1] impl_1_init_report_timing_summary_0] "" ] } {
  616. 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
  617. }
  618. set obj [get_report_configs -of_objects [get_runs impl_1] impl_1_init_report_timing_summary_0]
  619. if { $obj != "" } {
  620. set_property -name "is_enabled" -value "0" -objects $obj
  621. set_property -name "options.max_paths" -value "10" -objects $obj
  622. set_property -name "options.report_unconstrained" -value "1" -objects $obj
  623. }
  624. # Create 'impl_1_opt_report_drc_0' report (if not found)
  625. if { [ string equal [get_report_configs -of_objects [get_runs impl_1] impl_1_opt_report_drc_0] "" ] } {
  626. create_report_config -report_name impl_1_opt_report_drc_0 -report_type report_drc:1.0 -steps opt_design -runs impl_1
  627. }
  628. set obj [get_report_configs -of_objects [get_runs impl_1] impl_1_opt_report_drc_0]
  629. if { $obj != "" } {
  630. }
  631. # Create 'impl_1_opt_report_timing_summary_0' report (if not found)
  632. if { [ string equal [get_report_configs -of_objects [get_runs impl_1] impl_1_opt_report_timing_summary_0] "" ] } {
  633. 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
  634. }
  635. set obj [get_report_configs -of_objects [get_runs impl_1] impl_1_opt_report_timing_summary_0]
  636. if { $obj != "" } {
  637. set_property -name "is_enabled" -value "0" -objects $obj
  638. set_property -name "options.max_paths" -value "10" -objects $obj
  639. set_property -name "options.report_unconstrained" -value "1" -objects $obj
  640. }
  641. # Create 'impl_1_power_opt_report_timing_summary_0' report (if not found)
  642. if { [ string equal [get_report_configs -of_objects [get_runs impl_1] impl_1_power_opt_report_timing_summary_0] "" ] } {
  643. 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
  644. }
  645. set obj [get_report_configs -of_objects [get_runs impl_1] impl_1_power_opt_report_timing_summary_0]
  646. if { $obj != "" } {
  647. set_property -name "is_enabled" -value "0" -objects $obj
  648. set_property -name "options.max_paths" -value "10" -objects $obj
  649. set_property -name "options.report_unconstrained" -value "1" -objects $obj
  650. }
  651. # Create 'impl_1_place_report_io_0' report (if not found)
  652. if { [ string equal [get_report_configs -of_objects [get_runs impl_1] impl_1_place_report_io_0] "" ] } {
  653. create_report_config -report_name impl_1_place_report_io_0 -report_type report_io:1.0 -steps place_design -runs impl_1
  654. }
  655. set obj [get_report_configs -of_objects [get_runs impl_1] impl_1_place_report_io_0]
  656. if { $obj != "" } {
  657. }
  658. # Create 'impl_1_place_report_utilization_0' report (if not found)
  659. if { [ string equal [get_report_configs -of_objects [get_runs impl_1] impl_1_place_report_utilization_0] "" ] } {
  660. create_report_config -report_name impl_1_place_report_utilization_0 -report_type report_utilization:1.0 -steps place_design -runs impl_1
  661. }
  662. set obj [get_report_configs -of_objects [get_runs impl_1] impl_1_place_report_utilization_0]
  663. if { $obj != "" } {
  664. }
  665. # Create 'impl_1_place_report_control_sets_0' report (if not found)
  666. if { [ string equal [get_report_configs -of_objects [get_runs impl_1] impl_1_place_report_control_sets_0] "" ] } {
  667. 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
  668. }
  669. set obj [get_report_configs -of_objects [get_runs impl_1] impl_1_place_report_control_sets_0]
  670. if { $obj != "" } {
  671. set_property -name "options.verbose" -value "1" -objects $obj
  672. }
  673. # Create 'impl_1_place_report_incremental_reuse_0' report (if not found)
  674. if { [ string equal [get_report_configs -of_objects [get_runs impl_1] impl_1_place_report_incremental_reuse_0] "" ] } {
  675. 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
  676. }
  677. set obj [get_report_configs -of_objects [get_runs impl_1] impl_1_place_report_incremental_reuse_0]
  678. if { $obj != "" } {
  679. set_property -name "is_enabled" -value "0" -objects $obj
  680. }
  681. # Create 'impl_1_place_report_incremental_reuse_1' report (if not found)
  682. if { [ string equal [get_report_configs -of_objects [get_runs impl_1] impl_1_place_report_incremental_reuse_1] "" ] } {
  683. 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
  684. }
  685. set obj [get_report_configs -of_objects [get_runs impl_1] impl_1_place_report_incremental_reuse_1]
  686. if { $obj != "" } {
  687. set_property -name "is_enabled" -value "0" -objects $obj
  688. }
  689. # Create 'impl_1_place_report_timing_summary_0' report (if not found)
  690. if { [ string equal [get_report_configs -of_objects [get_runs impl_1] impl_1_place_report_timing_summary_0] "" ] } {
  691. 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
  692. }
  693. set obj [get_report_configs -of_objects [get_runs impl_1] impl_1_place_report_timing_summary_0]
  694. if { $obj != "" } {
  695. set_property -name "is_enabled" -value "0" -objects $obj
  696. set_property -name "options.max_paths" -value "10" -objects $obj
  697. set_property -name "options.report_unconstrained" -value "1" -objects $obj
  698. }
  699. # Create 'impl_1_post_place_power_opt_report_timing_summary_0' report (if not found)
  700. if { [ string equal [get_report_configs -of_objects [get_runs impl_1] impl_1_post_place_power_opt_report_timing_summary_0] "" ] } {
  701. 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
  702. }
  703. set obj [get_report_configs -of_objects [get_runs impl_1] impl_1_post_place_power_opt_report_timing_summary_0]
  704. if { $obj != "" } {
  705. set_property -name "is_enabled" -value "0" -objects $obj
  706. set_property -name "options.max_paths" -value "10" -objects $obj
  707. set_property -name "options.report_unconstrained" -value "1" -objects $obj
  708. }
  709. # Create 'impl_1_phys_opt_report_timing_summary_0' report (if not found)
  710. if { [ string equal [get_report_configs -of_objects [get_runs impl_1] impl_1_phys_opt_report_timing_summary_0] "" ] } {
  711. 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
  712. }
  713. set obj [get_report_configs -of_objects [get_runs impl_1] impl_1_phys_opt_report_timing_summary_0]
  714. if { $obj != "" } {
  715. set_property -name "is_enabled" -value "0" -objects $obj
  716. set_property -name "options.max_paths" -value "10" -objects $obj
  717. set_property -name "options.report_unconstrained" -value "1" -objects $obj
  718. }
  719. # Create 'impl_1_route_report_drc_0' report (if not found)
  720. if { [ string equal [get_report_configs -of_objects [get_runs impl_1] impl_1_route_report_drc_0] "" ] } {
  721. create_report_config -report_name impl_1_route_report_drc_0 -report_type report_drc:1.0 -steps route_design -runs impl_1
  722. }
  723. set obj [get_report_configs -of_objects [get_runs impl_1] impl_1_route_report_drc_0]
  724. if { $obj != "" } {
  725. }
  726. # Create 'impl_1_route_report_methodology_0' report (if not found)
  727. if { [ string equal [get_report_configs -of_objects [get_runs impl_1] impl_1_route_report_methodology_0] "" ] } {
  728. create_report_config -report_name impl_1_route_report_methodology_0 -report_type report_methodology:1.0 -steps route_design -runs impl_1
  729. }
  730. set obj [get_report_configs -of_objects [get_runs impl_1] impl_1_route_report_methodology_0]
  731. if { $obj != "" } {
  732. }
  733. # Create 'impl_1_route_report_power_0' report (if not found)
  734. if { [ string equal [get_report_configs -of_objects [get_runs impl_1] impl_1_route_report_power_0] "" ] } {
  735. create_report_config -report_name impl_1_route_report_power_0 -report_type report_power:1.0 -steps route_design -runs impl_1
  736. }
  737. set obj [get_report_configs -of_objects [get_runs impl_1] impl_1_route_report_power_0]
  738. if { $obj != "" } {
  739. }
  740. # Create 'impl_1_route_report_route_status_0' report (if not found)
  741. if { [ string equal [get_report_configs -of_objects [get_runs impl_1] impl_1_route_report_route_status_0] "" ] } {
  742. 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
  743. }
  744. set obj [get_report_configs -of_objects [get_runs impl_1] impl_1_route_report_route_status_0]
  745. if { $obj != "" } {
  746. }
  747. # Create 'impl_1_route_report_timing_summary_0' report (if not found)
  748. if { [ string equal [get_report_configs -of_objects [get_runs impl_1] impl_1_route_report_timing_summary_0] "" ] } {
  749. 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
  750. }
  751. set obj [get_report_configs -of_objects [get_runs impl_1] impl_1_route_report_timing_summary_0]
  752. if { $obj != "" } {
  753. set_property -name "options.max_paths" -value "10" -objects $obj
  754. set_property -name "options.report_unconstrained" -value "1" -objects $obj
  755. }
  756. # Create 'impl_1_route_report_incremental_reuse_0' report (if not found)
  757. if { [ string equal [get_report_configs -of_objects [get_runs impl_1] impl_1_route_report_incremental_reuse_0] "" ] } {
  758. 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
  759. }
  760. set obj [get_report_configs -of_objects [get_runs impl_1] impl_1_route_report_incremental_reuse_0]
  761. if { $obj != "" } {
  762. }
  763. # Create 'impl_1_route_report_clock_utilization_0' report (if not found)
  764. if { [ string equal [get_report_configs -of_objects [get_runs impl_1] impl_1_route_report_clock_utilization_0] "" ] } {
  765. 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
  766. }
  767. set obj [get_report_configs -of_objects [get_runs impl_1] impl_1_route_report_clock_utilization_0]
  768. if { $obj != "" } {
  769. }
  770. # Create 'impl_1_route_report_bus_skew_0' report (if not found)
  771. if { [ string equal [get_report_configs -of_objects [get_runs impl_1] impl_1_route_report_bus_skew_0] "" ] } {
  772. 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
  773. }
  774. set obj [get_report_configs -of_objects [get_runs impl_1] impl_1_route_report_bus_skew_0]
  775. if { $obj != "" } {
  776. set_property -name "options.warn_on_violation" -value "1" -objects $obj
  777. }
  778. # Create 'impl_1_post_route_phys_opt_report_timing_summary_0' report (if not found)
  779. if { [ string equal [get_report_configs -of_objects [get_runs impl_1] impl_1_post_route_phys_opt_report_timing_summary_0] "" ] } {
  780. 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
  781. }
  782. set obj [get_report_configs -of_objects [get_runs impl_1] impl_1_post_route_phys_opt_report_timing_summary_0]
  783. if { $obj != "" } {
  784. set_property -name "options.max_paths" -value "10" -objects $obj
  785. set_property -name "options.report_unconstrained" -value "1" -objects $obj
  786. set_property -name "options.warn_on_violation" -value "1" -objects $obj
  787. }
  788. # Create 'impl_1_post_route_phys_opt_report_bus_skew_0' report (if not found)
  789. if { [ string equal [get_report_configs -of_objects [get_runs impl_1] impl_1_post_route_phys_opt_report_bus_skew_0] "" ] } {
  790. 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
  791. }
  792. set obj [get_report_configs -of_objects [get_runs impl_1] impl_1_post_route_phys_opt_report_bus_skew_0]
  793. if { $obj != "" } {
  794. set_property -name "options.warn_on_violation" -value "1" -objects $obj
  795. }
  796. set obj [get_runs impl_1]
  797. set_property -name "part" -value "xc7a100tfgg484-2" -objects $obj
  798. set_property -name "strategy" -value "Vivado Implementation Defaults" -objects $obj
  799. set_property -name "steps.write_bitstream.args.readback_file" -value "0" -objects $obj
  800. set_property -name "steps.write_bitstream.args.verbose" -value "0" -objects $obj
  801. # set the current impl run
  802. current_run -implementation [get_runs impl_1]
  803. catch {
  804. if { $idrFlowPropertiesConstraints != {} } {
  805. set_param runs.disableIDRFlowPropertyConstraints $idrFlowPropertiesConstraints
  806. }
  807. }
  808. puts "INFO: Project created:${_xil_proj_name_}"
  809. # Create 'drc_1' gadget (if not found)
  810. if {[string equal [get_dashboard_gadgets [ list "drc_1" ] ] ""]} {
  811. create_dashboard_gadget -name {drc_1} -type drc
  812. }
  813. set obj [get_dashboard_gadgets [ list "drc_1" ] ]
  814. set_property -name "reports" -value "impl_1#impl_1_route_report_drc_0" -objects $obj
  815. # Create 'methodology_1' gadget (if not found)
  816. if {[string equal [get_dashboard_gadgets [ list "methodology_1" ] ] ""]} {
  817. create_dashboard_gadget -name {methodology_1} -type methodology
  818. }
  819. set obj [get_dashboard_gadgets [ list "methodology_1" ] ]
  820. set_property -name "reports" -value "impl_1#impl_1_route_report_methodology_0" -objects $obj
  821. # Create 'power_1' gadget (if not found)
  822. if {[string equal [get_dashboard_gadgets [ list "power_1" ] ] ""]} {
  823. create_dashboard_gadget -name {power_1} -type power
  824. }
  825. set obj [get_dashboard_gadgets [ list "power_1" ] ]
  826. set_property -name "reports" -value "impl_1#impl_1_route_report_power_0" -objects $obj
  827. # Create 'timing_1' gadget (if not found)
  828. if {[string equal [get_dashboard_gadgets [ list "timing_1" ] ] ""]} {
  829. create_dashboard_gadget -name {timing_1} -type timing
  830. }
  831. set obj [get_dashboard_gadgets [ list "timing_1" ] ]
  832. set_property -name "reports" -value "impl_1#impl_1_route_report_timing_summary_0" -objects $obj
  833. # Create 'utilization_1' gadget (if not found)
  834. if {[string equal [get_dashboard_gadgets [ list "utilization_1" ] ] ""]} {
  835. create_dashboard_gadget -name {utilization_1} -type utilization
  836. }
  837. set obj [get_dashboard_gadgets [ list "utilization_1" ] ]
  838. set_property -name "reports" -value "synth_1#synth_1_synth_report_utilization_0" -objects $obj
  839. set_property -name "run.step" -value "synth_design" -objects $obj
  840. set_property -name "run.type" -value "synthesis" -objects $obj
  841. # Create 'utilization_2' gadget (if not found)
  842. if {[string equal [get_dashboard_gadgets [ list "utilization_2" ] ] ""]} {
  843. create_dashboard_gadget -name {utilization_2} -type utilization
  844. }
  845. set obj [get_dashboard_gadgets [ list "utilization_2" ] ]
  846. set_property -name "reports" -value "impl_1#impl_1_place_report_utilization_0" -objects $obj
  847. move_dashboard_gadget -name {utilization_1} -row 0 -col 0
  848. move_dashboard_gadget -name {power_1} -row 1 -col 0
  849. move_dashboard_gadget -name {drc_1} -row 2 -col 0
  850. move_dashboard_gadget -name {timing_1} -row 0 -col 1
  851. move_dashboard_gadget -name {utilization_2} -row 1 -col 1
  852. move_dashboard_gadget -name {methodology_1} -row 2 -col 1