Skip to content

Commit 7fd84cc

Browse files
authored
Merge pull request #1249 from diffblue/extension-and-truncation1-bit
Verilog: test for truncation to one bit
2 parents bee8b39 + c517ff1 commit 7fd84cc

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)