В общем, есть два метода, поскольку я знаю, какое умножение фиксированное/с плавающей запятой. Я инженер по оборудованию, такой как Verilog.Каков наилучший способ умножения с фиксированной/с плавающей запятой?
1. один способ Verilog - Floating points multiplication
2. другой способ, который для сдвига влево «< <» тогда сдвиг вправо «>>»
Я подумаю над способами, которые являются результаты все одинаковы. Но я не уверен, поэтому я спрашиваю здесь, что я хочу знать, какой путь можно использовать и исправить?
Update1.
I think there are some way what multiplication in verilog.
1.в один.
What if I want to multipicate with 3.82 *2.581.
Then we can make integer above fractional numbers like this.
3.98*8 = 31.84.
What if we want only integer result then we could like this way to calculate .
3.98<<7 =3.98 * 2^7 = almost 509.
Then we can get 509 * 8 = 4072
Then we can 31 at 4072>>7.
2.way two. 3.98 = почти 'b11_111110101 ... Здесь мы можем подобрать подходящую глубину для расчета умножения. 8 = «B1000 11_11111010 * 1000 = (4 ИНТ), (0 гидроразрыва) * (2 ИНТ), (8 гидроразрыва) 11 1111101000 = 8144 Тогда мы получим 8144 * 2^-8 = 31,8125
обновленная информация 2
Я смущен умножение между how can I apply fixed fraction to the integer и Verilog - Floating points multiplication
Какой из них лучше?
Я не уверен, что вы просите. вы спрашиваете, как делать дробные и искать неподвижную точку с плавающей запятой или как делать умножение с фиксированной точкой. ваша ссылка 1 просто описывает, как интерпретировать результат '*', '<<' then'>>' Я думаю, что речь идет о реализации мультипликатора, а не о интерпретации данных с фиксированной точкой. – Morgan
@Morgan. Я спрашиваю о том, какой метод умножения лучше между первым и вторым. Я думаю, что все вышеперечисленное относится к умножению в фиксированной точке. Мне не хватает? – bural
Лучше как? Легко реализуется, поддерживается, быстрее или ниже. Сдвиг добавления можно разделить на несколько циклов, поэтому также необходимо учитывать скорость передачи данных по сравнению с тактовой частотой. – Morgan