3
0
Fork 0
mirror of https://github.com/YosysHQ/yosys synced 2025-08-05 19:00:26 +00:00

techmap +/cmp2lcu.v for decomposing arithmetic compares to $lcu

This commit is contained in:
Eddie Hung 2020-01-17 10:51:27 -08:00
parent fffe42d4c1
commit 9b63700678
3 changed files with 108 additions and 0 deletions

24
tests/techmap/cmp2lcu.ys Normal file
View file

@ -0,0 +1,24 @@
read_verilog <<EOT
module top(input [11:0] a, b, output gtu, gts, ltu, lts, geu, ges, leu, les);
assign gtu = a > b;
assign gts = $signed(a) > $signed(b);
assign ltu = a < b;
assign lts = $signed(a) < $signed(b);
assign geu = a >= b;
assign ges = $signed(a) >= $signed(b);
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-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-none t:$gt t:$ge t:$lt t:$le