fpga-pynq/common/zynq_rocketchip.tcl

125 lines
4.1 KiB
Tcl
Raw Normal View History

2014-09-11 14:02:27 +08:00
#
# Vivado (TM) v2013.4 (64-bit)
#
# zynq_rocketchip.tcl: Tcl script for re-creating project 'zynq_rocketchip'
#
# Generated by Vivado on Fri Aug 01 10:36:13 PDT 2014
# IP Build 208076 on Mon Dec 2 12:38:17 MST 2013
#
# This file contains the Vivado Tcl commands for re-creating the project to the state*
# when this script was generated. In order to re-create the project, please source this
# file in the Vivado Tcl Shell.
#
# * Note that the runs in the created project will be configured the same way as the
# original project, however they will not be launched automatically. To regenerate the
# run results please launch the synthesis/implementation runs as needed.
# Set the original project directory path for adding/importing sources in the new project
set orig_proj_dir "./"
# Create project
create_project zynq_rocketchip ./zynq_rocketchip
# Set the directory path for the new project
set proj_dir [get_property directory [current_project]]
# Set project properties
set obj [get_projects zynq_rocketchip]
set_property "part" "PART_NUMBER_HERE" $obj
set_property "simulator_language" "Mixed" $obj
# Create 'sources_1' fileset (if not found)
if {[string equal [get_filesets sources_1] ""]} {
create_fileset -srcset sources_1
}
# Add files to 'sources_1' fileset
set obj [get_filesets sources_1]
set files [list \
"[file normalize "$orig_proj_dir/src/bd/system/system.bd"]"\
]
add_files -norecurse -fileset $obj $files
# Import local files from the original project
set files [list \
"[file normalize "$orig_proj_dir/src/verilog/Top.v"]"\
"[file normalize "$orig_proj_dir/src/verilog/fifos.v"]"\
"[file normalize "$orig_proj_dir/src/verilog/rocketchip_wrapper.v"]"\
"[file normalize "$orig_proj_dir/src/verilog/clocking.vh"]"\
]
set imported_files [import_files -fileset sources_1 $files]
# Set 'sources_1' fileset file properties for remote files
# None
# Set 'sources_1' fileset file properties for local files
# None
# Set 'sources_1' fileset properties
set obj [get_filesets sources_1]
set_property "top" "rocketchip_wrapper" $obj
# Create 'constrs_1' fileset (if not found)
if {[string equal [get_filesets constrs_1] ""]} {
create_fileset -constrset constrs_1
}
# Add files to 'constrs_1' fileset
set obj [get_filesets constrs_1]
set files [list \
"[file normalize "$orig_proj_dir/src/constrs/base.xdc"]"\
]
add_files -norecurse -fileset $obj $files
# Set 'constrs_1' fileset file properties for remote files
set file "$orig_proj_dir/src/constrs/base.xdc"
set file [file normalize $file]
set file_obj [get_files -of_objects constrs_1 [list "*$file"]]
set_property "file_type" "XDC" $file_obj
# Set 'constrs_1' fileset file properties for local files
#set file "new/base.xdc"
#set file_obj [get_files -of_objects constrs_1 [list "*$file"]]
#set_property "file_type" "XDC" $file_obj
# Set 'constrs_1' fileset properties
set obj [get_filesets constrs_1]
set_property "target_constrs_file" "$orig_proj_dir/src/constrs/base.xdc" $obj
# Create 'sim_1' fileset (if not found)
if {[string equal [get_filesets sim_1] ""]} {
create_fileset -simset sim_1
}
# Add files to 'sim_1' fileset
set obj [get_filesets sim_1]
# Empty (no sources present)
# Set 'sim_1' fileset properties
set obj [get_filesets sim_1]
set_property "top" "rocketchip_wrapper" $obj
# Create 'synth_1' run (if not found)
if {[string equal [get_runs synth_1] ""]} {
create_run -name synth_1 -part PART_NUMBER_HERE -flow {Vivado Synthesis 2013} -strategy "Vivado Synthesis Defaults" -constrset constrs_1
}
set obj [get_runs synth_1]
set_property "needs_refresh" "1" $obj
set_property "part" "PART_NUMBER_HERE" $obj
# Create 'impl_1' run (if not found)
if {[string equal [get_runs impl_1] ""]} {
create_run -name impl_1 -part PART_NUMBER_HERE -flow {Vivado Implementation 2013} -strategy "Vivado Implementation Defaults" -constrset constrs_1 -parent_run synth_1
}
set obj [get_runs impl_1]
set_property "needs_refresh" "1" $obj
set_property "part" "PART_NUMBER_HERE" $obj
puts "INFO: Project created:zynq_rocketchip"
puts "About to generate IP"
reset_target all [get_files "$orig_proj_dir/src/bd/system/system.bd"]
generate_target all [get_files "$orig_proj_dir/src/bd/system/system.bd"]
exit