Main

Материал из Модулярная арифметики
(Различия между версиями)
Перейти к: навигация, поиск
Строка 1: Строка 1:
= Генераторы Verilog =
+
<table style="width: 100%;"><tr><td style="width: 50%; vertical-align: top; border-right: 1px solid gray; padding: 0px 5px;">
 
+
== Генераторы Verilog (базовые операции) ==
== Базовые операции ==
+
  
 
=== Сумматоры ===  
 
=== Сумматоры ===  
Строка 28: Строка 27:
 
# [http://vscripts.ru/2012/reverse-converter-2supn-generator.php Генератор Verilog для обратного преобразователя из базиса вида (2<sup>n</sup>-1, 2<sup>n</sup>, 2<sup>n</sup>+1)] - сверхбыстрый обратный преобразователь в позиционную систему.
 
# [http://vscripts.ru/2012/reverse-converter-2supn-generator.php Генератор Verilog для обратного преобразователя из базиса вида (2<sup>n</sup>-1, 2<sup>n</sup>, 2<sup>n</sup>+1)] - сверхбыстрый обратный преобразователь в позиционную систему.
 
# [http://vscripts.ru/2013/reverse-converter-4-mod-generator.php Генератор Verilog для обратного преобразователя из 4-х элементного базиса (2<sup>n</sup>-1, 2<sup>n</sup>+1, 2<sup>n+1</sup>-1, 2<sup>n+1</sup>+1)] - обратный преобразователь в позиционную систему.
 
# [http://vscripts.ru/2013/reverse-converter-4-mod-generator.php Генератор Verilog для обратного преобразователя из 4-х элементного базиса (2<sup>n</sup>-1, 2<sup>n</sup>+1, 2<sup>n+1</sup>-1, 2<sup>n+1</sup>+1)] - обратный преобразователь в позиционную систему.
 
  
 
=== Другое ===
 
=== Другое ===
Строка 46: Строка 44:
 
# [http://vscripts.ru/2013/check_basis.php Проверка базиса и расчет его динамического диапазона]
 
# [http://vscripts.ru/2013/check_basis.php Проверка базиса и расчет его динамического диапазона]
  
== Временные и тестовые скрипты ==
+
</td><td style="width: 50%; vertical-align: top; padding: 0px 5px;">
# [http://vscripts.ru/2012/prime.php Список случайных простых чисел] - для теста от 900 до 20000
+
# [http://vscripts.ru/2012/multable.php Таблица умножения по модулю] - от 3 до 100
+
 
+
== Программы ==
+
# [[(Prog) Генератор Verilog из таблиц истинности для сумматоров по модулю]]
+
  
 
== Справочные материалы ==
 
== Справочные материалы ==
Строка 61: Строка 54:
 
=== Алгоритмы ===
 
=== Алгоритмы ===
 
* [[Нахождение обратного элемента по модулю]]
 
* [[Нахождение обратного элемента по модулю]]
 +
 +
== Программы ==
 +
* [[(Prog) Генератор Verilog из таблиц истинности для сумматоров по модулю]]
  
 
=== Разное ===
 
=== Разное ===
Строка 80: Строка 76:
 
# 2012.12 - [[Сравнение разных методов умножения по модулю]] - сравнение позиционного, [http://vscripts.ru/2012/index-modulo-multiplication.php индексного умножителя] и [http://vscripts.ru/2012/index-modulo-multiplication-sqr.php умножителя по методу разности квадратов]
 
# 2012.12 - [[Сравнение разных методов умножения по модулю]] - сравнение позиционного, [http://vscripts.ru/2012/index-modulo-multiplication.php индексного умножителя] и [http://vscripts.ru/2012/index-modulo-multiplication-sqr.php умножителя по методу разности квадратов]
 
# 2012.12 - [[Сравнение разных методов сложения по модулю 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]).
 
# 2012.12 - [[Сравнение разных методов сложения по модулю 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]).
 +
 +
== Временные и тестовые скрипты ==
 +
# [http://vscripts.ru/2012/prime.php Список случайных простых чисел] - для теста от 900 до 20000
 +
# [http://vscripts.ru/2012/multable.php Таблица умножения по модулю] - от 3 до 100
 +
 +
</td></tr></table>
 +
__NOTOC__

Версия 12:24, 8 мая 2013

Генераторы Verilog (базовые операции)

Сумматоры

  1. Генератор Verilog для сумматора по модулю 2n-1 - реализация на базе двух сумматоров и мультиплексора (вариант Романа).
  2. Генератор Verilog для сумматора по модулю 2n-1 - полностью комбинационная реализация без мультиплексора (вариант Димы).
  3. Генератор Verilog для сумматора по произвольному модулю - реализация предлагающая оптимальный вариант.

