File tree Expand file tree Collapse file tree 1 file changed +33
-0
lines changed Expand file tree Collapse file tree 1 file changed +33
-0
lines changed Original file line number Diff line number Diff line change 1+ module Extend16to32 (
2+ i_data : input logic<16>,
3+ i_sign_ext: input logic ,
4+ o_data : output logic<32>,
5+ ) {
6+ assign o_data = {i_data[msb] & i_sign_ext repeat 16, i_data};
7+ }
8+
9+ #[test(extend16to32)]
10+ embed (inline) sv{{{
11+ module test;
12+ logic [15:0] i_data;
13+ logic i_sign_ext;
14+ logic [31:0] o_data;
15+ vips_Extend16to32 Extend (i_data, i_sign_ext, o_data);
16+
17+ initial begin
18+ i_data = 16'h0000; i_sign_ext = 0;
19+ #10;
20+ assert (o_data == 32'h0000_0000) else $error("zero extend 0");
21+
22+ i_data = 16'hFFFF; i_sign_ext = 0;
23+ #10;
24+ assert (o_data == 32'h0000_FFFF) else $error("zero extend 0xFFFF");
25+
26+ i_data = 16'hFFFF; i_sign_ext = 1;
27+ #10;
28+ assert (o_data == 32'hFFFF_FFFF) else $error("sign extend 0xFFFF");
29+
30+ $finish;
31+ end
32+ endmodule
33+ }}}
You can’t perform that action at this time.
0 commit comments