Здравствуйте! У меня есть такой код
module haarFWT_tb;
reg[8*8-1:0] signal;
reg[7:0] level;
wire[8*8-1:0] out;
haarFWT test(.signal(signal), .level(level), .out(out));
integer i = 0;
initial begin
signal = {8'd16, 8'd40, 8'd48, 8'd48 , 8'd24, 8'd8, 8'd40, 8'd56};
level = 3;
#10;
for (i = 0; i < 8; i = i + 1) begin
if ((out[8*i +: 8] & 'b10000000) == 0)
$display("%d", out[8*i +: 8]);
else
$display("-%d", ~(out[8*i +: 8] - 1) & 'b11111111);
end
end
endmodule
Почему то отрицательных чисел минус выводится в нужном месте, а само число сдвигается вправо.
Как это исправить?