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

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

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

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

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

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

б – для інформаційного сигналу Двійково-десятковий суматор в коді 8-4-2-1 - student2.ru . у коді 8,4,2,1.

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

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

Двійково-десятковий суматор в коді 8-4-2-1 - student2.ru . (1.14)

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

3.3. Двійково-десятковий суматор в коді “з надлишком 3”

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

1. Десяткова сума Двійково-десятковий суматор в коді 8-4-2-1 - student2.ru , отримана на першому етапі, менше або рівна 9. Десятковий перенос відсутній ( Двійково-десятковий суматор в коді 8-4-2-1 - student2.ru ), двійкові коди на виходах першого ступеня лежать в межах від 0110 до 1111. Оскільки двійкові коди суми Двійково-десятковий суматор в коді 8-4-2-1 - student2.ru виходять “з надлишком 6” (кожний з доданків “з надлишком 3”), то з результату, отриманого на першому етапі, необхідно відняти двійковий код 0011, або, що те ж саме, додати його додатковий код 1101 (без урахування знакового розряду, оскільки нас він не цікавить). Як генератор одиниці для коду 1101 можна використовувати вихід інвертора, підключеного до виходу перенесення з четвертого розряду суматора першого ступеня.

2. Десяткова сума Двійково-десятковий суматор в коді 8-4-2-1 - student2.ru , отримана на першому етапі, знаходиться в діапазоні від 10 до 19. Існує десятковий перенос ( Двійково-десятковий суматор в коді 8-4-2-1 - student2.ru ), в якості якого можна використовувати вихід переносу з четвертого розряду суматора першого ступеня, оскільки відповідні двійкові коди лежать в діапазоні від 10000 до 11001. Поправка, яку треба використовувати в цьому випадку, визначається з наступних міркувань. Щоб результат прийняв правильне значення двійкового коду, треба з суми, отриманої на першому етапі, відняти 10 (вага десяткового переносу) і 3 (щоб усунути надлишок 6 в сумі), тобто всього треба відняти 13. Фактично ж двійкова структура переносу з четвертого розряду в п'ятий має вагу 16. Отже, щоб результат був правильним, необхідно до суми, отриманої на першому етапі, додати двійковий код 3 = 0011. Як генератор одиниць цього коду використовується вихід перенесення з четвертого розряду суматора першого ступеня. Застосувавши на першому і другому етапах двійкові суматори з послідовним переносом, отримаємо остаточну схему, приведену на рис. 13. Оскільки в обох випадках на молодший суматор другого ступеня поступають два константні сигнали 0 і 1, його можна замінити інвертором, причому виходить Двійково-десятковий суматор в коді 8-4-2-1 - student2.ru , а Двійково-десятковий суматор в коді 8-4-2-1 - student2.ru .

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

Рис.13. Двійково-десятковий суматор в коді “з надлишком 3”.

3.4. Двійково-десятковий суматор в коді, що самодоповнюється (2-4-2-1)

Перш ніж розглядати загальні ситуації, що виникають при роботі даного суматора, відзначимо наступне: десяткові цифри 0,1.,4 представляються природними двійковими кодами 8,4,2,1, а цифри 5,6.,9 – двійковими кодами з надлишком 6. Кодові комбінації від 0101 до 1010 є забороненими. Якщо десяткова сума виходить рівною або більше десяти, обов'язково виникає перенос з четвертого розряду першого ступеня суматора, оскільки в цьому випадку, як мінімум, один з доданків буде представлено кодом з надлишком 6. Цей перенос можна використовувати як вихідний десятковий перенос Двійково-десятковий суматор в коді 8-4-2-1 - student2.ru .

Відзначимо чотири випадки при побудові даного суматора.

