2025-09-08 17:05:04 -07:00

32 lines
670 B
Tcl

if { $argc < 4 } {
error "Usage: vivado -mode batch -source synth.tcl -tclargs DCP PART TOP SRCFILES"
} else {
puts "All OK"
}
variable DCP [lindex $argv 0]
variable PART [lindex $argv 1]
variable TOP [lindex $argv 2]
variable SRCFILES [lrange ${argv} 3 end]
puts "Synthesizing to DCP $DCP"
puts "Using part $PART"
puts "Using top module $TOP"
puts "Synthesizing sources $SRCFILES"
if {[llength $SRCFILES] == 0} {
error "No Verilog sources"
}
link_design -part $PART
puts "Reading Verilog sources"
read_verilog $SRCFILES
puts "Synthesizing design"
synth_design -top $TOP -flatten_hierarchy full
puts "Writing Design Checkpoint"
write_checkpoint -force "$DCP"