diff options
author | Clifford Wolf <clifford@clifford.at> | 2013-12-28 11:54:40 +0100 |
---|---|---|
committer | Clifford Wolf <clifford@clifford.at> | 2013-12-28 12:02:14 +0100 |
commit | c69c416d28015e496045d1b4529c465fbaad42e2 (patch) | |
tree | f70da346eabfcd5abfeee100a2470a4b50bea2ee /techlibs | |
parent | 7f717875999f18065a69934db2075fd1508d3a7d (diff) | |
download | yosys-c69c416d28015e496045d1b4529c465fbaad42e2.tar.gz yosys-c69c416d28015e496045d1b4529c465fbaad42e2.tar.bz2 yosys-c69c416d28015e496045d1b4529c465fbaad42e2.zip |
Added $bu0 cell (for easy correct $eq/$ne mapping)
Diffstat (limited to 'techlibs')
-rw-r--r-- | techlibs/common/stdcells.v | 14 |
1 files changed, 10 insertions, 4 deletions
diff --git a/techlibs/common/stdcells.v b/techlibs/common/stdcells.v index c7efa240e..5482d3804 100644 --- a/techlibs/common/stdcells.v +++ b/techlibs/common/stdcells.v @@ -44,6 +44,12 @@ endmodule // -------------------------------------------------------- +(* techmap_simplemap *) +module \$bu0 ; +endmodule + +// -------------------------------------------------------- + module \$neg (A, Y); parameter A_SIGNED = 0; @@ -538,8 +544,8 @@ output [Y_WIDTH-1:0] Y; wire carry, carry_sign; wire [WIDTH-1:0] A_buf, B_buf; -\$pos #(.A_SIGNED(A_SIGNED && B_SIGNED), .A_WIDTH(A_WIDTH), .Y_WIDTH(WIDTH)) A_conv (.A(A), .Y(A_buf)); -\$pos #(.A_SIGNED(A_SIGNED && B_SIGNED), .A_WIDTH(B_WIDTH), .Y_WIDTH(WIDTH)) B_conv (.A(B), .Y(B_buf)); +\$bu0 #(.A_SIGNED(A_SIGNED && B_SIGNED), .A_WIDTH(A_WIDTH), .Y_WIDTH(WIDTH)) A_conv (.A(A), .Y(A_buf)); +\$bu0 #(.A_SIGNED(A_SIGNED && B_SIGNED), .A_WIDTH(B_WIDTH), .Y_WIDTH(WIDTH)) B_conv (.A(B), .Y(B_buf)); assign Y = ~|(A_buf ^ B_buf); @@ -563,8 +569,8 @@ output [Y_WIDTH-1:0] Y; wire carry, carry_sign; wire [WIDTH-1:0] A_buf, B_buf; -\$pos #(.A_SIGNED(A_SIGNED && B_SIGNED), .A_WIDTH(A_WIDTH), .Y_WIDTH(WIDTH)) A_conv (.A(A), .Y(A_buf)); -\$pos #(.A_SIGNED(A_SIGNED && B_SIGNED), .A_WIDTH(B_WIDTH), .Y_WIDTH(WIDTH)) B_conv (.A(B), .Y(B_buf)); +\$bu0 #(.A_SIGNED(A_SIGNED && B_SIGNED), .A_WIDTH(A_WIDTH), .Y_WIDTH(WIDTH)) A_conv (.A(A), .Y(A_buf)); +\$bu0 #(.A_SIGNED(A_SIGNED && B_SIGNED), .A_WIDTH(B_WIDTH), .Y_WIDTH(WIDTH)) B_conv (.A(B), .Y(B_buf)); assign Y = |(A_buf ^ B_buf); |