Skip to content

Commit c517ff1

Browse files
committed
Verilog: test for truncation to one bit
This extends an existing test to cover the case of truncating to one bit in an assignment.
1 parent e281a3d commit c517ff1

File tree

1 file changed

+15
-0
lines changed

1 file changed

+15
-0
lines changed

regression/verilog/assignments/extension-and-truncation1.sv

Lines changed: 15 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -24,6 +24,12 @@ module converter(input signed [7:0] si, input unsigned [7:0] ui);
2424
wire unsigned [7:0] ub1 = ui; // unsigned 8 to unsigned 8
2525
wire unsigned [7:0] ub2 = si; // signed 8 to unsigned 8
2626

27+
// just one bit
28+
wire signed sbit1 = ui; // unsigned 8 to signed 1
29+
wire signed sbit2 = si; // signed 8 to signed 1
30+
wire unsigned ubit1 = ui; // unsigned 8 to unsigned 1
31+
wire unsigned ubit2 = si; // signed 8 to unsigned 1
32+
2733
endmodule
2834

2935
module main;
@@ -42,6 +48,10 @@ module main;
4248
assert final(c.sb2 == -120);
4349
assert final(c.ub1 == 136);
4450
assert final(c.ub2 == 136);
51+
assert final(c.sbit1 == 0);
52+
assert final(c.sbit2 == 0);
53+
assert final(c.ubit1 == 0);
54+
assert final(c.ubit2 == 0);
4555

4656
initial begin
4757
$display("c.sw1 == ", c.sw1);
@@ -58,6 +68,11 @@ module main;
5868
$display("c.sb2 == ", c.sb2);
5969
$display("c.ub1 == ", c.ub1);
6070
$display("c.ub2 == ", c.ub2);
71+
72+
$display("c.sbit1 == ", c.sbit1);
73+
$display("c.sbit2 == ", c.sbit2);
74+
$display("c.ubit1 == ", c.ubit1);
75+
$display("c.ubit2 == ", c.ubit2);
6176
end
6277

6378
endmodule

0 commit comments

Comments
 (0)