@DGash

Почему при выводе чисел с помощью функции $display некоторые из них сдвигаются вправо?

Здравствуйте! У меня есть такой код
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


Почему то отрицательных чисел минус выводится в нужном месте, а само число сдвигается вправо.
5eeb652f6764b339178177.png
Как это исправить?
  • Вопрос задан
  • 86 просмотров
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы