From 5987454eac75d6cd0477311c58d78e3b5bd2538f Mon Sep 17 00:00:00 2001 From: williamzhu17 Date: Fri, 28 Mar 2025 14:50:02 -0700 Subject: [PATCH 1/3] added breaksop-tests --- tests/silimate/breaksop.ys | 157 +++++++++++++++++++++++++++++++++++++ 1 file changed, 157 insertions(+) create mode 100644 tests/silimate/breaksop.ys diff --git a/tests/silimate/breaksop.ys b/tests/silimate/breaksop.ys new file mode 100644 index 000000000..dda8aff6c --- /dev/null +++ b/tests/silimate/breaksop.ys @@ -0,0 +1,157 @@ +log -header "Simple positive case" +log -push +design -reset +read_verilog < Date: Fri, 28 Mar 2025 14:54:00 -0700 Subject: [PATCH 2/3] added comment about one test case --- tests/silimate/breaksop.ys | 3 +++ 1 file changed, 3 insertions(+) diff --git a/tests/silimate/breaksop.ys b/tests/silimate/breaksop.ys index dda8aff6c..42a305e04 100644 --- a/tests/silimate/breaksop.ys +++ b/tests/silimate/breaksop.ys @@ -114,6 +114,9 @@ select -assert-count 1 t:$sop equiv_opt -assert breaksop # Check final design has correct number of gates +# We only have one AND gate since breaksop turns the OR gate into an AND gate +# The inputs to this gate are inverted and the outputs are also inverted, so with +# DeMorgan's law, they are equivalent design -load postopt opt # Run opt to remove unneeded OR gate select -assert-count 1 t:$reduce_and From 1628a221957a6833aeaa23f69c878c98789a50b2 Mon Sep 17 00:00:00 2001 From: williamzhu17 Date: Fri, 28 Mar 2025 14:58:17 -0700 Subject: [PATCH 3/3] added extra test for multiple sops --- tests/silimate/breaksop.ys | 34 ++++++++++++++++++++++++++++++++++ 1 file changed, 34 insertions(+) diff --git a/tests/silimate/breaksop.ys b/tests/silimate/breaksop.ys index 42a305e04..83479a939 100644 --- a/tests/silimate/breaksop.ys +++ b/tests/silimate/breaksop.ys @@ -156,5 +156,39 @@ write_verilog dump_post.v select -assert-count 2 t:$reduce_and select -assert-count 1 t:$reduce_or +design -reset +log -pop + + + +log -header "Multiple sops" +log -push +design -reset +read_verilog <