Main — различия между версиями
Материал из Модулярная арифметики
Turbo (обсуждение | вклад) |
Turbo (обсуждение | вклад) |
||
Строка 27: | Строка 27: | ||
# [[Исследование позиционного умножения на нашей библиотеке]] | # [[Исследование позиционного умножения на нашей библиотеке]] | ||
# [[Сравнение разных методов умножения по модулю]] - сравнение позиционного, [http://vscripts.ru/2012/index-modulo-multiplication.php индексного умножителя] и [http://vscripts.ru/2012/index-modulo-multiplication-sqr.php умножителя по методу разности квадратов] | # [[Сравнение разных методов умножения по модулю]] - сравнение позиционного, [http://vscripts.ru/2012/index-modulo-multiplication.php индексного умножителя] и [http://vscripts.ru/2012/index-modulo-multiplication-sqr.php умножителя по методу разности квадратов] | ||
− | # [[Сравнение разных методов сложения по модулю 2^n-1]] (модуль вида 2<sup>n</sup>) - сравнение позиционного сумматора и двух вариантов реализации сумматора по модулю 2<sup>n</sup>-1 ([http://vscripts.ru/2012/generator-sum-2n-1.php Генератор 1], [http://vscripts.ru/dima/adder.php Генератор 2]). | + | # [[Сравнение разных методов сложения по модулю 2^n-1]] (модуль вида 2<sup>n</sup>-1) - сравнение позиционного сумматора и двух вариантов реализации сумматора по модулю 2<sup>n</sup>-1 ([http://vscripts.ru/2012/generator-sum-2n-1.php Генератор 1], [http://vscripts.ru/dima/adder.php Генератор 2]). |
Версия 08:07, 23 января 2013
Содержание
Генераторы Verilog
Базовые операции
- Генератор Verilog для умножения по модулю (метод 1) - от 3 до 1000 по индексному методу (умножение заменено на сложение).
- Генератор Verilog для умножения по модулю (метод 2) - от 3 до 1000 по методу разности квадратов (X*Y = (1/4)*(X+Y)2 - (1/4)*(X-Y)2)
- Генератор Verilog для сумматора по модулю 2n-1 - реализация на базе двух сумматоров и мультиплексора (вариант Романа).
- Генератор Verilog для сумматора по модулю 2n-1 - полностью комбинационная реализация без мультиплексора (вариант Димы).
- Генератор Verilog для квадрата разности по модулю p - состоит из вычитателя и таблицы квадратов (LUT).
- Генератор Verilog для прямого преобразователя в базиса вида (2n-1, 2n, 2n+1) - прямой преобразователь из позиционной системы счисления в систему остаточных классов (версия Романа).
- Генератор Verilog для прямого преобразователя в базиса вида (2n-1, 2n, 2n+1) - прямой преобразователь из позиционной системы счисления в систему остаточных классов (версия Димы).
- Генератор Verilog для обратного преобразователя из базиса вида (2n-1, 2n, 2n+1) - сверхбыстрый обратный преобразователь в позиционную систему.
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
Результаты исследований
- Результат сравнения SAD-процессоров модулярный vs позиционный (промежуточный отчет 12.2012)
- Исследование позиционного умножения на нашей библиотеке
- Сравнение разных методов умножения по модулю - сравнение позиционного, индексного умножителя и умножителя по методу разности квадратов
- Сравнение разных методов сложения по модулю 2^n-1 (модуль вида 2n-1) - сравнение позиционного сумматора и двух вариантов реализации сумматора по модулю 2n-1 (Генератор 1, Генератор 2).