Лабораторний практикум з дослідження цифрових пристроїв на основі САПР MAX+PLUS II, страница 40

Багаторозрядний суматор утворюється шляхом послідовного ввімкнення n суматорів, де n - кількість розрядів доданків (рис. 5.1, ж). Вихід старшого перенесення можна використати як старший розряд зчитуваної суми, для індикації переповнення розрядної сітки, а також для каскадування багаторозрядних суматорів з метою збільшення розрядності доданків   (рис. 5.1, и). З метою підвищення швидкодії групи розрядів можна з’єднувати за допомогою спеціальних схем пришвидшеного перенесення.

Суматори використовуються як для додавання, так і для віднімання, якщо двійкові числа (операнди) зображати в оберненому або доповняльному коді. Серед стандартних ІС суматорів найпоширенішими є однорозрядні повні суматори (по кілька в корпусі ІС) та дво- і чотирирозрядні  (рис. 5.2, а), б), в). Бібліотека САПР містить також спеціальну макрофункцію восьмирозрядного суматора (рис. 5.2, г) і мегафункцію суматора-віднімача (рис. 5.2, д), яку легко настроїти на додавання або віднімання, а також на репрезентацію даних зі знаком або без знаку. Вхідний і вихідний переноси можуть позначатися на символах або з номером розряду, або зручніше назвою відповідно cin (carry input)  та cout  (carry output).

Таблиця 5.1

i

a1a0b1b0

y3y2y1y0

0

0 0 0 0

0 0 0 0

1

0 0 0 1

0 0 0 0

2

0 0 1 0

0 0 0 0

3

0 0 1 1

0 0 0 0

4

0 1 0 0

0 0 0 0

5

0 1 0 1

0 0 0 1

6

0 1 1 0

0 0 1 0

7

0 1 1 1

0 0 1 1

8

1 0 0 0

0 0 0 0

9

1 0 0 1

0 0 1 0

10

1 0 1 0

0 1 0 0

11

1 0 1 1

0 1 1 0

12

1 1 0 0

0 0 0 0

13

1 1 0 1

0 0 1 1

14

1 1 1 0

0 1 1 0

15

1 1 1 1

1 0 0 1

Каскадування суматорів із застосування схем пришвидшеного перенесення тут не розглядається, бо за наявності сучасних програмованих ІС це питання практично втрачає сенс.

5.1.2 Комбінаційні помножувачі

Програмно в мікропроцесорах та мікроЕОМ множення двійкових чисел здійснюють шляхом зсуву за допомогою ЦПП та додавання часткових добутків у суматорах згідно з відомими алгоритмами. Процедура множення виконується протягом багатьох тактів, що може спричинити зниження швидкодії в неприйнятних межах, зокрема, радіотехнічних пристроїв та систем з обробкою інформації в реальному масштабі часу.

а)

б)

Рисунок 5.3

Підвищення швидкодії було досягнуто апаратно в ІС матрицевих помножувачів з ланцюжком суматорів часткових добутків. При цьому усталення всього добутку розтягується в часі перемиканням кількості суматорів у найдовшій діагоналі матриці суматорів.

Найвища швидкодія досягається в комбінаційних помножувачах з безпосереднім формуванням розрядів остаточного добутку. Розглянемо для прикладу множення дворозрядних чисел A=a1a0 та B=b1b0 (табл. 5.1). Розрядність добутку Y= y3y2y1y0 вибирається як сума розрядів співмножників. Функцію для старшого розряду записуємо безпосередньо з таблиці, а інших розрядів мінімізуємо за допомогою діаграм термів (рис. 5.3, а) із застосуванням редукції:

Мінімізована схема (рис. 5.3, б) практично не поступається за швидкодією реалізованій за первісними термами.

а)

б)

в)

г)

Рисунок 5.4

Для чисел зі старшим знаковим розрядом A=aza1a0, B=bzb1b0 знак добутку Y=yzy3y2y1y0 формується окремо, за допомогою елемента Виключне АБО:

Серед стандартних ІС комбінаційних помножувачів (макрофункцій) поширеними є з розрядністю співмножників 2×2, 2×4 та 4×4 (рис. 5.4, а), б), в). Старші розряди співмножників a[], b[] та добутку у[] репрезентують знак числа, а вхід G є стробовим. Бібліотека САПР містить також мегафункцію помножувача lpm_mult (рис. 5.4, г), основними параметрами якої є LPM_WIDTHA, LPM_WIDTHB, LPM_WIDTHP – розрядність відповідно співмножників a[], b[] та добутку у[].