Я заметил, что Verilog округляет мои действительные числа в целочисленные результаты.Например, когда я смотрю на симулятор, он показывает результат 17/2 как 9. Что мне делать?Есть ли способ определить что-то вроде: output real reg [11:0] output_value
?Или это что-то, что должно быть сделано с помощью настроек симулятора?
Только симуляция (без синтеза).Пример:
x определен как входное значение со знаком и output_value определено как регистр вывода.
output_value = ((x >>> 1) + x) + 5;
Если x = + 1, тогда выходное значение должно быть: 13/2=6.5
.
Однако, когда я симулирую, я вижу output_value = 6
.