1. Десяткова сума Двійково-десятковий суматор в коді 8-4-2-1 - student2.ru , отримана на першому етапі, менша або рівна 9, а двійкові коди Двійково-десятковий суматор в коді 8-4-2-1 - student2.ru мають дозволені набори. В цьому випадку корекції не вимагається, оскільки результат істинний. Ясно, що Двійково-десятковий суматор в коді 8-4-2-1 - student2.ru .

2. Десяткова сума Двійково-десятковий суматор в коді 8-4-2-1 - student2.ru , отримана на першому етапі, менша або рівна 9, а двійкові коди Двійково-десятковий суматор в коді 8-4-2-1 - student2.ru мають заборонені набори від 0101 до 1001, причому набір 1010 не може з'явитися. В цьому випадку необхідно скоректувати попередній результат збільшенням двійкового коду 6 = 0110. Як генератор одиниць цього коду потрібно використовувати сигнал Двійково-десятковий суматор в коді 8-4-2-1 - student2.ru Двійково-десятковий суматор в коді 8-4-2-1 - student2.ru , де Двійково-десятковий суматор в коді 8-4-2-1 - student2.ru - інформаційний сигнал, який інформує про те, що на першому ступені суматора отримані заборонені коди 0101 ... 1001. На рис. 14а показана карта Карно для сигналу Двійково-десятковий суматор в коді 8-4-2-1 - student2.ru . Отже, для сигналу Двійково-десятковий суматор в коді 8-4-2-1 - student2.ru можна записати:

Двійково-десятковий суматор в коді 8-4-2-1 - student2.ru . (1.15)

Двійково-десятковий суматор в коді 8-4-2-1 - student2.ru
Рис.14. Карти Карно: а – для сигналу Двійково-десятковий суматор в коді 8-4-2-1 - student2.ru ; б – для сигналу Двійково-десятковий суматор в коді 8-4-2-1 - student2.ru .

1. Десяткова сума Двійково-десятковий суматор в коді 8-4-2-1 - student2.ru , отримана на першому етапі, лежить в діапазоні Двійково-десятковий суматор в коді 8-4-2-1 - student2.ru , а двійкові коди Двійково-десятковий суматор в коді 8-4-2-1 - student2.ru мають заборонені набори від 0110 до 1010, причому набір 0101 не може з'явитися. Оскільки ці набори з'являються тільки при значеннях десяткової суми від 10 до 14, то, по-перше, Двійково-десятковий суматор в коді 8-4-2-1 - student2.ru , а по-друге, значення суми потрібно зменшити на 6 = 0110, або, що те ж саме, додати додатковий код –6 = 1010 (знаковий розряд нас не цікавить). Як генератор одиниць для цього коду потрібно використовувати сигнал Двійково-десятковий суматор в коді 8-4-2-1 - student2.ru , де Двійково-десятковий суматор в коді 8-4-2-1 - student2.ru - інформаційний сигнал про те, що на першому ступені суматора отримані заборонені коди 0110 ... 1010. На рис. 14(б) показана карта Карно для сигналу Двійково-десятковий суматор в коді 8-4-2-1 - student2.ru , звідки слідує:

Отже, для сигналу Двійково-десятковий суматор в коді 8-4-2-1 - student2.ru можна записати:

Двійково-десятковий суматор в коді 8-4-2-1 - student2.ru (1.16)

2. Десяткова сума Двійково-десятковий суматор в коді 8-4-2-1 - student2.ru , отримана на першому етапі, лежить в діапазоні Двійково-десятковий суматор в коді 8-4-2-1 - student2.ru , а двійкові коди Двійково-десятковий суматор в коді 8-4-2-1 - student2.ru мають дозволені набори. В цьому випадку результат правильний, корекція не потрібна. Ясно, що Двійково-десятковий суматор в коді 8-4-2-1 - student2.ru .

Застосувавши на першому і другому етапах двійкові суматори з послідовним переносом, отримаємо остаточну схему, приведену на рис. 15.

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

Рис.15. Двійково-десятковий суматор в коді, що самодоповнюється, 2,4,2,1.

Наши рекомендации