Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
ЛР_2_САПР.doc
Скачиваний:
7
Добавлен:
09.12.2018
Размер:
684.03 Кб
Скачать

Синтез та моделювання роботи двійково-десяткового суматора

Завдання побудови однорозрядного двійково-десяткового суматора може вирішуватися так само, як і завдання побудови однорозрядного двійкового суматора. У разі двійково-десяткового суматора необхідно буде реалізувати п'ять функцій від дев'яти двозначних змінних - чотири змінні для кожної десяткової цифри і одна змінна – перенос з молодшого розряду. При цьому вихідні функції будуть визначені лише на 200 наборах з = 512. Можна було б записати ДДНФ цих функцій і мінімізувати їх відомими формальними методами. Проте ДДНФ в цьому випадку містили б десятки диз'юнктивних членів, що значно утрудняє мінімізацію. Крім того, внаслідок великого числа невизначених значень функції важко вирішити питання про їх раціональне довизначення.

Тому двійково-десяткові суматори будують в два етапи. На першому етапі додають двійкові коди десяткових цифр по правилу двійкової арифметики. На другому етапі проводять корекцію результатів шляхом збільшення або віднімання деякої поправки, величина якої пов'язана з величиною некоректованого результату, отриманого на першому етапі. Розглянемо три приклади проектування однорозрядного двійково-десяткового суматора, зважаючи на дві обставини: перше – ДДК суми і ДДК доданків повинен бути одним і тим же; друге - двійково-десятковий суматор повинен формувати десятковий перенос, тобто перенос з вагою 10.

Двійково-десятковий суматор в коді 8-4-2-1

При побудові даного суматора необхідно розглянути три загальні випадки.

1. Десяткова сума, отримана на першому етапі, менше або рівна 9. Результат правильний, корекція не потрібна, десятковий перенос рівний нулю.

2. Десяткова сума, отримана на першому етапі, знаходиться в межах від 10 до 15. Результат треба зменшити на 10, а десятковий перенос необхідно сформувати як інформаційний сигнал про те, що . Віднімання 10 з результату замінюється додаванням додаткового коду . Оскільки знаковий (п'ятий) розряд нас не цікавить, то на другому етапі до треба додати число 6=0110.

3. Десяткова сума, отримана на першому етапі, знаходиться в межах від 16 до 19. У цій ситуації і його можна використовувати як десяткове перенесення, проте, оскільки вага в двійковій структурі 16, то до значення необхідно додати поправку 6 = 0110.

На рис. 2.7,а показана еталонна карта Карно для чотирьох змінних, а на рис. 2.7,б – робоча карта для інформаційного сигналу, з якого виходить:

. (2.10)

Використавши на першому і другому етапах двійкові суматори з послідовним переносом, отримаємо остаточну схему, яка приведена на рис. 2.8. Оскільки на два однорозрядні суматори в другому ступені подається на один з входів сигнал логічного “0”, то відповідні суматори можна замінити на напівсуматори.

Рис.2.7. Карти Карно: а) – еталонна; Рис.2.8. Двійково-десятковий суматор

б) – для інформаційного сигналу . у коді 8-4-2-1.

Цифрові порівнювачі кодів

Цифрові порівнювачі кодів формують на виході F=1 при рівності двох двійкових чисел A (порозрядно A2, A1) і B (порозрядно B2, B1), що подаються на їх вхід. Цифрова схема порівняння – це цифровий аналог компаратора. Таблиця істинності цифрових порівнювачів кодів має вигляд (табл. 2.4):

Табл. 2.4.

A

B

A>B

A<B

A=B

A2

A1

B2

B1

0

0

0

0

0

0

1

0

0

0

1

0

1

0

0

0

1

0

0

1

0

0

0

1

1

0

1

0

0

1

0

0

1

0

0

0

1

0

1

0

0

1

0

1

1

0

0

1

0

0

1

1

1

0

1

0

1

0

0

0

1

0

0

1

0

0

1

1

0

0

1

0

1

0

0

0

1

1

0

1

1

0

1

0

1

1

0

0

1

0

0

1

1

0

1

1

0

0

1

1

1

0

1

0

0

1

1

1

1

0

0

1