Перейти к содержанию
    

ya ispol'zuyu serial'niy delitel'(t.e. takt na bit ratio) esli sakjesh' 4to nujno polu4it' mogu pomo4'

 

очень интересно... у меня после 2-х дней мучений получилось делить на ядре ISE (pipelined divider). При этом максимальное к-во тактов на деление получилось 8 (там можно только 1-2-4-8). При этом дивайдер (integer remainder, unsigned ) использует порядка 600 слайсов, что многовато (при 1 такте почти весь спартан 3 скушал :blink: ).

 

Вообще читал алгоритмы деления и удивлялся - все сводится к умножению и вычитанию - откуда такие дикие размеры.

 

В моей задаче скорость деления вообще не критична (хоть 1000 тактов) - так что Вашей идеей заинтересован. Поясню что надо:

 

Число (32 бита) делится на переменную (которая храниться в регистре и может меняться). Результат деления необходим до 1-го десятичного знака (кстати будет интересно алгоритм floating point).

 

Как реализовал пока сам:

1. берем число и делим

2. запоминаем quotient

3. remainder умножаем на 10

4. делим рез-т на начальный дивизор

5. quotient2 прибавляем к п.2

получаем таким образом результат деления с точностью до 1 десятой

если дальше, то надо повторять до позеленения...

 

При этом плохо, что я не предусмотрел возможность переполнения. Т.е. пусть dividend изначально равен 2^33-1. Тогда максимальный quotient будет = dividend-1. При этом использовать дивайдер 32 на 32 бита глупо. Если я не ошибаюсь на FP процах все реализуется через 8-ми битные делители. Поправьте, коли не так...

 

Короче продолжаем дебаты )))

Всем спс за внимание

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Присоединяйтесь к обсуждению

Вы можете написать сейчас и зарегистрироваться позже. Если у вас есть аккаунт, авторизуйтесь, чтобы опубликовать от имени своего аккаунта.

Гость
Ответить в этой теме...

×   Вставлено с форматированием.   Вставить как обычный текст

  Разрешено использовать не более 75 эмодзи.

×   Ваша ссылка была автоматически встроена.   Отображать как обычную ссылку

×   Ваш предыдущий контент был восстановлен.   Очистить редактор

×   Вы не можете вставлять изображения напрямую. Загружайте или вставляйте изображения по ссылке.

×
×
  • Создать...