Main — различия между версиями
Материал из Модулярная арифметики
Turbo (обсуждение | вклад) |
Turbo (обсуждение | вклад) |
||
Строка 15: | Строка 15: | ||
# [http://vscripts.ru/2013/multiplication-mod-2-pow-n.php Генератор Verilog для умножителя по модулю 2<sup>n</sup>] - для n от 3 до 43. | # [http://vscripts.ru/2013/multiplication-mod-2-pow-n.php Генератор Verilog для умножителя по модулю 2<sup>n</sup>] - для n от 3 до 43. | ||
# [http://vscripts.ru/2013/high-bit-int-multiplication.php Генератор Verilog для многобитных бинарных умножителей на базе модулярной арифметики] - от 3 до 64 бит на входах | # [http://vscripts.ru/2013/high-bit-int-multiplication.php Генератор Verilog для многобитных бинарных умножителей на базе модулярной арифметики] - от 3 до 64 бит на входах | ||
+ | # [http://vscripts.ru/2013/high-bit-int-multiplication-recur.php Генератор Verilog для многобитных бинарных умножителей на базе рекурсивной модулярной арифметики] - от 3 до 64 бит на входах | ||
=== Прямые и обратные преобразователи === | === Прямые и обратные преобразователи === |
Версия 05:42, 6 мая 2013
Содержание
Генераторы Verilog
Базовые операции
Сумматоры
- Генератор Verilog для сумматора по модулю 2n-1 - реализация на базе двух сумматоров и мультиплексора (вариант Романа).
- Генератор Verilog для сумматора по модулю 2n-1 - полностью комбинационная реализация без мультиплексора (вариант Димы).
- Генератор Verilog для сумматора по произвольному модулю - реализация предлагающая оптимальный вариант.
Умножители
- Генератор Verilog для умножения по модулю (метод 1) - от 3 до 1000 по индексному методу (умножение заменено на сложение).
- Генератор Verilog для умножения по модулю (метод 2) - от 3 до 1000 по методу разности квадратов (X*Y = (1/4)*(X+Y)2 - (1/4)*(X-Y)2)
- Генератор Verilog для умножителя по модулю 2n+1 - для n от 3 до 43.
- Генератор Verilog для умножителя по модулю 2n-1 - для n от 3 до 43.
- Генератор Verilog для умножителя по модулю 2n - для n от 3 до 43.
- Генератор Verilog для многобитных бинарных умножителей на базе модулярной арифметики - от 3 до 64 бит на входах
- Генератор Verilog для многобитных бинарных умножителей на базе рекурсивной модулярной арифметики - от 3 до 64 бит на входах
Прямые и обратные преобразователи
- Генератор Verilog для прямого преобразователя в базиса вида (2n-1, 2n, 2n+1) - прямой преобразователь из позиционной системы счисления в систему остаточных классов (версия Романа).
- Генератор Verilog для прямого преобразователя в базиса вида (2n-1, 2n, 2n+1) - прямой преобразователь из позиционной системы счисления в систему остаточных классов (версия Димы).
- Генератор Verilog для обратного преобразователя из базиса вида (2n-1, 2n, 2n+1) - сверхбыстрый обратный преобразователь в позиционную систему.
Другое
- Генератор Verilog для модулярных операций по методу Квайна - генератор операций сложения и умножения, для малых модулей (от 3 до 15).
- Генератор Verilog для квадрата разности по модулю p - состоит из вычитателя и таблицы квадратов (LUT).
SAD процессоры (поиск различия между двумя картинками)
- Генератор Verilog для реализации позиционного SAD процессора - поиск векторов компенсации движения в стандартном виде.
- Генератор Verilog для реализации модулярного SAD процессора - поиск векторов компенсации движения в модулярном базисе вида (2n-1, 2n, 2n+1).
Формулы и математика
- Генератор простых чисел Прота для реализации операции свёртки - по методу БПФ в конечном поле.
- Формула для обратного преобразователя для базиса вида (2n-1, 2n, 2n+1) - обратный преобразователь для спец. системы модулей из системы остаточных классов в позиционный код.
- Проверка формул обратного преобразователя для базиса вида (2n-1, 2n, 2n+1) - обратный преобразователь для спец. системы модулей из системы остаточных классов в позиционный код.
- Генератор базисов для SAD процессоров разной размерности - базисы специального вида и обычного.
- Рисовалка области значений комплексного вычета - вычет комплексного числа по комлексному переменному
- Проверка базиса и расчет его динамического диапазона
Временные и тестовые скрипты
- Список случайных простых чисел - для теста от 900 до 20000
- Таблица умножения по модулю - от 3 до 100
Программы
Справочные материалы
Определения
Алгоритмы
Разное
- Алгоритм Espresso - эффективный алгоритм для минимизации булевых функций
- MIS: A multiple-level logic optimization system - система логического синтеза
- Введение в АЦП - описание видов аналого-цифровых преобразователей (двоичных)
- Модулярное АЦП - описание различных архитектур АЦП и их сравнение
- Специальные системы модулей - разные типы систем
- Полезная литература
Результаты исследований
- 2013.04 - Результаты синтеза двоичных умножителей (3 - 64 бит)
- 2013.04 - Результаты синтеза прямых/обратных преобразователей на спец модулях вида 2^n-1, 2^n, 2^n+1 для Д.Д. до 128 бит.
- 2013.02 - Сравнение разных методов умножения по модулю - 2^n-1,индексный,по методу разности квадратов и позиционный.
- 2013.02 - Результат сравнения модулярных сумматоров в стандартном исполнении и по методу Espresso
- 2013.01 - Результат сравнения модулярных сумматоров в стандартном исполнении и по методу Квайна
- 2012.12 - Результат сравнения SAD-процессоров модулярный vs позиционный (промежуточный отчет 12.2012)
- 2012.12 - Исследование позиционного умножения на нашей библиотеке
- 2012.12 - Сравнение разных методов умножения по модулю - сравнение позиционного, индексного умножителя и умножителя по методу разности квадратов
- 2012.12 - Сравнение разных методов сложения по модулю 2^n-1 (модуль вида 2n-1) - сравнение позиционного сумматора и двух вариантов реализации сумматора по модулю 2n-1 (Генератор 1, Генератор 2).