diff options
Diffstat (limited to 'fpga/usrp3/top/tcl')
| -rw-r--r-- | fpga/usrp3/top/tcl/ise_helper.tcl | 79 | 
1 files changed, 79 insertions, 0 deletions
diff --git a/fpga/usrp3/top/tcl/ise_helper.tcl b/fpga/usrp3/top/tcl/ise_helper.tcl new file mode 100644 index 000000000..01e8226f1 --- /dev/null +++ b/fpga/usrp3/top/tcl/ise_helper.tcl @@ -0,0 +1,79 @@ +# +# Copyright 2008 Ettus Research LLC +#  + +proc set_props {process options} { +	if ![string compare $options ""] { +		return +	} +	set state 1 +	foreach opt $options { +		if $state { +			set key $opt +			set state 0 +		} else { +			puts ">>> Setting: $process\[$key\] = $opt"  +			if ![string compare $process "Project"] { +				project set $key $opt +			} else { +				project set $key $opt -process $process +			} +			set state 1	 +		} +	} +} + +if [file isfile $env(ISE_FILE)] { +	puts ">>> Opening project: $env(ISE_FILE)" +	project open $env(ISE_FILE) +} else {	 +	puts ">>> Creating project: $env(ISE_FILE)" +	project new $env(ISE_FILE) +	 +	################################################## +	# Set the project properties +	################################################## +	set_props "Project" $env(PROJECT_PROPERTIES) +	 +	################################################## +	# Add the sources +	################################################## +	foreach source $env(SOURCES) { +		puts ">>> Adding source to project: $source" +		xfile add $source +	} +	 +	################################################## +	# Add the custom sources +	################################################## +	foreach source $env(CUSTOM_SRCS) { +		puts ">>> Adding custom source to project: $source" +		xfile add $source -include_global +	} +	 +	################################################## +	# Set the top level module +	################################################## +	project set top $env(TOP_MODULE) +	 +	################################################## +	# Set the process properties +	################################################## +	set_props "Synthesize - XST" $env(SYNTHESIZE_PROPERTIES) +	set_props "Translate" $env(TRANSLATE_PROPERTIES) +	set_props "Map" $env(MAP_PROPERTIES) +	set_props "Place & Route" $env(PLACE_ROUTE_PROPERTIES) +	set_props "Generate Post-Place & Route Static Timing" $env(STATIC_TIMING_PROPERTIES) +	set_props "Generate Programming File" $env(GEN_PROG_FILE_PROPERTIES) +	set_props "Generate Post-Place & Route Simulation Model" $env(SIM_MODEL_PROPERTIES) +} + +if [string compare [lindex $argv 0] ""] { +	puts ">>> Running Process: [lindex $argv 0]" +	process run [lindex $argv 0] +} + +project close +exit + +  | 
