diff --git a/config/buildroot/wally-config.vh b/config/buildroot/wally-config.vh index 656bfbe4c..a42587d96 100644 --- a/config/buildroot/wally-config.vh +++ b/config/buildroot/wally-config.vh @@ -132,7 +132,7 @@ `define BPRED_SUPPORTED 1 `define BPRED_TYPE "BPGSHARE" // BPLOCALPAg or BPGLOBAL or BPTWOBIT or BPGSHARE `define BPRED_SIZE 10 -`define BTB_SIZE (`BPRED_SIZE) +`define BTB_SIZE 10 `define HPTW_WRITES_SUPPORTED 1 diff --git a/config/fpga/wally-config.vh b/config/fpga/wally-config.vh index a4c97a86e..6f52e3e9a 100644 --- a/config/fpga/wally-config.vh +++ b/config/fpga/wally-config.vh @@ -141,7 +141,7 @@ `define BPRED_SUPPORTED 1 `define BPRED_TYPE "BPSPECULATIVEGSHARE" // BPLOCALPAg or BPGLOBAL or BPTWOBIT or BPGSHARE or BPSPECULATIVEGLOBAL or BPSPECULATIVEGSHARE or BPOLDGSHARE or BPOLDGSHARE2 `define BPRED_SIZE 10 -`define BTB_SIZE (`BPRED_SIZE) +`define BTB_SIZE 10 `define HPTW_WRITES_SUPPORTED 1 diff --git a/config/rv32e/wally-config.vh b/config/rv32e/wally-config.vh index 8a0dd5f4b..296bcbea8 100644 --- a/config/rv32e/wally-config.vh +++ b/config/rv32e/wally-config.vh @@ -136,7 +136,7 @@ `define BPRED_SUPPORTED 0 `define BPRED_TYPE "BPGSHARE" // BPLOCALPAg or BPGLOBAL or BPTWOBIT or BPGSHARE `define BPRED_SIZE 10 -`define BTB_SIZE (`BPRED_SIZE) +`define BTB_SIZE 10 `define HPTW_WRITES_SUPPORTED 0 diff --git a/config/rv32gc/wally-config.vh b/config/rv32gc/wally-config.vh index 07b4668ec..28d91e58b 100644 --- a/config/rv32gc/wally-config.vh +++ b/config/rv32gc/wally-config.vh @@ -135,7 +135,7 @@ `define BPRED_SUPPORTED 1 `define BPRED_TYPE "BPSPECULATIVEGSHARE" // BPLOCALPAg or BPGLOBAL or BPTWOBIT or BPGSHARE `define BPRED_SIZE 10 -`define BTB_SIZE (`BPRED_SIZE) +`define BTB_SIZE 10 `define HPTW_WRITES_SUPPORTED 0 diff --git a/config/rv32i/wally-config.vh b/config/rv32i/wally-config.vh index 4ef0b60e7..60cba64a3 100644 --- a/config/rv32i/wally-config.vh +++ b/config/rv32i/wally-config.vh @@ -136,7 +136,7 @@ `define BPRED_SUPPORTED 0 `define BPRED_TYPE "BPGSHARE" // BPLOCALPAg or BPGLOBAL or BPTWOBIT or BPGSHARE `define BPRED_SIZE 10 -`define BTB_SIZE (`BPRED_SIZE) +`define BTB_SIZE 10 `define HPTW_WRITES_SUPPORTED 0 diff --git a/config/rv32imc/wally-config.vh b/config/rv32imc/wally-config.vh index 19da7c42f..9d263ae39 100644 --- a/config/rv32imc/wally-config.vh +++ b/config/rv32imc/wally-config.vh @@ -135,7 +135,7 @@ `define BPRED_SUPPORTED 0 `define BPRED_TYPE "BPSPECULATIVEGSHARE" // BPLOCALPAg or BPGLOBAL or BPTWOBIT or BPGSHARE `define BPRED_SIZE 10 -`define BTB_SIZE (`BPRED_SIZE) +`define BTB_SIZE 10 `define HPTW_WRITES_SUPPORTED 0 diff --git a/config/rv64fpquad/wally-config.vh b/config/rv64fpquad/wally-config.vh index 7f0c2a048..00b193029 100644 --- a/config/rv64fpquad/wally-config.vh +++ b/config/rv64fpquad/wally-config.vh @@ -138,7 +138,7 @@ `define BPRED_SUPPORTED 1 `define BPRED_TYPE "BPGSHARE" // BPLOCALPAg or BPGLOBAL or BPTWOBIT or BPGSHARE `define BPRED_SIZE 10 -`define BTB_SIZE (`BPRED_SIZE) +`define BTB_SIZE 10 `define HPTW_WRITES_SUPPORTED 0 diff --git a/config/rv64gc/wally-config.vh b/config/rv64gc/wally-config.vh index d163dc34b..d61d66c67 100644 --- a/config/rv64gc/wally-config.vh +++ b/config/rv64gc/wally-config.vh @@ -138,7 +138,7 @@ `define BPRED_SUPPORTED 1 `define BPRED_TYPE "BPSPECULATIVEGSHARE" // BPLOCALPAg or BPGLOBAL or BPTWOBIT or BPGSHARE or BPSPECULATIVEGLOBAL or BPSPECULATIVEGSHARE or BPOLDGSHARE or BPOLDGSHARE2 `define BPRED_SIZE 10 -`define BTB_SIZE (`BPRED_SIZE) +`define BTB_SIZE 10 `define HPTW_WRITES_SUPPORTED 0 diff --git a/config/rv64i/wally-config.vh b/config/rv64i/wally-config.vh index 24a171a75..7cc8d887e 100644 --- a/config/rv64i/wally-config.vh +++ b/config/rv64i/wally-config.vh @@ -138,7 +138,7 @@ `define BPRED_SUPPORTED 0 `define BPRED_TYPE "BPGSHARE" // BPLOCALPAg or BPGLOBAL or BPTWOBIT or BPGSHARE `define BPRED_SIZE 10 -`define BTB_SIZE (`BPRED_SIZE) +`define BTB_SIZE 10 `define HPTW_WRITES_SUPPORTED 0 diff --git a/src/generic/mem/rom1p1r.sv b/src/generic/mem/rom1p1r.sv index c5c1f8b0a..6930bc0db 100644 --- a/src/generic/mem/rom1p1r.sv +++ b/src/generic/mem/rom1p1r.sv @@ -38,19 +38,19 @@ module rom1p1r #(parameter ADDR_WIDTH = 8, // Core Memory logic [DATA_WIDTH-1:0] ROM [(2**ADDR_WIDTH)-1:0]; - if ((`USE_SRAM == 1) & (DATA_WIDTH == 64)) begin +/* if ((`USE_SRAM == 1) & (ADDR_WDITH == 7) & (DATA_WIDTH == 64)) begin rom1p1r_128x64 rom1 (.CLK(clk), .CEB(~ce), .A(addr[6:0]), .Q(dout)); - end if ((`USE_SRAM == 1) & (DATA_WIDTH == 32)) begin + end if ((`USE_SRAM == 1) & (ADDR_WDITH == 7) & (DATA_WIDTH == 32)) begin rom1p1r_128x32 rom1 (.CLK(clk), .CEB(~ce), .A(addr[6:0]), .Q(dout)); - end else begin - always @ (posedge clk) begin + end else begin */ + always @ (posedge clk) begin if(ce) dout <= ROM[addr]; - end + end // for FPGA, initialize with zero-stage bootloader - if(PRELOAD_ENABLED) begin + if(PRELOAD_ENABLED) initial begin ROM[0] = 64'h9581819300002197; ROM[1] = 64'h4281420141014081; @@ -96,7 +96,5 @@ module rom1p1r #(parameter ADDR_WIDTH = 8, ROM[41] = 64'h40a7853b4015551b; ROM[42] = 64'h808210a7a02367c9; end - end - end endmodule diff --git a/src/ifu/bpred/btb.sv b/src/ifu/bpred/btb.sv index 7893ace5f..bf64ccbe8 100644 --- a/src/ifu/bpred/btb.sv +++ b/src/ifu/bpred/btb.sv @@ -30,7 +30,7 @@ `include "wally-config.vh" -module btb #(parameter int Depth = 10 ) ( +module btb #(parameter Depth = 10 ) ( input logic clk, input logic reset, input logic StallF, StallD, StallM, FlushD, FlushM, diff --git a/src/ifu/irom.sv b/src/ifu/irom.sv index ba23cf23b..f47f315f6 100644 --- a/src/ifu/irom.sv +++ b/src/ifu/irom.sv @@ -33,8 +33,9 @@ module irom( output logic [31:0] IROMInstrF // Instruction read data ); - localparam ADDR_WDITH = $clog2(`IROM_RANGE/8); - localparam OFFSET = $clog2(`XLEN/8); + localparam XLENBYTES = `XLEN/8; + localparam ADDR_WDITH = $clog2(`IROM_RANGE/XLENBYTES); + localparam OFFSET = $clog2(XLENBYTES); logic [`XLEN-1:0] IROMInstrFFull; logic [31:0] RawIROMInstrF; diff --git a/synthDC/Makefile b/synthDC/Makefile index 5ea9677c5..136e610d2 100755 --- a/synthDC/Makefile +++ b/synthDC/Makefile @@ -72,6 +72,7 @@ else sed -i 's/WAYSIZEINBYTES.*/WAYSIZEINBYTES 512/g' $(CONFIGDIR)/wally-config.vh sed -i 's/NUMWAYS.*/NUMWAYS 1/g' $(CONFIGDIR)/wally-config.vh sed -i 's/BPRED_SIZE.*/BPRED_SIZE 5/g' $(CONFIGDIR)/wally-config.vh + sed -i 's/BTB_SIZE.*/BTB_SIZE 5/g' $(CONFIGDIR)/wally-config.vh ifneq ($(filter $(CONFIG), $(DIRS32)),) sed -i "s/BOOTROM_RANGE.*/BOOTROM_RANGE 34\'h01FF/g" $(CONFIGDIR)/wally-config.vh sed -i "s/UNCORE_RAM_RANGE.*/UNCORE_RAM_RANGE 34\'h01FF/g" $(CONFIGDIR)/wally-config.vh diff --git a/synthDC/scripts/synth.tcl b/synthDC/scripts/synth.tcl index c4579e5c5..aea0d6f17 100755 --- a/synthDC/scripts/synth.tcl +++ b/synthDC/scripts/synth.tcl @@ -116,7 +116,7 @@ if { $find_clock != [list] } { } # Optimize paths that are close to critical -set_critical_range [expr $my_period*0.05] $current_design +set_critical_range 0.05 $current_design # Partitioning - flatten or hierarchically synthesize if { $maxopt == 1 } { @@ -227,7 +227,7 @@ set write_cst 1 ;# generate report of constraints set write_hier 1 ;# generate hierarchy report # Report Constraint Violators -set filename [format "%s%s%s%s" $outputDir "/reports/" $my_toplevel "_constraint_all_violators.rpt"] +set filename [format "%s%s" $outputDir "/reports/constraint_all_violators.rpt"] redirect $filename {report_constraint -all_violators} # Check design @@ -247,23 +247,23 @@ set filename [format "%s%s%s%s" $outputDir "/mapped/" $my_toplevel ".sdf"] write_sdf $filename # QoR -set filename [format "%s%s%s%s" $outputDir "/reports/" $my_toplevel "_qor.rep"] +set filename [format "%s%s" $outputDir "/reports/qor.rep"] redirect $filename { report_qor } # Report Timing -set filename [format "%s%s%s%s" $outputDir "/reports/" $my_toplevel "_reportpath.rep"] +set filename [format "%s%s" $outputDir "/reports/reportpath.rep"] #redirect $filename { report_path_group } -set filename [format "%s%s%s%s" $outputDir "/reports/" $my_toplevel "_report_clock.rep"] +set filename [format "%s%s" $outputDir "/reports/report_clock.rep"] # redirect $filename { report_clock } -set filename [format "%s%s%s%s" $outputDir "/reports/" $my_toplevel "_timing.rep"] +set filename [format "%s%s" $outputDir "/reports/timing.rep"] redirect $filename { report_timing -capacitance -transition_time -nets -nworst 1 } -set filename [format "%s%s%s%s" $outputDir "/reports/" $my_toplevel "_mindelay.rep"] +set filename [format "%s%s" $outputDir "/reports/mindelay.rep"] redirect $filename { report_timing -capacitance -transition_time -nets -delay_type min -nworst 1 } -set filename [format "%s%s%s%s" $outputDir "/reports/" $my_toplevel "_per_module_timing.rep"] +set filename [format "%s%s" $outputDir "/reports/per_module_timing.rep"] 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" } @@ -281,7 +281,7 @@ redirect -append $filename { report_timing -capacitance -transition_time -nets - 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"] +set filename [format "%s%s" $outputDir "/reports/mdu_timing.rep"] 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" } @@ -305,7 +305,7 @@ redirect -append $filename { report_timing -capacitance -transition_time -nets - 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"] +# set filename [format "%s%s%s%s" $outputDir "/reports/fpu_timing.rep"] # 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" } @@ -313,90 +313,87 @@ redirect -append $filename { report_timing -capacitance -transition_time -nets - # 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 { 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 { 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 { 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 { report_timing -capacitance -transition_time -nets -through {ifu/decomp/InstrD} -nworst 1 } +# set filename [format "%s%s%s%s" $outputDir "/reports/ifu_timing.rep"] +# 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 { 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 { 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 { 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 { 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 { 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 { 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 { 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 { 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 { 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 { 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 { report_timing -capacitance -transition_time -nets -through {ieu/FlushW} -nworst 1 } +# set filename [format "%s%s%s%s" $outputDir "/reports/stall_flush_timing.rep"] +# 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 { 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 { 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 { 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 { 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 { 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 { 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 { 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/R1D ////\n\n\n" } -redirect -append $filename { report_timing -capacitance -transition_time -nets -through {ieu/dp/R1D} -nworst 1 } -redirect -append $filename { echo "\n\n\n//// Critical path through datapath/R2D ////\n\n\n" } -redirect -append $filename { report_timing -capacitance -transition_time -nets -through {ieu/dp/R2D} -nworst 1 } -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 { report_timing -capacitance -transition_time -nets -through {ieu/dp/ALUResultE} -nworst 1 } -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 { report_timing -capacitance -transition_time -nets -through {ieu/dp/ReadDataM} -nworst 1 } +# set filename [format "%s%s%s%s" $outputDir "/reports/ieu_timing.rep"] +# redirect -append $filename { echo "\n\n\n//// Critical path through datapath/R1D ////\n\n\n" } +# redirect -append $filename { report_timing -capacitance -transition_time -nets -through {ieu/dp/R1D} -nworst 1 } +# redirect -append $filename { echo "\n\n\n//// Critical path through datapath/R2D ////\n\n\n" } +# redirect -append $filename { report_timing -capacitance -transition_time -nets -through {ieu/dp/R2D} -nworst 1 } +# 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 { report_timing -capacitance -transition_time -nets -through {ieu/dp/ALUResultE} -nworst 1 } +# 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 { 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 { report_timing -capacitance -transition_time -nets -through {fma/*} -nworst 1 } -redirect -append $filename { echo "\n\n\n//// Critical paths through fma1 ////\n\n\n" } -redirect -append $filename { report_timing -capacitance -transition_time -nets -through {fma/fma1/*} -nworst 1 } -redirect -append $filename { echo "\n\n\n//// Critical paths through fma2 ////\n\n\n" } -redirect -append $filename { report_timing -capacitance -transition_time -nets -through {postprocess/*} -nworst 1 } -redirect -append $filename { echo "\n\n\n//// Critical paths through fpdiv ////\n\n\n" } -redirect -append $filename { report_timing -capacitance -transition_time -nets -through {divsqrt/*} -nworst 1 } -redirect -append $filename { echo "\n\n\n//// Critical paths through fcvt ////\n\n\n" } -redirect -append $filename { report_timing -capacitance -transition_time -nets -through {fcvt/*} -nworst 1 } +# set filename [format "%s%s%s%s" $outputDir "/reports/fpu_timing.rep"] +# redirect -append $filename { echo "\n\n\n//// Critical paths through fma ////\n\n\n" } +# redirect -append $filename { report_timing -capacitance -transition_time -nets -through {fma/*} -nworst 1 } +# redirect -append $filename { echo "\n\n\n//// Critical paths through fma1 ////\n\n\n" } +# redirect -append $filename { report_timing -capacitance -transition_time -nets -through {fma/fma1/*} -nworst 1 } +# redirect -append $filename { echo "\n\n\n//// Critical paths through fma2 ////\n\n\n" } +# redirect -append $filename { report_timing -capacitance -transition_time -nets -through {postprocess/*} -nworst 1 } +# redirect -append $filename { echo "\n\n\n//// Critical paths through fpdiv ////\n\n\n" } +# redirect -append $filename { report_timing -capacitance -transition_time -nets -through {divsqrt/*} -nworst 1 } +# redirect -append $filename { echo "\n\n\n//// Critical paths through fcvt ////\n\n\n" } +# redirect -append $filename { report_timing -capacitance -transition_time -nets -through {fcvt/*} -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 { 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 { report_timing -capacitance -transition_time -nets -through {lsu/dmmu/PhysicalAddress} -nworst 1 } +# set filename [format "%s%s%s%s" $outputDir "/reports/mmu_timing.rep"] +# 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 { 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 { 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 { 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 { report_timing -capacitance -transition_time -nets -through {priv/CSRReadValW} -nworst 1 } +# set filename [format "%s%s%s%s" $outputDir "/reports/priv_timing.rep"] +# 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 { 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 { 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 } - -set filename [format "%s%s%s%s" $outputDir "/reports/" $my_toplevel "_area.rep"] +set filename [format "%s%s" $outputDir "/reports/area.rep"] redirect $filename { report_area -hierarchy -nosplit -physical -designware} -set filename [format "%s%s%s%s" $outputDir "/reports/" $my_toplevel "_cell.rep"] -# redirect $filename { report_cell [get_cells -hier *] } +set filename [format "%s%s" $outputDir "/reports/cell.rep"] +#redirect $filename { report_cell [get_cells -hier *] } # not too useful -set filename [format "%s%s%s%s" $outputDir "/reports/" $my_toplevel "_power.rep"] +set filename [format "%s%s" $outputDir "/reports/power.rep"] redirect $filename { report_power -hierarchy -levels 1 } -set filename [format "%s%s%s%s" $outputDir "/reports/" $my_toplevel "_constraint.rep"] +set filename [format "%s%s" $outputDir "/reports/constraint.rep"] redirect $filename { report_constraint } -set filename [format "%s%s%s%s" $outputDir "/reports/" $my_toplevel "_hier.rep"] +set filename [format "%s%s" $outputDir "/reports/hier.rep"] # redirect $filename { report_hierarchy } # end run clock and echo run time in minutes