Добро пожаловать, Гость
Логин: Пароль: Запомнить меня
  • Страница:
  • 1

ТЕМА: Схема умножения на фиксированный многочлен на Verilog

Схема умножения на фиксированный многочлен на Verilog 10 мес. 4 нед. назад #7861

  • Aoizora
  • Aoizora аватар Автор темы
  • Не в сети
  • Новый участник
  • Новый участник
  • Сообщений: 1
  • Спасибо получено: 0
Хочу реализовать быстрый умножитель на константный многочлен из книги. Вот схема



По этой схеме я написал такой код на верилоге:
module multiplier(
    input logic clk,
    input logic reset,
    input logic in,
    output logic out
);

    reg [2:0] s;
    
    always @(posedge clk)
        if (reset)
            s <= '0;
        else begin
            s[2] <= in;
            s[1] <= s[2];
            s[0] <= s[1];
        end
        
    assign out = in ^ s[2] ^ s[0];
endmodule

И тестбенч к нему:
module multiplier_tb();

    logic clk;
    logic reset;
    logic in;
    logic out;
    
    initial begin
        clk = 0;
        forever #5 clk = ~clk;
    end
    
    multiplier m(clk, reset, in, out);
    
    initial begin
        #1 reset = 1; #10
        reset = 0;
/*        
        // data 11111
        in = 1; #10
        in = 1; #10
        in = 1; #10
        in = 1; #10
        in = 1; #10
        // tail
        in = 0; #10
        in = 0; #10
        in = 0; #10
        $stop;
*/

       // data 1000
       in = 0; #10
       in = 1; #10
       in = 0; #10
       in = 0; #10
       in = 0; #10
       // tail
       in = 0; #10
       in = 0; #10
       in = 0; #10
       $stop;
    end
    
    always @(posedge clk)
        #2 $write(out);
endmodule

Но на последовательности f(x) = 1000 схема работает неправильно. По математический расчетам должно получиться 1101000 - результат умножения многочлена g(x) = x^3 + x^2 + 1 на x^3. В логе симулятора получается такое: x00010000$stop Тут непонятно откуда появился икс, а последовательность бит вообще другая какая-то. Скажите, пожалуйста, как правильно реализовать эту схему и симулировать ее, чтобы получился верный результат.
Вложения:

Пожалуйста Войти или Регистрация, чтобы присоединиться к беседе.

  • Страница:
  • 1
Время создания страницы: 0.145 секунд
Работает на Kunena форум