Генератор Verilog универсального прямого преобразователя для произвольных модулей
Описание:
3) поиск значения вычета основано на следующем подходе. Входное число X[bit:0] представляется в виде X[0]*20 + X[1]*21 +...+ X[bit]*2bit. Константы K[i] = ((2i)%module) предрасчитываются. Итоговая сумма SUM = K[0]*X[0] + K[1]*X[1] + ... + K[bit]*X[bit] не превосходит значение (bit*(module-1)). На следующем этапе анализируется в какой из промежутков вида (k*module, k*(module+1)) попадает значение суммы SUM. И из неё вычитается корректирующий коэффициент k*module. Количество анализируемых промежутков всегда строго меньше (bit+1).
4) В конвеерном варианте два вышеозначенных этапа разнесены на два разных этапа конвеера.