суматор / помножувач і приклад виконання абстрактного керуючого автомата з жорсткою логікою без мінімізації апаратурних і цінових витрат.
2. Розробка суматора і помножувача
2.1 Вибір моделі суматора за модулем m
Існує досить велика кількість підходів до реалізації суматорів за модулем m. Далі будуть розглянуті найбільш типові і прості схеми модулярного підсумовування. Перша з них обчислює модульну суму | x + y | m за допомогою таблиці розміром n * 2 2n, n=[log 2 m]. Для двох відповідних елементів просто вибирається відповідь з великої таблиці. Це рішення дуже добре підходить для випадків, коли довжина слова мала, наприклад, n < 5 [1].
Рисунок 2.1 (а) - модулярних підсумовування за допомогою великої LUT-таблиці
Для великих модулів, пам'ять LUT була б значного розміру і інші схеми для підсумовування опиняються в цьому випадку більш кращими. Наступна пропозиція грунтується на звичайному підсумовуванні x + y і однієї таблиці, яка містить всі можливі значення для | x + y | m.
При цьому істотно скорочується розмір підстановлювальний таблиці з n * 2 2n до n * 2 n +1, що дає можливість розширювати набір модулів в разі необхідності більшого динамічного діапазону або надлишкових модульних каналів для корекції помилок [1] .
Рисунок 2.1 (б) - модулярних підсумовування з попередніми звичайним підсумовуванням.
Третя схема підсумовування є найпоширенішою і найбільш кращою в більшості випадків. У цій схемі використовується два суматора і мультиплексор для вибору результату у відповідності з виразом:
Рисунок 2.1 (в) - модулярних підсумовування без використання LUT-таблиць
В даному курсовому проекті використовується остання схема підсумовування без використання LUT-таблиць зважаючи на простоту реалізації і мінімальних витрат апаратури.
.2 Вибір моделі помножувача по модулю m
Помножувачі на основі закону квадратів (рис. 2.2 (а)) обчислюють модулярних твір | x * y | m за допомогою наступного рівності (закон квадратів):
(2.1)
де 0? x, y < m. Модулярних множення на основі (3.1) можна записати таким чином:
(2.2)
і твір | x * y | m можна обчислювати за формулою:
(2.3)
Малюнок 2.2 (а) - Схема модулярного помножувача по модулю m на основі закону квадратів
Існування операції ділення на 2 ставить під загрозу цілочисельність проміжних обчислень і, відповідно, правильність результату після використання таблиць підстановок. Більше того, існування зворотного по множенню по модулю m для 2 елементи,, гарантується тільки у випадку, якщо 2 поділяє m (тобто m - непарне). Тейлор в роботі [11] привів доказ теореми, показавши, що навіть якщо при обчисленні (2.2) будуть проміжні дробу, вони взаємно знищаться.
Помножувачі, заснований на арифметиці покажчиків [12, 13] є порівнянною альтернативою по складності і швидкості помножувачем, заснованим на законі квадратів. Їх використання обмежене простими модулями і грунтується на з...