Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
16 changes: 12 additions & 4 deletions src/odb/test/replace_hier_mod1.tcl
Original file line number Diff line number Diff line change
Expand Up @@ -36,7 +36,9 @@ report_checks -through r2/D -digits 3
# - it looks like "-through" creates a cache internally.
#report_checks -through u1z -through r2/D -digits 3
puts "Equivalence check - pre"
run_equivalence_test replace_hier_mod1 ./Nangate45/work_around_yosys/ "None"
run_equivalence_test replace_hier_mod1 \
-lib_dir ./Nangate45/work_around_yosys/ \
-remove_cells "None"

puts "### swap bc1 to inv_chain ###"
#set_debug_level ODB replace_design 1
Expand All @@ -50,7 +52,9 @@ estimate_parasitics -placement
report_checks -through r2/D -digits 3
#report_checks -through u1z -through r2/D -digits 3
puts "Equivalence check - swap (buffer_chain -> inv_chain)"
run_equivalence_test replace_hier_mod1 ./Nangate45/work_around_yosys/ "None"
run_equivalence_test replace_hier_mod1 \
-lib_dir ./Nangate45/work_around_yosys/ \
-remove_cells "None"

puts "### swap bc1 back to buffer_chain ###"
replace_hier_module bc1 buffer_chain
Expand All @@ -63,7 +67,9 @@ estimate_parasitics -placement
report_checks -through r2/D -digits 3
#report_checks -through u1z -through r2/D -digits 3
puts "Equivalence check - swap for rollback (inv_chain -> buffer_chain)"
run_equivalence_test replace_hier_mod1 ./Nangate45/work_around_yosys/ "None"
run_equivalence_test replace_hier_mod1 \
-lib_dir ./Nangate45/work_around_yosys/ \
-remove_cells "None"

puts "### swap bc1 back to inv_chain ###"
replace_hier_module bc1 inv_chain
Expand All @@ -76,4 +82,6 @@ estimate_parasitics -placement
report_checks -through r2/D -digits 3
#report_checks -through u1z -through r2/D -digits 3
puts "Equivalence check - redo swap (buffer_chain -> inv_chain)"
run_equivalence_test replace_hier_mod1 ./Nangate45/work_around_yosys/ "None"
run_equivalence_test replace_hier_mod1 \
-lib_dir ./Nangate45/work_around_yosys/ \
-remove_cells "None"
8 changes: 6 additions & 2 deletions src/odb/test/replace_hier_mod2.tcl
Original file line number Diff line number Diff line change
Expand Up @@ -43,7 +43,9 @@ estimate_parasitics -placement
report_checks -through _carry_out_and_/C -field input
report_cell_usage _551_
puts "Checking equivalence after swap #2 (Rollback)..."
run_equivalence_test replace_hier_mod2 sky130hd/work_around_yosys "None"
run_equivalence_test replace_hier_mod2 \
-lib_dir ./sky130hd/work_around_yosys/ \
-remove_cells "None"

# Swap #3. BRENT_KUNG -> KOGGE_STONE (Redo)
replace_hier_module _551_ LCU_16_KOGGE_STONE
Expand All @@ -59,4 +61,6 @@ estimate_parasitics -placement
report_checks -through _carry_out_and_/C -field input
report_cell_usage _551_
puts "Checking equivalence after swap #4 (Rollback again)..."
run_equivalence_test replace_hier_mod2 sky130hd/work_around_yosys "None"
run_equivalence_test replace_hier_mod2 \
-lib_dir ./sky130hd/work_around_yosys/ \
-remove_cells "None"
4 changes: 3 additions & 1 deletion src/odb/test/replace_hier_mod6.tcl
Original file line number Diff line number Diff line change
Expand Up @@ -43,7 +43,9 @@ proc do_swap { from_alu to_alu } {
estimate_parasitics -placement
report_checks -fields input_pins -through _001_
report_cell_usage _120_
run_equivalence_test $test_name ./sky130hd/work_around_yosys/ "None"
run_equivalence_test $test_name \
-lib_dir ./sky130hd/work_around_yosys/ \
-remove_cells "None"
} else {
puts "Failed to replace hier module"
}
Expand Down
4 changes: 3 additions & 1 deletion src/odb/test/replace_hier_mod_undo2.tcl
Original file line number Diff line number Diff line change
Expand Up @@ -64,4 +64,6 @@ odb::dbDatabase_undoEco $block
report_cell_usage gcd_1/_552_
report_checks -through gcd_1/_carry_out_and_/B -fields input_pins

