Я хочу получить 16-битные данные для умножения с плавающей запятой, но resutls был неправильным, а не тем, что я требовал. Кстати, реальный должен быть в 64-битном?Умножение чисел с плавающей запятой в verilog
module calc(input [15:0]a, b,
output [15:0]o);
assign o = a * b;
endmodule
вот испытательный стенд:
module calc_tb();
real a,b,o;
calc U1 (.a(a),.b(b),.o(o));
initial begin
a <= 2.2;
b <= 2.5;
#2;
a <= -4.8;
b <= 2.9;
#2;
end
endmodule
Какие 16 бит вы хотите? Вы начинаете, как отметил @Morgan, с естественно 64-битными данными. Существует множество различных функций, которые отображают от 64 бит до 16 бит, поэтому вам нужно указать, что вы хотите. –