| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572573574575576577578579580581582583584585586587588589590591592593594595596597598599600601602603604605606607608609610611612613614615616617618619620621622623624625626627628629630631632633634635636637638639640641642643644645646647648649650651652653654655656657658659660661662663664665666667668669670671672673674675676677678679680681682683684685686687688689690691692693694695696697698699700701702703704705706707708709710711712713714715716717718719720721722723724725726727728729730731732733734735736737738739740741742743744745746747748749750751752753754755756757758759760761762763764765766767768769770771772773774775776777778779780781782783784785786787788789790791792793794795796797798799800801802803804805806807808809810811812813814815816817818819820821822823824825826827828829830831832833834835836837838839840841842843844845846847848849850851852853854855856857858859860861862863864865866867868869870871872873874875876877878879880881882883884885886887888889890891892893894895896897898899900901902903904905906907908909910911912913914915916917918919 |
- #*****************************************************************************************
- # Vivado (TM) v2024.1 (64-bit)
- #
- # recreate.tcl: Tcl script for re-creating project 'VNA_XDMA_PROJ'
- #
- # Generated by Vivado on Fri Oct 11 11:13:01 +0700 2024
- # IP Build 5075265 on Wed May 22 21:45:21 MDT 2024
- #
- # This file contains the Vivado Tcl commands for re-creating the project to the state*
- # when this script was generated. In order to re-create the project, please source this
- # file in the Vivado Tcl Shell.
- #
- # * Note that the runs in the created project will be configured the same way as the
- # original project, however they will not be launched automatically. To regenerate the
- # run results please launch the synthesis/implementation runs as needed.
- #
- #*****************************************************************************************
- # NOTE: In order to use this script for source control purposes, please make sure that the
- # following files are added to the source control system:-
- #
- # 1. This project restoration tcl script (recreate.tcl) that was generated.
- #
- # 2. The following source(s) files that were local or imported into the original project.
- # (Please see the '$orig_proj_dir' and '$origin_dir' variable setting below at the start of the script)
- #
- #
- # 3. The following remote source files that were added to the original project:-
- #
- # "C:/VNA_XDMA_REPO/src/ip/xdma_0/xdma_0.xci"
- # "C:/VNA_XDMA_REPO/src/src/DevicesWrappers/AttPeWrapper.v"
- # "C:/VNA_XDMA_REPO/src/src/IntBlockApp/EP_MEM.v"
- # "C:/VNA_XDMA_REPO/src/src/FifoCtrl/FifoCtrl.v"
- # "C:/VNA_XDMA_REPO/src/src/DevicesWrappers/LmkWrapperA.v"
- # "C:/VNA_XDMA_REPO/src/src/DevicesWrappers/LmkWrapperB.v"
- # "C:/VNA_XDMA_REPO/src/src/IntBlockApp/PIO.v"
- # "C:/VNA_XDMA_REPO/src/src/IntBlockApp/PIO_EP.v"
- # "C:/VNA_XDMA_REPO/src/src/IntBlockApp/PIO_EP_MEM_ACCESS.v"
- # "C:/VNA_XDMA_REPO/src/src/IntBlockApp/PIO_RX_ENGINE.v"
- # "C:/VNA_XDMA_REPO/src/src/IntBlockApp/PIO_TO_CTRL.v"
- # "C:/VNA_XDMA_REPO/src/src/IntBlockApp/PIO_TX_ENGINE.v"
- # "C:/VNA_XDMA_REPO/src/src/QSpiM/QuadSpiMVariableWidth.v"
- # "C:/VNA_XDMA_REPO/src/src/DevicesWrappers/SbTmsgWrapper.v"
- # "C:/VNA_XDMA_REPO/src/src/SpiM/SpiM.v"
- # "C:/VNA_XDMA_REPO/src/src/SpiM/SpiMVariableWidth.v"
- # "C:/VNA_XDMA_REPO/src/src/IntBlockApp/pcie_app_7x.v"
- # "C:/VNA_XDMA_REPO/src/src/Xdma/xdma_app.v"
- # "C:/VNA_XDMA_REPO/src/src/Xdma/xilinx_dma_pcie_ep.sv"
- # "C:/VNA_XDMA_REPO/src/constrs/xilinx_xdma_pcie_x0y0.xdc"
- # "C:/VNA_XDMA_REPO/src/src/PCIeImports/board_common.vh"
- # "C:/VNA_XDMA_REPO/src/src/PCIeImports/pci_exp_usrapp_cfg.v"
- # "C:/VNA_XDMA_REPO/src/src/PCIeImports/pci_exp_expect_tasks.vh"
- # "C:/VNA_XDMA_REPO/src/src/PCIeImports/pci_exp_usrapp_com.v"
- # "C:/VNA_XDMA_REPO/src/src/PCIeImports/pci_exp_usrapp_rx.v"
- # "C:/VNA_XDMA_REPO/src/src/PCIeImports/tests.vh"
- # "C:/VNA_XDMA_REPO/src/src/PCIeImports/sample_tests.vh"
- # "C:/VNA_XDMA_REPO/src/src/PCIeImports/pci_exp_usrapp_tx.v"
- # "C:/VNA_XDMA_REPO/src/src/PCIeImports/pcie3_uscale_rp_core_top.v"
- # "C:/VNA_XDMA_REPO/src/src/PCIeImports/pcie3_uscale_rp_top.v"
- # "C:/VNA_XDMA_REPO/src/src/PCIeImports/sys_clk_gen.v"
- # "C:/VNA_XDMA_REPO/src/src/PCIeImports/sys_clk_gen_ds.v"
- # "C:/VNA_XDMA_REPO/src/src/PCIeImports/xilinx_pcie_uscale_rp.v"
- # "C:/VNA_XDMA_REPO/src/src/PCIeImports/board.v"
- # "C:/VNA_XDMA_REPO/src/src/PCIeImports/xilinx_dma_pcie_ep.sv"
- # "C:/VNA_XDMA_REPO/src/src/PCIeImports/pci_exp_usrapp_pl.v"
- # "C:/VNA_XDMA_REPO/src/src/PCIeImports/xdma_app.v"
- #
- #*****************************************************************************************
- # Check file required for this script exists
- proc checkRequiredFiles { origin_dir} {
- set files [list \
- "[file normalize "$origin_dir/VNA_XDMA_REPO/src/ip/xdma_0/xdma_0.xci"]"\
- "[file normalize "$origin_dir/VNA_XDMA_REPO/src/src/DevicesWrappers/AttPeWrapper.v"]"\
- "[file normalize "$origin_dir/VNA_XDMA_REPO/src/src/IntBlockApp/EP_MEM.v"]"\
- "[file normalize "$origin_dir/VNA_XDMA_REPO/src/src/FifoCtrl/FifoCtrl.v"]"\
- "[file normalize "$origin_dir/VNA_XDMA_REPO/src/src/DevicesWrappers/LmkWrapperA.v"]"\
- "[file normalize "$origin_dir/VNA_XDMA_REPO/src/src/DevicesWrappers/LmkWrapperB.v"]"\
- "[file normalize "$origin_dir/VNA_XDMA_REPO/src/src/IntBlockApp/PIO.v"]"\
- "[file normalize "$origin_dir/VNA_XDMA_REPO/src/src/IntBlockApp/PIO_EP.v"]"\
- "[file normalize "$origin_dir/VNA_XDMA_REPO/src/src/IntBlockApp/PIO_EP_MEM_ACCESS.v"]"\
- "[file normalize "$origin_dir/VNA_XDMA_REPO/src/src/IntBlockApp/PIO_RX_ENGINE.v"]"\
- "[file normalize "$origin_dir/VNA_XDMA_REPO/src/src/IntBlockApp/PIO_TO_CTRL.v"]"\
- "[file normalize "$origin_dir/VNA_XDMA_REPO/src/src/IntBlockApp/PIO_TX_ENGINE.v"]"\
- "[file normalize "$origin_dir/VNA_XDMA_REPO/src/src/QSpiM/QuadSpiMVariableWidth.v"]"\
- "[file normalize "$origin_dir/VNA_XDMA_REPO/src/src/DevicesWrappers/SbTmsgWrapper.v"]"\
- "[file normalize "$origin_dir/VNA_XDMA_REPO/src/src/SpiM/SpiM.v"]"\
- "[file normalize "$origin_dir/VNA_XDMA_REPO/src/src/SpiM/SpiMVariableWidth.v"]"\
- "[file normalize "$origin_dir/VNA_XDMA_REPO/src/src/IntBlockApp/pcie_app_7x.v"]"\
- "[file normalize "$origin_dir/VNA_XDMA_REPO/src/src/Xdma/xdma_app.v"]"\
- "[file normalize "$origin_dir/VNA_XDMA_REPO/src/src/Xdma/xilinx_dma_pcie_ep.sv"]"\
- "[file normalize "$origin_dir/VNA_XDMA_REPO/src/constrs/xilinx_xdma_pcie_x0y0.xdc"]"\
- "[file normalize "$origin_dir/VNA_XDMA_REPO/src/src/PCIeImports/board_common.vh"]"\
- "[file normalize "$origin_dir/VNA_XDMA_REPO/src/src/PCIeImports/pci_exp_usrapp_cfg.v"]"\
- "[file normalize "$origin_dir/VNA_XDMA_REPO/src/src/PCIeImports/pci_exp_expect_tasks.vh"]"\
- "[file normalize "$origin_dir/VNA_XDMA_REPO/src/src/PCIeImports/pci_exp_usrapp_com.v"]"\
- "[file normalize "$origin_dir/VNA_XDMA_REPO/src/src/PCIeImports/pci_exp_usrapp_rx.v"]"\
- "[file normalize "$origin_dir/VNA_XDMA_REPO/src/src/PCIeImports/tests.vh"]"\
- "[file normalize "$origin_dir/VNA_XDMA_REPO/src/src/PCIeImports/sample_tests.vh"]"\
- "[file normalize "$origin_dir/VNA_XDMA_REPO/src/src/PCIeImports/pci_exp_usrapp_tx.v"]"\
- "[file normalize "$origin_dir/VNA_XDMA_REPO/src/src/PCIeImports/pcie3_uscale_rp_core_top.v"]"\
- "[file normalize "$origin_dir/VNA_XDMA_REPO/src/src/PCIeImports/pcie3_uscale_rp_top.v"]"\
- "[file normalize "$origin_dir/VNA_XDMA_REPO/src/src/PCIeImports/sys_clk_gen.v"]"\
- "[file normalize "$origin_dir/VNA_XDMA_REPO/src/src/PCIeImports/sys_clk_gen_ds.v"]"\
- "[file normalize "$origin_dir/VNA_XDMA_REPO/src/src/PCIeImports/xilinx_pcie_uscale_rp.v"]"\
- "[file normalize "$origin_dir/VNA_XDMA_REPO/src/src/PCIeImports/board.v"]"\
- "[file normalize "$origin_dir/VNA_XDMA_REPO/src/src/PCIeImports/xilinx_dma_pcie_ep.sv"]"\
- "[file normalize "$origin_dir/VNA_XDMA_REPO/src/src/PCIeImports/pci_exp_usrapp_pl.v"]"\
- "[file normalize "$origin_dir/VNA_XDMA_REPO/src/src/PCIeImports/xdma_app.v"]"\
- ]
- foreach ifile $files {
- if { ![file isfile $ifile] } {
- puts " Could not find remote file $ifile "
- set status false
- }
- }
- return $status
- }
- # Set the reference directory for source file relative paths (by default the value is script directory path)
- set origin_dir "C:/"
- # Use origin directory path location variable, if specified in the tcl shell
- if { [info exists ::origin_dir_loc] } {
- set origin_dir $::origin_dir_loc
- }
- # Set the project name
- set _xil_proj_name_ "VNA_XDMA_PROJ"
- # Use project name variable, if specified in the tcl shell
- if { [info exists ::user_project_name] } {
- set _xil_proj_name_ $::user_project_name
- }
- variable script_file
- set script_file "recreate.tcl"
- # Help information for this script
- proc print_help {} {
- variable script_file
- puts "\nDescription:"
- puts "Recreate a Vivado project from this script. The created project will be"
- puts "functionally equivalent to the original project for which this script was"
- puts "generated. The script contains commands for creating a project, filesets,"
- puts "runs, adding/importing sources and setting properties on various objects.\n"
- puts "Syntax:"
- puts "$script_file"
- puts "$script_file -tclargs \[--origin_dir <path>\]"
- puts "$script_file -tclargs \[--project_name <name>\]"
- puts "$script_file -tclargs \[--help\]\n"
- puts "Usage:"
- puts "Name Description"
- puts "-------------------------------------------------------------------------"
- puts "\[--origin_dir <path>\] Determine source file paths wrt this path. Default"
- puts " origin_dir path value is \".\", otherwise, the value"
- puts " that was set with the \"-paths_relative_to\" switch"
- puts " when this script was generated.\n"
- puts "\[--project_name <name>\] Create project with the specified name. Default"
- puts " name is the name of the project from where this"
- puts " script was generated.\n"
- puts "\[--help\] Print help information for this script"
- puts "-------------------------------------------------------------------------\n"
- exit 0
- }
- if { $::argc > 0 } {
- for {set i 0} {$i < $::argc} {incr i} {
- set option [string trim [lindex $::argv $i]]
- switch -regexp -- $option {
- "--origin_dir" { incr i; set origin_dir [lindex $::argv $i] }
- "--project_name" { incr i; set _xil_proj_name_ [lindex $::argv $i] }
- "--help" { print_help }
- default {
- if { [regexp {^-} $option] } {
- puts "ERROR: Unknown option '$option' specified, please type '$script_file -tclargs --help' for usage info.\n"
- return 1
- }
- }
- }
- }
- }
- # Set the directory path for the original project from where this script was exported
- set orig_proj_dir "[file normalize "$origin_dir/VNA_XDMA_PROJ"]"
- # Check for paths and files needed for project creation
- set validate_required 0
- if { $validate_required } {
- if { [checkRequiredFiles $origin_dir] } {
- puts "Tcl file $script_file is valid. All files required for project creation is accesable. "
- } else {
- puts "Tcl file $script_file is not valid. Not all files required for project creation is accesable. "
- return
- }
- }
- # Create project
- create_project ${_xil_proj_name_} ./${_xil_proj_name_} -part xc7a100tfgg484-2
- # Set the directory path for the new project
- set proj_dir [get_property directory [current_project]]
- # Reconstruct message rules
- # None
- # Set project properties
- set obj [current_project]
- set_property -name "default_lib" -value "xil_defaultlib" -objects $obj
- set_property -name "enable_resource_estimation" -value "0" -objects $obj
- set_property -name "enable_vhdl_2008" -value "1" -objects $obj
- set_property -name "ip_cache_permissions" -value "read write" -objects $obj
- set_property -name "ip_output_repo" -value "$proj_dir/${_xil_proj_name_}.cache/ip" -objects $obj
- set_property -name "mem.enable_memory_map_generation" -value "1" -objects $obj
- set_property -name "part" -value "xc7a100tfgg484-2" -objects $obj
- set_property -name "revised_directory_structure" -value "1" -objects $obj
- set_property -name "sim.central_dir" -value "$proj_dir/${_xil_proj_name_}.ip_user_files" -objects $obj
- set_property -name "sim.ip.auto_export_scripts" -value "1" -objects $obj
- set_property -name "sim_compile_state" -value "1" -objects $obj
- set_property -name "webtalk.activehdl_export_sim" -value "1" -objects $obj
- set_property -name "webtalk.modelsim_export_sim" -value "1" -objects $obj
- set_property -name "webtalk.questa_export_sim" -value "1" -objects $obj
- set_property -name "webtalk.riviera_export_sim" -value "1" -objects $obj
- set_property -name "webtalk.vcs_export_sim" -value "1" -objects $obj
- set_property -name "webtalk.xcelium_export_sim" -value "1" -objects $obj
- set_property -name "webtalk.xsim_export_sim" -value "1" -objects $obj
- set_property -name "xpm_libraries" -value "XPM_CDC XPM_FIFO XPM_MEMORY" -objects $obj
- # Create 'sources_1' fileset (if not found)
- if {[string equal [get_filesets -quiet sources_1] ""]} {
- create_fileset -srcset sources_1
- }
- # Set 'sources_1' fileset object
- set obj [get_filesets sources_1]
- set files [list \
- [file normalize "${origin_dir}/VNA_XDMA_REPO/src/ip/xdma_0/xdma_0.xci"] \
- [file normalize "${origin_dir}/VNA_XDMA_REPO/src/src/DevicesWrappers/AttPeWrapper.v"] \
- [file normalize "${origin_dir}/VNA_XDMA_REPO/src/src/IntBlockApp/EP_MEM.v"] \
- [file normalize "${origin_dir}/VNA_XDMA_REPO/src/src/FifoCtrl/FifoCtrl.v"] \
- [file normalize "${origin_dir}/VNA_XDMA_REPO/src/src/DevicesWrappers/LmkWrapperA.v"] \
- [file normalize "${origin_dir}/VNA_XDMA_REPO/src/src/DevicesWrappers/LmkWrapperB.v"] \
- [file normalize "${origin_dir}/VNA_XDMA_REPO/src/src/IntBlockApp/PIO.v"] \
- [file normalize "${origin_dir}/VNA_XDMA_REPO/src/src/IntBlockApp/PIO_EP.v"] \
- [file normalize "${origin_dir}/VNA_XDMA_REPO/src/src/IntBlockApp/PIO_EP_MEM_ACCESS.v"] \
- [file normalize "${origin_dir}/VNA_XDMA_REPO/src/src/IntBlockApp/PIO_RX_ENGINE.v"] \
- [file normalize "${origin_dir}/VNA_XDMA_REPO/src/src/IntBlockApp/PIO_TO_CTRL.v"] \
- [file normalize "${origin_dir}/VNA_XDMA_REPO/src/src/IntBlockApp/PIO_TX_ENGINE.v"] \
- [file normalize "${origin_dir}/VNA_XDMA_REPO/src/src/QSpiM/QuadSpiMVariableWidth.v"] \
- [file normalize "${origin_dir}/VNA_XDMA_REPO/src/src/DevicesWrappers/SbTmsgWrapper.v"] \
- [file normalize "${origin_dir}/VNA_XDMA_REPO/src/src/SpiM/SpiM.v"] \
- [file normalize "${origin_dir}/VNA_XDMA_REPO/src/src/SpiM/SpiMVariableWidth.v"] \
- [file normalize "${origin_dir}/VNA_XDMA_REPO/src/src/IntBlockApp/pcie_app_7x.v"] \
- [file normalize "${origin_dir}/VNA_XDMA_REPO/src/src/Xdma/xdma_app.v"] \
- [file normalize "${origin_dir}/VNA_XDMA_REPO/src/src/Xdma/xilinx_dma_pcie_ep.sv"] \
- ]
- add_files -norecurse -fileset $obj $files
- # Set 'sources_1' fileset file properties for remote files
- set file "$origin_dir/VNA_XDMA_REPO/src/ip/xdma_0/xdma_0.xci"
- set file [file normalize $file]
- set file_obj [get_files -of_objects [get_filesets sources_1] [list "*$file"]]
- set_property -name "generate_files_for_reference" -value "0" -objects $file_obj
- if { ![get_property "is_locked" $file_obj] } {
- set_property -name "is_locked" -value "1" -objects $file_obj
- }
- set_property -name "registered_with_manager" -value "1" -objects $file_obj
- set file "$origin_dir/VNA_XDMA_REPO/src/src/Xdma/xilinx_dma_pcie_ep.sv"
- set file [file normalize $file]
- set file_obj [get_files -of_objects [get_filesets sources_1] [list "*$file"]]
- set_property -name "file_type" -value "SystemVerilog" -objects $file_obj
- # Set 'sources_1' fileset file properties for local files
- # None
- # Set 'sources_1' fileset properties
- set obj [get_filesets sources_1]
- set_property -name "dataflow_viewer_settings" -value "min_width=16" -objects $obj
- set_property -name "top" -value "xilinx_dma_pcie_ep" -objects $obj
- set_property -name "top_auto_set" -value "0" -objects $obj
- # Set 'sources_1' fileset file properties for remote files
- # None
- # Set 'sources_1' fileset file properties for remote files
- # None
- # Set 'sources_1' fileset file properties for remote files
- # None
- # Create 'constrs_1' fileset (if not found)
- if {[string equal [get_filesets -quiet constrs_1] ""]} {
- create_fileset -constrset constrs_1
- }
- # Set 'constrs_1' fileset object
- set obj [get_filesets constrs_1]
- # Add/Import constrs file and set constrs file properties
- set file "[file normalize "$origin_dir/VNA_XDMA_REPO/src/constrs/xilinx_xdma_pcie_x0y0.xdc"]"
- set file_added [add_files -norecurse -fileset $obj [list $file]]
- set file "$origin_dir/VNA_XDMA_REPO/src/constrs/xilinx_xdma_pcie_x0y0.xdc"
- set file [file normalize $file]
- set file_obj [get_files -of_objects [get_filesets constrs_1] [list "*$file"]]
- set_property -name "file_type" -value "XDC" -objects $file_obj
- # Set 'constrs_1' fileset properties
- set obj [get_filesets constrs_1]
- set_property -name "target_part" -value "xc7a100tfgg484-2" -objects $obj
- # Create 'sim_1' fileset (if not found)
- if {[string equal [get_filesets -quiet sim_1] ""]} {
- create_fileset -simset sim_1
- }
- # Set 'sim_1' fileset object
- set obj [get_filesets sim_1]
- set files [list \
- [file normalize "${origin_dir}/VNA_XDMA_REPO/src/src/PCIeImports/board_common.vh"] \
- [file normalize "${origin_dir}/VNA_XDMA_REPO/src/src/PCIeImports/pci_exp_usrapp_cfg.v"] \
- [file normalize "${origin_dir}/VNA_XDMA_REPO/src/src/PCIeImports/pci_exp_expect_tasks.vh"] \
- [file normalize "${origin_dir}/VNA_XDMA_REPO/src/src/PCIeImports/pci_exp_usrapp_com.v"] \
- [file normalize "${origin_dir}/VNA_XDMA_REPO/src/src/PCIeImports/pci_exp_usrapp_rx.v"] \
- [file normalize "${origin_dir}/VNA_XDMA_REPO/src/src/PCIeImports/tests.vh"] \
- [file normalize "${origin_dir}/VNA_XDMA_REPO/src/src/PCIeImports/sample_tests.vh"] \
- [file normalize "${origin_dir}/VNA_XDMA_REPO/src/src/PCIeImports/pci_exp_usrapp_tx.v"] \
- [file normalize "${origin_dir}/VNA_XDMA_REPO/src/src/PCIeImports/pcie3_uscale_rp_core_top.v"] \
- [file normalize "${origin_dir}/VNA_XDMA_REPO/src/src/PCIeImports/pcie3_uscale_rp_top.v"] \
- [file normalize "${origin_dir}/VNA_XDMA_REPO/src/src/PCIeImports/sys_clk_gen.v"] \
- [file normalize "${origin_dir}/VNA_XDMA_REPO/src/src/PCIeImports/sys_clk_gen_ds.v"] \
- [file normalize "${origin_dir}/VNA_XDMA_REPO/src/src/PCIeImports/xilinx_pcie_uscale_rp.v"] \
- [file normalize "${origin_dir}/VNA_XDMA_REPO/src/src/PCIeImports/board.v"] \
- [file normalize "${origin_dir}/VNA_XDMA_REPO/src/src/PCIeImports/xilinx_dma_pcie_ep.sv"] \
- [file normalize "${origin_dir}/VNA_XDMA_REPO/src/src/PCIeImports/pci_exp_usrapp_pl.v"] \
- [file normalize "${origin_dir}/VNA_XDMA_REPO/src/src/PCIeImports/xdma_app.v"] \
- ]
- add_files -norecurse -fileset $obj $files
- # Set 'sim_1' fileset file properties for remote files
- set file "$origin_dir/VNA_XDMA_REPO/src/src/PCIeImports/board_common.vh"
- set file [file normalize $file]
- set file_obj [get_files -of_objects [get_filesets sim_1] [list "*$file"]]
- set_property -name "file_type" -value "Verilog Header" -objects $file_obj
- set file "$origin_dir/VNA_XDMA_REPO/src/src/PCIeImports/pci_exp_usrapp_cfg.v"
- set file [file normalize $file]
- set file_obj [get_files -of_objects [get_filesets sim_1] [list "*$file"]]
- set_property -name "used_in" -value "simulation" -objects $file_obj
- set_property -name "used_in_implementation" -value "0" -objects $file_obj
- set_property -name "used_in_synthesis" -value "0" -objects $file_obj
- set file "$origin_dir/VNA_XDMA_REPO/src/src/PCIeImports/pci_exp_expect_tasks.vh"
- set file [file normalize $file]
- set file_obj [get_files -of_objects [get_filesets sim_1] [list "*$file"]]
- set_property -name "file_type" -value "Verilog Header" -objects $file_obj
- set file "$origin_dir/VNA_XDMA_REPO/src/src/PCIeImports/tests.vh"
- set file [file normalize $file]
- set file_obj [get_files -of_objects [get_filesets sim_1] [list "*$file"]]
- set_property -name "file_type" -value "Verilog Header" -objects $file_obj
- set file "$origin_dir/VNA_XDMA_REPO/src/src/PCIeImports/sample_tests.vh"
- set file [file normalize $file]
- set file_obj [get_files -of_objects [get_filesets sim_1] [list "*$file"]]
- set_property -name "file_type" -value "Verilog Header" -objects $file_obj
- set file "$origin_dir/VNA_XDMA_REPO/src/src/PCIeImports/xilinx_dma_pcie_ep.sv"
- set file [file normalize $file]
- set file_obj [get_files -of_objects [get_filesets sim_1] [list "*$file"]]
- set_property -name "file_type" -value "SystemVerilog" -objects $file_obj
- # Set 'sim_1' fileset file properties for local files
- # None
- # Set 'sim_1' fileset properties
- set obj [get_filesets sim_1]
- set_property -name "top" -value "board" -objects $obj
- set_property -name "top_lib" -value "xil_defaultlib" -objects $obj
- # Set 'utils_1' fileset object
- set obj [get_filesets utils_1]
- # Import local files from the original project
- # Set 'utils_1' fileset properties
- set obj [get_filesets utils_1]
- set idrFlowPropertiesConstraints ""
- catch {
- set idrFlowPropertiesConstraints [get_param runs.disableIDRFlowPropertyConstraints]
- set_param runs.disableIDRFlowPropertyConstraints 1
- }
- # Create 'synth_1' run (if not found)
- if {[string equal [get_runs -quiet synth_1] ""]} {
- create_run -name synth_1 -part xc7a100tfgg484-2 -flow {Vivado Synthesis 2024} -strategy "Vivado Synthesis Defaults" -report_strategy {No Reports} -constrset constrs_1
- } else {
- set_property strategy "Vivado Synthesis Defaults" [get_runs synth_1]
- set_property flow "Vivado Synthesis 2024" [get_runs synth_1]
- }
- set obj [get_runs synth_1]
- set_property set_report_strategy_name 1 $obj
- set_property report_strategy {Vivado Synthesis Default Reports} $obj
- set_property set_report_strategy_name 0 $obj
- # Create 'synth_1_synth_report_utilization_0' report (if not found)
- if { [ string equal [get_report_configs -of_objects [get_runs synth_1] synth_1_synth_report_utilization_0] "" ] } {
- create_report_config -report_name synth_1_synth_report_utilization_0 -report_type report_utilization:1.0 -steps synth_design -runs synth_1
- }
- set obj [get_report_configs -of_objects [get_runs synth_1] synth_1_synth_report_utilization_0]
- if { $obj != "" } {
- }
- set obj [get_runs synth_1]
- set_property -name "needs_refresh" -value "1" -objects $obj
- set_property -name "part" -value "xc7a100tfgg484-2" -objects $obj
- set_property -name "auto_incremental_checkpoint" -value "1" -objects $obj
- set_property -name "strategy" -value "Vivado Synthesis Defaults" -objects $obj
- # set the current synth run
- current_run -synthesis [get_runs synth_1]
- # Create 'impl_1' run (if not found)
- if {[string equal [get_runs -quiet impl_1] ""]} {
- 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
- } else {
- set_property strategy "Vivado Implementation Defaults" [get_runs impl_1]
- set_property flow "Vivado Implementation 2024" [get_runs impl_1]
- }
- set obj [get_runs impl_1]
- set_property set_report_strategy_name 1 $obj
- set_property report_strategy {Vivado Implementation Default Reports} $obj
- set_property set_report_strategy_name 0 $obj
- # Create 'impl_1_init_report_timing_summary_0' report (if not found)
- if { [ string equal [get_report_configs -of_objects [get_runs impl_1] impl_1_init_report_timing_summary_0] "" ] } {
- 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
- }
- set obj [get_report_configs -of_objects [get_runs impl_1] impl_1_init_report_timing_summary_0]
- if { $obj != "" } {
- set_property -name "is_enabled" -value "0" -objects $obj
- set_property -name "options.max_paths" -value "10" -objects $obj
- set_property -name "options.report_unconstrained" -value "1" -objects $obj
- }
- # Create 'impl_1_opt_report_drc_0' report (if not found)
- if { [ string equal [get_report_configs -of_objects [get_runs impl_1] impl_1_opt_report_drc_0] "" ] } {
- create_report_config -report_name impl_1_opt_report_drc_0 -report_type report_drc:1.0 -steps opt_design -runs impl_1
- }
- set obj [get_report_configs -of_objects [get_runs impl_1] impl_1_opt_report_drc_0]
- if { $obj != "" } {
- }
- # Create 'impl_1_opt_report_timing_summary_0' report (if not found)
- if { [ string equal [get_report_configs -of_objects [get_runs impl_1] impl_1_opt_report_timing_summary_0] "" ] } {
- 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
- }
- set obj [get_report_configs -of_objects [get_runs impl_1] impl_1_opt_report_timing_summary_0]
- if { $obj != "" } {
- set_property -name "is_enabled" -value "0" -objects $obj
- set_property -name "options.max_paths" -value "10" -objects $obj
- set_property -name "options.report_unconstrained" -value "1" -objects $obj
- }
- # Create 'impl_1_power_opt_report_timing_summary_0' report (if not found)
- if { [ string equal [get_report_configs -of_objects [get_runs impl_1] impl_1_power_opt_report_timing_summary_0] "" ] } {
- 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
- }
- set obj [get_report_configs -of_objects [get_runs impl_1] impl_1_power_opt_report_timing_summary_0]
- if { $obj != "" } {
- set_property -name "is_enabled" -value "0" -objects $obj
- set_property -name "options.max_paths" -value "10" -objects $obj
- set_property -name "options.report_unconstrained" -value "1" -objects $obj
- }
- # Create 'impl_1_place_report_io_0' report (if not found)
- if { [ string equal [get_report_configs -of_objects [get_runs impl_1] impl_1_place_report_io_0] "" ] } {
- create_report_config -report_name impl_1_place_report_io_0 -report_type report_io:1.0 -steps place_design -runs impl_1
- }
- set obj [get_report_configs -of_objects [get_runs impl_1] impl_1_place_report_io_0]
- if { $obj != "" } {
- }
- # Create 'impl_1_place_report_utilization_0' report (if not found)
- if { [ string equal [get_report_configs -of_objects [get_runs impl_1] impl_1_place_report_utilization_0] "" ] } {
- create_report_config -report_name impl_1_place_report_utilization_0 -report_type report_utilization:1.0 -steps place_design -runs impl_1
- }
- set obj [get_report_configs -of_objects [get_runs impl_1] impl_1_place_report_utilization_0]
- if { $obj != "" } {
- }
- # Create 'impl_1_place_report_control_sets_0' report (if not found)
- if { [ string equal [get_report_configs -of_objects [get_runs impl_1] impl_1_place_report_control_sets_0] "" ] } {
- 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
- }
- set obj [get_report_configs -of_objects [get_runs impl_1] impl_1_place_report_control_sets_0]
- if { $obj != "" } {
- set_property -name "options.verbose" -value "1" -objects $obj
- }
- # Create 'impl_1_place_report_incremental_reuse_0' report (if not found)
- if { [ string equal [get_report_configs -of_objects [get_runs impl_1] impl_1_place_report_incremental_reuse_0] "" ] } {
- 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
- }
- set obj [get_report_configs -of_objects [get_runs impl_1] impl_1_place_report_incremental_reuse_0]
- if { $obj != "" } {
- set_property -name "is_enabled" -value "0" -objects $obj
- }
- # Create 'impl_1_place_report_incremental_reuse_1' report (if not found)
- if { [ string equal [get_report_configs -of_objects [get_runs impl_1] impl_1_place_report_incremental_reuse_1] "" ] } {
- 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
- }
- set obj [get_report_configs -of_objects [get_runs impl_1] impl_1_place_report_incremental_reuse_1]
- if { $obj != "" } {
- set_property -name "is_enabled" -value "0" -objects $obj
- }
- # Create 'impl_1_place_report_timing_summary_0' report (if not found)
- if { [ string equal [get_report_configs -of_objects [get_runs impl_1] impl_1_place_report_timing_summary_0] "" ] } {
- 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
- }
- set obj [get_report_configs -of_objects [get_runs impl_1] impl_1_place_report_timing_summary_0]
- if { $obj != "" } {
- set_property -name "is_enabled" -value "0" -objects $obj
- set_property -name "options.max_paths" -value "10" -objects $obj
- set_property -name "options.report_unconstrained" -value "1" -objects $obj
- }
- # Create 'impl_1_post_place_power_opt_report_timing_summary_0' report (if not found)
- if { [ string equal [get_report_configs -of_objects [get_runs impl_1] impl_1_post_place_power_opt_report_timing_summary_0] "" ] } {
- 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
- }
- set obj [get_report_configs -of_objects [get_runs impl_1] impl_1_post_place_power_opt_report_timing_summary_0]
- if { $obj != "" } {
- set_property -name "is_enabled" -value "0" -objects $obj
- set_property -name "options.max_paths" -value "10" -objects $obj
- set_property -name "options.report_unconstrained" -value "1" -objects $obj
- }
- # Create 'impl_1_phys_opt_report_timing_summary_0' report (if not found)
- if { [ string equal [get_report_configs -of_objects [get_runs impl_1] impl_1_phys_opt_report_timing_summary_0] "" ] } {
- 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
- }
- set obj [get_report_configs -of_objects [get_runs impl_1] impl_1_phys_opt_report_timing_summary_0]
- if { $obj != "" } {
- set_property -name "is_enabled" -value "0" -objects $obj
- set_property -name "options.max_paths" -value "10" -objects $obj
- set_property -name "options.report_unconstrained" -value "1" -objects $obj
- }
- # Create 'impl_1_route_report_drc_0' report (if not found)
- if { [ string equal [get_report_configs -of_objects [get_runs impl_1] impl_1_route_report_drc_0] "" ] } {
- create_report_config -report_name impl_1_route_report_drc_0 -report_type report_drc:1.0 -steps route_design -runs impl_1
- }
- set obj [get_report_configs -of_objects [get_runs impl_1] impl_1_route_report_drc_0]
- if { $obj != "" } {
- }
- # Create 'impl_1_route_report_methodology_0' report (if not found)
- if { [ string equal [get_report_configs -of_objects [get_runs impl_1] impl_1_route_report_methodology_0] "" ] } {
- create_report_config -report_name impl_1_route_report_methodology_0 -report_type report_methodology:1.0 -steps route_design -runs impl_1
- }
- set obj [get_report_configs -of_objects [get_runs impl_1] impl_1_route_report_methodology_0]
- if { $obj != "" } {
- }
- # Create 'impl_1_route_report_power_0' report (if not found)
- if { [ string equal [get_report_configs -of_objects [get_runs impl_1] impl_1_route_report_power_0] "" ] } {
- create_report_config -report_name impl_1_route_report_power_0 -report_type report_power:1.0 -steps route_design -runs impl_1
- }
- set obj [get_report_configs -of_objects [get_runs impl_1] impl_1_route_report_power_0]
- if { $obj != "" } {
- }
- # Create 'impl_1_route_report_route_status_0' report (if not found)
- if { [ string equal [get_report_configs -of_objects [get_runs impl_1] impl_1_route_report_route_status_0] "" ] } {
- 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
- }
- set obj [get_report_configs -of_objects [get_runs impl_1] impl_1_route_report_route_status_0]
- if { $obj != "" } {
- }
- # Create 'impl_1_route_report_timing_summary_0' report (if not found)
- if { [ string equal [get_report_configs -of_objects [get_runs impl_1] impl_1_route_report_timing_summary_0] "" ] } {
- 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
- }
- set obj [get_report_configs -of_objects [get_runs impl_1] impl_1_route_report_timing_summary_0]
- if { $obj != "" } {
- set_property -name "options.max_paths" -value "10" -objects $obj
- set_property -name "options.report_unconstrained" -value "1" -objects $obj
- }
- # Create 'impl_1_route_report_incremental_reuse_0' report (if not found)
- if { [ string equal [get_report_configs -of_objects [get_runs impl_1] impl_1_route_report_incremental_reuse_0] "" ] } {
- 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
- }
- set obj [get_report_configs -of_objects [get_runs impl_1] impl_1_route_report_incremental_reuse_0]
- if { $obj != "" } {
- }
- # Create 'impl_1_route_report_clock_utilization_0' report (if not found)
- if { [ string equal [get_report_configs -of_objects [get_runs impl_1] impl_1_route_report_clock_utilization_0] "" ] } {
- 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
- }
- set obj [get_report_configs -of_objects [get_runs impl_1] impl_1_route_report_clock_utilization_0]
- if { $obj != "" } {
- }
- # Create 'impl_1_route_report_bus_skew_0' report (if not found)
- if { [ string equal [get_report_configs -of_objects [get_runs impl_1] impl_1_route_report_bus_skew_0] "" ] } {
- 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
- }
- set obj [get_report_configs -of_objects [get_runs impl_1] impl_1_route_report_bus_skew_0]
- if { $obj != "" } {
- set_property -name "options.warn_on_violation" -value "1" -objects $obj
- }
- # Create 'impl_1_post_route_phys_opt_report_timing_summary_0' report (if not found)
- if { [ string equal [get_report_configs -of_objects [get_runs impl_1] impl_1_post_route_phys_opt_report_timing_summary_0] "" ] } {
- 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
- }
- set obj [get_report_configs -of_objects [get_runs impl_1] impl_1_post_route_phys_opt_report_timing_summary_0]
- if { $obj != "" } {
- set_property -name "options.max_paths" -value "10" -objects $obj
- set_property -name "options.report_unconstrained" -value "1" -objects $obj
- set_property -name "options.warn_on_violation" -value "1" -objects $obj
- }
- # Create 'impl_1_post_route_phys_opt_report_bus_skew_0' report (if not found)
- if { [ string equal [get_report_configs -of_objects [get_runs impl_1] impl_1_post_route_phys_opt_report_bus_skew_0] "" ] } {
- 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
- }
- set obj [get_report_configs -of_objects [get_runs impl_1] impl_1_post_route_phys_opt_report_bus_skew_0]
- if { $obj != "" } {
- set_property -name "options.warn_on_violation" -value "1" -objects $obj
- }
- set obj [get_runs impl_1]
- set_property -name "needs_refresh" -value "1" -objects $obj
- set_property -name "part" -value "xc7a100tfgg484-2" -objects $obj
- set_property -name "strategy" -value "Vivado Implementation Defaults" -objects $obj
- set_property -name "steps.write_bitstream.args.readback_file" -value "0" -objects $obj
- set_property -name "steps.write_bitstream.args.verbose" -value "0" -objects $obj
- set_property STEPS.WRITE_BITSTREAM.ARGS.BIN_FILE true $obj
- # set the current impl run
- current_run -implementation [get_runs impl_1]
- catch {
- if { $idrFlowPropertiesConstraints != {} } {
- set_param runs.disableIDRFlowPropertyConstraints $idrFlowPropertiesConstraints
- }
- }
- puts "INFO: Project created:${_xil_proj_name_}"
- # Create 'drc_1' gadget (if not found)
- if {[string equal [get_dashboard_gadgets [ list "drc_1" ] ] ""]} {
- create_dashboard_gadget -name {drc_1} -type drc
- }
- set obj [get_dashboard_gadgets [ list "drc_1" ] ]
- set_property -name "reports" -value "impl_1#impl_1_route_report_drc_0" -objects $obj
- # Create 'methodology_1' gadget (if not found)
- if {[string equal [get_dashboard_gadgets [ list "methodology_1" ] ] ""]} {
- create_dashboard_gadget -name {methodology_1} -type methodology
- }
- set obj [get_dashboard_gadgets [ list "methodology_1" ] ]
- set_property -name "reports" -value "impl_1#impl_1_route_report_methodology_0" -objects $obj
- # Create 'power_1' gadget (if not found)
- if {[string equal [get_dashboard_gadgets [ list "power_1" ] ] ""]} {
- create_dashboard_gadget -name {power_1} -type power
- }
- set obj [get_dashboard_gadgets [ list "power_1" ] ]
- set_property -name "reports" -value "impl_1#impl_1_route_report_power_0" -objects $obj
- # Create 'timing_1' gadget (if not found)
- if {[string equal [get_dashboard_gadgets [ list "timing_1" ] ] ""]} {
- create_dashboard_gadget -name {timing_1} -type timing
- }
- set obj [get_dashboard_gadgets [ list "timing_1" ] ]
- set_property -name "reports" -value "impl_1#impl_1_route_report_timing_summary_0" -objects $obj
- # Create 'utilization_1' gadget (if not found)
- if {[string equal [get_dashboard_gadgets [ list "utilization_1" ] ] ""]} {
- create_dashboard_gadget -name {utilization_1} -type utilization
- }
- set obj [get_dashboard_gadgets [ list "utilization_1" ] ]
- set_property -name "reports" -value "synth_1#synth_1_synth_report_utilization_0" -objects $obj
- set_property -name "run.step" -value "synth_design" -objects $obj
- set_property -name "run.type" -value "synthesis" -objects $obj
- # Create 'utilization_2' gadget (if not found)
- if {[string equal [get_dashboard_gadgets [ list "utilization_2" ] ] ""]} {
- create_dashboard_gadget -name {utilization_2} -type utilization
- }
- set obj [get_dashboard_gadgets [ list "utilization_2" ] ]
- set_property -name "reports" -value "impl_1#impl_1_place_report_utilization_0" -objects $obj
- move_dashboard_gadget -name {utilization_1} -row 0 -col 0
- move_dashboard_gadget -name {power_1} -row 1 -col 0
- move_dashboard_gadget -name {drc_1} -row 2 -col 0
- move_dashboard_gadget -name {timing_1} -row 0 -col 1
- move_dashboard_gadget -name {utilization_2} -row 1 -col 1
- move_dashboard_gadget -name {methodology_1} -row 2 -col 1
- ##################################################################
- # CHECK VIVADO VERSION
- ##################################################################
- set scripts_vivado_version 2024.1
- set current_vivado_version [version -short]
- if { [string first $scripts_vivado_version $current_vivado_version] == -1 } {
- catch {common::send_msg_id "IPS_TCL-100" "ERROR" "This script was generated using Vivado <$scripts_vivado_version> and is being run in <$current_vivado_version> of Vivado. Please run the script in Vivado <$scripts_vivado_version> then open the design in Vivado <$current_vivado_version>. Upgrade the design by running \"Tools => Report => Report IP Status...\", then run write_ip_tcl to create an updated script."}
- return 1
- }
- ##################################################################
- # START
- ##################################################################
- # To test this script, run the following commands from Vivado Tcl console:
- # source recreateIp.tcl
- # If there is no project opened, this script will create a
- # project, but make sure you do not have an existing project
- # in the current working folder.
- set list_projs [get_projects -quiet]
- if { $list_projs eq "" } {
- create_project VNA_XDMA_PROJ VNA_XDMA_PROJ -part xc7a100tfgg484-2
- set_property target_language Verilog [current_project]
- set_property simulator_language Verilog [current_project]
- }
- ##################################################################
- # CHECK IPs
- ##################################################################
- set bCheckIPs 1
- set bCheckIPsPassed 1
- if { $bCheckIPs == 1 } {
- set list_check_ips { xilinx.com:ip:fifo_generator:13.2 xilinx.com:ip:clk_wiz:6.0 xilinx.com:ip:blk_mem_gen:8.4 xilinx.com:ip:xdma:4.1 }
- set list_ips_missing ""
- common::send_msg_id "IPS_TCL-1001" "INFO" "Checking if the following IPs exist in the project's IP catalog: $list_check_ips ."
- foreach ip_vlnv $list_check_ips {
- set ip_obj [get_ipdefs -all $ip_vlnv]
- if { $ip_obj eq "" } {
- lappend list_ips_missing $ip_vlnv
- }
- }
- if { $list_ips_missing ne "" } {
- catch {common::send_msg_id "IPS_TCL-105" "ERROR" "The following IPs are not found in the IP Catalog:\n $list_ips_missing\n\nResolution: Please add the repository containing the IP(s) to the project." }
- set bCheckIPsPassed 0
- }
- }
- if { $bCheckIPsPassed != 1 } {
- common::send_msg_id "IPS_TCL-102" "WARNING" "Will not continue with creation of design due to the error(s) above."
- return 1
- }
- ##################################################################
- # CREATE IP FifoAttPe
- ##################################################################
- set FifoAttPe [create_ip -name fifo_generator -vendor xilinx.com -library ip -version 13.2 -module_name FifoAttPe]
- # User Parameters
- set_property -dict [list \
- CONFIG.Fifo_Implementation {Independent_Clocks_Distributed_RAM} \
- CONFIG.Input_Data_Width {8} \
- CONFIG.Input_Depth {16} \
- CONFIG.Performance_Options {First_Word_Fall_Through} \
- ] [get_ips FifoAttPe]
- # Runtime Parameters
- set_property -dict {
- GENERATE_SYNTH_CHECKPOINT {1}
- } $FifoAttPe
- ##################################################################
- ##################################################################
- # CREATE IP FifoLMK
- ##################################################################
- set FifoLMK [create_ip -name fifo_generator -vendor xilinx.com -library ip -version 13.2 -module_name FifoLMK]
- # User Parameters
- set_property -dict [list \
- CONFIG.Fifo_Implementation {Independent_Clocks_Builtin_FIFO} \
- CONFIG.Input_Data_Width {24} \
- CONFIG.Input_Depth {512} \
- CONFIG.Performance_Options {First_Word_Fall_Through} \
- ] [get_ips FifoLMK]
- # Runtime Parameters
- set_property -dict {
- GENERATE_SYNTH_CHECKPOINT {1}
- } $FifoLMK
- ##################################################################
- ##################################################################
- # CREATE IP FifoTmsg
- ##################################################################
- set FifoTmsg [create_ip -name fifo_generator -vendor xilinx.com -library ip -version 13.2 -module_name FifoTmsg]
- # User Parameters
- set_property -dict [list \
- CONFIG.Fifo_Implementation {Independent_Clocks_Builtin_FIFO} \
- CONFIG.Input_Data_Width {32} \
- CONFIG.Input_Depth {512} \
- CONFIG.Performance_Options {First_Word_Fall_Through} \
- ] [get_ips FifoTmsg]
- # Runtime Parameters
- set_property -dict {
- GENERATE_SYNTH_CHECKPOINT {1}
- } $FifoTmsg
- ##################################################################
- ##################################################################
- # CREATE IP PllSpi
- ##################################################################
- set PllSpi [create_ip -name clk_wiz -vendor xilinx.com -library ip -version 6.0 -module_name PllSpi]
- # User Parameters
- set_property -dict [list \
- CONFIG.CLKIN1_JITTER_PS {80.0} \
- CONFIG.CLKOUT1_JITTER {197.700} \
- CONFIG.CLKOUT1_PHASE_ERROR {96.948} \
- CONFIG.CLKOUT1_REQUESTED_OUT_FREQ {10} \
- CONFIG.CLKOUT2_JITTER {143.688} \
- CONFIG.CLKOUT2_PHASE_ERROR {96.948} \
- CONFIG.CLKOUT2_REQUESTED_OUT_FREQ {50} \
- CONFIG.CLKOUT2_USED {true} \
- CONFIG.MMCM_CLKFBOUT_MULT_F {8.000} \
- CONFIG.MMCM_CLKIN1_PERIOD {8.000} \
- CONFIG.MMCM_CLKOUT0_DIVIDE_F {100.000} \
- CONFIG.MMCM_CLKOUT1_DIVIDE {20} \
- CONFIG.NUM_OUT_CLKS {2} \
- CONFIG.PRIM_IN_FREQ {125} \
- CONFIG.USE_LOCKED {false} \
- CONFIG.USE_RESET {false} \
- ] [get_ips PllSpi]
- # Runtime Parameters
- set_property -dict {
- GENERATE_SYNTH_CHECKPOINT {1}
- } $PllSpi
- ##################################################################
- ##################################################################
- # CREATE IP blk_mem_gen_1
- ##################################################################
- set blk_mem_gen_1 [create_ip -name blk_mem_gen -vendor xilinx.com -library ip -version 8.4 -module_name blk_mem_gen_1]
- # User Parameters
- set_property -dict [list \
- CONFIG.Interface_Type {AXI4} \
- CONFIG.Write_Width_A {64} \
- ] [get_ips blk_mem_gen_1]
- # Runtime Parameters
- set_property -dict {
- GENERATE_SYNTH_CHECKPOINT {1}
- } $blk_mem_gen_1
- ##################################################################
- ##################################################################
- # CREATE IP xdma_0
- ##################################################################
- # set_property simulator_language MIXED [current_project]
- # set xdma_0 [create_ip -name xdma -vendor xilinx.com -library ip -version 4.1 -module_name xdma_0]
- # # User Parameters
- # set_property -dict [list \
- # CONFIG.PF0_DEVICE_ID_mqdma {9022} \
- # CONFIG.PF0_SRIOV_VF_DEVICE_ID {0000} \
- # CONFIG.PF1_SRIOV_VF_DEVICE_ID {A132} \
- # CONFIG.PF2_DEVICE_ID_mqdma {9022} \
- # CONFIG.PF2_SRIOV_VF_DEVICE_ID {A232} \
- # CONFIG.PF3_DEVICE_ID_mqdma {9022} \
- # CONFIG.PF3_SRIOV_VF_DEVICE_ID {A332} \
- # CONFIG.axist_bypass_en {true} \
- # CONFIG.axisten_freq {125} \
- # CONFIG.copy_pf0 {true} \
- # CONFIG.pf0_device_id {7022} \
- # CONFIG.pf1_msix_cap_pba_offset {00000000} \
- # CONFIG.pf1_msix_cap_table_offset {00000000} \
- # CONFIG.pf1_msix_cap_table_size {000} \
- # CONFIG.pl_link_cap_max_link_speed {5.0_GT/s} \
- # CONFIG.pl_link_cap_max_link_width {X2} \
- # CONFIG.plltype {QPLL1} \
- # CONFIG.runbit_fix {false} \
- # ] [get_ips xdma_0]
- # # Runtime Parameters
- # set_property -dict {
- # GENERATE_SYNTH_CHECKPOINT {1}
- # } $xdma_0
- ##################################################################
|