if { $argc < 3 } { error "Usage: vivado -mode batch -source impl.tcl -tclargs DCP SYNTH_DCP CONSTR" } else { puts "All OK" } variable DCP [lindex $argv 0] variable SYNTH_DCP [lindex $argv 1] variable CONSTR [lindex $argv 2] puts "Using syntheized DCP $SYNTH_DCP" puts "Using constraints file $CONSTR" puts "Synthesizing to DCP $DCP" puts "Opening checkpoint" open_checkpoint "$SYNTH_DCP" puts "Reading XDC" read_xdc $CONSTR # You will get DRC errors without the next two lines # when generating a bitstream (Why??, true??) set_property CFGBVS VCCO [current_design] set_property CONFIG_VOLTAGE 3.3 [current_design] puts "Optimizing design" opt_design puts "Placing design" place_design puts "Routing design" route_design puts "Writing design checkpoint" write_checkpoint -force "$DCP"