как сделать (то есть 754 с плавающей запятой) значение и деление в verilog - PullRequest
0 голосов
/ 27 октября 2018

Я пытаюсь написать код для формата деления с плавающей запятой IEEE 754 с одинарной точностью в Verilog, а затем синтезировать, чтобы иметь возможность реализовать его на ZedBoard Ниже приведена формула расчета для деления IEEE 754

  X3= (X1/X2) 
    =   ((-1)^S1 (M1 x 2E1)) / ((-1) S2 (M2 x 2E2)) 
    =   (-1)^S3 (M1/M2) 2 (E1-E2) 

Вот как найти M1 / ​​M2 вообще? Есть ли алгоритм для вычисления M1 / ​​M2 (в частности, для одинарной точности)?

Вещи, которые я знаю в настоящее время:

  1. знаковый бит может быть выполнен путем XORing знаковых битов делимого и делителя
  2. Показатели степени можно рассчитать, вычитая показатель делителя из делителя и затем добавляя смещение (127 в случае одинарной точности)
  3. Я знаю, что речь идет не об использовании какого-либо алгоритма деления, чтобы просто отправить M1 и M2 в качестве дивиденда и делителя (то есть, это не просто применение целочисленного деления к M1 и M2)

Вещи, которые я хотел знать:

  1. Алгоритм поиска M1 / ​​M2
  2. Как реализовать в Verilog (чтобы его можно было синтезировать)?
...