46 lines
1.7 KiB
Tcl
46 lines
1.7 KiB
Tcl
# Usage from repository root:
|
|
# vivado -mode batch -source doc/reports/system/tools/collect_report_evidence.tcl
|
|
|
|
set script_dir [file dirname [file normalize [info script]]]
|
|
set repo_root [file normalize [file join $script_dir ../../../..]]
|
|
set xpr [file join $repo_root fpga project Loongson_Soc.xpr]
|
|
set out_dir [file join $repo_root doc reports system evidence vivado]
|
|
file mkdir $out_dir
|
|
|
|
if {![file exists $xpr]} {
|
|
puts stderr "ERROR: project not found: $xpr"
|
|
puts stderr "Run: cd fpga && vivado -mode batch -source create_project.tcl"
|
|
exit 2
|
|
}
|
|
|
|
open_project $xpr
|
|
set run [get_runs impl_1]
|
|
if {[get_property PROGRESS $run] ne "100%"} {
|
|
puts stderr "ERROR: impl_1 is not complete; run fpga/run_impl.tcl first"
|
|
close_project
|
|
exit 3
|
|
}
|
|
|
|
open_run impl_1
|
|
report_timing_summary -delay_type min_max -report_unconstrained -check_timing_verbose \
|
|
-max_paths 20 -input_pins -file [file join $out_dir timing_summary_full.rpt]
|
|
report_utilization -hierarchical -hierarchical_depth 4 \
|
|
-file [file join $out_dir utilization_hierarchical.rpt]
|
|
report_utilization -file [file join $out_dir utilization.rpt]
|
|
report_power -file [file join $out_dir power.rpt]
|
|
report_clock_interaction -delay_type min_max -file [file join $out_dir clock_interaction.rpt]
|
|
report_cdc -details -file [file join $out_dir cdc.rpt]
|
|
report_drc -file [file join $out_dir drc.rpt]
|
|
report_methodology -file [file join $out_dir methodology.rpt]
|
|
report_route_status -file [file join $out_dir route_status.rpt]
|
|
|
|
set fp [open [file join $out_dir revision.txt] w]
|
|
puts $fp "Evidence generated from implemented design."
|
|
puts $fp "Vivado version: [version -short]"
|
|
puts $fp "Project: $xpr"
|
|
close $fp
|
|
|
|
close_project
|
|
puts "Report evidence written to: $out_dir"
|
|
exit 0
|