diff options
author | Eddie Hung <eddie@fpgeh.com> | 2020-01-20 16:42:17 -0800 |
---|---|---|
committer | Eddie Hung <eddie@fpgeh.com> | 2020-04-03 14:28:22 -0700 |
commit | 92d70cafec026fb25bf45b020c138e5244bb8cdc (patch) | |
tree | 55d64fe2397c7bf5e67668ace1fa797b237c4942 /tests | |
parent | f68d723cdccdb1a604077e2a3526de2a5198123c (diff) | |
download | yosys-92d70cafec026fb25bf45b020c138e5244bb8cdc.tar.gz yosys-92d70cafec026fb25bf45b020c138e5244bb8cdc.tar.bz2 yosys-92d70cafec026fb25bf45b020c138e5244bb8cdc.zip |
+/cmp2lcu.v to work efficiently for fully/partially constant inputs
Diffstat (limited to 'tests')
-rw-r--r-- | tests/techmap/cmp2lcu.ys | 34 |
1 files changed, 31 insertions, 3 deletions
diff --git a/tests/techmap/cmp2lcu.ys b/tests/techmap/cmp2lcu.ys index 620996549..7c8a63692 100644 --- a/tests/techmap/cmp2lcu.ys +++ b/tests/techmap/cmp2lcu.ys @@ -10,15 +10,43 @@ assign leu = a <= b; assign les = $signed(a) <= $signed(b); endmodule EOT -proc equiv_opt -assert techmap -map +/cmp2lcu.v -D LUT_WIDTH=6 design -load postopt -select -assert-count 8 t:$lcu +select -assert-count 8 t:$lcu r:WIDTH=5 %i select -assert-none t:$gt t:$ge t:$lt t:$le design -load preopt equiv_opt -assert techmap -map +/cmp2lcu.v -D LUT_WIDTH=4 design -load postopt -select -assert-count 8 t:$lcu +select -assert-count 8 t:$lcu r:WIDTH=7 %i +select -assert-none t:$gt t:$ge t:$lt t:$le + + +design -reset +read_verilog <<EOT +module top(input [8:0] a, b, output gtu, gts, ltu, lts, geu, ges, leu, les); +wire [13:0] c = {a[8:6], 3'b101, a[5:4], 2'b11, a[3:0]}; +wire [13:0] d = {b[8], 3'b101, b[7:4], 2'b01, b[3:0]}; +assign gtu = c > d; +assign gts = $signed(c) > $signed(d); +assign ltu = c < d; +assign lts = $signed(c) < $signed(d); +assign geu = c >= d; +assign ges = $signed(c) >= $signed(d); +assign leu = c <= d; +assign les = $signed(c) <= $signed(d); +endmodule +EOT +design -save gold + +equiv_opt -assert techmap -map +/cmp2lcu.v -D LUT_WIDTH=5 +design -load postopt +select -assert-count 8 t:$lcu r:WIDTH=2 %i +select -assert-none t:$gt t:$ge t:$lt t:$le + +design -load preopt +equiv_opt -assert techmap -map +/cmp2lcu.v -D LUT_WIDTH=3 +design -load postopt +select -assert-count 8 t:$lcu r:WIDTH=4 %i select -assert-none t:$gt t:$ge t:$lt t:$le |