|
Как правильно в плис делить |
|
|
|
Jul 15 2015, 03:36
|
Участник

Группа: Участник
Сообщений: 63
Регистрация: 14-12-11
Пользователь №: 68 851

|
Мне вот если делители известны заранее нравится умножать делимое на (2^n/делитель), а затем полученное число делить на 2^n. Можно даже составить таблицу соответствия делитель--множитель.
|
|
|
|
|
Jul 15 2015, 03:59
|
Гуру
     
Группа: Свой
Сообщений: 4 256
Регистрация: 17-02-06
Пользователь №: 14 454

|
Делить правильно делителем. Видов делителей великое множество, надо реализовать один из них и все. Самый простой реализует метод деления столбиком. Делитель двигаете максимально вправо, сравниваете со старшей частью делимого, если оно больше 1 и вычитаете делитель, остаток сносите, если нет 0, и просто сносите остаток, сдвигаете делитель и так далее... а можно так Код reg [15:0] A; reg [15:0] B; reg [15:0] C;
always... C <= A/B; и посмотреть вдруг то что придумает синтезатор вас устроит
|
|
|
|
|
Jul 15 2015, 06:39
|
Знающий
   
Группа: Участник
Сообщений: 527
Регистрация: 4-06-14
Из: Санкт-Петербург
Пользователь №: 81 866

|
И снова CORDIC
cordic____.pdf ( 1.07 мегабайт )
Кол-во скачиваний: 199стр 6 документа - умножение с накоплением и деление с накоплением, используются только сложения и сдвиги. Преимущества Можно получить fmax > 200 MHz при обработке потока порядка 32 бит и даже больше (конечный результат будет зависеть от ПЛИС) Можно реализовать большим ресурсами так, что fs = fmax При fs << fmax очень экономная корка, хотя обычный pipeline дулитель столбиком, про который упоминал des00 может занять меньше ресурсов Недостатки Latency = количество итераций * 1/fmax. При fs = fmax получится довольно толстая корка
|
|
|
|
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0
|
|
|