Цитата(evgeniy_s @ Dec 6 2005, 00:32)

К сожелению, у нас не было курса по алгоритмам реализации математических операций и функций, а также не было нормального курса по цифровой схемотехнике

приходиться все изучать самому
Цитата(SM @ Dec 6 2005, 10:01)

Больше слушайте народ, тоже мне невозможная задача. Советую посмотреть реализацию LPM_DIVIDE из альтеровского софта. Генерит хорошие комбинаторные делители. Вот он же на верилоге (A и B восьмибитные), только построенный на менее экономной схеме, чем альтеровский вариант с восстановлением остатка (если рассматривать реализацию в заказной ИМС, то мультиплексор обычно более компактен, чем xor для сумматора-вычитателя):
Код
reg [7:0]p[8:0],r;
integer i;
always @(A,B)
for (i = 7; i >= 0; i = i - 1)
{r[i],p[i]}=(i==7)?(A>>7)-B:(r[i+1])?{p[i+1],A[i]}+B:{p[i+1],A[i]}-B;
assign Q = ~r;
assign M = (r[0])? p[0] + B : p[0] + 0;
endmodule
Спасибо за пример, попробую всетаки реализовать табличным методом с целью уменьшения задержки и увеличения точности
Сообщение отредактировал ArAhis - Dec 7 2005, 12:52