1522 lines
103 KiB
Tcl
1522 lines
103 KiB
Tcl
#*****************************************************************************************
|
|
# Vivado (TM) v2017.4 (64-bit)
|
|
#
|
|
#
|
|
#*****************************************************************************************
|
|
# 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 (rebuild_bist.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)
|
|
#
|
|
# "C:/Project/bist_two/bist_two.srcs/sources_1/bd/system/hdl/system_wrapper.v"
|
|
# "C:/Project/bist_two/bist_two.srcs/sources_1/bd/system/ip/system_mig_7series_0_0/board.prj"
|
|
# "C:/Project/bist_two/bist_two.srcs/sources_1/bd/system/ip/system_mig_7series_0_0/mig_a.prj"
|
|
# "C:/Project/bist_two/bist_two.srcs/sources_1/bd/system/ip/system_mig_7series_0_0/mig_b.prj"
|
|
# "C:/Project/bist_two/bist_two.sdk/hello_usb2/Debug/hello_usb2.elf"
|
|
# "C:/Project/bist_two/bist_two.sdk/lwip_echo_server/Debug/lwip_echo_server.elf"
|
|
# "C:/Project/bist_two/bist_two.sdk/bist_app/Debug/bist_app.elf"
|
|
# "C:/Project/bist_two/bist_two.srcs/constrs_1/imports/vc707_bist/system.xdc"
|
|
#
|
|
# 3. The following remote source files that were added to the original project:-
|
|
#
|
|
# <none>
|
|
#
|
|
#*****************************************************************************************
|
|
|
|
# Set the reference directory for source file relative paths (by default the value is script directory path)
|
|
set origin_dir "."
|
|
|
|
# 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 project_name "bist_sha256"
|
|
|
|
# Use project name variable, if specified in the tcl shell
|
|
if { [info exists ::user_project_name] } {
|
|
set project_name $::user_project_name
|
|
}
|
|
|
|
variable script_file
|
|
set script_file "bist_sha256.tcl"
|
|
|
|
# Create project
|
|
create_project ${project_name} ./${project_name} -force -part xc7vx485tffg1761-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 "board_connections" -value "" -objects $obj
|
|
set_property -name "board_part" -value "xilinx.com:vc707:part0:1.2" -objects $obj
|
|
set_property -name "compxlib.activehdl_compiled_library_dir" -value "$proj_dir/${project_name}.cache/compile_simlib/activehdl" -objects $obj
|
|
set_property -name "compxlib.funcsim" -value "1" -objects $obj
|
|
set_property -name "compxlib.ies_compiled_library_dir" -value "$proj_dir/${project_name}.cache/compile_simlib/ies" -objects $obj
|
|
set_property -name "compxlib.modelsim_compiled_library_dir" -value "$proj_dir/${project_name}.cache/compile_simlib/modelsim" -objects $obj
|
|
set_property -name "compxlib.overwrite_libs" -value "0" -objects $obj
|
|
set_property -name "compxlib.questa_compiled_library_dir" -value "$proj_dir/${project_name}.cache/compile_simlib/questa" -objects $obj
|
|
set_property -name "compxlib.riviera_compiled_library_dir" -value "$proj_dir/${project_name}.cache/compile_simlib/riviera" -objects $obj
|
|
set_property -name "compxlib.timesim" -value "1" -objects $obj
|
|
set_property -name "compxlib.vcs_compiled_library_dir" -value "$proj_dir/${project_name}.cache/compile_simlib/vcs" -objects $obj
|
|
set_property -name "compxlib.xsim_compiled_library_dir" -value "" -objects $obj
|
|
set_property -name "corecontainer.enable" -value "0" -objects $obj
|
|
set_property -name "default_lib" -value "xil_defaultlib" -objects $obj
|
|
set_property -name "dsa.num_compute_units" -value "60" -objects $obj
|
|
set_property -name "dsa.rom.debug_type" -value "0" -objects $obj
|
|
set_property -name "dsa.rom.prom_type" -value "0" -objects $obj
|
|
set_property -name "enable_optional_runs_sta" -value "0" -objects $obj
|
|
set_property -name "generate_ip_upgrade_log" -value "1" -objects $obj
|
|
set_property -name "ip_cache_permissions" -value "read write" -objects $obj
|
|
set_property -name "ip_interface_inference_priority" -value "" -objects $obj
|
|
set_property -name "ip_output_repo" -value "$proj_dir/${project_name}.cache/ip" -objects $obj
|
|
set_property -name "project_type" -value "Default" -objects $obj
|
|
set_property -name "pr_flow" -value "0" -objects $obj
|
|
set_property -name "sim.ip.auto_export_scripts" -value "1" -objects $obj
|
|
set_property -name "sim.use_ip_compiled_libs" -value "1" -objects $obj
|
|
set_property -name "simulator_language" -value "Mixed" -objects $obj
|
|
set_property -name "source_mgmt_mode" -value "All" -objects $obj
|
|
set_property -name "target_language" -value "Verilog" -objects $obj
|
|
set_property -name "target_simulator" -value "XSim" -objects $obj
|
|
set_property -name "xpm_libraries" -value "XPM_CDC XPM_FIFO XPM_MEMORY" -objects $obj
|
|
set_property -name "xsim.array_display_limit" -value "1024" -objects $obj
|
|
set_property -name "xsim.radix" -value "hex" -objects $obj
|
|
set_property -name "xsim.time_unit" -value "ns" -objects $obj
|
|
set_property -name "xsim.trace_limit" -value "65536" -objects $obj
|
|
|
|
#add_files [ glob ./btc_dsha256/trunk/rtl/vhdl/misc/*.vhd ]
|
|
#add_files [ glob ./sources/hdl/*.v ]
|
|
#add_files -fileset sim_1 [ glob ./sources/ip/system_mig_7series_0_0/*.prj ]
|
|
#import_files -force -norecurse
|
|
|
|
# Create 'sources_1' fileset (if not found)
|
|
if {[string equal [get_filesets -quiet sources_1] ""]} {
|
|
create_fileset -srcset sources_1
|
|
}
|
|
|
|
# Set IP repository paths
|
|
set obj [get_filesets sources_1]
|
|
set_property "ip_repo_paths" "[file normalize "$origin_dir/sources/gtxe2_top_v1_00_a"]" $obj
|
|
|
|
# Rebuild user ip_repo's index before adding any source files
|
|
update_ip_catalog -rebuild
|
|
|
|
# Set 'sources_1' fileset object
|
|
set obj [get_filesets sources_1]
|
|
# Import local files from the original project
|
|
set files [list \
|
|
"[file normalize "$origin_dir/sources/hdl/system_wrapper.v"]"\
|
|
"[file normalize "$origin_dir/sources/ip/system_mig_7series_0_0/board.prj"]"\
|
|
"[file normalize "$origin_dir/sources/ip/system_mig_7series_0_0/mig_a.prj"]"\
|
|
"[file normalize "$origin_dir/sources/ip/system_mig_7series_0_0/mig_b.prj"]"\
|
|
]
|
|
|
|
# "[file normalize "$origin_dir/../../../Project/bist_two/bist_two.sdk/hello_usb2/Debug/hello_usb2.elf"]"\
|
|
#"[file normalize "$origin_dir/../../../Project/bist_two/bist_two.sdk/lwip_echo_server/Debug/lwip_echo_server.elf"]"\
|
|
#"[file normalize "$origin_dir/../../../Project/bist_two/bist_two.sdk/bist_app/Debug/bist_app.elf"]"\
|
|
]
|
|
set imported_files [import_files -fileset sources_1 $files]
|
|
|
|
# Set 'sources_1' fileset file properties for local files
|
|
set file "hdl/system_wrapper.v"
|
|
set file_obj [get_files -of_objects [get_filesets sources_1] [list "*$file"]]
|
|
set_property -name "file_type" -value "Verilog" -objects $file_obj
|
|
set_property -name "is_enabled" -value "1" -objects $file_obj
|
|
set_property -name "is_global_include" -value "0" -objects $file_obj
|
|
set_property -name "library" -value "xil_defaultlib" -objects $file_obj
|
|
set_property -name "path_mode" -value "RelativeFirst" -objects $file_obj
|
|
set_property -name "used_in" -value "synthesis implementation simulation" -objects $file_obj
|
|
set_property -name "used_in_implementation" -value "1" -objects $file_obj
|
|
set_property -name "used_in_simulation" -value "1" -objects $file_obj
|
|
set_property -name "used_in_synthesis" -value "1" -objects $file_obj
|
|
|
|
set file "system_mig_7series_0_0/board.prj"
|
|
set file_obj [get_files -of_objects [get_filesets sources_1] [list "*$file"]]
|
|
set_property -name "is_enabled" -value "1" -objects $file_obj
|
|
set_property -name "is_global_include" -value "0" -objects $file_obj
|
|
set_property -name "library" -value "xil_defaultlib" -objects $file_obj
|
|
set_property -name "path_mode" -value "RelativeFirst" -objects $file_obj
|
|
set_property -name "scoped_to_cells" -value "" -objects $file_obj
|
|
set_property -name "scoped_to_ref" -value "" -objects $file_obj
|
|
set_property -name "used_in" -value "synthesis" -objects $file_obj
|
|
set_property -name "used_in_synthesis" -value "1" -objects $file_obj
|
|
|
|
set file "system_mig_7series_0_0/mig_a.prj"
|
|
set file_obj [get_files -of_objects [get_filesets sources_1] [list "*$file"]]
|
|
set_property -name "is_enabled" -value "1" -objects $file_obj
|
|
set_property -name "is_global_include" -value "0" -objects $file_obj
|
|
set_property -name "library" -value "xil_defaultlib" -objects $file_obj
|
|
set_property -name "path_mode" -value "RelativeFirst" -objects $file_obj
|
|
set_property -name "scoped_to_cells" -value "" -objects $file_obj
|
|
set_property -name "scoped_to_ref" -value "" -objects $file_obj
|
|
set_property -name "used_in" -value "synthesis" -objects $file_obj
|
|
set_property -name "used_in_synthesis" -value "1" -objects $file_obj
|
|
|
|
set file "system_mig_7series_0_0/mig_b.prj"
|
|
set file_obj [get_files -of_objects [get_filesets sources_1] [list "*$file"]]
|
|
set_property -name "is_enabled" -value "1" -objects $file_obj
|
|
set_property -name "is_global_include" -value "0" -objects $file_obj
|
|
set_property -name "library" -value "xil_defaultlib" -objects $file_obj
|
|
set_property -name "path_mode" -value "RelativeFirst" -objects $file_obj
|
|
set_property -name "scoped_to_cells" -value "system_mig_7series_0_0" -objects $file_obj
|
|
set_property -name "scoped_to_ref" -value "" -objects $file_obj
|
|
set_property -name "used_in" -value "synthesis" -objects $file_obj
|
|
set_property -name "used_in_synthesis" -value "1" -objects $file_obj
|
|
|
|
# Set 'sources_1' fileset properties
|
|
set obj [get_filesets sources_1]
|
|
set_property -name "design_mode" -value "RTL" -objects $obj
|
|
set_property -name "edif_extra_search_paths" -value "" -objects $obj
|
|
set_property -name "elab_link_dcps" -value "1" -objects $obj
|
|
set_property -name "elab_load_timing_constraints" -value "1" -objects $obj
|
|
set_property -name "generic" -value "" -objects $obj
|
|
set_property -name "include_dirs" -value "" -objects $obj
|
|
set_property -name "lib_map_file" -value "" -objects $obj
|
|
set_property -name "loop_count" -value "1000" -objects $obj
|
|
set_property -name "name" -value "sources_1" -objects $obj
|
|
set_property -name "top" -value "system_wrapper" -objects $obj
|
|
set_property -name "verilog_define" -value "" -objects $obj
|
|
set_property -name "verilog_uppercase" -value "0" -objects $obj
|
|
|
|
# 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/sources/constrs/system.xdc"]"
|
|
puts $file
|
|
set file_imported [import_files -fileset constrs_1 $file]
|
|
puts $file_imported
|
|
set file "constrs/system.xdc"
|
|
#set file_obj [get_files -of_objects [get_filesets constrs_1] [list "*$file"]]
|
|
set file_obj [get_files -of_objects [get_filesets constrs_1] [list "$file_imported"]]
|
|
puts $file_obj
|
|
set_property -name "file_type" -value "XDC" -objects $file_obj
|
|
set_property -name "is_enabled" -value "1" -objects $file_obj
|
|
set_property -name "is_global_include" -value "0" -objects $file_obj
|
|
set_property -name "library" -value "xil_defaultlib" -objects $file_obj
|
|
set_property -name "path_mode" -value "RelativeFirst" -objects $file_obj
|
|
set_property -name "processing_order" -value "NORMAL" -objects $file_obj
|
|
set_property -name "scoped_to_cells" -value "" -objects $file_obj
|
|
set_property -name "scoped_to_ref" -value "" -objects $file_obj
|
|
set_property -name "used_in" -value "synthesis implementation" -objects $file_obj
|
|
set_property -name "used_in_implementation" -value "1" -objects $file_obj
|
|
set_property -name "used_in_synthesis" -value "1" -objects $file_obj
|
|
|
|
# Set 'constrs_1' fileset properties
|
|
set obj [get_filesets constrs_1]
|
|
set_property -name "name" -value "constrs_1" -objects $obj
|
|
set_property -name "target_constrs_file" -value "$proj_dir/$project_name.srcs/constrs_1/imports/constrs/system.xdc" -objects $obj
|
|
|
|
# Create 'sim_1' fileset (if not found)
|
|
if {[string equal [get_filesets -quiet sim_1] ""]} {
|
|
create_fileset -simset sim_1
|
|
}
|
|
|
|
# Adding sources referenced in BDs, if not already added
|
|
|
|
proc cr_bd_system { parentCell } {
|
|
|
|
# CHANGE DESIGN NAME HERE
|
|
set design_name system
|
|
|
|
common::send_msg_id "BD_TCL-003" "INFO" "Currently there is no design <$design_name> in project, so creating one..."
|
|
|
|
create_bd_design $design_name
|
|
|
|
set bCheckIPsPassed 1
|
|
##################################################################
|
|
# CHECK IPs
|
|
##################################################################
|
|
set bCheckIPs 1
|
|
if { $bCheckIPs == 1 } {
|
|
set list_check_ips "\
|
|
xilinx.com:ip:axi_bram_ctrl:4.0\
|
|
xilinx.com:ip:blk_mem_gen:8.4\
|
|
xilinx.com:ip:axi_emc:3.0\
|
|
xilinx.com:ip:axi_ethernet:7.1\
|
|
xilinx.com:ip:axi_dma:7.1\
|
|
xilinx.com:ip:clk_wiz:5.4\
|
|
xilinx.com:ip:axi_gpio:2.0\
|
|
xilinx.com:ip:axi_iic:2.0\
|
|
xilinx.com:ip:axi_timer:2.0\
|
|
xilinx.com:ip:axi_uart16550:2.0\
|
|
xilinx.com:ip:axi_usb2_device:5.0\
|
|
xilinx.com:user:gtxe2_top:1.0\
|
|
xilinx.com:ip:mdm:3.2\
|
|
xilinx.com:ip:microblaze:10.0\
|
|
xilinx.com:ip:axi_intc:4.1\
|
|
xilinx.com:ip:xlconcat:2.1\
|
|
xilinx.com:ip:mig_7series:4.0\
|
|
xilinx.com:ip:proc_sys_reset:5.0\
|
|
xilinx.com:ip:xadc_wiz:3.3\
|
|
xilinx.com:ip:xlconstant:1.1\
|
|
xilinx.com:ip:lmb_bram_if_cntlr:4.0\
|
|
xilinx.com:ip:lmb_v10:3.0\
|
|
"
|
|
|
|
set list_ips_missing ""
|
|
common::send_msg_id "BD_TCL-006" "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 "BD_TCL-115" "ERROR" "The following IPs are not found in the IP Catalog:\n $list_ips_missing\n\nResolution: Please add the repository containing the IP(s) to the project." }
|
|
set bCheckIPsPassed 0
|
|
}
|
|
|
|
}
|
|
|
|
if { $bCheckIPsPassed != 1 } {
|
|
common::send_msg_id "BD_TCL-1003" "WARNING" "Will not continue with creation of design due to the error(s) above."
|
|
return 3
|
|
}
|
|
|
|
|
|
##################################################################
|
|
# MIG PRJ FILE TCL PROCs
|
|
##################################################################
|
|
|
|
proc write_mig_file_system_mig_7series_0_0 { str_mig_prj_filepath } {
|
|
|
|
file mkdir [ file dirname "$str_mig_prj_filepath" ]
|
|
set mig_prj_file [open $str_mig_prj_filepath w+]
|
|
|
|
puts $mig_prj_file {<?xml version='1.0' encoding='UTF-8'?>}
|
|
puts $mig_prj_file {<!-- IMPORTANT: This is an internal file that has been generated by the MIG software. Any direct editing or changes made to this file may result in unpredictable behavior or data corruption. It is strongly advised that users do not edit the contents of this file. Re-run the MIG GUI with the required settings if any of the options provided below need to be altered. -->}
|
|
puts $mig_prj_file {<Project NoOfControllers="1" >}
|
|
puts $mig_prj_file { <ModuleName>system_mig_7series_0_0</ModuleName>}
|
|
puts $mig_prj_file { <dci_inouts_inputs>1</dci_inouts_inputs>}
|
|
puts $mig_prj_file { <dci_inputs>1</dci_inputs>}
|
|
puts $mig_prj_file { <Debug_En>OFF</Debug_En>}
|
|
puts $mig_prj_file { <DataDepth_En>1024</DataDepth_En>}
|
|
puts $mig_prj_file { <LowPower_En>ON</LowPower_En>}
|
|
puts $mig_prj_file { <XADC_En>Disabled</XADC_En>}
|
|
puts $mig_prj_file { <TargetFPGA>xc7vx485t-ffg1761/-2</TargetFPGA>}
|
|
puts $mig_prj_file { <Version>2.3</Version>}
|
|
puts $mig_prj_file { <SystemClock>Differential</SystemClock>}
|
|
puts $mig_prj_file { <ReferenceClock>Use System Clock</ReferenceClock>}
|
|
puts $mig_prj_file { <SysResetPolarity>ACTIVE HIGH</SysResetPolarity>}
|
|
puts $mig_prj_file { <BankSelectionFlag>FALSE</BankSelectionFlag>}
|
|
puts $mig_prj_file { <InternalVref>0</InternalVref>}
|
|
puts $mig_prj_file { <dci_hr_inouts_inputs>50 Ohms</dci_hr_inouts_inputs>}
|
|
puts $mig_prj_file { <dci_cascade>0</dci_cascade>}
|
|
puts $mig_prj_file { <Controller number="0" >}
|
|
puts $mig_prj_file { <MemoryDevice>DDR3_SDRAM/sodimms/MT8JTF12864HZ-1G6</MemoryDevice>}
|
|
puts $mig_prj_file { <TimePeriod>1250</TimePeriod>}
|
|
puts $mig_prj_file { <VccAuxIO>2.0V</VccAuxIO>}
|
|
puts $mig_prj_file { <PHYRatio>4:1</PHYRatio>}
|
|
puts $mig_prj_file { <InputClkFreq>200</InputClkFreq>}
|
|
puts $mig_prj_file { <UIExtraClocks>1</UIExtraClocks>}
|
|
puts $mig_prj_file { <MMCM_VCO>800</MMCM_VCO>}
|
|
puts $mig_prj_file { <MMCMClkOut0> 8.000</MMCMClkOut0>}
|
|
puts $mig_prj_file { <MMCMClkOut1>1</MMCMClkOut1>}
|
|
puts $mig_prj_file { <MMCMClkOut2>1</MMCMClkOut2>}
|
|
puts $mig_prj_file { <MMCMClkOut3>1</MMCMClkOut3>}
|
|
puts $mig_prj_file { <MMCMClkOut4>1</MMCMClkOut4>}
|
|
puts $mig_prj_file { <DataWidth>64</DataWidth>}
|
|
puts $mig_prj_file { <DeepMemory>1</DeepMemory>}
|
|
puts $mig_prj_file { <DataMask>1</DataMask>}
|
|
puts $mig_prj_file { <ECC>Disabled</ECC>}
|
|
puts $mig_prj_file { <Ordering>Normal</Ordering>}
|
|
puts $mig_prj_file { <CustomPart>FALSE</CustomPart>}
|
|
puts $mig_prj_file { <NewPartName></NewPartName>}
|
|
puts $mig_prj_file { <RowAddress>14</RowAddress>}
|
|
puts $mig_prj_file { <ColAddress>10</ColAddress>}
|
|
puts $mig_prj_file { <BankAddress>3</BankAddress>}
|
|
puts $mig_prj_file { <MemoryVoltage>1.5V</MemoryVoltage>}
|
|
puts $mig_prj_file { <C0_MEM_SIZE>1073741824</C0_MEM_SIZE>}
|
|
puts $mig_prj_file { <UserMemoryAddressMap>ROW_BANK_COLUMN</UserMemoryAddressMap>}
|
|
puts $mig_prj_file { <PinSelection>}
|
|
puts $mig_prj_file { <Pin VCCAUX_IO="HIGH" IOSTANDARD="SSTL15" PADName="A20" SLEW="" name="ddr3_addr[0]" IN_TERM="" />}
|
|
puts $mig_prj_file { <Pin VCCAUX_IO="HIGH" IOSTANDARD="SSTL15" PADName="B21" SLEW="" name="ddr3_addr[10]" IN_TERM="" />}
|
|
puts $mig_prj_file { <Pin VCCAUX_IO="HIGH" IOSTANDARD="SSTL15" PADName="B17" SLEW="" name="ddr3_addr[11]" IN_TERM="" />}
|
|
puts $mig_prj_file { <Pin VCCAUX_IO="HIGH" IOSTANDARD="SSTL15" PADName="A15" SLEW="" name="ddr3_addr[12]" IN_TERM="" />}
|
|
puts $mig_prj_file { <Pin VCCAUX_IO="HIGH" IOSTANDARD="SSTL15" PADName="A21" SLEW="" name="ddr3_addr[13]" IN_TERM="" />}
|
|
puts $mig_prj_file { <Pin VCCAUX_IO="HIGH" IOSTANDARD="SSTL15" PADName="B19" SLEW="" name="ddr3_addr[1]" IN_TERM="" />}
|
|
puts $mig_prj_file { <Pin VCCAUX_IO="HIGH" IOSTANDARD="SSTL15" PADName="C20" SLEW="" name="ddr3_addr[2]" IN_TERM="" />}
|
|
puts $mig_prj_file { <Pin VCCAUX_IO="HIGH" IOSTANDARD="SSTL15" PADName="A19" SLEW="" name="ddr3_addr[3]" IN_TERM="" />}
|
|
puts $mig_prj_file { <Pin VCCAUX_IO="HIGH" IOSTANDARD="SSTL15" PADName="A17" SLEW="" name="ddr3_addr[4]" IN_TERM="" />}
|
|
puts $mig_prj_file { <Pin VCCAUX_IO="HIGH" IOSTANDARD="SSTL15" PADName="A16" SLEW="" name="ddr3_addr[5]" IN_TERM="" />}
|
|
puts $mig_prj_file { <Pin VCCAUX_IO="HIGH" IOSTANDARD="SSTL15" PADName="D20" SLEW="" name="ddr3_addr[6]" IN_TERM="" />}
|
|
puts $mig_prj_file { <Pin VCCAUX_IO="HIGH" IOSTANDARD="SSTL15" PADName="C18" SLEW="" name="ddr3_addr[7]" IN_TERM="" />}
|
|
puts $mig_prj_file { <Pin VCCAUX_IO="HIGH" IOSTANDARD="SSTL15" PADName="D17" SLEW="" name="ddr3_addr[8]" IN_TERM="" />}
|
|
puts $mig_prj_file { <Pin VCCAUX_IO="HIGH" IOSTANDARD="SSTL15" PADName="C19" SLEW="" name="ddr3_addr[9]" IN_TERM="" />}
|
|
puts $mig_prj_file { <Pin VCCAUX_IO="HIGH" IOSTANDARD="SSTL15" PADName="D21" SLEW="" name="ddr3_ba[0]" IN_TERM="" />}
|
|
puts $mig_prj_file { <Pin VCCAUX_IO="HIGH" IOSTANDARD="SSTL15" PADName="C21" SLEW="" name="ddr3_ba[1]" IN_TERM="" />}
|
|
puts $mig_prj_file { <Pin VCCAUX_IO="HIGH" IOSTANDARD="SSTL15" PADName="D18" SLEW="" name="ddr3_ba[2]" IN_TERM="" />}
|
|
puts $mig_prj_file { <Pin VCCAUX_IO="HIGH" IOSTANDARD="SSTL15" PADName="K17" SLEW="" name="ddr3_cas_n" IN_TERM="" />}
|
|
puts $mig_prj_file { <Pin VCCAUX_IO="HIGH" IOSTANDARD="DIFF_SSTL15" PADName="G18" SLEW="" name="ddr3_ck_n[0]" IN_TERM="" />}
|
|
puts $mig_prj_file { <Pin VCCAUX_IO="HIGH" IOSTANDARD="DIFF_SSTL15" PADName="H19" SLEW="" name="ddr3_ck_p[0]" IN_TERM="" />}
|
|
puts $mig_prj_file { <Pin VCCAUX_IO="HIGH" IOSTANDARD="SSTL15" PADName="K19" SLEW="" name="ddr3_cke[0]" IN_TERM="" />}
|
|
puts $mig_prj_file { <Pin VCCAUX_IO="HIGH" IOSTANDARD="SSTL15" PADName="J17" SLEW="" name="ddr3_cs_n[0]" IN_TERM="" />}
|
|
puts $mig_prj_file { <Pin VCCAUX_IO="HIGH" IOSTANDARD="SSTL15" PADName="M13" SLEW="" name="ddr3_dm[0]" IN_TERM="" />}
|
|
puts $mig_prj_file { <Pin VCCAUX_IO="HIGH" IOSTANDARD="SSTL15" PADName="K15" SLEW="" name="ddr3_dm[1]" IN_TERM="" />}
|
|
puts $mig_prj_file { <Pin VCCAUX_IO="HIGH" IOSTANDARD="SSTL15" PADName="F12" SLEW="" name="ddr3_dm[2]" IN_TERM="" />}
|
|
puts $mig_prj_file { <Pin VCCAUX_IO="HIGH" IOSTANDARD="SSTL15" PADName="A14" SLEW="" name="ddr3_dm[3]" IN_TERM="" />}
|
|
puts $mig_prj_file { <Pin VCCAUX_IO="HIGH" IOSTANDARD="SSTL15" PADName="C23" SLEW="" name="ddr3_dm[4]" IN_TERM="" />}
|
|
puts $mig_prj_file { <Pin VCCAUX_IO="HIGH" IOSTANDARD="SSTL15" PADName="D25" SLEW="" name="ddr3_dm[5]" IN_TERM="" />}
|
|
puts $mig_prj_file { <Pin VCCAUX_IO="HIGH" IOSTANDARD="SSTL15" PADName="C31" SLEW="" name="ddr3_dm[6]" IN_TERM="" />}
|
|
puts $mig_prj_file { <Pin VCCAUX_IO="HIGH" IOSTANDARD="SSTL15" PADName="F31" SLEW="" name="ddr3_dm[7]" IN_TERM="" />}
|
|
puts $mig_prj_file { <Pin VCCAUX_IO="HIGH" IOSTANDARD="SSTL15_T_DCI" PADName="N14" SLEW="" name="ddr3_dq[0]" IN_TERM="" />}
|
|
puts $mig_prj_file { <Pin VCCAUX_IO="HIGH" IOSTANDARD="SSTL15_T_DCI" PADName="H13" SLEW="" name="ddr3_dq[10]" IN_TERM="" />}
|
|
puts $mig_prj_file { <Pin VCCAUX_IO="HIGH" IOSTANDARD="SSTL15_T_DCI" PADName="J13" SLEW="" name="ddr3_dq[11]" IN_TERM="" />}
|
|
puts $mig_prj_file { <Pin VCCAUX_IO="HIGH" IOSTANDARD="SSTL15_T_DCI" PADName="L16" SLEW="" name="ddr3_dq[12]" IN_TERM="" />}
|
|
puts $mig_prj_file { <Pin VCCAUX_IO="HIGH" IOSTANDARD="SSTL15_T_DCI" PADName="L15" SLEW="" name="ddr3_dq[13]" IN_TERM="" />}
|
|
puts $mig_prj_file { <Pin VCCAUX_IO="HIGH" IOSTANDARD="SSTL15_T_DCI" PADName="H14" SLEW="" name="ddr3_dq[14]" IN_TERM="" />}
|
|
puts $mig_prj_file { <Pin VCCAUX_IO="HIGH" IOSTANDARD="SSTL15_T_DCI" PADName="J15" SLEW="" name="ddr3_dq[15]" IN_TERM="" />}
|
|
puts $mig_prj_file { <Pin VCCAUX_IO="HIGH" IOSTANDARD="SSTL15_T_DCI" PADName="E15" SLEW="" name="ddr3_dq[16]" IN_TERM="" />}
|
|
puts $mig_prj_file { <Pin VCCAUX_IO="HIGH" IOSTANDARD="SSTL15_T_DCI" PADName="E13" SLEW="" name="ddr3_dq[17]" IN_TERM="" />}
|
|
puts $mig_prj_file { <Pin VCCAUX_IO="HIGH" IOSTANDARD="SSTL15_T_DCI" PADName="F15" SLEW="" name="ddr3_dq[18]" IN_TERM="" />}
|
|
puts $mig_prj_file { <Pin VCCAUX_IO="HIGH" IOSTANDARD="SSTL15_T_DCI" PADName="E14" SLEW="" name="ddr3_dq[19]" IN_TERM="" />}
|
|
puts $mig_prj_file { <Pin VCCAUX_IO="HIGH" IOSTANDARD="SSTL15_T_DCI" PADName="N13" SLEW="" name="ddr3_dq[1]" IN_TERM="" />}
|
|
puts $mig_prj_file { <Pin VCCAUX_IO="HIGH" IOSTANDARD="SSTL15_T_DCI" PADName="G13" SLEW="" name="ddr3_dq[20]" IN_TERM="" />}
|
|
puts $mig_prj_file { <Pin VCCAUX_IO="HIGH" IOSTANDARD="SSTL15_T_DCI" PADName="G12" SLEW="" name="ddr3_dq[21]" IN_TERM="" />}
|
|
puts $mig_prj_file { <Pin VCCAUX_IO="HIGH" IOSTANDARD="SSTL15_T_DCI" PADName="F14" SLEW="" name="ddr3_dq[22]" IN_TERM="" />}
|
|
puts $mig_prj_file { <Pin VCCAUX_IO="HIGH" IOSTANDARD="SSTL15_T_DCI" PADName="G14" SLEW="" name="ddr3_dq[23]" IN_TERM="" />}
|
|
puts $mig_prj_file { <Pin VCCAUX_IO="HIGH" IOSTANDARD="SSTL15_T_DCI" PADName="B14" SLEW="" name="ddr3_dq[24]" IN_TERM="" />}
|
|
puts $mig_prj_file { <Pin VCCAUX_IO="HIGH" IOSTANDARD="SSTL15_T_DCI" PADName="C13" SLEW="" name="ddr3_dq[25]" IN_TERM="" />}
|
|
puts $mig_prj_file { <Pin VCCAUX_IO="HIGH" IOSTANDARD="SSTL15_T_DCI" PADName="B16" SLEW="" name="ddr3_dq[26]" IN_TERM="" />}
|
|
puts $mig_prj_file { <Pin VCCAUX_IO="HIGH" IOSTANDARD="SSTL15_T_DCI" PADName="D15" SLEW="" name="ddr3_dq[27]" IN_TERM="" />}
|
|
puts $mig_prj_file { <Pin VCCAUX_IO="HIGH" IOSTANDARD="SSTL15_T_DCI" PADName="D13" SLEW="" name="ddr3_dq[28]" IN_TERM="" />}
|
|
puts $mig_prj_file { <Pin VCCAUX_IO="HIGH" IOSTANDARD="SSTL15_T_DCI" PADName="E12" SLEW="" name="ddr3_dq[29]" IN_TERM="" />}
|
|
puts $mig_prj_file { <Pin VCCAUX_IO="HIGH" IOSTANDARD="SSTL15_T_DCI" PADName="L14" SLEW="" name="ddr3_dq[2]" IN_TERM="" />}
|
|
puts $mig_prj_file { <Pin VCCAUX_IO="HIGH" IOSTANDARD="SSTL15_T_DCI" PADName="C16" SLEW="" name="ddr3_dq[30]" IN_TERM="" />}
|
|
puts $mig_prj_file { <Pin VCCAUX_IO="HIGH" IOSTANDARD="SSTL15_T_DCI" PADName="D16" SLEW="" name="ddr3_dq[31]" IN_TERM="" />}
|
|
puts $mig_prj_file { <Pin VCCAUX_IO="HIGH" IOSTANDARD="SSTL15_T_DCI" PADName="A24" SLEW="" name="ddr3_dq[32]" IN_TERM="" />}
|
|
puts $mig_prj_file { <Pin VCCAUX_IO="HIGH" IOSTANDARD="SSTL15_T_DCI" PADName="B23" SLEW="" name="ddr3_dq[33]" IN_TERM="" />}
|
|
puts $mig_prj_file { <Pin VCCAUX_IO="HIGH" IOSTANDARD="SSTL15_T_DCI" PADName="B27" SLEW="" name="ddr3_dq[34]" IN_TERM="" />}
|
|
puts $mig_prj_file { <Pin VCCAUX_IO="HIGH" IOSTANDARD="SSTL15_T_DCI" PADName="B26" SLEW="" name="ddr3_dq[35]" IN_TERM="" />}
|
|
puts $mig_prj_file { <Pin VCCAUX_IO="HIGH" IOSTANDARD="SSTL15_T_DCI" PADName="A22" SLEW="" name="ddr3_dq[36]" IN_TERM="" />}
|
|
puts $mig_prj_file { <Pin VCCAUX_IO="HIGH" IOSTANDARD="SSTL15_T_DCI" PADName="B22" SLEW="" name="ddr3_dq[37]" IN_TERM="" />}
|
|
puts $mig_prj_file { <Pin VCCAUX_IO="HIGH" IOSTANDARD="SSTL15_T_DCI" PADName="A25" SLEW="" name="ddr3_dq[38]" IN_TERM="" />}
|
|
puts $mig_prj_file { <Pin VCCAUX_IO="HIGH" IOSTANDARD="SSTL15_T_DCI" PADName="C24" SLEW="" name="ddr3_dq[39]" IN_TERM="" />}
|
|
puts $mig_prj_file { <Pin VCCAUX_IO="HIGH" IOSTANDARD="SSTL15_T_DCI" PADName="M14" SLEW="" name="ddr3_dq[3]" IN_TERM="" />}
|
|
puts $mig_prj_file { <Pin VCCAUX_IO="HIGH" IOSTANDARD="SSTL15_T_DCI" PADName="E24" SLEW="" name="ddr3_dq[40]" IN_TERM="" />}
|
|
puts $mig_prj_file { <Pin VCCAUX_IO="HIGH" IOSTANDARD="SSTL15_T_DCI" PADName="D23" SLEW="" name="ddr3_dq[41]" IN_TERM="" />}
|
|
puts $mig_prj_file { <Pin VCCAUX_IO="HIGH" IOSTANDARD="SSTL15_T_DCI" PADName="D26" SLEW="" name="ddr3_dq[42]" IN_TERM="" />}
|
|
puts $mig_prj_file { <Pin VCCAUX_IO="HIGH" IOSTANDARD="SSTL15_T_DCI" PADName="C25" SLEW="" name="ddr3_dq[43]" IN_TERM="" />}
|
|
puts $mig_prj_file { <Pin VCCAUX_IO="HIGH" IOSTANDARD="SSTL15_T_DCI" PADName="E23" SLEW="" name="ddr3_dq[44]" IN_TERM="" />}
|
|
puts $mig_prj_file { <Pin VCCAUX_IO="HIGH" IOSTANDARD="SSTL15_T_DCI" PADName="D22" SLEW="" name="ddr3_dq[45]" IN_TERM="" />}
|
|
puts $mig_prj_file { <Pin VCCAUX_IO="HIGH" IOSTANDARD="SSTL15_T_DCI" PADName="F22" SLEW="" name="ddr3_dq[46]" IN_TERM="" />}
|
|
puts $mig_prj_file { <Pin VCCAUX_IO="HIGH" IOSTANDARD="SSTL15_T_DCI" PADName="E22" SLEW="" name="ddr3_dq[47]" IN_TERM="" />}
|
|
puts $mig_prj_file { <Pin VCCAUX_IO="HIGH" IOSTANDARD="SSTL15_T_DCI" PADName="A30" SLEW="" name="ddr3_dq[48]" IN_TERM="" />}
|
|
puts $mig_prj_file { <Pin VCCAUX_IO="HIGH" IOSTANDARD="SSTL15_T_DCI" PADName="D27" SLEW="" name="ddr3_dq[49]" IN_TERM="" />}
|
|
puts $mig_prj_file { <Pin VCCAUX_IO="HIGH" IOSTANDARD="SSTL15_T_DCI" PADName="M12" SLEW="" name="ddr3_dq[4]" IN_TERM="" />}
|
|
puts $mig_prj_file { <Pin VCCAUX_IO="HIGH" IOSTANDARD="SSTL15_T_DCI" PADName="A29" SLEW="" name="ddr3_dq[50]" IN_TERM="" />}
|
|
puts $mig_prj_file { <Pin VCCAUX_IO="HIGH" IOSTANDARD="SSTL15_T_DCI" PADName="C28" SLEW="" name="ddr3_dq[51]" IN_TERM="" />}
|
|
puts $mig_prj_file { <Pin VCCAUX_IO="HIGH" IOSTANDARD="SSTL15_T_DCI" PADName="D28" SLEW="" name="ddr3_dq[52]" IN_TERM="" />}
|
|
puts $mig_prj_file { <Pin VCCAUX_IO="HIGH" IOSTANDARD="SSTL15_T_DCI" PADName="B31" SLEW="" name="ddr3_dq[53]" IN_TERM="" />}
|
|
puts $mig_prj_file { <Pin VCCAUX_IO="HIGH" IOSTANDARD="SSTL15_T_DCI" PADName="A31" SLEW="" name="ddr3_dq[54]" IN_TERM="" />}
|
|
puts $mig_prj_file { <Pin VCCAUX_IO="HIGH" IOSTANDARD="SSTL15_T_DCI" PADName="A32" SLEW="" name="ddr3_dq[55]" IN_TERM="" />}
|
|
puts $mig_prj_file { <Pin VCCAUX_IO="HIGH" IOSTANDARD="SSTL15_T_DCI" PADName="E30" SLEW="" name="ddr3_dq[56]" IN_TERM="" />}
|
|
puts $mig_prj_file { <Pin VCCAUX_IO="HIGH" IOSTANDARD="SSTL15_T_DCI" PADName="F29" SLEW="" name="ddr3_dq[57]" IN_TERM="" />}
|
|
puts $mig_prj_file { <Pin VCCAUX_IO="HIGH" IOSTANDARD="SSTL15_T_DCI" PADName="F30" SLEW="" name="ddr3_dq[58]" IN_TERM="" />}
|
|
puts $mig_prj_file { <Pin VCCAUX_IO="HIGH" IOSTANDARD="SSTL15_T_DCI" PADName="F27" SLEW="" name="ddr3_dq[59]" IN_TERM="" />}
|
|
puts $mig_prj_file { <Pin VCCAUX_IO="HIGH" IOSTANDARD="SSTL15_T_DCI" PADName="N15" SLEW="" name="ddr3_dq[5]" IN_TERM="" />}
|
|
puts $mig_prj_file { <Pin VCCAUX_IO="HIGH" IOSTANDARD="SSTL15_T_DCI" PADName="C30" SLEW="" name="ddr3_dq[60]" IN_TERM="" />}
|
|
puts $mig_prj_file { <Pin VCCAUX_IO="HIGH" IOSTANDARD="SSTL15_T_DCI" PADName="E29" SLEW="" name="ddr3_dq[61]" IN_TERM="" />}
|
|
puts $mig_prj_file { <Pin VCCAUX_IO="HIGH" IOSTANDARD="SSTL15_T_DCI" PADName="F26" SLEW="" name="ddr3_dq[62]" IN_TERM="" />}
|
|
puts $mig_prj_file { <Pin VCCAUX_IO="HIGH" IOSTANDARD="SSTL15_T_DCI" PADName="D30" SLEW="" name="ddr3_dq[63]" IN_TERM="" />}
|
|
puts $mig_prj_file { <Pin VCCAUX_IO="HIGH" IOSTANDARD="SSTL15_T_DCI" PADName="M11" SLEW="" name="ddr3_dq[6]" IN_TERM="" />}
|
|
puts $mig_prj_file { <Pin VCCAUX_IO="HIGH" IOSTANDARD="SSTL15_T_DCI" PADName="L12" SLEW="" name="ddr3_dq[7]" IN_TERM="" />}
|
|
puts $mig_prj_file { <Pin VCCAUX_IO="HIGH" IOSTANDARD="SSTL15_T_DCI" PADName="K14" SLEW="" name="ddr3_dq[8]" IN_TERM="" />}
|
|
puts $mig_prj_file { <Pin VCCAUX_IO="HIGH" IOSTANDARD="SSTL15_T_DCI" PADName="K13" SLEW="" name="ddr3_dq[9]" IN_TERM="" />}
|
|
puts $mig_prj_file { <Pin VCCAUX_IO="HIGH" IOSTANDARD="DIFF_SSTL15_T_DCI" PADName="M16" SLEW="" name="ddr3_dqs_n[0]" IN_TERM="" />}
|
|
puts $mig_prj_file { <Pin VCCAUX_IO="HIGH" IOSTANDARD="DIFF_SSTL15_T_DCI" PADName="J12" SLEW="" name="ddr3_dqs_n[1]" IN_TERM="" />}
|
|
puts $mig_prj_file { <Pin VCCAUX_IO="HIGH" IOSTANDARD="DIFF_SSTL15_T_DCI" PADName="G16" SLEW="" name="ddr3_dqs_n[2]" IN_TERM="" />}
|
|
puts $mig_prj_file { <Pin VCCAUX_IO="HIGH" IOSTANDARD="DIFF_SSTL15_T_DCI" PADName="C14" SLEW="" name="ddr3_dqs_n[3]" IN_TERM="" />}
|
|
puts $mig_prj_file { <Pin VCCAUX_IO="HIGH" IOSTANDARD="DIFF_SSTL15_T_DCI" PADName="A27" SLEW="" name="ddr3_dqs_n[4]" IN_TERM="" />}
|
|
puts $mig_prj_file { <Pin VCCAUX_IO="HIGH" IOSTANDARD="DIFF_SSTL15_T_DCI" PADName="E25" SLEW="" name="ddr3_dqs_n[5]" IN_TERM="" />}
|
|
puts $mig_prj_file { <Pin VCCAUX_IO="HIGH" IOSTANDARD="DIFF_SSTL15_T_DCI" PADName="B29" SLEW="" name="ddr3_dqs_n[6]" IN_TERM="" />}
|
|
puts $mig_prj_file { <Pin VCCAUX_IO="HIGH" IOSTANDARD="DIFF_SSTL15_T_DCI" PADName="E28" SLEW="" name="ddr3_dqs_n[7]" IN_TERM="" />}
|
|
puts $mig_prj_file { <Pin VCCAUX_IO="HIGH" IOSTANDARD="DIFF_SSTL15_T_DCI" PADName="N16" SLEW="" name="ddr3_dqs_p[0]" IN_TERM="" />}
|
|
puts $mig_prj_file { <Pin VCCAUX_IO="HIGH" IOSTANDARD="DIFF_SSTL15_T_DCI" PADName="K12" SLEW="" name="ddr3_dqs_p[1]" IN_TERM="" />}
|
|
puts $mig_prj_file { <Pin VCCAUX_IO="HIGH" IOSTANDARD="DIFF_SSTL15_T_DCI" PADName="H16" SLEW="" name="ddr3_dqs_p[2]" IN_TERM="" />}
|
|
puts $mig_prj_file { <Pin VCCAUX_IO="HIGH" IOSTANDARD="DIFF_SSTL15_T_DCI" PADName="C15" SLEW="" name="ddr3_dqs_p[3]" IN_TERM="" />}
|
|
puts $mig_prj_file { <Pin VCCAUX_IO="HIGH" IOSTANDARD="DIFF_SSTL15_T_DCI" PADName="A26" SLEW="" name="ddr3_dqs_p[4]" IN_TERM="" />}
|
|
puts $mig_prj_file { <Pin VCCAUX_IO="HIGH" IOSTANDARD="DIFF_SSTL15_T_DCI" PADName="F25" SLEW="" name="ddr3_dqs_p[5]" IN_TERM="" />}
|
|
puts $mig_prj_file { <Pin VCCAUX_IO="HIGH" IOSTANDARD="DIFF_SSTL15_T_DCI" PADName="B28" SLEW="" name="ddr3_dqs_p[6]" IN_TERM="" />}
|
|
puts $mig_prj_file { <Pin VCCAUX_IO="HIGH" IOSTANDARD="DIFF_SSTL15_T_DCI" PADName="E27" SLEW="" name="ddr3_dqs_p[7]" IN_TERM="" />}
|
|
puts $mig_prj_file { <Pin VCCAUX_IO="HIGH" IOSTANDARD="SSTL15" PADName="H20" SLEW="" name="ddr3_odt[0]" IN_TERM="" />}
|
|
puts $mig_prj_file { <Pin VCCAUX_IO="HIGH" IOSTANDARD="SSTL15" PADName="E20" SLEW="" name="ddr3_ras_n" IN_TERM="" />}
|
|
puts $mig_prj_file { <Pin VCCAUX_IO="HIGH" IOSTANDARD="LVCMOS15" PADName="C29" SLEW="" name="ddr3_reset_n" IN_TERM="" />}
|
|
puts $mig_prj_file { <Pin VCCAUX_IO="HIGH" IOSTANDARD="SSTL15" PADName="F20" SLEW="" name="ddr3_we_n" IN_TERM="" />}
|
|
puts $mig_prj_file { </PinSelection>}
|
|
puts $mig_prj_file { <System_Clock>}
|
|
puts $mig_prj_file { <Pin PADName="E19/E18(CC_P/N)" Bank="38" name="sys_clk_p/n" />}
|
|
puts $mig_prj_file { </System_Clock>}
|
|
puts $mig_prj_file { <System_Control>}
|
|
puts $mig_prj_file { <Pin PADName="No connect" Bank="Select Bank" name="sys_rst" />}
|
|
puts $mig_prj_file { <Pin PADName="No connect" Bank="Select Bank" name="init_calib_complete" />}
|
|
puts $mig_prj_file { <Pin PADName="No connect" Bank="Select Bank" name="tg_compare_error" />}
|
|
puts $mig_prj_file { </System_Control>}
|
|
puts $mig_prj_file { <TimingParameters>}
|
|
puts $mig_prj_file { <Parameters twtr="7.5" trrd="6" trefi="7.8" tfaw="30" trtp="7.5" tcke="5" trfc="110" trp="13.75" tras="35" trcd="13.75" />}
|
|
puts $mig_prj_file { </TimingParameters>}
|
|
puts $mig_prj_file { <mrBurstLength name="Burst Length" >8 - Fixed</mrBurstLength>}
|
|
puts $mig_prj_file { <mrBurstType name="Read Burst Type and Length" >Sequential</mrBurstType>}
|
|
puts $mig_prj_file { <mrCasLatency name="CAS Latency" >11</mrCasLatency>}
|
|
puts $mig_prj_file { <mrMode name="Mode" >Normal</mrMode>}
|
|
puts $mig_prj_file { <mrDllReset name="DLL Reset" >No</mrDllReset>}
|
|
puts $mig_prj_file { <mrPdMode name="DLL control for precharge PD" >Slow Exit</mrPdMode>}
|
|
puts $mig_prj_file { <emrDllEnable name="DLL Enable" >Enable</emrDllEnable>}
|
|
puts $mig_prj_file { <emrOutputDriveStrength name="Output Driver Impedance Control" >RZQ/7</emrOutputDriveStrength>}
|
|
puts $mig_prj_file { <emrMirrorSelection name="Address Mirroring" >Disable</emrMirrorSelection>}
|
|
puts $mig_prj_file { <emrCSSelection name="Controller Chip Select Pin" >Enable</emrCSSelection>}
|
|
puts $mig_prj_file { <emrRTT name="RTT (nominal) - On Die Termination (ODT)" >RZQ/6</emrRTT>}
|
|
puts $mig_prj_file { <emrPosted name="Additive Latency (AL)" >0</emrPosted>}
|
|
puts $mig_prj_file { <emrOCD name="Write Leveling Enable" >Disabled</emrOCD>}
|
|
puts $mig_prj_file { <emrDQS name="TDQS enable" >Enabled</emrDQS>}
|
|
puts $mig_prj_file { <emrRDQS name="Qoff" >Output Buffer Enabled</emrRDQS>}
|
|
puts $mig_prj_file { <mr2PartialArraySelfRefresh name="Partial-Array Self Refresh" >Full Array</mr2PartialArraySelfRefresh>}
|
|
puts $mig_prj_file { <mr2CasWriteLatency name="CAS write latency" >8</mr2CasWriteLatency>}
|
|
puts $mig_prj_file { <mr2AutoSelfRefresh name="Auto Self Refresh" >Enabled</mr2AutoSelfRefresh>}
|
|
puts $mig_prj_file { <mr2SelfRefreshTempRange name="High Temparature Self Refresh Rate" >Normal</mr2SelfRefreshTempRange>}
|
|
puts $mig_prj_file { <mr2RTTWR name="RTT_WR - Dynamic On Die Termination (ODT)" >Dynamic ODT off</mr2RTTWR>}
|
|
puts $mig_prj_file { <PortInterface>AXI</PortInterface>}
|
|
puts $mig_prj_file { <AXIParameters>}
|
|
puts $mig_prj_file { <C0_C_RD_WR_ARB_ALGORITHM>RD_PRI_REG</C0_C_RD_WR_ARB_ALGORITHM>}
|
|
puts $mig_prj_file { <C0_S_AXI_ADDR_WIDTH>30</C0_S_AXI_ADDR_WIDTH>}
|
|
puts $mig_prj_file { <C0_S_AXI_DATA_WIDTH>512</C0_S_AXI_DATA_WIDTH>}
|
|
puts $mig_prj_file { <C0_S_AXI_ID_WIDTH>3</C0_S_AXI_ID_WIDTH>}
|
|
puts $mig_prj_file { <C0_S_AXI_SUPPORTS_NARROW_BURST>0</C0_S_AXI_SUPPORTS_NARROW_BURST>}
|
|
puts $mig_prj_file { </AXIParameters>}
|
|
puts $mig_prj_file { </Controller>}
|
|
puts $mig_prj_file {</Project>}
|
|
|
|
close $mig_prj_file
|
|
}
|
|
# End of write_mig_file_system_mig_7series_0_0()
|
|
|
|
|
|
|
|
|
|
# Hierarchical cell: microblaze_0_local_memory
|
|
proc create_hier_cell_microblaze_0_local_memory { parentCell nameHier } {
|
|
|
|
variable script_folder
|
|
|
|
if { $parentCell eq "" || $nameHier eq "" } {
|
|
catch {common::send_msg_id "BD_TCL-102" "ERROR" "create_hier_cell_microblaze_0_local_memory() - Empty argument(s)!"}
|
|
return
|
|
}
|
|
|
|
# Get object for parentCell
|
|
set parentObj [get_bd_cells $parentCell]
|
|
if { $parentObj == "" } {
|
|
catch {common::send_msg_id "BD_TCL-100" "ERROR" "Unable to find parent cell <$parentCell>!"}
|
|
return
|
|
}
|
|
|
|
# Make sure parentObj is hier blk
|
|
set parentType [get_property TYPE $parentObj]
|
|
if { $parentType ne "hier" } {
|
|
catch {common::send_msg_id "BD_TCL-101" "ERROR" "Parent <$parentObj> has TYPE = <$parentType>. Expected to be <hier>."}
|
|
return
|
|
}
|
|
|
|
# Save current instance; Restore later
|
|
set oldCurInst [current_bd_instance .]
|
|
|
|
# Set parent object as current
|
|
current_bd_instance $parentObj
|
|
|
|
# Create cell and set as current instance
|
|
set hier_obj [create_bd_cell -type hier $nameHier]
|
|
current_bd_instance $hier_obj
|
|
|
|
# Create interface pins
|
|
create_bd_intf_pin -mode MirroredMaster -vlnv xilinx.com:interface:lmb_rtl:1.0 DLMB
|
|
create_bd_intf_pin -mode MirroredMaster -vlnv xilinx.com:interface:lmb_rtl:1.0 ILMB
|
|
|
|
# Create pins
|
|
create_bd_pin -dir I -type clk LMB_Clk
|
|
create_bd_pin -dir I -from 0 -to 0 -type rst SYS_Rst
|
|
|
|
# Create instance: dlmb_bram_if_cntlr, and set properties
|
|
set dlmb_bram_if_cntlr [ create_bd_cell -type ip -vlnv xilinx.com:ip:lmb_bram_if_cntlr:4.0 dlmb_bram_if_cntlr ]
|
|
set_property -dict [ list \
|
|
CONFIG.C_ECC {0} \
|
|
] $dlmb_bram_if_cntlr
|
|
|
|
# Create instance: dlmb_v10, and set properties
|
|
set dlmb_v10 [ create_bd_cell -type ip -vlnv xilinx.com:ip:lmb_v10:3.0 dlmb_v10 ]
|
|
|
|
# Create instance: ilmb_bram_if_cntlr, and set properties
|
|
set ilmb_bram_if_cntlr [ create_bd_cell -type ip -vlnv xilinx.com:ip:lmb_bram_if_cntlr:4.0 ilmb_bram_if_cntlr ]
|
|
set_property -dict [ list \
|
|
CONFIG.C_ECC {0} \
|
|
] $ilmb_bram_if_cntlr
|
|
|
|
# Create instance: ilmb_v10, and set properties
|
|
set ilmb_v10 [ create_bd_cell -type ip -vlnv xilinx.com:ip:lmb_v10:3.0 ilmb_v10 ]
|
|
|
|
# Create instance: lmb_bram, and set properties
|
|
set lmb_bram [ create_bd_cell -type ip -vlnv xilinx.com:ip:blk_mem_gen:8.4 lmb_bram ]
|
|
set_property -dict [ list \
|
|
CONFIG.Enable_B {Use_ENB_Pin} \
|
|
CONFIG.Memory_Type {True_Dual_Port_RAM} \
|
|
CONFIG.Port_B_Clock {100} \
|
|
CONFIG.Port_B_Enable_Rate {100} \
|
|
CONFIG.Port_B_Write_Rate {50} \
|
|
CONFIG.Use_RSTB_Pin {true} \
|
|
CONFIG.use_bram_block {BRAM_Controller} \
|
|
] $lmb_bram
|
|
|
|
# Create interface connections
|
|
connect_bd_intf_net -intf_net microblaze_0_dlmb [get_bd_intf_pins DLMB] [get_bd_intf_pins dlmb_v10/LMB_M]
|
|
connect_bd_intf_net -intf_net microblaze_0_dlmb_bus [get_bd_intf_pins dlmb_bram_if_cntlr/SLMB] [get_bd_intf_pins dlmb_v10/LMB_Sl_0]
|
|
connect_bd_intf_net -intf_net microblaze_0_dlmb_cntlr [get_bd_intf_pins dlmb_bram_if_cntlr/BRAM_PORT] [get_bd_intf_pins lmb_bram/BRAM_PORTA]
|
|
connect_bd_intf_net -intf_net microblaze_0_ilmb [get_bd_intf_pins ILMB] [get_bd_intf_pins ilmb_v10/LMB_M]
|
|
connect_bd_intf_net -intf_net microblaze_0_ilmb_bus [get_bd_intf_pins ilmb_bram_if_cntlr/SLMB] [get_bd_intf_pins ilmb_v10/LMB_Sl_0]
|
|
connect_bd_intf_net -intf_net microblaze_0_ilmb_cntlr [get_bd_intf_pins ilmb_bram_if_cntlr/BRAM_PORT] [get_bd_intf_pins lmb_bram/BRAM_PORTB]
|
|
|
|
# Create port connections
|
|
connect_bd_net -net SYS_Rst_1 [get_bd_pins SYS_Rst] [get_bd_pins dlmb_bram_if_cntlr/LMB_Rst] [get_bd_pins dlmb_v10/SYS_Rst] [get_bd_pins ilmb_bram_if_cntlr/LMB_Rst] [get_bd_pins ilmb_v10/SYS_Rst]
|
|
connect_bd_net -net microblaze_0_Clk [get_bd_pins LMB_Clk] [get_bd_pins dlmb_bram_if_cntlr/LMB_Clk] [get_bd_pins dlmb_v10/LMB_Clk] [get_bd_pins ilmb_bram_if_cntlr/LMB_Clk] [get_bd_pins ilmb_v10/LMB_Clk]
|
|
|
|
# Restore current instance
|
|
current_bd_instance $oldCurInst
|
|
}
|
|
variable script_folder
|
|
|
|
if { $parentCell eq "" } {
|
|
set parentCell [get_bd_cells /]
|
|
}
|
|
|
|
# Get object for parentCell
|
|
set parentObj [get_bd_cells $parentCell]
|
|
if { $parentObj == "" } {
|
|
catch {common::send_msg_id "BD_TCL-100" "ERROR" "Unable to find parent cell <$parentCell>!"}
|
|
return
|
|
}
|
|
|
|
# Make sure parentObj is hier blk
|
|
set parentType [get_property TYPE $parentObj]
|
|
if { $parentType ne "hier" } {
|
|
catch {common::send_msg_id "BD_TCL-101" "ERROR" "Parent <$parentObj> has TYPE = <$parentType>. Expected to be <hier>."}
|
|
return
|
|
}
|
|
|
|
# Save current instance; Restore later
|
|
set oldCurInst [current_bd_instance .]
|
|
|
|
# Set parent object as current
|
|
current_bd_instance $parentObj
|
|
|
|
|
|
# Create interface ports
|
|
set SI5324_IN [ create_bd_intf_port -mode Slave -vlnv xilinx.com:interface:diff_clock_rtl:1.0 SI5324_IN ]
|
|
set SI5324_OUT [ create_bd_intf_port -mode Master -vlnv xilinx.com:interface:diff_clock_rtl:1.0 SI5324_OUT ]
|
|
set SMA_OUT [ create_bd_intf_port -mode Master -vlnv xilinx.com:interface:diff_clock_rtl:1.0 SMA_OUT ]
|
|
set ULPI [ create_bd_intf_port -mode Slave -vlnv xilinx.com:interface:ulpi_rtl:1.0 ULPI ]
|
|
set USER_CLOCK_IN [ create_bd_intf_port -mode Slave -vlnv xilinx.com:interface:diff_clock_rtl:1.0 USER_CLOCK_IN ]
|
|
set Vaux0 [ create_bd_intf_port -mode Slave -vlnv xilinx.com:interface:diff_analog_io_rtl:1.0 Vaux0 ]
|
|
set Vaux8 [ create_bd_intf_port -mode Slave -vlnv xilinx.com:interface:diff_analog_io_rtl:1.0 Vaux8 ]
|
|
set Vp_Vn [ create_bd_intf_port -mode Slave -vlnv xilinx.com:interface:diff_analog_io_rtl:1.0 Vp_Vn ]
|
|
set ddr3_sdram [ create_bd_intf_port -mode Master -vlnv xilinx.com:interface:ddrx_rtl:1.0 ddr3_sdram ]
|
|
set dip_switches_8bits [ create_bd_intf_port -mode Master -vlnv xilinx.com:interface:gpio_rtl:1.0 dip_switches_8bits ]
|
|
set iic_main [ create_bd_intf_port -mode Master -vlnv xilinx.com:interface:iic_rtl:1.0 iic_main ]
|
|
set lcd_7bits [ create_bd_intf_port -mode Master -vlnv xilinx.com:interface:gpio_rtl:1.0 lcd_7bits ]
|
|
set led_8bits [ create_bd_intf_port -mode Master -vlnv xilinx.com:interface:gpio_rtl:1.0 led_8bits ]
|
|
set linear_flash [ create_bd_intf_port -mode Master -vlnv xilinx.com:interface:emc_rtl:1.0 linear_flash ]
|
|
set mdio_mdc [ create_bd_intf_port -mode Master -vlnv xilinx.com:interface:mdio_rtl:1.0 mdio_mdc ]
|
|
set push_buttons_5bits [ create_bd_intf_port -mode Master -vlnv xilinx.com:interface:gpio_rtl:1.0 push_buttons_5bits ]
|
|
set rotary_switch [ create_bd_intf_port -mode Master -vlnv xilinx.com:interface:gpio_rtl:1.0 rotary_switch ]
|
|
set rs232_uart [ create_bd_intf_port -mode Master -vlnv xilinx.com:interface:uart_rtl:1.0 rs232_uart ]
|
|
set sgmii [ create_bd_intf_port -mode Master -vlnv xilinx.com:interface:sgmii_rtl:1.0 sgmii ]
|
|
set sgmii_mgt_clk [ create_bd_intf_port -mode Slave -vlnv xilinx.com:interface:diff_clock_rtl:1.0 sgmii_mgt_clk ]
|
|
set_property -dict [ list \
|
|
CONFIG.FREQ_HZ {125000000} \
|
|
] $sgmii_mgt_clk
|
|
set sys_diff_clock [ create_bd_intf_port -mode Slave -vlnv xilinx.com:interface:diff_clock_rtl:1.0 sys_diff_clock ]
|
|
set_property -dict [ list \
|
|
CONFIG.FREQ_HZ {100000000} \
|
|
] $sys_diff_clock
|
|
|
|
# Create ports
|
|
set DDR3_A14 [ create_bd_port -dir O -from 0 -to 0 DDR3_A14 ]
|
|
set DDR3_A15 [ create_bd_port -dir O -from 0 -to 0 DDR3_A15 ]
|
|
set DDR3_CKE1 [ create_bd_port -dir O -from 0 -to 0 DDR3_CKE1 ]
|
|
set DDR3_CLK1_N [ create_bd_port -dir O -from 0 -to 0 DDR3_CLK1_N ]
|
|
set DDR3_CLK1_P [ create_bd_port -dir O -from 0 -to 0 DDR3_CLK1_P ]
|
|
set DDR3_ODT1 [ create_bd_port -dir O -from 0 -to 0 DDR3_ODT1 ]
|
|
set DDR3_S1_B [ create_bd_port -dir O -from 0 -to 0 DDR3_S1_B ]
|
|
set SM_FAN_PWM [ create_bd_port -dir O -from 0 -to 0 SM_FAN_PWM ]
|
|
set iic_mux_reset_b [ create_bd_port -dir O -from 1 -to 0 iic_mux_reset_b ]
|
|
set phy_reset_out [ create_bd_port -dir O -from 0 -to 0 -type rst phy_reset_out ]
|
|
set reset [ create_bd_port -dir I -type rst reset ]
|
|
set_property -dict [ list \
|
|
CONFIG.POLARITY {ACTIVE_HIGH} \
|
|
] $reset
|
|
|
|
# Create instance: axi_bram_ctrl_0, and set properties
|
|
set axi_bram_ctrl_0 [ create_bd_cell -type ip -vlnv xilinx.com:ip:axi_bram_ctrl:4.0 axi_bram_ctrl_0 ]
|
|
|
|
# Create instance: axi_bram_ctrl_0_bram, and set properties
|
|
set axi_bram_ctrl_0_bram [ create_bd_cell -type ip -vlnv xilinx.com:ip:blk_mem_gen:8.4 axi_bram_ctrl_0_bram ]
|
|
set_property -dict [ list \
|
|
CONFIG.Enable_B {Use_ENB_Pin} \
|
|
CONFIG.Memory_Type {True_Dual_Port_RAM} \
|
|
CONFIG.Port_B_Clock {100} \
|
|
CONFIG.Port_B_Enable_Rate {100} \
|
|
CONFIG.Port_B_Write_Rate {50} \
|
|
CONFIG.Use_RSTB_Pin {true} \
|
|
] $axi_bram_ctrl_0_bram
|
|
|
|
# Create instance: axi_emc_0, and set properties
|
|
set axi_emc_0 [ create_bd_cell -type ip -vlnv xilinx.com:ip:axi_emc:3.0 axi_emc_0 ]
|
|
set_property -dict [ list \
|
|
CONFIG.C_MEM0_TYPE {2} \
|
|
CONFIG.C_TAVDV_PS_MEM_0 {130000} \
|
|
CONFIG.C_TCEDV_PS_MEM_0 {130000} \
|
|
CONFIG.C_THZCE_PS_MEM_0 {35000} \
|
|
CONFIG.C_TLZWE_PS_MEM_0 {35000} \
|
|
CONFIG.C_TPACC_PS_FLASH_0 {25000} \
|
|
CONFIG.C_TWC_PS_MEM_0 {13000} \
|
|
CONFIG.C_TWPH_PS_MEM_0 {12000} \
|
|
CONFIG.C_TWP_PS_MEM_0 {70000} \
|
|
CONFIG.C_WR_REC_TIME_MEM_0 {100000} \
|
|
CONFIG.EMC_BOARD_INTERFACE {linear_flash} \
|
|
CONFIG.USE_BOARD_FLOW {true} \
|
|
] $axi_emc_0
|
|
|
|
# Create instance: axi_ethernet_0, and set properties
|
|
set axi_ethernet_0 [ create_bd_cell -type ip -vlnv xilinx.com:ip:axi_ethernet:7.1 axi_ethernet_0 ]
|
|
set_property -dict [ list \
|
|
CONFIG.DIFFCLK_BOARD_INTERFACE {sgmii_mgt_clk} \
|
|
CONFIG.ETHERNET_BOARD_INTERFACE {sgmii} \
|
|
CONFIG.Frame_Filter {false} \
|
|
CONFIG.MDIO_BOARD_INTERFACE {mdio_mdc} \
|
|
CONFIG.PHYRST_BOARD_INTERFACE {phy_reset_out} \
|
|
CONFIG.PHY_TYPE {SGMII} \
|
|
CONFIG.RXMEM {32k} \
|
|
CONFIG.Statistics_Counters {false} \
|
|
CONFIG.TXMEM {32k} \
|
|
] $axi_ethernet_0
|
|
|
|
# Create instance: axi_ethernet_0_dma, and set properties
|
|
set axi_ethernet_0_dma [ create_bd_cell -type ip -vlnv xilinx.com:ip:axi_dma:7.1 axi_ethernet_0_dma ]
|
|
set_property -dict [ list \
|
|
CONFIG.c_include_mm2s_dre {1} \
|
|
CONFIG.c_include_s2mm_dre {1} \
|
|
CONFIG.c_sg_length_width {16} \
|
|
CONFIG.c_sg_use_stsapp_length {1} \
|
|
] $axi_ethernet_0_dma
|
|
|
|
# Create instance: axi_ethernet_0_refclk, and set properties
|
|
set axi_ethernet_0_refclk [ create_bd_cell -type ip -vlnv xilinx.com:ip:clk_wiz:5.4 axi_ethernet_0_refclk ]
|
|
set_property -dict [ list \
|
|
CONFIG.CLKOUT1_JITTER {114.829} \
|
|
CONFIG.CLKOUT1_REQUESTED_OUT_FREQ {200} \
|
|
CONFIG.MMCM_CLKIN1_PERIOD {10.000} \
|
|
CONFIG.MMCM_CLKIN2_PERIOD {10.000} \
|
|
CONFIG.MMCM_CLKOUT0_DIVIDE_F {5.000} \
|
|
CONFIG.PRIM_SOURCE {Single_ended_clock_capable_pin} \
|
|
CONFIG.USE_LOCKED {false} \
|
|
CONFIG.USE_RESET {false} \
|
|
] $axi_ethernet_0_refclk
|
|
|
|
# Create instance: axi_gpio_0, and set properties
|
|
set axi_gpio_0 [ create_bd_cell -type ip -vlnv xilinx.com:ip:axi_gpio:2.0 axi_gpio_0 ]
|
|
set_property -dict [ list \
|
|
CONFIG.GPIO_BOARD_INTERFACE {dip_switches_8bits} \
|
|
CONFIG.USE_BOARD_FLOW {true} \
|
|
] $axi_gpio_0
|
|
|
|
# Create instance: axi_gpio_1, and set properties
|
|
set axi_gpio_1 [ create_bd_cell -type ip -vlnv xilinx.com:ip:axi_gpio:2.0 axi_gpio_1 ]
|
|
set_property -dict [ list \
|
|
CONFIG.GPIO_BOARD_INTERFACE {lcd_7bits} \
|
|
CONFIG.USE_BOARD_FLOW {true} \
|
|
] $axi_gpio_1
|
|
|
|
# Create instance: axi_gpio_2, and set properties
|
|
set axi_gpio_2 [ create_bd_cell -type ip -vlnv xilinx.com:ip:axi_gpio:2.0 axi_gpio_2 ]
|
|
set_property -dict [ list \
|
|
CONFIG.GPIO_BOARD_INTERFACE {led_8bits} \
|
|
CONFIG.USE_BOARD_FLOW {true} \
|
|
] $axi_gpio_2
|
|
|
|
# Create instance: axi_gpio_3, and set properties
|
|
set axi_gpio_3 [ create_bd_cell -type ip -vlnv xilinx.com:ip:axi_gpio:2.0 axi_gpio_3 ]
|
|
set_property -dict [ list \
|
|
CONFIG.GPIO_BOARD_INTERFACE {push_buttons_5bits} \
|
|
CONFIG.USE_BOARD_FLOW {true} \
|
|
] $axi_gpio_3
|
|
|
|
# Create instance: axi_gpio_4, and set properties
|
|
set axi_gpio_4 [ create_bd_cell -type ip -vlnv xilinx.com:ip:axi_gpio:2.0 axi_gpio_4 ]
|
|
set_property -dict [ list \
|
|
CONFIG.GPIO_BOARD_INTERFACE {rotary_switch} \
|
|
CONFIG.USE_BOARD_FLOW {true} \
|
|
] $axi_gpio_4
|
|
|
|
# Create instance: axi_iic_0, and set properties
|
|
set axi_iic_0 [ create_bd_cell -type ip -vlnv xilinx.com:ip:axi_iic:2.0 axi_iic_0 ]
|
|
set_property -dict [ list \
|
|
CONFIG.C_DEFAULT_VALUE {0xFF} \
|
|
CONFIG.C_GPO_WIDTH {2} \
|
|
CONFIG.C_SCL_INERTIAL_DELAY {5} \
|
|
CONFIG.C_SDA_INERTIAL_DELAY {5} \
|
|
CONFIG.IIC_BOARD_INTERFACE {iic_main} \
|
|
CONFIG.USE_BOARD_FLOW {true} \
|
|
] $axi_iic_0
|
|
|
|
# Create instance: axi_mem_intercon, and set properties
|
|
set axi_mem_intercon [ create_bd_cell -type ip -vlnv xilinx.com:ip:axi_interconnect:2.1 axi_mem_intercon ]
|
|
set_property -dict [ list \
|
|
CONFIG.NUM_MI {2} \
|
|
CONFIG.NUM_SI {5} \
|
|
CONFIG.SYNCHRONIZATION_STAGES {2} \
|
|
] $axi_mem_intercon
|
|
|
|
# Create instance: axi_timer_0, and set properties
|
|
set axi_timer_0 [ create_bd_cell -type ip -vlnv xilinx.com:ip:axi_timer:2.0 axi_timer_0 ]
|
|
|
|
# Create instance: axi_uart16550_0, and set properties
|
|
set axi_uart16550_0 [ create_bd_cell -type ip -vlnv xilinx.com:ip:axi_uart16550:2.0 axi_uart16550_0 ]
|
|
set_property -dict [ list \
|
|
CONFIG.UART_BOARD_INTERFACE {rs232_uart} \
|
|
CONFIG.USE_BOARD_FLOW {true} \
|
|
] $axi_uart16550_0
|
|
|
|
# Create instance: axi_usb2_device_0, and set properties
|
|
set axi_usb2_device_0 [ create_bd_cell -type ip -vlnv xilinx.com:ip:axi_usb2_device:5.0 axi_usb2_device_0 ]
|
|
|
|
# Create instance: gtxe2_top_0, and set properties
|
|
set gtxe2_top_0 [ create_bd_cell -type ip -vlnv xilinx.com:user:gtxe2_top:1.0 gtxe2_top_0 ]
|
|
|
|
# Create instance: mdm_1, and set properties
|
|
set mdm_1 [ create_bd_cell -type ip -vlnv xilinx.com:ip:mdm:3.2 mdm_1 ]
|
|
set_property -dict [ list \
|
|
CONFIG.C_USE_UART {1} \
|
|
] $mdm_1
|
|
|
|
# Create instance: microblaze_0, and set properties
|
|
set microblaze_0 [ create_bd_cell -type ip -vlnv xilinx.com:ip:microblaze:10.0 microblaze_0 ]
|
|
set_property -dict [ list \
|
|
CONFIG.C_CACHE_BYTE_SIZE {8192} \
|
|
CONFIG.C_DCACHE_BASEADDR {0x0000000080000000} \
|
|
CONFIG.C_DCACHE_BYTE_SIZE {8192} \
|
|
CONFIG.C_DCACHE_HIGHADDR {0x00000000FFFFFFFF} \
|
|
CONFIG.C_DEBUG_ENABLED {1} \
|
|
CONFIG.C_D_AXI {1} \
|
|
CONFIG.C_D_LMB {1} \
|
|
CONFIG.C_ICACHE_BASEADDR {0x0000000080000000} \
|
|
CONFIG.C_ICACHE_HIGHADDR {0x00000000FFFFFFFF} \
|
|
CONFIG.C_I_LMB {1} \
|
|
CONFIG.C_USE_DCACHE {1} \
|
|
CONFIG.C_USE_ICACHE {1} \
|
|
] $microblaze_0
|
|
|
|
# Create instance: microblaze_0_axi_intc, and set properties
|
|
set microblaze_0_axi_intc [ create_bd_cell -type ip -vlnv xilinx.com:ip:axi_intc:4.1 microblaze_0_axi_intc ]
|
|
set_property -dict [ list \
|
|
CONFIG.C_HAS_FAST {1} \
|
|
] $microblaze_0_axi_intc
|
|
|
|
# Create instance: microblaze_0_axi_periph, and set properties
|
|
set microblaze_0_axi_periph [ create_bd_cell -type ip -vlnv xilinx.com:ip:axi_interconnect:2.1 microblaze_0_axi_periph ]
|
|
set_property -dict [ list \
|
|
CONFIG.NUM_MI {15} \
|
|
CONFIG.SYNCHRONIZATION_STAGES {2} \
|
|
] $microblaze_0_axi_periph
|
|
|
|
# Create instance: microblaze_0_local_memory
|
|
create_hier_cell_microblaze_0_local_memory [current_bd_instance .] microblaze_0_local_memory
|
|
|
|
# Create instance: microblaze_0_xlconcat, and set properties
|
|
set microblaze_0_xlconcat [ create_bd_cell -type ip -vlnv xilinx.com:ip:xlconcat:2.1 microblaze_0_xlconcat ]
|
|
set_property -dict [ list \
|
|
CONFIG.NUM_PORTS {9} \
|
|
] $microblaze_0_xlconcat
|
|
|
|
# Create instance: mig_7series_0, and set properties
|
|
set mig_7series_0 [ create_bd_cell -type ip -vlnv xilinx.com:ip:mig_7series:4.0 mig_7series_0 ]
|
|
|
|
# Generate the PRJ File for MIG
|
|
set str_mig_folder [get_property IP_DIR [ get_ips [ get_property CONFIG.Component_Name $mig_7series_0 ] ] ]
|
|
set str_mig_file_name mig_b.prj
|
|
set str_mig_file_path ${str_mig_folder}/${str_mig_file_name}
|
|
|
|
write_mig_file_system_mig_7series_0_0 $str_mig_file_path
|
|
|
|
set_property -dict [ list \
|
|
CONFIG.BOARD_MIG_PARAM {ddr3_sdram} \
|
|
CONFIG.RESET_BOARD_INTERFACE {reset} \
|
|
CONFIG.XML_INPUT_FILE {mig_b.prj} \
|
|
] $mig_7series_0
|
|
|
|
# Create instance: rst_mig_7series_0_100M, and set properties
|
|
set rst_mig_7series_0_100M [ create_bd_cell -type ip -vlnv xilinx.com:ip:proc_sys_reset:5.0 rst_mig_7series_0_100M ]
|
|
|
|
# Create instance: rst_mig_7series_0_200M, and set properties
|
|
set rst_mig_7series_0_200M [ create_bd_cell -type ip -vlnv xilinx.com:ip:proc_sys_reset:5.0 rst_mig_7series_0_200M ]
|
|
|
|
# Create instance: xadc_wiz_0, and set properties
|
|
set xadc_wiz_0 [ create_bd_cell -type ip -vlnv xilinx.com:ip:xadc_wiz:3.3 xadc_wiz_0 ]
|
|
set_property -dict [ list \
|
|
CONFIG.CHANNEL_ENABLE_TEMPERATURE {true} \
|
|
CONFIG.CHANNEL_ENABLE_VAUXP0_VAUXN0 {true} \
|
|
CONFIG.CHANNEL_ENABLE_VAUXP8_VAUXN8 {true} \
|
|
CONFIG.CHANNEL_ENABLE_VP_VN {true} \
|
|
CONFIG.ENABLE_RESET {false} \
|
|
CONFIG.ENABLE_TEMP_BUS {true} \
|
|
CONFIG.INTERFACE_SELECTION {Enable_AXI} \
|
|
CONFIG.SEQUENCER_MODE {Off} \
|
|
CONFIG.XADC_STARUP_SELECTION {simultaneous_sampling} \
|
|
] $xadc_wiz_0
|
|
|
|
set_property -dict [ list \
|
|
CONFIG.NUM_READ_OUTSTANDING {1} \
|
|
CONFIG.NUM_WRITE_OUTSTANDING {1} \
|
|
] [get_bd_intf_pins /xadc_wiz_0/s_axi_lite]
|
|
|
|
# Create instance: xlconstant_0, and set properties
|
|
set xlconstant_0 [ create_bd_cell -type ip -vlnv xilinx.com:ip:xlconstant:1.1 xlconstant_0 ]
|
|
set_property -dict [ list \
|
|
CONFIG.CONST_VAL {0} \
|
|
CONFIG.CONST_WIDTH {1} \
|
|
] $xlconstant_0
|
|
|
|
# Create instance: xlconstant_1, and set properties
|
|
set xlconstant_1 [ create_bd_cell -type ip -vlnv xilinx.com:ip:xlconstant:1.1 xlconstant_1 ]
|
|
|
|
# Create interface connections
|
|
connect_bd_intf_net -intf_net SI5324_IN_1 [get_bd_intf_ports SI5324_IN] [get_bd_intf_pins gtxe2_top_0/SI5324_IN]
|
|
connect_bd_intf_net -intf_net ULPI_1 [get_bd_intf_ports ULPI] [get_bd_intf_pins axi_usb2_device_0/ULPI]
|
|
connect_bd_intf_net -intf_net USER_CLOCK_IN_1 [get_bd_intf_ports USER_CLOCK_IN] [get_bd_intf_pins gtxe2_top_0/USER_CLOCK_IN]
|
|
connect_bd_intf_net -intf_net Vaux0_1 [get_bd_intf_ports Vaux0] [get_bd_intf_pins xadc_wiz_0/Vaux0]
|
|
connect_bd_intf_net -intf_net Vaux8_1 [get_bd_intf_ports Vaux8] [get_bd_intf_pins xadc_wiz_0/Vaux8]
|
|
connect_bd_intf_net -intf_net Vp_Vn_1 [get_bd_intf_ports Vp_Vn] [get_bd_intf_pins xadc_wiz_0/Vp_Vn]
|
|
connect_bd_intf_net -intf_net axi_bram_ctrl_0_BRAM_PORTA [get_bd_intf_pins axi_bram_ctrl_0/BRAM_PORTA] [get_bd_intf_pins axi_bram_ctrl_0_bram/BRAM_PORTA]
|
|
connect_bd_intf_net -intf_net axi_bram_ctrl_0_BRAM_PORTB [get_bd_intf_pins axi_bram_ctrl_0/BRAM_PORTB] [get_bd_intf_pins axi_bram_ctrl_0_bram/BRAM_PORTB]
|
|
connect_bd_intf_net -intf_net axi_emc_0_EMC_INTF [get_bd_intf_ports linear_flash] [get_bd_intf_pins axi_emc_0/EMC_INTF]
|
|
connect_bd_intf_net -intf_net axi_ethernet_0_dma_M_AXIS_CNTRL [get_bd_intf_pins axi_ethernet_0/s_axis_txc] [get_bd_intf_pins axi_ethernet_0_dma/M_AXIS_CNTRL]
|
|
connect_bd_intf_net -intf_net axi_ethernet_0_dma_M_AXIS_MM2S [get_bd_intf_pins axi_ethernet_0/s_axis_txd] [get_bd_intf_pins axi_ethernet_0_dma/M_AXIS_MM2S]
|
|
connect_bd_intf_net -intf_net axi_ethernet_0_dma_M_AXI_MM2S [get_bd_intf_pins axi_ethernet_0_dma/M_AXI_MM2S] [get_bd_intf_pins axi_mem_intercon/S03_AXI]
|
|
connect_bd_intf_net -intf_net axi_ethernet_0_dma_M_AXI_S2MM [get_bd_intf_pins axi_ethernet_0_dma/M_AXI_S2MM] [get_bd_intf_pins axi_mem_intercon/S04_AXI]
|
|
connect_bd_intf_net -intf_net axi_ethernet_0_dma_M_AXI_SG [get_bd_intf_pins axi_ethernet_0_dma/M_AXI_SG] [get_bd_intf_pins axi_mem_intercon/S02_AXI]
|
|
connect_bd_intf_net -intf_net axi_ethernet_0_m_axis_rxd [get_bd_intf_pins axi_ethernet_0/m_axis_rxd] [get_bd_intf_pins axi_ethernet_0_dma/S_AXIS_S2MM]
|
|
connect_bd_intf_net -intf_net axi_ethernet_0_m_axis_rxs [get_bd_intf_pins axi_ethernet_0/m_axis_rxs] [get_bd_intf_pins axi_ethernet_0_dma/S_AXIS_STS]
|
|
connect_bd_intf_net -intf_net axi_ethernet_0_mdio [get_bd_intf_ports mdio_mdc] [get_bd_intf_pins axi_ethernet_0/mdio]
|
|
connect_bd_intf_net -intf_net axi_ethernet_0_sgmii [get_bd_intf_ports sgmii] [get_bd_intf_pins axi_ethernet_0/sgmii]
|
|
connect_bd_intf_net -intf_net axi_gpio_0_GPIO [get_bd_intf_ports dip_switches_8bits] [get_bd_intf_pins axi_gpio_0/GPIO]
|
|
connect_bd_intf_net -intf_net axi_gpio_1_GPIO [get_bd_intf_ports lcd_7bits] [get_bd_intf_pins axi_gpio_1/GPIO]
|
|
connect_bd_intf_net -intf_net axi_gpio_2_GPIO [get_bd_intf_ports led_8bits] [get_bd_intf_pins axi_gpio_2/GPIO]
|
|
connect_bd_intf_net -intf_net axi_gpio_3_GPIO [get_bd_intf_ports push_buttons_5bits] [get_bd_intf_pins axi_gpio_3/GPIO]
|
|
connect_bd_intf_net -intf_net axi_gpio_4_GPIO [get_bd_intf_ports rotary_switch] [get_bd_intf_pins axi_gpio_4/GPIO]
|
|
connect_bd_intf_net -intf_net axi_iic_0_IIC [get_bd_intf_ports iic_main] [get_bd_intf_pins axi_iic_0/IIC]
|
|
connect_bd_intf_net -intf_net axi_mem_intercon_M00_AXI [get_bd_intf_pins axi_bram_ctrl_0/S_AXI] [get_bd_intf_pins axi_mem_intercon/M00_AXI]
|
|
connect_bd_intf_net -intf_net axi_mem_intercon_M01_AXI [get_bd_intf_pins axi_mem_intercon/M01_AXI] [get_bd_intf_pins mig_7series_0/S_AXI]
|
|
connect_bd_intf_net -intf_net axi_uart16550_0_UART [get_bd_intf_ports rs232_uart] [get_bd_intf_pins axi_uart16550_0/UART]
|
|
connect_bd_intf_net -intf_net gtxe2_top_0_SI5324_OUT [get_bd_intf_ports SI5324_OUT] [get_bd_intf_pins gtxe2_top_0/SI5324_OUT]
|
|
connect_bd_intf_net -intf_net gtxe2_top_0_SMA_OUT [get_bd_intf_ports SMA_OUT] [get_bd_intf_pins gtxe2_top_0/SMA_OUT]
|
|
connect_bd_intf_net -intf_net microblaze_0_M_AXI_DC [get_bd_intf_pins axi_mem_intercon/S00_AXI] [get_bd_intf_pins microblaze_0/M_AXI_DC]
|
|
connect_bd_intf_net -intf_net microblaze_0_M_AXI_IC [get_bd_intf_pins axi_mem_intercon/S01_AXI] [get_bd_intf_pins microblaze_0/M_AXI_IC]
|
|
connect_bd_intf_net -intf_net microblaze_0_axi_dp [get_bd_intf_pins microblaze_0/M_AXI_DP] [get_bd_intf_pins microblaze_0_axi_periph/S00_AXI]
|
|
connect_bd_intf_net -intf_net microblaze_0_axi_periph_M02_AXI [get_bd_intf_pins axi_iic_0/S_AXI] [get_bd_intf_pins microblaze_0_axi_periph/M02_AXI]
|
|
connect_bd_intf_net -intf_net microblaze_0_axi_periph_M03_AXI [get_bd_intf_pins axi_uart16550_0/S_AXI] [get_bd_intf_pins microblaze_0_axi_periph/M03_AXI]
|
|
connect_bd_intf_net -intf_net microblaze_0_axi_periph_M04_AXI [get_bd_intf_pins axi_gpio_0/S_AXI] [get_bd_intf_pins microblaze_0_axi_periph/M04_AXI]
|
|
connect_bd_intf_net -intf_net microblaze_0_axi_periph_M05_AXI [get_bd_intf_pins axi_gpio_1/S_AXI] [get_bd_intf_pins microblaze_0_axi_periph/M05_AXI]
|
|
connect_bd_intf_net -intf_net microblaze_0_axi_periph_M06_AXI [get_bd_intf_pins axi_gpio_2/S_AXI] [get_bd_intf_pins microblaze_0_axi_periph/M06_AXI]
|
|
connect_bd_intf_net -intf_net microblaze_0_axi_periph_M07_AXI [get_bd_intf_pins axi_gpio_3/S_AXI] [get_bd_intf_pins microblaze_0_axi_periph/M07_AXI]
|
|
connect_bd_intf_net -intf_net microblaze_0_axi_periph_M08_AXI [get_bd_intf_pins axi_gpio_4/S_AXI] [get_bd_intf_pins microblaze_0_axi_periph/M08_AXI]
|
|
connect_bd_intf_net -intf_net microblaze_0_axi_periph_M09_AXI [get_bd_intf_pins axi_timer_0/S_AXI] [get_bd_intf_pins microblaze_0_axi_periph/M09_AXI]
|
|
connect_bd_intf_net -intf_net microblaze_0_axi_periph_M10_AXI [get_bd_intf_pins axi_usb2_device_0/S_AXI] [get_bd_intf_pins microblaze_0_axi_periph/M10_AXI]
|
|
connect_bd_intf_net -intf_net microblaze_0_axi_periph_M11_AXI [get_bd_intf_pins microblaze_0_axi_periph/M11_AXI] [get_bd_intf_pins xadc_wiz_0/s_axi_lite]
|
|
connect_bd_intf_net -intf_net microblaze_0_axi_periph_M12_AXI [get_bd_intf_pins axi_ethernet_0/s_axi] [get_bd_intf_pins microblaze_0_axi_periph/M12_AXI]
|
|
connect_bd_intf_net -intf_net microblaze_0_axi_periph_M13_AXI [get_bd_intf_pins axi_ethernet_0_dma/S_AXI_LITE] [get_bd_intf_pins microblaze_0_axi_periph/M13_AXI]
|
|
connect_bd_intf_net -intf_net microblaze_0_axi_periph_M14_AXI [get_bd_intf_pins axi_emc_0/S_AXI_MEM] [get_bd_intf_pins microblaze_0_axi_periph/M14_AXI]
|
|
connect_bd_intf_net -intf_net microblaze_0_debug [get_bd_intf_pins mdm_1/MBDEBUG_0] [get_bd_intf_pins microblaze_0/DEBUG]
|
|
connect_bd_intf_net -intf_net microblaze_0_dlmb_1 [get_bd_intf_pins microblaze_0/DLMB] [get_bd_intf_pins microblaze_0_local_memory/DLMB]
|
|
connect_bd_intf_net -intf_net microblaze_0_ilmb_1 [get_bd_intf_pins microblaze_0/ILMB] [get_bd_intf_pins microblaze_0_local_memory/ILMB]
|
|
connect_bd_intf_net -intf_net microblaze_0_intc_axi [get_bd_intf_pins microblaze_0_axi_intc/s_axi] [get_bd_intf_pins microblaze_0_axi_periph/M00_AXI]
|
|
connect_bd_intf_net -intf_net microblaze_0_interrupt [get_bd_intf_pins microblaze_0/INTERRUPT] [get_bd_intf_pins microblaze_0_axi_intc/interrupt]
|
|
connect_bd_intf_net -intf_net microblaze_0_mdm_axi [get_bd_intf_pins mdm_1/S_AXI] [get_bd_intf_pins microblaze_0_axi_periph/M01_AXI]
|
|
connect_bd_intf_net -intf_net mig_7series_0_DDR3 [get_bd_intf_ports ddr3_sdram] [get_bd_intf_pins mig_7series_0/DDR3]
|
|
connect_bd_intf_net -intf_net sgmii_mgt_clk_1 [get_bd_intf_ports sgmii_mgt_clk] [get_bd_intf_pins axi_ethernet_0/mgt_clk]
|
|
connect_bd_intf_net -intf_net sys_diff_clock_1 [get_bd_intf_ports sys_diff_clock] [get_bd_intf_pins mig_7series_0/SYS_CLK]
|
|
|
|
# Create port connections
|
|
connect_bd_net -net axi_ethernet_0_dma_mm2s_cntrl_reset_out_n [get_bd_pins axi_ethernet_0/axi_txc_arstn] [get_bd_pins axi_ethernet_0_dma/mm2s_cntrl_reset_out_n]
|
|
connect_bd_net -net axi_ethernet_0_dma_mm2s_introut [get_bd_pins axi_ethernet_0_dma/mm2s_introut] [get_bd_pins microblaze_0_xlconcat/In5]
|
|
connect_bd_net -net axi_ethernet_0_dma_mm2s_prmry_reset_out_n [get_bd_pins axi_ethernet_0/axi_txd_arstn] [get_bd_pins axi_ethernet_0_dma/mm2s_prmry_reset_out_n]
|
|
connect_bd_net -net axi_ethernet_0_dma_s2mm_introut [get_bd_pins axi_ethernet_0_dma/s2mm_introut] [get_bd_pins microblaze_0_xlconcat/In6]
|
|
connect_bd_net -net axi_ethernet_0_dma_s2mm_prmry_reset_out_n [get_bd_pins axi_ethernet_0/axi_rxd_arstn] [get_bd_pins axi_ethernet_0_dma/s2mm_prmry_reset_out_n]
|
|
connect_bd_net -net axi_ethernet_0_dma_s2mm_sts_reset_out_n [get_bd_pins axi_ethernet_0/axi_rxs_arstn] [get_bd_pins axi_ethernet_0_dma/s2mm_sts_reset_out_n]
|
|
connect_bd_net -net axi_ethernet_0_interrupt [get_bd_pins axi_ethernet_0/interrupt] [get_bd_pins microblaze_0_xlconcat/In4]
|
|
connect_bd_net -net axi_ethernet_0_phy_rst_n [get_bd_ports phy_reset_out] [get_bd_pins axi_ethernet_0/phy_rst_n]
|
|
connect_bd_net -net axi_ethernet_0_refclk_clk_out1 [get_bd_pins axi_ethernet_0/ref_clk] [get_bd_pins axi_ethernet_0_refclk/clk_out1]
|
|
connect_bd_net -net axi_iic_0_gpo [get_bd_ports iic_mux_reset_b] [get_bd_pins axi_iic_0/gpo]
|
|
connect_bd_net -net axi_iic_0_iic2intc_irpt [get_bd_pins axi_iic_0/iic2intc_irpt] [get_bd_pins microblaze_0_xlconcat/In1]
|
|
connect_bd_net -net axi_timer_0_interrupt [get_bd_pins axi_timer_0/interrupt] [get_bd_pins microblaze_0_xlconcat/In3]
|
|
connect_bd_net -net axi_uart16550_0_ip2intc_irpt [get_bd_pins axi_uart16550_0/ip2intc_irpt] [get_bd_pins microblaze_0_xlconcat/In2]
|
|
connect_bd_net -net axi_usb2_device_0_usb_irpt [get_bd_pins axi_usb2_device_0/usb_irpt] [get_bd_pins microblaze_0_xlconcat/In7]
|
|
connect_bd_net -net mdm_1_Interrupt [get_bd_pins mdm_1/Interrupt] [get_bd_pins microblaze_0_xlconcat/In0]
|
|
connect_bd_net -net mdm_1_debug_sys_rst [get_bd_pins mdm_1/Debug_SYS_Rst] [get_bd_pins rst_mig_7series_0_100M/mb_debug_sys_rst]
|
|
connect_bd_net -net microblaze_0_Clk_1 [get_bd_pins axi_bram_ctrl_0/s_axi_aclk] [get_bd_pins axi_emc_0/rdclk] [get_bd_pins axi_emc_0/s_axi_aclk] [get_bd_pins axi_ethernet_0/axis_clk] [get_bd_pins axi_ethernet_0/s_axi_lite_clk] [get_bd_pins axi_ethernet_0_dma/m_axi_mm2s_aclk] [get_bd_pins axi_ethernet_0_dma/m_axi_s2mm_aclk] [get_bd_pins axi_ethernet_0_dma/m_axi_sg_aclk] [get_bd_pins axi_ethernet_0_dma/s_axi_lite_aclk] [get_bd_pins axi_ethernet_0_refclk/clk_in1] [get_bd_pins axi_gpio_0/s_axi_aclk] [get_bd_pins axi_gpio_1/s_axi_aclk] [get_bd_pins axi_gpio_2/s_axi_aclk] [get_bd_pins axi_gpio_3/s_axi_aclk] [get_bd_pins axi_gpio_4/s_axi_aclk] [get_bd_pins axi_iic_0/s_axi_aclk] [get_bd_pins axi_mem_intercon/ACLK] [get_bd_pins axi_mem_intercon/M00_ACLK] [get_bd_pins axi_mem_intercon/S00_ACLK] [get_bd_pins axi_mem_intercon/S01_ACLK] [get_bd_pins axi_mem_intercon/S02_ACLK] [get_bd_pins axi_mem_intercon/S03_ACLK] [get_bd_pins axi_mem_intercon/S04_ACLK] [get_bd_pins axi_timer_0/s_axi_aclk] [get_bd_pins axi_uart16550_0/s_axi_aclk] [get_bd_pins axi_usb2_device_0/s_axi_aclk] [get_bd_pins mdm_1/S_AXI_ACLK] [get_bd_pins microblaze_0/Clk] [get_bd_pins microblaze_0_axi_intc/processor_clk] [get_bd_pins microblaze_0_axi_intc/s_axi_aclk] [get_bd_pins microblaze_0_axi_periph/ACLK] [get_bd_pins microblaze_0_axi_periph/M00_ACLK] [get_bd_pins microblaze_0_axi_periph/M01_ACLK] [get_bd_pins microblaze_0_axi_periph/M02_ACLK] [get_bd_pins microblaze_0_axi_periph/M03_ACLK] [get_bd_pins microblaze_0_axi_periph/M04_ACLK] [get_bd_pins microblaze_0_axi_periph/M05_ACLK] [get_bd_pins microblaze_0_axi_periph/M06_ACLK] [get_bd_pins microblaze_0_axi_periph/M07_ACLK] [get_bd_pins microblaze_0_axi_periph/M08_ACLK] [get_bd_pins microblaze_0_axi_periph/M09_ACLK] [get_bd_pins microblaze_0_axi_periph/M10_ACLK] [get_bd_pins microblaze_0_axi_periph/M11_ACLK] [get_bd_pins microblaze_0_axi_periph/M12_ACLK] [get_bd_pins microblaze_0_axi_periph/M13_ACLK] [get_bd_pins microblaze_0_axi_periph/M14_ACLK] [get_bd_pins microblaze_0_axi_periph/S00_ACLK] [get_bd_pins microblaze_0_local_memory/LMB_Clk] [get_bd_pins mig_7series_0/ui_addn_clk_0] [get_bd_pins rst_mig_7series_0_100M/slowest_sync_clk] [get_bd_pins xadc_wiz_0/s_axi_aclk]
|
|
connect_bd_net -net microblaze_0_intr [get_bd_pins microblaze_0_axi_intc/intr] [get_bd_pins microblaze_0_xlconcat/dout]
|
|
connect_bd_net -net mig_7series_0_init_calib_complete [get_bd_pins mig_7series_0/init_calib_complete] [get_bd_pins rst_mig_7series_0_100M/aux_reset_in] [get_bd_pins rst_mig_7series_0_200M/aux_reset_in]
|
|
connect_bd_net -net mig_7series_0_mmcm_locked [get_bd_pins mig_7series_0/mmcm_locked] [get_bd_pins rst_mig_7series_0_100M/dcm_locked] [get_bd_pins rst_mig_7series_0_200M/dcm_locked]
|
|
connect_bd_net -net mig_7series_0_ui_clk [get_bd_pins axi_mem_intercon/M01_ACLK] [get_bd_pins mig_7series_0/ui_clk] [get_bd_pins rst_mig_7series_0_200M/slowest_sync_clk]
|
|
connect_bd_net -net mig_7series_0_ui_clk_sync_rst [get_bd_pins mig_7series_0/ui_clk_sync_rst] [get_bd_pins rst_mig_7series_0_100M/ext_reset_in] [get_bd_pins rst_mig_7series_0_200M/ext_reset_in]
|
|
connect_bd_net -net reset_1 [get_bd_ports reset] [get_bd_pins mig_7series_0/sys_rst]
|
|
connect_bd_net -net rst_mig_7series_0_100M_bus_struct_reset [get_bd_pins microblaze_0_local_memory/SYS_Rst] [get_bd_pins rst_mig_7series_0_100M/bus_struct_reset]
|
|
connect_bd_net -net rst_mig_7series_0_100M_interconnect_aresetn [get_bd_pins axi_mem_intercon/ARESETN] [get_bd_pins microblaze_0_axi_periph/ARESETN] [get_bd_pins rst_mig_7series_0_100M/interconnect_aresetn]
|
|
connect_bd_net -net rst_mig_7series_0_100M_mb_reset [get_bd_pins microblaze_0/Reset] [get_bd_pins microblaze_0_axi_intc/processor_rst] [get_bd_pins rst_mig_7series_0_100M/mb_reset]
|
|
connect_bd_net -net rst_mig_7series_0_100M_peripheral_aresetn1 [get_bd_pins axi_bram_ctrl_0/s_axi_aresetn] [get_bd_pins axi_emc_0/s_axi_aresetn] [get_bd_pins axi_ethernet_0/s_axi_lite_resetn] [get_bd_pins axi_ethernet_0_dma/axi_resetn] [get_bd_pins axi_gpio_0/s_axi_aresetn] [get_bd_pins axi_gpio_1/s_axi_aresetn] [get_bd_pins axi_gpio_2/s_axi_aresetn] [get_bd_pins axi_gpio_3/s_axi_aresetn] [get_bd_pins axi_gpio_4/s_axi_aresetn] [get_bd_pins axi_iic_0/s_axi_aresetn] [get_bd_pins axi_mem_intercon/M00_ARESETN] [get_bd_pins axi_mem_intercon/S00_ARESETN] [get_bd_pins axi_mem_intercon/S01_ARESETN] [get_bd_pins axi_mem_intercon/S02_ARESETN] [get_bd_pins axi_mem_intercon/S03_ARESETN] [get_bd_pins axi_mem_intercon/S04_ARESETN] [get_bd_pins axi_timer_0/s_axi_aresetn] [get_bd_pins axi_uart16550_0/s_axi_aresetn] [get_bd_pins axi_usb2_device_0/s_axi_aresetn] [get_bd_pins mdm_1/S_AXI_ARESETN] [get_bd_pins microblaze_0_axi_intc/s_axi_aresetn] [get_bd_pins microblaze_0_axi_periph/M00_ARESETN] [get_bd_pins microblaze_0_axi_periph/M01_ARESETN] [get_bd_pins microblaze_0_axi_periph/M02_ARESETN] [get_bd_pins microblaze_0_axi_periph/M03_ARESETN] [get_bd_pins microblaze_0_axi_periph/M04_ARESETN] [get_bd_pins microblaze_0_axi_periph/M05_ARESETN] [get_bd_pins microblaze_0_axi_periph/M06_ARESETN] [get_bd_pins microblaze_0_axi_periph/M07_ARESETN] [get_bd_pins microblaze_0_axi_periph/M08_ARESETN] [get_bd_pins microblaze_0_axi_periph/M09_ARESETN] [get_bd_pins microblaze_0_axi_periph/M10_ARESETN] [get_bd_pins microblaze_0_axi_periph/M11_ARESETN] [get_bd_pins microblaze_0_axi_periph/M12_ARESETN] [get_bd_pins microblaze_0_axi_periph/M13_ARESETN] [get_bd_pins microblaze_0_axi_periph/M14_ARESETN] [get_bd_pins microblaze_0_axi_periph/S00_ARESETN] [get_bd_pins mig_7series_0/aresetn] [get_bd_pins rst_mig_7series_0_100M/peripheral_aresetn] [get_bd_pins xadc_wiz_0/s_axi_aresetn]
|
|
connect_bd_net -net rst_mig_7series_0_200M_peripheral_aresetn [get_bd_pins axi_mem_intercon/M01_ARESETN] [get_bd_pins rst_mig_7series_0_200M/peripheral_aresetn]
|
|
connect_bd_net -net xadc_wiz_0_ip2intc_irpt [get_bd_pins microblaze_0_xlconcat/In8] [get_bd_pins xadc_wiz_0/ip2intc_irpt]
|
|
connect_bd_net -net xadc_wiz_0_temp_out [get_bd_pins mig_7series_0/device_temp_i] [get_bd_pins xadc_wiz_0/temp_out]
|
|
connect_bd_net -net xlconstant_0_const [get_bd_ports DDR3_A14] [get_bd_ports DDR3_A15] [get_bd_ports DDR3_CKE1] [get_bd_ports DDR3_CLK1_P] [get_bd_ports DDR3_ODT1] [get_bd_pins xlconstant_0/dout]
|
|
connect_bd_net -net xlconstant_1_const [get_bd_ports DDR3_CLK1_N] [get_bd_ports DDR3_S1_B] [get_bd_ports SM_FAN_PWM] [get_bd_pins xlconstant_1/dout]
|
|
|
|
# Create address segments
|
|
create_bd_addr_seg -range 0x00100000 -offset 0xC0000000 [get_bd_addr_spaces axi_ethernet_0_dma/Data_SG] [get_bd_addr_segs axi_bram_ctrl_0/S_AXI/Mem0] SEG_axi_bram_ctrl_0_Mem0
|
|
create_bd_addr_seg -range 0x00100000 -offset 0xC0000000 [get_bd_addr_spaces axi_ethernet_0_dma/Data_MM2S] [get_bd_addr_segs axi_bram_ctrl_0/S_AXI/Mem0] SEG_axi_bram_ctrl_0_Mem0
|
|
create_bd_addr_seg -range 0x00100000 -offset 0xC0000000 [get_bd_addr_spaces axi_ethernet_0_dma/Data_S2MM] [get_bd_addr_segs axi_bram_ctrl_0/S_AXI/Mem0] SEG_axi_bram_ctrl_0_Mem0
|
|
create_bd_addr_seg -range 0x40000000 -offset 0x80000000 [get_bd_addr_spaces axi_ethernet_0_dma/Data_SG] [get_bd_addr_segs mig_7series_0/memmap/memaddr] SEG_mig_7series_0_memaddr
|
|
create_bd_addr_seg -range 0x40000000 -offset 0x80000000 [get_bd_addr_spaces axi_ethernet_0_dma/Data_MM2S] [get_bd_addr_segs mig_7series_0/memmap/memaddr] SEG_mig_7series_0_memaddr
|
|
create_bd_addr_seg -range 0x40000000 -offset 0x80000000 [get_bd_addr_spaces axi_ethernet_0_dma/Data_S2MM] [get_bd_addr_segs mig_7series_0/memmap/memaddr] SEG_mig_7series_0_memaddr
|
|
create_bd_addr_seg -range 0x00100000 -offset 0xC0000000 [get_bd_addr_spaces microblaze_0/Data] [get_bd_addr_segs axi_bram_ctrl_0/S_AXI/Mem0] SEG_axi_bram_ctrl_0_Mem0
|
|
create_bd_addr_seg -range 0x00100000 -offset 0xC0000000 [get_bd_addr_spaces microblaze_0/Instruction] [get_bd_addr_segs axi_bram_ctrl_0/S_AXI/Mem0] SEG_axi_bram_ctrl_0_Mem0
|
|
create_bd_addr_seg -range 0x08000000 -offset 0x60000000 [get_bd_addr_spaces microblaze_0/Data] [get_bd_addr_segs axi_emc_0/S_AXI_MEM/MEM0] SEG_axi_emc_0_MEM0
|
|
create_bd_addr_seg -range 0x00040000 -offset 0x40C00000 [get_bd_addr_spaces microblaze_0/Data] [get_bd_addr_segs axi_ethernet_0/s_axi/Reg0] SEG_axi_ethernet_0_Reg0
|
|
create_bd_addr_seg -range 0x00010000 -offset 0x41E00000 [get_bd_addr_spaces microblaze_0/Data] [get_bd_addr_segs axi_ethernet_0_dma/S_AXI_LITE/Reg] SEG_axi_ethernet_0_dma_Reg
|
|
create_bd_addr_seg -range 0x00010000 -offset 0x40000000 [get_bd_addr_spaces microblaze_0/Data] [get_bd_addr_segs axi_gpio_0/S_AXI/Reg] SEG_axi_gpio_0_Reg
|
|
create_bd_addr_seg -range 0x00010000 -offset 0x40010000 [get_bd_addr_spaces microblaze_0/Data] [get_bd_addr_segs axi_gpio_1/S_AXI/Reg] SEG_axi_gpio_1_Reg
|
|
create_bd_addr_seg -range 0x00010000 -offset 0x40020000 [get_bd_addr_spaces microblaze_0/Data] [get_bd_addr_segs axi_gpio_2/S_AXI/Reg] SEG_axi_gpio_2_Reg
|
|
create_bd_addr_seg -range 0x00010000 -offset 0x40030000 [get_bd_addr_spaces microblaze_0/Data] [get_bd_addr_segs axi_gpio_3/S_AXI/Reg] SEG_axi_gpio_3_Reg
|
|
create_bd_addr_seg -range 0x00010000 -offset 0x40040000 [get_bd_addr_spaces microblaze_0/Data] [get_bd_addr_segs axi_gpio_4/S_AXI/Reg] SEG_axi_gpio_4_Reg
|
|
create_bd_addr_seg -range 0x00010000 -offset 0x40800000 [get_bd_addr_spaces microblaze_0/Data] [get_bd_addr_segs axi_iic_0/S_AXI/Reg] SEG_axi_iic_0_Reg
|
|
create_bd_addr_seg -range 0x00010000 -offset 0x41C00000 [get_bd_addr_spaces microblaze_0/Data] [get_bd_addr_segs axi_timer_0/S_AXI/Reg] SEG_axi_timer_0_Reg
|
|
create_bd_addr_seg -range 0x00010000 -offset 0x44A00000 [get_bd_addr_spaces microblaze_0/Data] [get_bd_addr_segs axi_uart16550_0/S_AXI/Reg] SEG_axi_uart16550_0_Reg
|
|
create_bd_addr_seg -range 0x00010000 -offset 0x44800000 [get_bd_addr_spaces microblaze_0/Data] [get_bd_addr_segs axi_usb2_device_0/S_AXI/Reg] SEG_axi_usb2_device_0_Reg
|
|
create_bd_addr_seg -range 0x00020000 -offset 0x00000000 [get_bd_addr_spaces microblaze_0/Data] [get_bd_addr_segs microblaze_0_local_memory/dlmb_bram_if_cntlr/SLMB/Mem] SEG_dlmb_bram_if_cntlr_Mem
|
|
create_bd_addr_seg -range 0x00020000 -offset 0x00000000 [get_bd_addr_spaces microblaze_0/Instruction] [get_bd_addr_segs microblaze_0_local_memory/ilmb_bram_if_cntlr/SLMB/Mem] SEG_ilmb_bram_if_cntlr_Mem
|
|
create_bd_addr_seg -range 0x00001000 -offset 0x41400000 [get_bd_addr_spaces microblaze_0/Data] [get_bd_addr_segs mdm_1/S_AXI/Reg] SEG_mdm_1_Reg
|
|
create_bd_addr_seg -range 0x00010000 -offset 0x41200000 [get_bd_addr_spaces microblaze_0/Data] [get_bd_addr_segs microblaze_0_axi_intc/S_AXI/Reg] SEG_microblaze_0_axi_intc_Reg
|
|
create_bd_addr_seg -range 0x40000000 -offset 0x80000000 [get_bd_addr_spaces microblaze_0/Data] [get_bd_addr_segs mig_7series_0/memmap/memaddr] SEG_mig_7series_0_memaddr
|
|
create_bd_addr_seg -range 0x40000000 -offset 0x80000000 [get_bd_addr_spaces microblaze_0/Instruction] [get_bd_addr_segs mig_7series_0/memmap/memaddr] SEG_mig_7series_0_memaddr
|
|
create_bd_addr_seg -range 0x00010000 -offset 0x44A10000 [get_bd_addr_spaces microblaze_0/Data] [get_bd_addr_segs xadc_wiz_0/s_axi_lite/Reg] SEG_xadc_wiz_0_Reg
|
|
|
|
|
|
# Restore current instance
|
|
current_bd_instance $oldCurInst
|
|
|
|
save_bd_design
|
|
close_bd_design $design_name
|
|
}
|
|
# End of cr_bd_system()
|
|
|
|
|
|
cr_bd_system ""
|
|
set_property EXCLUDE_DEBUG_LOGIC "0" [get_files system.bd ]
|
|
set_property GENERATE_SYNTH_CHECKPOINT "0" [get_files system.bd ]
|
|
set_property IS_ENABLED "1" [get_files system.bd ]
|
|
set_property IS_GLOBAL_INCLUDE "0" [get_files system.bd ]
|
|
set_property IS_LOCKED "0" [get_files system.bd ]
|
|
set_property LIBRARY "xil_defaultlib" [get_files system.bd ]
|
|
set_property PATH_MODE "RelativeFirst" [get_files system.bd ]
|
|
set_property PFM_NAME "" [get_files system.bd ]
|
|
set_property SYNTH_CHECKPOINT_MODE "None" [get_files system.bd ]
|
|
set_property USED_IN "synthesis implementation simulation" [get_files system.bd ]
|
|
set_property USED_IN_IMPLEMENTATION "1" [get_files system.bd ]
|
|
set_property USED_IN_SIMULATION "1" [get_files system.bd ]
|
|
set_property USED_IN_SYNTHESIS "1" [get_files system.bd ]
|
|
|
|
# Create 'synth_1' run (if not found)
|
|
if {[string equal [get_runs -quiet synth_1] ""]} {
|
|
create_run -name synth_1 -part xc7vx485tffg1761-2 -flow {Vivado Synthesis 2015} -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 2015" [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_property -name "is_enabled" -value "1" -objects $obj
|
|
set_property -name "options.pblocks" -value "" -objects $obj
|
|
set_property -name "options.cells" -value "" -objects $obj
|
|
set_property -name "options.slr" -value "0" -objects $obj
|
|
set_property -name "options.packthru" -value "0" -objects $obj
|
|
set_property -name "options.hierarchical" -value "0" -objects $obj
|
|
set_property -name "options.hierarchical_depth" -value "" -objects $obj
|
|
set_property -name "options.hierarchical_percentages" -value "0" -objects $obj
|
|
set_property -name "options.more_options" -value "" -objects $obj
|
|
|
|
}
|
|
set obj [get_runs synth_1]
|
|
set_property -name "constrset" -value "constrs_1" -objects $obj
|
|
set_property -name "description" -value "Vivado Synthesis Defaults" -objects $obj
|
|
set_property -name "flow" -value "Vivado Synthesis 2015" -objects $obj
|
|
set_property -name "name" -value "synth_1" -objects $obj
|
|
set_property -name "needs_refresh" -value "0" -objects $obj
|
|
set_property -name "srcset" -value "sources_1" -objects $obj
|
|
set_property -name "incremental_checkpoint" -value "" -objects $obj
|
|
set_property -name "include_in_archive" -value "1" -objects $obj
|
|
set_property -name "strategy" -value "Vivado Synthesis Defaults" -objects $obj
|
|
set_property -name "steps.synth_design.tcl.pre" -value "" -objects $obj
|
|
set_property -name "steps.synth_design.tcl.post" -value "" -objects $obj
|
|
set_property -name "steps.synth_design.args.flatten_hierarchy" -value "rebuilt" -objects $obj
|
|
set_property -name "steps.synth_design.args.gated_clock_conversion" -value "off" -objects $obj
|
|
set_property -name "steps.synth_design.args.bufg" -value "12" -objects $obj
|
|
set_property -name "steps.synth_design.args.fanout_limit" -value "10000" -objects $obj
|
|
set_property -name "steps.synth_design.args.directive" -value "Default" -objects $obj
|
|
set_property -name "steps.synth_design.args.retiming" -value "0" -objects $obj
|
|
set_property -name "steps.synth_design.args.fsm_extraction" -value "auto" -objects $obj
|
|
set_property -name "steps.synth_design.args.keep_equivalent_registers" -value "0" -objects $obj
|
|
set_property -name "steps.synth_design.args.resource_sharing" -value "auto" -objects $obj
|
|
set_property -name "steps.synth_design.args.control_set_opt_threshold" -value "auto" -objects $obj
|
|
set_property -name "steps.synth_design.args.no_lc" -value "0" -objects $obj
|
|
set_property -name "steps.synth_design.args.no_srlextract" -value "0" -objects $obj
|
|
set_property -name "steps.synth_design.args.shreg_min_size" -value "3" -objects $obj
|
|
set_property -name "steps.synth_design.args.max_bram" -value "-1" -objects $obj
|
|
set_property -name "steps.synth_design.args.max_uram" -value "-1" -objects $obj
|
|
set_property -name "steps.synth_design.args.max_dsp" -value "-1" -objects $obj
|
|
set_property -name "steps.synth_design.args.max_bram_cascade_height" -value "-1" -objects $obj
|
|
set_property -name "steps.synth_design.args.max_uram_cascade_height" -value "-1" -objects $obj
|
|
set_property -name "steps.synth_design.args.cascade_dsp" -value "auto" -objects $obj
|
|
set_property -name "steps.synth_design.args.assert" -value "0" -objects $obj
|
|
set_property -name "steps.synth_design.args.more options" -value "" -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 xc7vx485tffg1761-2 -flow {Vivado Implementation 2015} -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 2015" [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.check_timing_verbose" -value "0" -objects $obj
|
|
set_property -name "options.delay_type" -value "" -objects $obj
|
|
set_property -name "options.setup" -value "0" -objects $obj
|
|
set_property -name "options.hold" -value "0" -objects $obj
|
|
set_property -name "options.max_paths" -value "10" -objects $obj
|
|
set_property -name "options.nworst" -value "" -objects $obj
|
|
set_property -name "options.unique_pins" -value "0" -objects $obj
|
|
set_property -name "options.path_type" -value "" -objects $obj
|
|
set_property -name "options.slack_lesser_than" -value "" -objects $obj
|
|
set_property -name "options.report_unconstrained" -value "0" -objects $obj
|
|
set_property -name "options.warn_on_violation" -value "0" -objects $obj
|
|
set_property -name "options.significant_digits" -value "" -objects $obj
|
|
set_property -name "options.cell" -value "" -objects $obj
|
|
set_property -name "options.more_options" -value "" -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 != "" } {
|
|
set_property -name "is_enabled" -value "1" -objects $obj
|
|
set_property -name "options.upgrade_cw" -value "0" -objects $obj
|
|
set_property -name "options.checks" -value "" -objects $obj
|
|
set_property -name "options.ruledecks" -value "" -objects $obj
|
|
set_property -name "options.more_options" -value "" -objects $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.check_timing_verbose" -value "0" -objects $obj
|
|
set_property -name "options.delay_type" -value "" -objects $obj
|
|
set_property -name "options.setup" -value "0" -objects $obj
|
|
set_property -name "options.hold" -value "0" -objects $obj
|
|
set_property -name "options.max_paths" -value "10" -objects $obj
|
|
set_property -name "options.nworst" -value "" -objects $obj
|
|
set_property -name "options.unique_pins" -value "0" -objects $obj
|
|
set_property -name "options.path_type" -value "" -objects $obj
|
|
set_property -name "options.slack_lesser_than" -value "" -objects $obj
|
|
set_property -name "options.report_unconstrained" -value "0" -objects $obj
|
|
set_property -name "options.warn_on_violation" -value "0" -objects $obj
|
|
set_property -name "options.significant_digits" -value "" -objects $obj
|
|
set_property -name "options.cell" -value "" -objects $obj
|
|
set_property -name "options.more_options" -value "" -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.check_timing_verbose" -value "0" -objects $obj
|
|
set_property -name "options.delay_type" -value "" -objects $obj
|
|
set_property -name "options.setup" -value "0" -objects $obj
|
|
set_property -name "options.hold" -value "0" -objects $obj
|
|
set_property -name "options.max_paths" -value "10" -objects $obj
|
|
set_property -name "options.nworst" -value "" -objects $obj
|
|
set_property -name "options.unique_pins" -value "0" -objects $obj
|
|
set_property -name "options.path_type" -value "" -objects $obj
|
|
set_property -name "options.slack_lesser_than" -value "" -objects $obj
|
|
set_property -name "options.report_unconstrained" -value "0" -objects $obj
|
|
set_property -name "options.warn_on_violation" -value "0" -objects $obj
|
|
set_property -name "options.significant_digits" -value "" -objects $obj
|
|
set_property -name "options.cell" -value "" -objects $obj
|
|
set_property -name "options.more_options" -value "" -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 != "" } {
|
|
set_property -name "is_enabled" -value "1" -objects $obj
|
|
set_property -name "options.more_options" -value "" -objects $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 != "" } {
|
|
set_property -name "is_enabled" -value "1" -objects $obj
|
|
set_property -name "options.pblocks" -value "" -objects $obj
|
|
set_property -name "options.cells" -value "" -objects $obj
|
|
set_property -name "options.slr" -value "0" -objects $obj
|
|
set_property -name "options.packthru" -value "0" -objects $obj
|
|
set_property -name "options.hierarchical" -value "0" -objects $obj
|
|
set_property -name "options.hierarchical_depth" -value "" -objects $obj
|
|
set_property -name "options.hierarchical_percentages" -value "0" -objects $obj
|
|
set_property -name "options.more_options" -value "" -objects $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 "is_enabled" -value "1" -objects $obj
|
|
set_property -name "options.verbose" -value "1" -objects $obj
|
|
set_property -name "options.cells" -value "" -objects $obj
|
|
set_property -name "options.more_options" -value "" -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
|
|
set_property -name "options.cells" -value "" -objects $obj
|
|
set_property -name "options.hierarchical" -value "0" -objects $obj
|
|
set_property -name "options.hierarchical_depth" -value "" -objects $obj
|
|
set_property -name "options.more_options" -value "" -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
|
|
set_property -name "options.cells" -value "" -objects $obj
|
|
set_property -name "options.hierarchical" -value "0" -objects $obj
|
|
set_property -name "options.hierarchical_depth" -value "" -objects $obj
|
|
set_property -name "options.more_options" -value "" -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.check_timing_verbose" -value "0" -objects $obj
|
|
set_property -name "options.delay_type" -value "" -objects $obj
|
|
set_property -name "options.setup" -value "0" -objects $obj
|
|
set_property -name "options.hold" -value "0" -objects $obj
|
|
set_property -name "options.max_paths" -value "10" -objects $obj
|
|
set_property -name "options.nworst" -value "" -objects $obj
|
|
set_property -name "options.unique_pins" -value "0" -objects $obj
|
|
set_property -name "options.path_type" -value "" -objects $obj
|
|
set_property -name "options.slack_lesser_than" -value "" -objects $obj
|
|
set_property -name "options.report_unconstrained" -value "0" -objects $obj
|
|
set_property -name "options.warn_on_violation" -value "0" -objects $obj
|
|
set_property -name "options.significant_digits" -value "" -objects $obj
|
|
set_property -name "options.cell" -value "" -objects $obj
|
|
set_property -name "options.more_options" -value "" -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.check_timing_verbose" -value "0" -objects $obj
|
|
set_property -name "options.delay_type" -value "" -objects $obj
|
|
set_property -name "options.setup" -value "0" -objects $obj
|
|
set_property -name "options.hold" -value "0" -objects $obj
|
|
set_property -name "options.max_paths" -value "10" -objects $obj
|
|
set_property -name "options.nworst" -value "" -objects $obj
|
|
set_property -name "options.unique_pins" -value "0" -objects $obj
|
|
set_property -name "options.path_type" -value "" -objects $obj
|
|
set_property -name "options.slack_lesser_than" -value "" -objects $obj
|
|
set_property -name "options.report_unconstrained" -value "0" -objects $obj
|
|
set_property -name "options.warn_on_violation" -value "0" -objects $obj
|
|
set_property -name "options.significant_digits" -value "" -objects $obj
|
|
set_property -name "options.cell" -value "" -objects $obj
|
|
set_property -name "options.more_options" -value "" -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.check_timing_verbose" -value "0" -objects $obj
|
|
set_property -name "options.delay_type" -value "" -objects $obj
|
|
set_property -name "options.setup" -value "0" -objects $obj
|
|
set_property -name "options.hold" -value "0" -objects $obj
|
|
set_property -name "options.max_paths" -value "10" -objects $obj
|
|
set_property -name "options.nworst" -value "" -objects $obj
|
|
set_property -name "options.unique_pins" -value "0" -objects $obj
|
|
set_property -name "options.path_type" -value "" -objects $obj
|
|
set_property -name "options.slack_lesser_than" -value "" -objects $obj
|
|
set_property -name "options.report_unconstrained" -value "0" -objects $obj
|
|
set_property -name "options.warn_on_violation" -value "0" -objects $obj
|
|
set_property -name "options.significant_digits" -value "" -objects $obj
|
|
set_property -name "options.cell" -value "" -objects $obj
|
|
set_property -name "options.more_options" -value "" -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 != "" } {
|
|
set_property -name "is_enabled" -value "1" -objects $obj
|
|
set_property -name "options.upgrade_cw" -value "0" -objects $obj
|
|
set_property -name "options.checks" -value "" -objects $obj
|
|
set_property -name "options.ruledecks" -value "" -objects $obj
|
|
set_property -name "options.more_options" -value "" -objects $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 != "" } {
|
|
set_property -name "is_enabled" -value "1" -objects $obj
|
|
set_property -name "options.checks" -value "" -objects $obj
|
|
set_property -name "options.more_options" -value "" -objects $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 != "" } {
|
|
set_property -name "is_enabled" -value "1" -objects $obj
|
|
set_property -name "options.advisory" -value "0" -objects $obj
|
|
set_property -name "options.xpe" -value "" -objects $obj
|
|
set_property -name "options.more_options" -value "" -objects $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 != "" } {
|
|
set_property -name "is_enabled" -value "1" -objects $obj
|
|
set_property -name "options.of_objects" -value "" -objects $obj
|
|
set_property -name "options.route_type" -value "" -objects $obj
|
|
set_property -name "options.list_all_nets" -value "0" -objects $obj
|
|
set_property -name "options.show_all" -value "0" -objects $obj
|
|
set_property -name "options.has_routing" -value "0" -objects $obj
|
|
set_property -name "options.more_options" -value "" -objects $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 "is_enabled" -value "1" -objects $obj
|
|
set_property -name "options.check_timing_verbose" -value "0" -objects $obj
|
|
set_property -name "options.delay_type" -value "" -objects $obj
|
|
set_property -name "options.setup" -value "0" -objects $obj
|
|
set_property -name "options.hold" -value "0" -objects $obj
|
|
set_property -name "options.max_paths" -value "10" -objects $obj
|
|
set_property -name "options.nworst" -value "" -objects $obj
|
|
set_property -name "options.unique_pins" -value "0" -objects $obj
|
|
set_property -name "options.path_type" -value "" -objects $obj
|
|
set_property -name "options.slack_lesser_than" -value "" -objects $obj
|
|
set_property -name "options.report_unconstrained" -value "0" -objects $obj
|
|
set_property -name "options.warn_on_violation" -value "0" -objects $obj
|
|
set_property -name "options.significant_digits" -value "" -objects $obj
|
|
set_property -name "options.cell" -value "" -objects $obj
|
|
set_property -name "options.more_options" -value "" -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 != "" } {
|
|
set_property -name "is_enabled" -value "1" -objects $obj
|
|
set_property -name "options.cells" -value "" -objects $obj
|
|
set_property -name "options.hierarchical" -value "0" -objects $obj
|
|
set_property -name "options.hierarchical_depth" -value "" -objects $obj
|
|
set_property -name "options.more_options" -value "" -objects $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 != "" } {
|
|
set_property -name "is_enabled" -value "1" -objects $obj
|
|
set_property -name "options.write_xdc" -value "0" -objects $obj
|
|
set_property -name "options.clock_roots_only" -value "0" -objects $obj
|
|
set_property -name "options.more_options" -value "" -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 "is_enabled" -value "1" -objects $obj
|
|
set_property -name "options.check_timing_verbose" -value "0" -objects $obj
|
|
set_property -name "options.delay_type" -value "" -objects $obj
|
|
set_property -name "options.setup" -value "0" -objects $obj
|
|
set_property -name "options.hold" -value "0" -objects $obj
|
|
set_property -name "options.max_paths" -value "10" -objects $obj
|
|
set_property -name "options.nworst" -value "" -objects $obj
|
|
set_property -name "options.unique_pins" -value "0" -objects $obj
|
|
set_property -name "options.path_type" -value "" -objects $obj
|
|
set_property -name "options.slack_lesser_than" -value "" -objects $obj
|
|
set_property -name "options.report_unconstrained" -value "0" -objects $obj
|
|
set_property -name "options.warn_on_violation" -value "1" -objects $obj
|
|
set_property -name "options.significant_digits" -value "" -objects $obj
|
|
set_property -name "options.cell" -value "" -objects $obj
|
|
set_property -name "options.more_options" -value "" -objects $obj
|
|
|
|
}
|
|
set obj [get_runs impl_1]
|
|
set_property -name "constrset" -value "constrs_1" -objects $obj
|
|
set_property -name "description" -value "Vivado Implementation Defaults" -objects $obj
|
|
set_property -name "flow" -value "Vivado Implementation 2015" -objects $obj
|
|
set_property -name "name" -value "impl_1" -objects $obj
|
|
set_property -name "needs_refresh" -value "0" -objects $obj
|
|
set_property -name "pr_configuration" -value "" -objects $obj
|
|
set_property -name "srcset" -value "sources_1" -objects $obj
|
|
set_property -name "incremental_checkpoint" -value "" -objects $obj
|
|
set_property -name "include_in_archive" -value "1" -objects $obj
|
|
set_property -name "strategy" -value "Vivado Implementation Defaults" -objects $obj
|
|
set_property -name "steps.opt_design.is_enabled" -value "1" -objects $obj
|
|
set_property -name "steps.opt_design.tcl.pre" -value "" -objects $obj
|
|
set_property -name "steps.opt_design.tcl.post" -value "" -objects $obj
|
|
set_property -name "steps.opt_design.args.verbose" -value "0" -objects $obj
|
|
set_property -name "steps.opt_design.args.directive" -value "Default" -objects $obj
|
|
set_property -name "steps.opt_design.args.more options" -value "" -objects $obj
|
|
set_property -name "steps.power_opt_design.is_enabled" -value "0" -objects $obj
|
|
set_property -name "steps.power_opt_design.tcl.pre" -value "" -objects $obj
|
|
set_property -name "steps.power_opt_design.tcl.post" -value "" -objects $obj
|
|
set_property -name "steps.power_opt_design.args.more options" -value "" -objects $obj
|
|
set_property -name "steps.place_design.tcl.pre" -value "" -objects $obj
|
|
set_property -name "steps.place_design.tcl.post" -value "" -objects $obj
|
|
set_property -name "steps.place_design.args.directive" -value "Default" -objects $obj
|
|
set_property -name "steps.place_design.args.more options" -value "" -objects $obj
|
|
set_property -name "steps.post_place_power_opt_design.is_enabled" -value "0" -objects $obj
|
|
set_property -name "steps.post_place_power_opt_design.tcl.pre" -value "" -objects $obj
|
|
set_property -name "steps.post_place_power_opt_design.tcl.post" -value "" -objects $obj
|
|
set_property -name "steps.post_place_power_opt_design.args.more options" -value "" -objects $obj
|
|
set_property -name "steps.phys_opt_design.is_enabled" -value "0" -objects $obj
|
|
set_property -name "steps.phys_opt_design.tcl.pre" -value "" -objects $obj
|
|
set_property -name "steps.phys_opt_design.tcl.post" -value "" -objects $obj
|
|
set_property -name "steps.phys_opt_design.args.directive" -value "Default" -objects $obj
|
|
set_property -name "steps.phys_opt_design.args.more options" -value "" -objects $obj
|
|
set_property -name "steps.route_design.tcl.pre" -value "" -objects $obj
|
|
set_property -name "steps.route_design.tcl.post" -value "" -objects $obj
|
|
set_property -name "steps.route_design.args.directive" -value "Default" -objects $obj
|
|
set_property -name "steps.route_design.args.more options" -value "" -objects $obj
|
|
set_property -name "steps.post_route_phys_opt_design.is_enabled" -value "0" -objects $obj
|
|
set_property -name "steps.post_route_phys_opt_design.tcl.pre" -value "" -objects $obj
|
|
set_property -name "steps.post_route_phys_opt_design.tcl.post" -value "" -objects $obj
|
|
set_property -name "steps.post_route_phys_opt_design.args.directive" -value "Default" -objects $obj
|
|
set_property -name "steps.post_route_phys_opt_design.args.more options" -value "" -objects $obj
|
|
set_property -name "steps.write_bitstream.tcl.pre" -value "" -objects $obj
|
|
set_property -name "steps.write_bitstream.tcl.post" -value "" -objects $obj
|
|
set_property -name "steps.write_bitstream.args.raw_bitfile" -value "0" -objects $obj
|
|
set_property -name "steps.write_bitstream.args.mask_file" -value "0" -objects $obj
|
|
set_property -name "steps.write_bitstream.args.no_binary_bitfile" -value "0" -objects $obj
|
|
set_property -name "steps.write_bitstream.args.bin_file" -value "0" -objects $obj
|
|
set_property -name "steps.write_bitstream.args.readback_file" -value "0" -objects $obj
|
|
set_property -name "steps.write_bitstream.args.logic_location_file" -value "0" -objects $obj
|
|
set_property -name "steps.write_bitstream.args.verbose" -value "0" -objects $obj
|
|
set_property -name "steps.write_bitstream.args.more options" -value "" -objects $obj
|
|
|
|
# set the current impl run
|
|
current_run -implementation [get_runs impl_1]
|
|
|
|
#close_project
|
|
|
|
puts "INFO: Project created:$project_name"
|