diff --git a/synthDC/.synopsys_dc.setup b/synthDC/.synopsys_dc.setup index efc21508..22884084 100755 --- a/synthDC/.synopsys_dc.setup +++ b/synthDC/.synopsys_dc.setup @@ -5,28 +5,31 @@ set search_path [list "./" ] set tech $::env(TECH) -set timing_lib $::env(RISCV)/cad/lib -lappend search_path $timing_lib +if { [info exists ::env(RISCV)] } { + set timing_lib $::env(RISCV)/cad/lib +} else { + set timing_lib ../addins +} -if {$tech == 130} { - set s8lib $timing_lib/sky130_osu_sc_t12/12T_ms/lib +if {$tech == "sky130"} { + set s8lib ../addins/sky130_osu_sc_t12/12T_ms/lib/ lappend search_path $s8lib -} elseif {$tech == 90} { - set s9lib $timing_lib/sky90/tech_files +} elseif {$tech == "sky90"} { + set s9lib $timing_lib/sky90/tech_files/ lappend search_path $s9lib } # Synthetic libraries set synthetic_library [list dw_foundation.sldb] -# Set OKSTATE standard cell libraries +# Set standard cell libraries set target_library [list] #lappend target_library scc9gena_tt_1.2v_25C.db -if {$tech == 130} { - lappend target_library sky130_osu_sc_12T_ms_TT_1P8_25C.ccs.db -} elseif {$tech == 90} { - lappend target_library scc9gena_tt_1.2v_25C.db +if {$tech == "sky130"} { + lappend target_library $s8lib/sky130_osu_sc_12T_ms_TT_1P8_25C.ccs.db +} elseif {$tech == "sky90"} { + lappend target_library $s9lib/scc9gena_tt_1.2v_25C.db } # Set Link Library diff --git a/synthDC/README.md b/synthDC/README.md index 12c9e5a0..7f257b6d 100644 --- a/synthDC/README.md +++ b/synthDC/README.md @@ -5,7 +5,7 @@ This subdirectory contains synthesis scripts for use with Synopsys scripts/synth.tcl. Example Usage -make synth DESIGN=wallypipelinedcore FREQ=300 +make synth DESIGN=wallypipelinedcore FREQ=500 environment variables @@ -13,7 +13,7 @@ DESIGN Design provides the name of the output log. Default is synth. FREQ - Frequency in Mhz. Default is 500 + Frequency in MHz. Default is 500 CONFIG The wally configuration file. Default is rv32e. @@ -24,8 +24,8 @@ CONFIG TECH The target standard cell library. Default is 130. - 90: skywater 90nm tt 25C. - 130: skywater 130nm tt 25C. + sky90: skywater 90nm TT 25C + sky130: skywater 130nm TT 25C SAIFPOWER Controls if power analysis is driven by switching factor or RTL modelsim simulation. @@ -34,7 +34,3 @@ SAIFPOWER 0: switching factor power analysis 1: RTL simulation driven power analysis. -Libraries in .synopsys_dc.setup file -set s8lib $timing_lib/sky130_osu_sc_t12/12T_ms/lib - - diff --git a/synthDC/scripts/synth.tcl b/synthDC/scripts/synth.tcl index adcbe854..eaf8ee99 100755 --- a/synthDC/scripts/synth.tcl +++ b/synthDC/scripts/synth.tcl @@ -3,7 +3,6 @@ # james.stine@okstate.edu 27 Sep 2015 # - # get outputDir from environment (Makefile) set outputDir $::env(OUTPUTDIR) set cfgName $::env(CONFIG) @@ -41,11 +40,6 @@ set vhdlout_show_unconnected_pins "true" # define_design_lib WORK -path ./WORK analyze -f sverilog -lib WORK $my_verilog_files - -# -# Added if you had any VHDL -# analyze -f vhdl -lib WORK $my_vhdl_files -# elaborate $my_toplevel -lib WORK # Set the current_design @@ -93,10 +87,9 @@ set all_in_ex_clk [remove_from_collection [all_inputs] [get_ports $my_clk]] # set_propagated_clock [get_clocks $my_clk] # Setting constraints on input ports -#set_driving_cell -lib_cell scc9gena_dfxbp_1 -pin Q $all_in_ex_clk -if {$tech == "130"} { +if {$tech == "sky130"} { set_driving_cell -lib_cell sky130_osu_sc_12T_ms__dff_1 -pin Q $all_in_ex_clk -} elseif {$tech == "90"} { +} elseif {$tech == "sky90"} { set_driving_cell -lib_cell scc9gena_dfxbp_1 -pin Q $all_in_ex_clk } @@ -105,10 +98,9 @@ set_input_delay 0.0 -max -clock $my_clk $all_in_ex_clk set_output_delay 0.0 -max -clock $my_clk [all_outputs] # Setting load constraint on output ports -#set_load [expr [load_of scc9gena_tt_1.2v_25C/scc9gena_dfxbp_1/D] * 1] [all_outputs] -if {$tech == "130"} { +if {$tech == "sky130"} { set_load [expr [load_of sky130_osu_sc_12T_ms_TT_1P8_25C.ccs/sky130_osu_sc_12T_ms__dff_1/D] * 1] [all_outputs] -} elseif {$tech == "90"} { +} elseif {$tech == "sky90"} { set_load [expr [load_of scc9gena_tt_1.2v_25C/scc9gena_dfxbp_1/D] * 1] [all_outputs] } @@ -188,136 +180,135 @@ set filename [format "%s%s%s%s" $outputDir "/reports/" $my_toplevel "_timing.re redirect $filename { report_timing -capacitance -transition_time -nets -nworst 1 } set filename [format "%s%s%s%s" $outputDir "/reports/" $my_toplevel "_per_module_timing.rep"] -redirect -append $filename { echo "\n\n\n//////////////// Critical paths through ifu ////////////////\n\n\n" } +redirect -append $filename { echo "\n\n\n//// Critical paths through ifu ////\n\n\n" } redirect -append $filename { report_timing -capacitance -transition_time -nets -through {ifu/*} -nworst 1 } -redirect -append $filename { echo "\n\n\n//////////////// Critical paths through ieu ////////////////\n\n\n" } +redirect -append $filename { echo "\n\n\n//// Critical paths through ieu ////\n\n\n" } redirect -append $filename { report_timing -capacitance -transition_time -nets -through {ieu/*} -nworst 1 } -redirect -append $filename { echo "\n\n\n//////////////// Critical paths through lsu ////////////////\n\n\n" } +redirect -append $filename { echo "\n\n\n//// Critical paths through lsu ////\n\n\n" } redirect -append $filename { report_timing -capacitance -transition_time -nets -through {lsu/*} -nworst 1 } -redirect -append $filename { echo "\n\n\n//////////////// Critical paths through ebu (ahblite) ////////////////\n\n\n" } +redirect -append $filename { echo "\n\n\n//// Critical paths through ebu (ahblite) ////\n\n\n" } redirect -append $filename { report_timing -capacitance -transition_time -nets -through {ebu/*} -nworst 1 } -redirect -append $filename { echo "\n\n\n//////////////// Critical paths through mdu ////////////////\n\n\n" } +redirect -append $filename { echo "\n\n\n//// Critical paths through mdu ////\n\n\n" } redirect -append $filename { report_timing -capacitance -transition_time -nets -through {mdu/*} -nworst 1 } -redirect -append $filename { echo "\n\n\n//////////////// Critical paths through hzu ////////////////\n\n\n" } +redirect -append $filename { echo "\n\n\n//// Critical paths through hzu ////\n\n\n" } redirect -append $filename { report_timing -capacitance -transition_time -nets -through {hzu/*} -nworst 1 } -redirect -append $filename { echo "\n\n\n//////////////// Critical paths through priv ////////////////\n\n\n" } +redirect -append $filename { echo "\n\n\n//// Critical paths through priv ////\n\n\n" } redirect -append $filename { report_timing -capacitance -transition_time -nets -through {priv/*} -nworst 1 } -redirect -append $filename { echo "\n\n\n//////////////// Critical paths through fpu ////////////////\n\n\n" } +redirect -append $filename { echo "\n\n\n//// Critical paths through fpu ////\n\n\n" } redirect -append $filename { report_timing -capacitance -transition_time -nets -through {fpu/*} -nworst 1 } set filename [format "%s%s%s%s" $outputDir "/reports/" $my_toplevel "_mdu_timing.rep"] -redirect -append $filename { echo "\n\n\n//////////////// Critical paths through entire mdu ////////////////\n\n\n" } +redirect -append $filename { echo "\n\n\n//// Critical paths through entire mdu ////\n\n\n" } redirect -append $filename { report_timing -capacitance -transition_time -nets -through {mdu/*} -nworst 1 } -redirect -append $filename { echo "\n\n\n//////////////// Critical paths through multiply unit ////////////////\n\n\n" } +redirect -append $filename { echo "\n\n\n//// Critical paths through multiply unit ////\n\n\n" } redirect -append $filename { report_timing -capacitance -transition_time -nets -through {mdu/genblk1.mul/*} -nworst 1 } -redirect -append $filename { echo "\n\n\n//////////////// Critical paths through redundant multiplier ////////////////\n\n\n" } +redirect -append $filename { echo "\n\n\n//// Critical paths through redundant multiplier ////\n\n\n" } redirect -append $filename { report_timing -capacitance -transition_time -nets -through {mdu/genblk1.mul/bigmul/*} -nworst 1 } -redirect -append $filename { echo "\n\n\n//////////////// Critical path through ProdM (mul output) ////////////////\n\n\n" } +redirect -append $filename { echo "\n\n\n//// Critical path through ProdM (mul output) ////\n\n\n" } redirect -append $filename { report_timing -capacitance -transition_time -nets -through {mdu/genblk1.ProdM} -nworst 1 } -redirect -append $filename { echo "\n\n\n//////////////// Critical path through PP0E (mul partial product) ////////////////\n\n\n" } +redirect -append $filename { echo "\n\n\n//// Critical path through PP0E (mul partial product) ////\n\n\n" } redirect -append $filename { report_timing -capacitance -transition_time -nets -through {mdu/genblk1.mul/PP0E} -nworst 1 } -redirect -append $filename { echo "\n\n\n//////////////// Critical paths through divide unit ////////////////\n\n\n" } +redirect -append $filename { echo "\n\n\n//// Critical paths through divide unit ////\n\n\n" } redirect -append $filename { report_timing -capacitance -transition_time -nets -through {mdu/genblk1.div/*} -nworst 1 } -redirect -append $filename { echo "\n\n\n//////////////// Critical path through QuotM (div output) ////////////////\n\n\n" } +redirect -append $filename { echo "\n\n\n//// Critical path through QuotM (div output) ////\n\n\n" } redirect -append $filename { report_timing -capacitance -transition_time -nets -through {mdu/genblk1.QuotM} -nworst 1 } -redirect -append $filename { echo "\n\n\n//////////////// Critical path through RemM (div output) ////////////////\n\n\n" } +redirect -append $filename { echo "\n\n\n//// Critical path through RemM (div output) ////\n\n\n" } redirect -append $filename { report_timing -capacitance -transition_time -nets -through {mdu/genblk1.RemM} -nworst 1 } -redirect -append $filename { echo "\n\n\n//////////////// Critical path through div/WNextE ////////////////\n\n\n" } +redirect -append $filename { echo "\n\n\n//// Critical path through div/WNextE ////\n\n\n" } redirect -append $filename { report_timing -capacitance -transition_time -nets -through {mdu/genblk1.div/WNextE} -nworst 1 } -redirect -append $filename { echo "\n\n\n//////////////// Critical path through div/XQNextE ////////////////\n\n\n" } +redirect -append $filename { echo "\n\n\n//// Critical path through div/XQNextE ////\n\n\n" } redirect -append $filename { report_timing -capacitance -transition_time -nets -through {mdu/genblk1.div/XQNextE} -nworst 1 } -redirect -append $filename { echo "\n\n\n//////////////// Critical path through div/DAbsBE ////////////////\n\n\n" } +redirect -append $filename { echo "\n\n\n//// Critical path through div/DAbsBE ////\n\n\n" } redirect -append $filename { report_timing -capacitance -transition_time -nets -through {mdu/genblk1.div/DAbsBE} -nworst 1 } # set filename [format "%s%s%s%s" $outputDir "/reports/" $my_toplevel "_fpu_timing.rep"] -# redirect $filename { echo "\n\n\n//////////////// Critical paths through fma ////////////////\n\n\n" } +# redirect $filename { echo "\n\n\n//// Critical paths through fma ////\n\n\n" } # redirect -append $filename { report_timing -capacitance -transition_time -nets -through {fpu/fpu.fma/*} -nworst 1 } -# redirect -append $filename { echo "\n\n\n//////////////// Critical paths through fpdiv ////////////////\n\n\n" } +# redirect -append $filename { echo "\n\n\n//// Critical paths through fpdiv ////\n\n\n" } # redirect -append $filename { report_timing -capacitance -transition_time -nets -through {fpu/fpu.fdivsqrt/*} -nworst 1 } -# redirect -append $filename { echo "\n\n\n//////////////// Critical paths through faddcvt ////////////////\n\n\n" } +# redirect -append $filename { echo "\n\n\n//// Critical paths through faddcvt ////\n\n\n" } # redirect -append $filename { report_timing -capacitance -transition_time -nets -through {fpu/fpu.faddcvt/*} -nworst 1 } set filename [format "%s%s%s%s" $outputDir "/reports/" $my_toplevel "_ifu_timing.rep"] -redirect -append $filename { echo "\n\n\n//////////////// Critical path through PCF ////////////////\n\n\n" } +redirect -append $filename { echo "\n\n\n//// Critical path through PCF ////\n\n\n" } redirect -append $filename { report_timing -capacitance -transition_time -nets -through {ifu/PCF} -nworst 1 } -redirect -append $filename { echo "\n\n\n//////////////// Critical path through PCNextF ////////////////\n\n\n" } +redirect -append $filename { echo "\n\n\n//// Critical path through PCNextF ////\n\n\n" } redirect -append $filename { report_timing -capacitance -transition_time -nets -through {ifu/PCNextF} -nworst 1 } -redirect -append $filename { echo "\n\n\n//////////////// Critical path through FinalInstrRawF ////////////////\n\n\n" } +redirect -append $filename { echo "\n\n\n//// Critical path through FinalInstrRawF ////\n\n\n" } redirect -append $filename { report_timing -capacitance -transition_time -nets -through {ifu/FinalInstrRawF} -nworst 1 } -redirect -append $filename { echo "\n\n\n//////////////// Critical path through InstrD ////////////////\n\n\n" } +redirect -append $filename { echo "\n\n\n//// Critical path through InstrD ////\n\n\n" } redirect -append $filename { report_timing -capacitance -transition_time -nets -through {ifu/decomp/InstrD} -nworst 1 } set filename [format "%s%s%s%s" $outputDir "/reports/" $my_toplevel "_stall_flush_timing.rep"] -redirect -append $filename { echo "\n\n\n//////////////// Critical path through StallD ////////////////\n\n\n" } +redirect -append $filename { echo "\n\n\n//// Critical path through StallD ////\n\n\n" } redirect -append $filename { report_timing -capacitance -transition_time -nets -through {ieu/StallD} -nworst 1 } -redirect -append $filename { echo "\n\n\n//////////////// Critical path through StallE ////////////////\n\n\n" } +redirect -append $filename { echo "\n\n\n//// Critical path through StallE ////\n\n\n" } redirect -append $filename { report_timing -capacitance -transition_time -nets -through {ieu/StallE} -nworst 1 } -redirect -append $filename { echo "\n\n\n//////////////// Critical path through StallM ////////////////\n\n\n" } +redirect -append $filename { echo "\n\n\n//// Critical path through StallM ////\n\n\n" } redirect -append $filename { report_timing -capacitance -transition_time -nets -through {ieu/StallM} -nworst 1 } -redirect -append $filename { echo "\n\n\n//////////////// Critical path through StallW ////////////////\n\n\n" } +redirect -append $filename { echo "\n\n\n//// Critical path through StallW ////\n\n\n" } redirect -append $filename { report_timing -capacitance -transition_time -nets -through {ieu/StallW} -nworst 1 } -redirect -append $filename { echo "\n\n\n//////////////// Critical path through FlushD ////////////////\n\n\n" } +redirect -append $filename { echo "\n\n\n//// Critical path through FlushD ////\n\n\n" } redirect -append $filename { report_timing -capacitance -transition_time -nets -through {ieu/FlushD} -nworst 1 } -redirect -append $filename { echo "\n\n\n//////////////// Critical path through FlushE ////////////////\n\n\n" } +redirect -append $filename { echo "\n\n\n//// Critical path through FlushE ////\n\n\n" } redirect -append $filename { report_timing -capacitance -transition_time -nets -through {ieu/FlushE} -nworst 1 } -redirect -append $filename { echo "\n\n\n//////////////// Critical path through FlushM ////////////////\n\n\n" } +redirect -append $filename { echo "\n\n\n//// Critical path through FlushM ////\n\n\n" } redirect -append $filename { report_timing -capacitance -transition_time -nets -through {ieu/FlushM} -nworst 1 } -redirect -append $filename { echo "\n\n\n//////////////// Critical path through FlushW ////////////////\n\n\n" } +redirect -append $filename { echo "\n\n\n//// Critical path through FlushW ////\n\n\n" } redirect -append $filename { report_timing -capacitance -transition_time -nets -through {ieu/FlushW} -nworst 1 } set filename [format "%s%s%s%s" $outputDir "/reports/" $my_toplevel "_ieu_timing.rep"] -redirect -append $filename { echo "\n\n\n//////////////// Critical path through datapath/RD1D ////////////////\n\n\n" } +redirect -append $filename { echo "\n\n\n//// Critical path through datapath/RD1D ////\n\n\n" } redirect -append $filename { report_timing -capacitance -transition_time -nets -through {ieu/dp/RD1D} -nworst 1 } -redirect -append $filename { echo "\n\n\n//////////////// Critical path through datapath/RD2D ////////////////\n\n\n" } +redirect -append $filename { echo "\n\n\n//// Critical path through datapath/RD2D ////\n\n\n" } redirect -append $filename { report_timing -capacitance -transition_time -nets -through {ieu/dp/RD2D} -nworst 1 } -redirect -append $filename { echo "\n\n\n//////////////// Critical path through datapath/PreSrcAE ////////////////\n\n\n" } +redirect -append $filename { echo "\n\n\n//// Critical path through datapath/PreSrcAE ////\n\n\n" } redirect -append $filename { report_timing -capacitance -transition_time -nets -through {ieu/dp/PreSrcAE} -nworst 1 } -redirect -append $filename { echo "\n\n\n//////////////// Critical path through datapath/SrcAE ////////////////\n\n\n" } +redirect -append $filename { echo "\n\n\n//// Critical path through datapath/SrcAE ////\n\n\n" } redirect -append $filename { report_timing -capacitance -transition_time -nets -through {ieu/dp/SrcAE} -nworst 1 } -redirect -append $filename { echo "\n\n\n//////////////// Critical path through datapath/ALUResultE ////////////////\n\n\n" } +redirect -append $filename { echo "\n\n\n//// Critical path through datapath/ALUResultE ////\n\n\n" } redirect -append $filename { report_timing -capacitance -transition_time -nets -through {ieu/dp/ALUResultE} -nworst 1 } -redirect -append $filename { echo "\n\n\n//////////////// Critical path through datapath/WriteDataE ////////////////\n\n\n" } +redirect -append $filename { echo "\n\n\n//// Critical path through datapath/WriteDataE ////\n\n\n" } redirect -append $filename { report_timing -capacitance -transition_time -nets -through {ieu/dp/WriteDataE} -nworst 1 } -redirect -append $filename { echo "\n\n\n//////////////// Critical path through dataphath/ResultM ////////////////\n\n\n" } +redirect -append $filename { echo "\n\n\n//// Critical path through dataphath/ResultM ////\n\n\n" } redirect -append $filename { report_timing -capacitance -transition_time -nets -through {ieu/dp/ResultM} -nworst 1 } -redirect -append $filename { echo "\n\n\n//////////////// Critical path through datapath/WriteDataW ////////////////\n\n\n" } +redirect -append $filename { echo "\n\n\n//// Critical path through datapath/WriteDataW ////\n\n\n" } redirect -append $filename { report_timing -capacitance -transition_time -nets -through {ieu/dp/WriteDataW} -nworst 1 } -redirect -append $filename { echo "\n\n\n//////////////// Critical path through datapath/ReadDataM ////////////////\n\n\n" } +redirect -append $filename { echo "\n\n\n//// Critical path through datapath/ReadDataM ////\n\n\n" } redirect -append $filename { report_timing -capacitance -transition_time -nets -through {ieu/dp/ReadDataM} -nworst 1 } set filename [format "%s%s%s%s" $outputDir "/reports/" $my_toplevel "_fpu_timing.rep"] -redirect -append $filename { echo "\n\n\n//////////////// Critical paths through fma ////////////////\n\n\n" } +redirect -append $filename { echo "\n\n\n//// Critical paths through fma ////\n\n\n" } redirect -append $filename { report_timing -capacitance -transition_time -nets -through {fpu/fpu.fma/*} -nworst 1 } -redirect -append $filename { echo "\n\n\n//////////////// Critical paths through fpdiv ////////////////\n\n\n" } +redirect -append $filename { echo "\n\n\n//// Critical paths through fpdiv ////\n\n\n" } redirect -append $filename { report_timing -capacitance -transition_time -nets -through {fpu/fpu.fdivsqrt/*} -nworst 1 } -redirect -append $filename { echo "\n\n\n//////////////// Critical paths through faddcvt ////////////////\n\n\n" } +redirect -append $filename { echo "\n\n\n//// Critical paths through faddcvt ////\n\n\n" } redirect -append $filename { report_timing -capacitance -transition_time -nets -through {fpu/fpu.faddcvt/*} -nworst 1 } -redirect -append $filename { echo "\n\n\n//////////////// Critical paths through FMAResM ////////////////\n\n\n" } +redirect -append $filename { echo "\n\n\n//// Critical paths through FMAResM ////\n\n\n" } redirect -append $filename { report_timing -capacitance -transition_time -nets -through {fpu/fpu.FMAResM} -nworst 1 } -redirect -append $filename { echo "\n\n\n//////////////// Critical paths through FDivResM ////////////////\n\n\n" } +redirect -append $filename { echo "\n\n\n//// Critical paths through FDivResM ////\n\n\n" } redirect -append $filename { report_timing -capacitance -transition_time -nets -through {fpu/fpu.FDivResM} -nworst 1 } -redirect -append $filename { echo "\n\n\n//////////////// Critical paths through FResE ////////////////\n\n\n" } +redirect -append $filename { echo "\n\n\n//// Critical paths through FResE ////\n\n\n" } redirect -append $filename { report_timing -capacitance -transition_time -nets -through {fpu/fpu.FResE} -nworst 1 } -redirect -append $filename { echo "\n\n\n//////////////// Critical paths through fma/SumE ////////////////\n\n\n" } +redirect -append $filename { echo "\n\n\n//// Critical paths through fma/SumE ////\n\n\n" } redirect -append $filename { report_timing -capacitance -transition_time -nets -through {fpu/fpu.fma/SumE} -nworst 1 } -redirect -append $filename { echo "\n\n\n//////////////// Critical paths through fma/ProdExpE ////////////////\n\n\n" } +redirect -append $filename { echo "\n\n\n//// Critical paths through fma/ProdExpE ////\n\n\n" } redirect -append $filename { report_timing -capacitance -transition_time -nets -through {fpu/fpu.fma/ProdExpE} -nworst 1 } set filename [format "%s%s%s%s" $outputDir "/reports/" $my_toplevel "_mmu_timing.rep"] -redirect -append $filename { echo "\n\n\n//////////////// Critical paths through immu/physicaladdress ////////////////\n\n\n" } +redirect -append $filename { echo "\n\n\n//// Critical paths through immu/physicaladdress ////\n\n\n" } redirect -append $filename { report_timing -capacitance -transition_time -nets -through {ifu/immu/PhysicalAddress} -nworst 1 } -redirect -append $filename { echo "\n\n\n//////////////// Critical paths through dmmu/physicaladdress ////////////////\n\n\n" } +redirect -append $filename { echo "\n\n\n//// Critical paths through dmmu/physicaladdress ////\n\n\n" } redirect -append $filename { report_timing -capacitance -transition_time -nets -through {lsu/dmmu/PhysicalAddress} -nworst 1 } set filename [format "%s%s%s%s" $outputDir "/reports/" $my_toplevel "_priv_timing.rep"] -redirect -append $filename { echo "\n\n\n//////////////// Critical paths through priv/TrapM ////////////////\n\n\n" } +redirect -append $filename { echo "\n\n\n//// Critical paths through priv/TrapM ////\n\n\n" } redirect -append $filename { report_timing -capacitance -transition_time -nets -through {priv/TrapM} -nworst 1 } -redirect -append $filename { echo "\n\n\n//////////////// Critical paths through priv/CSRReadValM ////////////////\n\n\n" } +redirect -append $filename { echo "\n\n\n//// Critical paths through priv/CSRReadValM ////\n\n\n" } redirect -append $filename { report_timing -capacitance -transition_time -nets -through {priv/csr/CSRReadValM} -nworst 1 } -redirect -append $filename { echo "\n\n\n//////////////// Critical paths through priv/CSRReadValW ////////////////\n\n\n" } +redirect -append $filename { echo "\n\n\n//// Critical paths through priv/CSRReadValW ////\n\n\n" } redirect -append $filename { report_timing -capacitance -transition_time -nets -through {priv/CSRReadValW} -nworst 1 } - set filename [format "%s%s%s%s" $outputDir "/reports/" $my_toplevel "_min_timing.rep"] redirect $filename { report_timing -delay min } @@ -336,5 +327,4 @@ redirect $filename { report_constraint } set filename [format "%s%s%s%s" $outputDir "/reports/" $my_toplevel "_hier.rep"] redirect $filename { report_hierarchy } -#Quit -#quit +quit