„ў. br/>
.1.7 Знаковий помножувач з додатковим кодом
Примітив помножувача MULT18X18SIO зображений на малюнку 3.3.
В
Малюнок 3.3 - Примітив помножувача MULT18X18SIO
Кожен помножувач виконує операцію P = A * B, де A і B - 18-розрядні слова з додатковим кодом, і P - 36-розрядний вихід з повною точністю також з додатковим кодом. 18-розрядні вводи представляють значення в межах від -131,07210 до +131,07110 і результат знаходиться в межах від -17,179,738,11210 до +17,179,869,18410. p align="justify"> Множення беззнакових чисел виконується з обмеженням вводів по позитивному діапазону. p align="justify"> Кожен вбудований блок помножувача (MULT18X18 примітив) підтримує два незалежні динамічних порту введення даних: 18-розрядний знаковий або 17-розрядний без знаку. Два введення відносять до множники і множнику, або коефіцієнтам (факторів), в той час як висновок - виріб (програма). Примітив MULT18X18 зображений на малюнку 3.4. br/>В
Малюнок 3.4 - Вбудований помножувач
Крім того, ефективне каскадування умножителей до 35 x 35-розрядних знакових може бути виконане при використанні чотирьох вбудованих множників, 36-розрядного суматора і 53-розрядного суматора. p align="justify"> Двійкове множення подібно звичайному множенню з співмножником, помноженим кожним бітом множника для створення часткових обчислень, які потім складаються разом для формування результату. Блок помножувача від Xilinx використовує змінюваний алгоритм Бута (Booth algorithm), згідно з яким для формування проміжних обчислюваних частин використовуються мультиплексори. br/>
.2 Специфікація і вибір часу
Результат генерується швидше для молодших бітів (LSB), ніж для старших (MSB), оскільки MSB вимагають більшої кількості рівнів додавання, тому вибір часу різниться для кожного з 36 висновків помножувача. Проекти повинні використовувати рівно стільки розрядів виводу, скільки їм необхідно насправді. Наприклад, якщо два n-бітних числа без знака ніколи не матимуть результату рівного 2 35 або вище, то P [35] виведення завжди буде дорівнювати нулю. Для будь-якої пари знакових n-бітових чисел, якщо у вас ніколи не вийде -2 n-1 x -2 n-1 , тоді MSB завжди дорівнює наступному биту нижчого порядку (P [2n-1] = P [2n-2]). Також необхідно враховувати, що, якщо деякі висновки повинні мати великі напрямні затримки, вони повинні бути присвоєні LSBs висновків, щоб (балансувати) відповідати затримок MSB.
З тієї ж самої причини, установка вводів даних час для конвеєрного помножувача буде коротшим для MSBs ніж для LSB, але параметри вибору часу не диференціюються між контактами (висновками) для встановлен...