[an error occurred while processing this directive]
Для MegaVolt, арифметика по модулю.
(«Телесистемы»: Конференция «Программируемые логические схемы и их применение»)

миниатюрный аудио-видеорекордер mAVR

Отправлено V61 17 декабря 2003 г. 10:57

Такой пример.
Приращение – а = 4, модуль – m = 9, порядок - N = 5.
acc = (acc + a) mod m : 0, 4, 8, 3, 7, 2, 6, 1, 5, 0, …
Переносим эту "зону суммирования" так, чтобы получить естественный перенос.

"зона суммирования" : 0(32), 1(33), 2(34), 27, 28, 29, 30, 31
Коэффициент для возврата в "зону суммирования"
ma = 2**N – m + a = 32 – 9 + 4 = 27.
В качестве выхода – 5 младших разряда, старший разряд – фиксирует переполнение и определяет приращение ‘a’ или ‘ma’.
Стартуем с числа 32 – для выхода это 0.
В случае переполнения (acc(5) = ‘1’) – в качестве приращения используем ma, в противном случае – a.

Мультиплексор:
mux <= ma when acc(5) = ‘1’ else a;

Затем накапливаем, при этом старший разряд acc в накоплении не участвует.

Аккумулятор:
process(clk,rst)
begin
if rst = '1' then
acc <= x"20";
elsif clk = '1' and clk'event then
acc <= ext(acc(4 downto 0),6) + ext(mux,6);
end if;
end process;

В результате получим: 0, 27, 31, 3, 30, 2, 29, 1, 28, 0, …
В данном случае число, например, 28 однозначно соответствует числу 5.

По схеме: такая запись – есть сумматор с мультиплексором на входе.
Это 4-х входовая функция. Она погружается Lut на бит.
Вопрос только в старшем разряде, для которого синтезатор может
также задействовать Lut (хотя не должен).
Но это для Xilinx. Суммирование в Altera визуально слабее, но это к “спецам” по Altera,возможно, я не прав.
По организации: коэффициенты ‘a’ и ‘ma’ внешние для схемы, т.е. вычислены заранее и где-то хранятся.
При асинхронном изменении коэффициентов может потребоваться время для выхода в “зону суммирования”, но если их изменять по тому же стробу acc(5) проблем быть не должно.


Составить ответ  |||  Конференция  |||  Архив

Ответы


Отправка ответа

Имя (обязательно): 
Пароль: 
E-mail: 

Тема (обязательно):
Сообщение:

Ссылка на URL: 
Название ссылки: 

URL изображения: 


Перейти к списку ответов  |||  Конференция  |||  Архив  |||  Главная страница  |||  Содержание  |||  Без кадра

E-mail: info@telesys.ru