iverilog/ivtest/ivltests/pr1993479.v

22 lines
655 B
Verilog

/*
* The base vpi_get() is not returning the correct result for
* a signed value. There are obviously other problems as well.
*/
module top;
reg [7:0] rval;
reg signed [7:0] base; // This fails (no sign extension?).
// reg signed [31:0] base; // This works on a 32 bit machine.
// integer base; // And this works
initial begin
rval = 8'b10100101;
for (base = 0; base > -8; base = base -1) begin
$displayb("%3d %b ", base, rval[base +: 8], rval[base +: 8]);
end
$display;
for (base = 0; base > -8; base = base -1) begin
$displayb("%3d %b ", base+1, rval[base+1 +: 8], rval[base+1 +: 8]);
end
end
endmodule