Введите десятичные значения, например 0,0047, в verilog.

У меня есть массив десятичных значений, таких как 0,0047, -45,34 и т. д. Есть ли способ добавить это в verilog и автоматически просмотреть его 16-битное преобразованное значение?


person Srinath Radhakrishnan    schedule 04.03.2018    source источник
comment
Почему вы пометили это утверждением SystemVerilog? Вам нужно быть более точным в том, что вы подразумеваете под добавлением и просмотром в Verilog.   -  person dave_59    schedule 04.03.2018


Ответы (1)


Вы можете использовать «настоящее», но вы не можете его синтезировать. Вы должны найти двоичное представление для ваших чисел либо с плавающей запятой, либо с фиксированной точкой. Вы должны определить диапазон для ваших чисел, а также точность, поскольку двоичное представление действительного числа часто является приближением.

Я сделал некоторые расчеты. У вас есть положительное и отрицательное число, поэтому вам нужен знаковый бит. Оставляет 15 бит для значений. Вы хотите иметь по крайней мере 45, что требует 6 бит. оставляет 9 бит для дроби. Ближе всего к 0,0047 можно получить 0,0046875. Тогда ваш диапазон равен -63,998 .... +63,998.

person Oldfart    schedule 04.03.2018