Модулярные умножители

  1. Генератор Verilog для умножения по модулю (метод 1) - от 3 до 1000 по индексному методу (умножение заменено на сложение).
  2. Генератор Verilog для умножения по модулю (метод 2) - от 3 до 1000 по методу разности квадратов (X*Y = (1/4)*(X+Y)2 - (1/4)*(X-Y)2)
  3. Генератор Verilog для умножителя по модулю 2n+1 - для n от 3 до 43.
  4. Генератор Verilog для умножителя по модулю 2n-1 - для n от 3 до 43.
  5. Генератор Verilog для умножителя по модулю 2n - для n от 3 до 43.

Классические умножители (до 128 бит)

  1. Бинарный умножитель на базе модулярного базиса (2n-1, 2n, 2n+1) - от 3 до 64 бит на входах.
  2. Бинарных умножитель на базе рекурсивной модулярного базиса (2n-1, 2n, 2n+1) - от 3 до 64 бит на входах. Используется два иерархических уровня модулей вида (2n-1, 2n, 2n+1).
  3. Бинарный умножитель на базе модулярного базиса (2n-1, 2n+1, 2n+1-1, 2n+1+1) - от 3 до 64 бит на входах. Используется перспективный набор из 4-х модулей.

Прямые модулярные преобразователи

  1. Модулярный базис (2n-1, 2n, 2n+1) - прямой преобразователь из позиционной системы счисления в систему остаточных классов (версия Романа).
  2. Модулярный базис (2n-1, 2n, 2n+1) - прямой преобразователь из позиционной системы счисления в систему остаточных классов (версия Димы).
  3. Модулярный базис (2n-1, 2n+1, 2n+1-1, 2n+1+1) - прямой преобразователь из позиционной системы счисления в систему остаточных классов.

Обратные модулярные преобразователи

  1. Генератор Verilog для обратного преобразователя из базиса вида (2n-1, 2n, 2n+1) - сверхбыстрый обратный преобразователь в позиционную систему.
  2. Генератор Verilog для обратного преобразователя из 4-х элементного базиса (2n-1, 2n+1, 2n+1-1, 2n+1+1) - обратный преобразователь в позиционную систему.

Другое

  1. Генератор Verilog для модулярных операций по методу Квайна - генератор операций сложения и умножения, для малых модулей (от 3 до 15).
  2. Генератор Verilog для квадрата разности по модулю p - состоит из вычитателя и таблицы квадратов (LUT).

SAD процессоры (поиск различия между двумя картинками)

  1. Генератор Verilog для реализации позиционного SAD процессора - поиск векторов компенсации движения в стандартном виде.
  2. Генератор Verilog для реализации модулярного SAD процессора - поиск векторов компенсации движения в модулярном базисе вида (2n-1, 2n, 2n+1).

Формулы и математика

  1. Генератор простых чисел Прота для реализации операции свёртки - по методу БПФ в конечном поле.
  2. Формула для обратного преобразователя для базиса вида (2n-1, 2n, 2n+1) - обратный преобразователь для спец. системы модулей из системы остаточных классов в позиционный код.
  3. Проверка формул обратного преобразователя для базиса вида (2n-1, 2n, 2n+1) - обратный преобразователь для спец. системы модулей из системы остаточных классов в позиционный код.
  4. Генератор базисов для SAD процессоров разной размерности - базисы специального вида и обычного.
  5. Рисовалка области значений комплексного вычета - вычет комплексного числа по комлексному переменному
  6. Проверка базиса и расчет его динамического диапазона

Справочные материалы

Определения

Алгоритмы

Программы

Разное

Результаты исследований

  1. 2013.04 - Результаты синтеза двоичных умножителей (3 - 64 бит)
  2. 2013.04 - Результаты синтеза прямых/обратных преобразователей на спец модулях вида 2^n-1, 2^n, 2^n+1 для Д.Д. до 128 бит.
  3. 2013.02 - Сравнение разных методов умножения по модулю - 2^n-1,индексный,по методу разности квадратов и позиционный.
  4. 2013.02 - Результат сравнения модулярных сумматоров в стандартном исполнении и по методу Espresso
  5. 2013.01 - Результат сравнения модулярных сумматоров в стандартном исполнении и по методу Квайна
  6. 2012.12 - Результат сравнения SAD-процессоров модулярный vs позиционный (промежуточный отчет 12.2012)
  7. 2012.12 - Исследование позиционного умножения на нашей библиотеке
  8. 2012.12 - Сравнение разных методов умножения по модулю - сравнение позиционного, индексного умножителя и умножителя по методу разности квадратов
  9. 2012.12 - Сравнение разных методов сложения по модулю 2^n-1 (модуль вида 2n-1) - сравнение позиционного сумматора и двух вариантов реализации сумматора по модулю 2n-1 (Генератор 1, Генератор 2).

Временные и тестовые скрипты

  1. Список случайных простых чисел - для теста от 900 до 20000
  2. Таблица умножения по модулю - от 3 до 100

Персональные инструменты
Пространства имён

Варианты
Действия
Навигация