This use case shows how to automatic fix the violations in report file.
# Fix setup timing, fix_setup_timing.pl use strict; undo_eco; setup_eco("setup_eco0123"); set_log_file("setup_eco0123.log"); read_library("/lib/tsmc/tsmc40.hvt.lib"); # HVT library read_library("/lib/tsmc/tsmc40.rvt.lib"); # RVT library read_design('-imp', "/prj/netlist/rtc_gen.gv"); # Implementation Netlist read_file("-format", "pt", "/prj/pt/rpt/pt_max.report"); # Primetime Setup Violation report file set_top("rtc_gen"); # The module level that timing would be fixed fix_setup("-margin", 0); # Final slack will be larger than 0 report_eco(); write_verilog("setup_eco.v");