mirror of
https://github.com/YosysHQ/yosys
synced 2025-09-04 09:07:42 +00:00
Added test cases from 2012 paper on comparison of foss verilog synthesis tools
This commit is contained in:
parent
04843bdcbe
commit
5640b7d607
6 changed files with 111 additions and 0 deletions
30
tests/simple/forgen02.v
Normal file
30
tests/simple/forgen02.v
Normal file
|
@ -0,0 +1,30 @@
|
|||
module uut_forgen02(a, b, cin, y, cout);
|
||||
|
||||
parameter WIDTH = 8;
|
||||
|
||||
input [WIDTH-1:0] a, b;
|
||||
input cin;
|
||||
|
||||
output [WIDTH-1:0] y;
|
||||
output cout;
|
||||
|
||||
genvar i;
|
||||
wire [WIDTH-1:0] carry;
|
||||
|
||||
generate
|
||||
for (i = 0; i < WIDTH; i=i+1) begin:adder
|
||||
wire [2:0] D;
|
||||
assign D[1:0] = { a[i], b[i] };
|
||||
if (i == 0) begin:chain
|
||||
assign D[2] = cin;
|
||||
end else begin:chain
|
||||
assign D[2] = carry[i-1];
|
||||
end
|
||||
assign y[i] = ^D;
|
||||
assign carry[i] = &D[1:0] | (^D[1:0] & D[2]);
|
||||
end
|
||||
endgenerate
|
||||
|
||||
assign cout = carry[WIDTH-1];
|
||||
|
||||
endmodule
|
Loading…
Add table
Add a link
Reference in a new issue