run_equivalence_test replace_hier_mod5 ./Nangate45/work_around_yosys/ "None"
run_equivalence_test replace_hier_mod5 \
-lib_dir ./Nangate45/work_around_yosys/ \
-remove_cells "None"
6 changes: 6 additions & 0 deletions src/rmp/test/.gitignore
Original file line number Diff line number Diff line change
@@ -0,0 +1,6 @@
aes_annealing
aes_annealing.v
gcd_annealing1
gcd_annealing1.v
gcd_annealing2
gcd_annealing2.v
10 changes: 1 addition & 9 deletions src/rmp/test/BUILD
Original file line number Diff line number Diff line change
Expand Up @@ -35,13 +35,6 @@ MANUAL_TESTS = [
"rmp_readme_msgs_check",
]

# TODO: Enable once difference between bazel and ctest is resolved.
MANUAL_FOR_BAZEL_TESTS = [
"aes_annealing",
"gcd_annealing1",
"gcd_annealing2",
]

ALL_TESTS = COMPULSORY_TESTS + MANUAL_TESTS

filegroup(
Expand Down Expand Up @@ -132,8 +125,7 @@ filegroup(
regression_test(
name = test_name,
data = [":" + test_name + "_resources"],
tags = ["manual"] if test_name in MANUAL_TESTS or
test_name in MANUAL_FOR_BAZEL_TESTS else [],
tags = ["manual"] if test_name in MANUAL_TESTS else [],
visibility = ["//visibility:public"],
)
for test_name in ALL_TESTS
Expand Down
1 change: 1 addition & 0 deletions src/rmp/test/gcd_annealing1.ok
Original file line number Diff line number Diff line change
Expand Up @@ -178,3 +178,4 @@ Corner: slow

wns max -151.35
tns max -5188.85
Repair timing output passed/skipped equivalence test
39 changes: 29 additions & 10 deletions src/rmp/test/gcd_annealing1.tcl
Original file line number Diff line number Diff line change
@@ -1,16 +1,29 @@
source "helpers.tcl"

set test_name gcd_annealing1

define_corners fast slow
read_liberty -corner slow ./asap7/asap7sc7p5t_AO_RVT_SS_nldm_211120.lib.gz
read_liberty -corner slow ./asap7/asap7sc7p5t_INVBUF_RVT_SS_nldm_220122.lib.gz
read_liberty -corner slow ./asap7/asap7sc7p5t_OA_RVT_SS_nldm_211120.lib.gz
read_liberty -corner slow ./asap7/asap7sc7p5t_SEQ_RVT_SS_nldm_220123.lib
read_liberty -corner slow ./asap7/asap7sc7p5t_SIMPLE_RVT_SS_nldm_211120.lib.gz
read_liberty -corner fast ./asap7/asap7sc7p5t_AO_RVT_FF_nldm_211120.lib.gz
read_liberty -corner fast ./asap7/asap7sc7p5t_INVBUF_RVT_FF_nldm_220122.lib.gz
read_liberty -corner fast ./asap7/asap7sc7p5t_OA_RVT_FF_nldm_211120.lib.gz
read_liberty -corner fast ./asap7/asap7sc7p5t_SEQ_RVT_FF_nldm_220123.lib
read_liberty -corner fast ./asap7/asap7sc7p5t_SIMPLE_RVT_FF_nldm_211120.lib.gz
set lib_files_slow {\
./asap7/asap7sc7p5t_AO_RVT_SS_nldm_211120.lib.gz \
./asap7/asap7sc7p5t_INVBUF_RVT_SS_nldm_220122.lib.gz \
./asap7/asap7sc7p5t_OA_RVT_SS_nldm_211120.lib.gz \
./asap7/asap7sc7p5t_SEQ_RVT_SS_nldm_220123.lib \
./asap7/asap7sc7p5t_SIMPLE_RVT_SS_nldm_211120.lib.gz\
}
set lib_files_fast {\
./asap7/asap7sc7p5t_AO_RVT_FF_nldm_211120.lib.gz \
./asap7/asap7sc7p5t_INVBUF_RVT_FF_nldm_220122.lib.gz \
./asap7/asap7sc7p5t_OA_RVT_FF_nldm_211120.lib.gz \
./asap7/asap7sc7p5t_SEQ_RVT_FF_nldm_220123.lib \
./asap7/asap7sc7p5t_SIMPLE_RVT_FF_nldm_211120.lib.gz\
}

foreach lib_file $lib_files_slow {
read_liberty -corner slow $lib_file
}
foreach lib_file $lib_files_fast {
read_liberty -corner fast $lib_file
}

read_lef ./asap7/asap7_tech_1x_201209.lef
read_lef ./asap7/asap7sc7p5t_28_R_1x_220121a.lef
Expand All @@ -25,6 +38,7 @@ report_timing_histogram
report_checks
report_wns
report_tns
write_verilog_for_eqy $test_name before "None"

puts "-- After --\n"

Expand All @@ -34,3 +48,8 @@ report_cell_usage
report_checks
report_wns
report_tns

set liberty_files [concat $lib_files_slow $lib_files_fast]
run_equivalence_test $test_name \
-liberty_files $liberty_files \
-remove_cells "None"
1 change: 1 addition & 0 deletions src/rmp/test/gcd_annealing2.ok
Original file line number Diff line number Diff line change
Expand Up @@ -166,3 +166,4 @@ Corner: slow

wns max -47.70
tns max -1112.78
Repair timing output passed/skipped equivalence test
39 changes: 29 additions & 10 deletions src/rmp/test/gcd_annealing2.tcl
Original file line number Diff line number Diff line change
@@ -1,16 +1,29 @@
source "helpers.tcl"

set test_name gcd_annealing2

define_corners fast slow
read_liberty -corner slow ./asap7/asap7sc7p5t_AO_RVT_SS_nldm_211120.lib.gz
read_liberty -corner slow ./asap7/asap7sc7p5t_INVBUF_RVT_SS_nldm_220122.lib.gz
read_liberty -corner slow ./asap7/asap7sc7p5t_OA_RVT_SS_nldm_211120.lib.gz
read_liberty -corner slow ./asap7/asap7sc7p5t_SEQ_RVT_SS_nldm_220123.lib
read_liberty -corner slow ./asap7/asap7sc7p5t_SIMPLE_RVT_SS_nldm_211120.lib.gz
read_liberty -corner fast ./asap7/asap7sc7p5t_AO_RVT_FF_nldm_211120.lib.gz
read_liberty -corner fast ./asap7/asap7sc7p5t_INVBUF_RVT_FF_nldm_220122.lib.gz
read_liberty -corner fast ./asap7/asap7sc7p5t_OA_RVT_FF_nldm_211120.lib.gz
read_liberty -corner fast ./asap7/asap7sc7p5t_SEQ_RVT_FF_nldm_220123.lib
read_liberty -corner fast ./asap7/asap7sc7p5t_SIMPLE_RVT_FF_nldm_211120.lib.gz
set lib_files_slow {\
./asap7/asap7sc7p5t_AO_RVT_SS_nldm_211120.lib.gz \
./asap7/asap7sc7p5t_INVBUF_RVT_SS_nldm_220122.lib.gz \
./asap7/asap7sc7p5t_OA_RVT_SS_nldm_211120.lib.gz \
./asap7/asap7sc7p5t_SEQ_RVT_SS_nldm_220123.lib \
./asap7/asap7sc7p5t_SIMPLE_RVT_SS_nldm_211120.lib.gz\
}
set lib_files_fast {\
./asap7/asap7sc7p5t_AO_RVT_FF_nldm_211120.lib.gz \
./asap7/asap7sc7p5t_INVBUF_RVT_FF_nldm_220122.lib.gz \
./asap7/asap7sc7p5t_OA_RVT_FF_nldm_211120.lib.gz \
./asap7/asap7sc7p5t_SEQ_RVT_FF_nldm_220123.lib \
./asap7/asap7sc7p5t_SIMPLE_RVT_FF_nldm_211120.lib.gz\
}

foreach lib_file $lib_files_slow {
read_liberty -corner slow $lib_file
}
foreach lib_file $lib_files_fast {
read_liberty -corner fast $lib_file
}

read_lef ./asap7/asap7_tech_1x_201209.lef
read_lef ./asap7/asap7sc7p5t_28_R_1x_220121a.lef
Expand All @@ -25,6 +38,7 @@ report_timing_histogram
report_checks
report_wns
report_tns
write_verilog_for_eqy $test_name before "None"

puts "-- After --\n"

Expand All @@ -34,3 +48,8 @@ report_cell_usage
report_checks
report_wns
report_tns

set liberty_files [concat $lib_files_slow $lib_files_fast]
run_equivalence_test $test_name \
-liberty_files $liberty_files \
-remove_cells "None"
8 changes: 6 additions & 2 deletions src/rsz/test/eqy_repair_setup2.tcl
Original file line number Diff line number Diff line change
Expand Up @@ -12,7 +12,9 @@ estimate_parasitics -placement


write_verilog_for_eqy eqy_repair_setup2 before "None"
run_equivalence_test eqy_repair_setup2 ./Nangate45/work_around_yosys/ "None"
run_equivalence_test eqy_repair_setup2 \
-lib_dir ./Nangate45/work_around_yosys/ \
-remove_cells "None"
set db [ord::get_db]
set chip [$db getChip]
set block [$chip getBlock]
Expand All @@ -21,7 +23,9 @@ odb::dbInst_destroy $inst

# handle the case where we are not really running the equivalence checks.
if { [info exists ::env(EQUIVALENCE_CHECK)] } {
run_equivalence_test eqy_repair_setup2 ./Nangate45/work_around_yosys/ "None"
run_equivalence_test eqy_repair_setup2 \
-lib_dir ./Nangate45/work_around_yosys/ \
-remove_cells "None"
} else {
puts "Repair timing output failed equivalence test"
}
8 changes: 6 additions & 2 deletions src/rsz/test/eqy_repair_setup5.tcl
Original file line number Diff line number Diff line change
Expand Up @@ -9,7 +9,9 @@ read_def repair_setup5.def

# Get information so we can setup the test outputs correctly
write_verilog_for_eqy eqy_repair_setup5 before "None"
run_equivalence_test eqy_repair_setup5 ./sky130hd/work_around_yosys/ "None"
run_equivalence_test eqy_repair_setup5 \
-lib_dir ./sky130hd/work_around_yosys/ \
-remove_cells "None"
set db [ord::get_db]
set chip [$db getChip]
set block [$chip getBlock]
Expand All @@ -19,7 +21,9 @@ $iterm disconnect

# handle the case where we are not really running the equivalence checks.
if { [info exists ::env(EQUIVALENCE_CHECK)] } {
run_equivalence_test eqy_repair_setup5 ./sky130hd/work_around_yosys/ "None"
run_equivalence_test eqy_repair_setup5 \
-lib_dir ./sky130hd/work_around_yosys/ \
-remove_cells "None"
} else {
puts "Repair timing output failed equivalence test"
}
4 changes: 3 additions & 1 deletion src/rsz/test/recover_power_verbose.tcl
Original file line number Diff line number Diff line change
Expand Up @@ -14,5 +14,7 @@ estimate_parasitics -placement
report_worst_slack -max -digits 3
write_verilog_for_eqy repair_setup4_verbose before "None"
repair_timing -verbose -recover_power 100
run_equivalence_test repair_setup4_verbose ./Nangate45/work_around_yosys/ "None"
run_equivalence_test repair_setup4_verbose \
-lib_dir ./Nangate45/work_around_yosys/ \
-remove_cells "None"
report_worst_slack -max -digits 3
4 changes: 3 additions & 1 deletion src/rsz/test/repair_fanout1.tcl
Original file line number Diff line number Diff line change
Expand Up @@ -18,5 +18,7 @@ estimate_parasitics -placement
report_check_types -max_fanout
write_verilog_for_eqy repair_fanout1 before "None"
repair_design
run_equivalence_test repair_fanout1 ./Nangate45/work_around_yosys/ "None"
run_equivalence_test repair_fanout1 \
-lib_dir ./Nangate45/work_around_yosys/ \
-remove_cells "None"
report_check_types -max_fanout
4 changes: 3 additions & 1 deletion src/rsz/test/repair_fanout2.tcl
Original file line number Diff line number Diff line change
Expand Up @@ -6,5 +6,7 @@ read_def repair_fanout2.def
set_max_fanout 10 [current_design]
write_verilog_for_eqy repair_fanout2 before "None"
repair_design
run_equivalence_test repair_fanout2 ./Nangate45/work_around_yosys/ "None"
run_equivalence_test repair_fanout2 \
-lib_dir ./Nangate45/work_around_yosys/ \
-remove_cells "None"
report_net RESET
4 changes: 3 additions & 1 deletion src/rsz/test/repair_fanout3.tcl
Original file line number Diff line number Diff line change
Expand Up @@ -9,5 +9,7 @@ set_max_fanout 10 [current_design]
report_check_types -max_fanout
write_verilog_for_eqy repair_fanout3 before "LEFONLY*"
repair_design
run_equivalence_test repair_fanout3 ./Nangate45/work_around_yosys/ "LEFONLY*"
run_equivalence_test repair_fanout3 \
-lib_dir ./Nangate45/work_around_yosys/ \
-remove_cells "LEFONLY*"
report_check_types -max_fanout
4 changes: 3 additions & 1 deletion src/rsz/test/repair_fanout7.tcl
Original file line number Diff line number Diff line change
Expand Up @@ -39,5 +39,7 @@ estimate_parasitics -placement
report_worst_slack -max
write_verilog_for_eqy repair_fanout7 before "None"
repair_timing -setup -repair_tns 100 -verbose {*}$repair_args
run_equivalence_test repair_fanout7 ./Nangate45/work_around_yosys/ "None"
run_equivalence_test repair_fanout7 \
-lib_dir ./Nangate45/work_around_yosys/ \
-remove_cells "None"
report_worst_slack -max
4 changes: 3 additions & 1 deletion src/rsz/test/repair_fanout7_skip_pin_swap.tcl
Original file line number Diff line number Diff line change
Expand Up @@ -39,5 +39,7 @@ estimate_parasitics -placement
report_worst_slack -max
write_verilog_for_eqy repair_fanout7 before "None"
repair_timing -setup -repair_tns 100 -verbose -skip_pin_swap {*}$repair_args
run_equivalence_test repair_fanout7 ./Nangate45/work_around_yosys/ "None"
run_equivalence_test repair_fanout7 \
-lib_dir ./Nangate45/work_around_yosys/ \
-remove_cells "None"
report_worst_slack -max
4 changes: 3 additions & 1 deletion src/rsz/test/repair_fanout8.tcl
Original file line number Diff line number Diff line change
Expand Up @@ -38,5 +38,7 @@ estimate_parasitics -placement
report_worst_slack -max
write_verilog_for_eqy repair_fanout8 before "None"
repair_timing -setup -repair_tns 100 -skip_gate_cloning -verbose {*}$repair_args
run_equivalence_test repair_fanout8 ./Nangate45/work_around_yosys/ "None"
run_equivalence_test repair_fanout8 \
-lib_dir ./Nangate45/work_around_yosys/ \
-remove_cells "None"
report_worst_slack -max
4 changes: 3 additions & 1 deletion src/rsz/test/repair_hold10.tcl
Original file line number Diff line number Diff line change
Expand Up @@ -24,7 +24,9 @@ report_worst_slack -min

write_verilog_for_eqy repair_hold10 before "None"
repair_timing -hold
run_equivalence_test repair_hold10 ./sky130hd/work_around_yosys/ "None"
run_equivalence_test repair_hold10 \
-lib_dir ./sky130hd/work_around_yosys/ \
-remove_cells "None"

# to compare with updated parasitics below
report_worst_slack -min
Expand Down
4 changes: 3 additions & 1 deletion src/rsz/test/repair_hold13.tcl
Original file line number Diff line number Diff line change
Expand Up @@ -25,4 +25,6 @@ repair_timing -hold

write_verilog_for_eqy repair_hold13 before "None"
report_checks -path_delay min_max
run_equivalence_test repair_hold13 ./sky130hd/work_around_yosys/ "None"
run_equivalence_test repair_hold13 \
-lib_dir ./sky130hd/work_around_yosys/ \
-remove_cells "None"
4 changes: 3 additions & 1 deletion src/rsz/test/repair_hold3.tcl
Original file line number Diff line number Diff line change
Expand Up @@ -16,7 +16,9 @@ report_worst_slack -max

write_verilog_for_eqy repair_hold3 before "None"
repair_timing -hold
run_equivalence_test repair_hold3 ./Nangate45/work_around_yosys/ "None"
run_equivalence_test repair_hold3 \
-lib_dir ./Nangate45/work_around_yosys/ \
-remove_cells "None"

report_worst_slack -min
report_worst_slack -max
4 changes: 3 additions & 1 deletion src/rsz/test/repair_setup1.tcl
Original file line number Diff line number Diff line change
Expand Up @@ -15,5 +15,7 @@ report_checks -fields input -digits 3

write_verilog_for_eqy repair_setup1 before "None"
repair_timing -setup {*}$repair_args
run_equivalence_test repair_setup1 ./Nangate45/work_around_yosys/ "None"
run_equivalence_test repair_setup1 \
-lib_dir ./Nangate45/work_around_yosys/ \
-remove_cells "None"
report_checks -fields input -digits 3
4 changes: 3 additions & 1 deletion src/rsz/test/repair_setup2.tcl
Original file line number Diff line number Diff line change
Expand Up @@ -17,5 +17,7 @@ report_worst_slack
write_verilog_for_eqy repair_setup2 before "None"
repair_design
repair_timing -setup -verbose {*}$repair_args
run_equivalence_test repair_setup2 ./Nangate45/work_around_yosys/ "None"
run_equivalence_test repair_setup2 \
-lib_dir ./Nangate45/work_around_yosys/ \
-remove_cells "None"
report_worst_slack
4 changes: 3 additions & 1 deletion src/rsz/test/repair_setup3.tcl
Original file line number Diff line number Diff line change
Expand Up @@ -18,4 +18,6 @@ set_load 1.0 l2q

write_verilog_for_eqy repair_setup3 before "None"
repair_timing -setup -verbose {*}$repair_args
run_equivalence_test repair_setup3 ./sky130hd/work_around_yosys/ "None"
run_equivalence_test repair_setup3 \
-lib_dir ./sky130hd/work_around_yosys/ \
-remove_cells "None"
Loading