Проектирование многоразрядного десятичного сумматора комбинационного типа
Оптимальная схема одноразрядного двоичного сумматора с учетом заданного базиса логических элементов. Логическая схема одноразрядного десятичного сумматора. Нахождение знака переполнения. Устройство управления для многоразрядного десятичного сумматора.
Рубрика | Коммуникации, связь, цифровые приборы и радиоэлектроника |
Вид | курсовая работа |
Язык | русский |
Дата добавления | 26.10.2011 |
Размер файла | 2,8 M |
Отправить свою хорошую работу в базу знаний просто. Используйте форму, расположенную ниже
Студенты, аспиранты, молодые ученые, использующие базу знаний в своей учебе и работе, будут вам очень благодарны.
Размещено на http://www.allbest.ru/
Министерство образования Российской Федерации
Московский Государственный Институт Электроники и Математики
(Технический Университет)
Кафедра Информационно-коммуникационных технологий
КУРСОВАЯ РАБОТА
на тему:
"Проектирование многоразрядного десятичного
сумматора комбинационного типа"
по дисциплине: "Теория автоматов"
Выполнила:
Студентка группы С-45 Сотова Юлия
Проверил: Бирюков И.И.
Москва 2011
Содержание
- Разработка оптимальной схемы одноразрядного двоичного сумматора с учетом заданного базиса логических элементов
- Разработка схемы коррекции
- Проектирование логической схемы одноразрядного десятичного сумматора
- Нахождение знака переполнения
- Построение функциональной схемы 3-х разрядного сумматора
- Разработка устройства управления для многоразрядного десятичного сумматора
- Разработка регистра признаков результата
- Проектирование распределителя сигналов
Исходные данные для проектирования
Двоично-десятичный код, в котором находятся числа. - 2421
Система логических элементов - ИЛИ, ИЛИ-НЕ.
Критерий оптимальности элементов для проектирования логических схем - минимальное количество логических элементов.
Тип триггера для проектирования схемы управления - D.
Временные параметры синхронизирующей серии импульсов логических элементов:
Задержка 1 логического элемента - 1нс.
Управляющий сигнал - 2нс.
Цифра |
Кодирование 2421 |
|
0 |
0000 |
|
1 |
0001 |
|
2 |
0010 |
|
3 |
0011 |
|
4 |
0100 |
|
5 |
1011 |
|
6 |
1100 |
|
7 |
1101 |
|
8 |
1110 |
|
9 |
1111 |
Для получения алгоритма построим таблицу соответствия
Каждая ячейка этой таблицы содержит:
ѕ коррекцию;
ѕ результат сложения соответствующих двоично-десятичных чисел по правилам двоичной арифметики;
ѕ корректный результат сложения.
Из таблицы видно, что корректирующих величин две.
Коррекцию 0110 необходимо вводить если
ѕ появилась запрещенная комбинация (но при этом не осуществляется перенос в следующую тетраду т.е. результат меньше 10).
Коррекцию 1010 необходимо вводить если
ѕ появилась запрещенная комбинация (и при этом осуществляется перенос в следующую тетраду т.е. результат больше 10).
Таблица соответствия
Код 2421 |
0 |
1 |
2 |
3 |
4 |
5 |
6 |
7 |
8 |
9 |
|||
0000 |
0001 |
0010 |
0011 |
0100 |
1011 |
1100 |
1101 |
1110 |
1111 |
||||
0 |
0000 |
0001 |
0010 |
0011 |
0100 |
1011 |
1100 |
1101 |
1110 |
1111 |
|||
0000 |
0000 |
0001 |
0010 |
0011 |
0100 |
1011 |
1100 |
1101 |
1110 |
1111 |
|||
0110 |
|||||||||||||
1 |
0001 |
0010 |
0011 |
0100 |
0101 |
1100 |
1101 |
1110 |
1111 |
1.0000 |
|||
0001 |
0001 |
0010 |
0011 |
0100 |
1011 |
1100 |
1101 |
1110 |
1111 |
1.0000 |
|||
0110 |
0110 |
||||||||||||
2 |
0010 |
0011 |
0100 |
0101 |
0110 |
1101 |
1110 |
1111 |
1.0000 |
1.0001 |
|||
0010 |
0010 |
0011 |
0100 |
1011 |
1100 |
1101 |
1110 |
1111 |
1.0000 |
1.0001 |
|||
0110 |
0110 |
0110 |
|||||||||||
3 |
0011 |
0100 |
0101 |
0110 |
0111 |
1110 |
1111 |
1.0000 |
1.0001 |
1.0010 |
|||
0011 |
0011 |
0100 |
1011 |
1100 |
1101 |
1110 |
1111 |
1.0000 |
1.0001 |
1.0010 |
|||
0110 |
0110 |
0110 |
0110 |
|
|||||||||
4 |
0100 |
0101 |
0110 |
0111 |
1000 |
1111 |
1.0000 |
1.0001 |
1.0010 |
1.0011 |
|||
0100 |
0100 |
1011 |
1100 |
1101 |
1110 |
1111 |
1.0000 |
1.0001 |
1.0010 |
1.0011 |
|||
1010 |
1010 |
1010 |
1010 |
1010 |
|||||||||
5 |
1011 |
1100 |
1101 |
1110 |
1111 |
1.0110 |
1.0111 |
1.1000 |
1.1001 |
1.1010 |
|||
1011 |
1011 |
1100 |
1101 |
1110 |
1111 |
1.0000 |
1.0001 |
1.0010 |
1.0011 |
1.0100 |
|||
1010 |
1010 |
1010 |
1010 |
|
|||||||||
6 |
1100 |
1101 |
1110 |
1111 |
1.0000 |
1.0111 |
1.1000 |
1.1001 |
1.1010 |
1.1011 |
|||
1100 |
1100 |
1101 |
1110 |
1111 |
1.0000 |
1.0001 |
1.0010 |
1.0011 |
1.0100 |
1.1011 |
|||
1010 |
1010 |
1010 |
|
||||||||||
7 |
1101 |
1110 |
1111 |
1.0000 |
1.0001 |
1.1000 |
1.1001 |
1.1010 |
1.1011 |
1.1100 |
|||
1101 |
1101 |
1110 |
1111 |
1.0000 |
1.0001 |
1.0010 |
1.0011 |
1.0100 |
1.1011 |
1.1100 |
|||
1010 |
1010 |
|
|||||||||||
8 |
1110 |
1111 |
1.0000 |
1.0001 |
1.0010 |
1.1001 |
1.1010 |
1.1011 |
1.1100 |
1.1101 |
|||
1110 |
1110 |
1111 |
1.0000 |
1.0001 |
1.0010 |
1.0011 |
1.0100 |
1.1011 |
1.1100 |
1.1101 |
|||
1010 |
|||||||||||||
9 |
1111 |
1.0000 |
1.0001 |
1.0010 |
1.0011 |
1.1010 |
1.1011 |
1.1100 |
1.1101 |
1.1110 |
|||
1111 |
1111 |
1.0000 |
1.0001 |
1.0010 |
1.0011 |
1.0100 |
1.1011 |
1.1100 |
1.1101 |
1.1110 |
|||
Рассмотрим 6 примеров на сложение трёхразрядных десятичных чисел
1) Сложение двух положительных чисел в прямом коде без переполнения разрядной сетки
+ |
375 |
0,0011,1101,1011 |
||
+ |
281 |
0,0010,1110,0001 |
||
+ |
656 |
0,0110,1011,1100 |
||
0110,0000,0000 |
||||
0,1100,1011,1100 |
2) Сложение положительного (прямой код) и отрицательного (обратный код) числа, ответ получается в прямом коде. Появляется единица переноса в знак. разряд, единица из знакового разряда идет в младший разряд первой тетрады.
+ |
842 |
0,1110,0100,0010 |
||
- |
376 |
1,1100,0010,0011 |
||
+ |
466 |
0,1010,0110,0110 |
||
1010,0110,0110 |
||||
0,0100,1100,1100 |
3) Сложение двух отрицательных чисел в обратном коде, ответ в обратном коде. Появляется единица переноса в знак. разряд, единица из знакового разряда идет в младший разряд первой тетрады
- |
415 |
1,1011,1110,0100 |
||
- |
134 |
1,1110,1100,1011 |
||
- |
549 |
1,1010,1011,0000 |
||
1010,0000,0000 |
||||
1,0100,1011,0000 |
сумматор одноразрядный десятичный двоичный
4) Сложение положительного (прямой код) и отрицательного (обратный код) числа, ответ получается в обратном коде (ответ отрицательный).
+ |
139 |
0,0001,0011,1111 |
||
- |
543 |
1,0100,1011,1100 |
||
- |
404 |
1,0101,1111,1011 |
||
0110,0000,000 |
||||
1,1011,1111,1011 |
5) При сложении двух положительных чисел в прямом коде, ответ отрицательный, значит, мы получили переполнение разрядной сетки.
+ |
875 |
0,1110,1101,1011 |
||
+ |
731 |
0,1101,0011,0001 |
||
+ |
1606 |
1,1100,0000,1100 |
6) При сложении двух отрицательных чисел в обратном коде, ответ положительный, значит, мы получили переполнение разрядной сетки.
- |
578 |
1,0100,0010,0001 |
||
- |
632 |
1,0011,1100,1101 |
||
- |
1210 |
0,0111,1110,1111 |
||
0110,0000,0000 |
||||
0,1101,1110,1111 |
Разработка оптимальной схемы одноразрядного двоичного сумматора с учетом заданного базиса логических элементов
Реализация в базисе "ИЛИ", "ИЛИ-НЕ".
a - первое слагаемое; b - второе слагаемое; c - перенос из соседнего младшего разряда; S - сумма в данном разряде; P - перенос в соседний старший разряд. |
Таблица истинности для функций S и P в одноразрядном двоичном сумматоре
a |
b |
c |
S |
P |
|||
0 |
0 |
0 |
0 |
0 |
|||
0 |
0 |
1 |
1 |
0 |
|||
0 |
1 |
0 |
1 |
0 |
|||
0 |
1 |
1 |
0 |
1 |
|||
1 |
0 |
0 |
1 |
0 |
|||
1 |
0 |
1 |
0 |
1 |
|||
1 |
1 |
0 |
0 |
1 |
|||
1 |
1 |
1 |
1 |
1 |
|||
S |
a |
?a |
|||||
b |
1 |
1 |
|||||
b |
1 |
1 |
|||||
?c |
c |
?c |
|||||
P |
a |
?a |
|||||
b |
1 |
1 |
1 |
||||
b |
1 |
||||||
?c |
c |
?c |
МДНФ для S:
МКНФ для P (с учётом общей части):
P |
a |
a |
||||
b |
1 |
|||||
b |
1 |
1 |
1 |
|||
c |
c |
c |
,
Видно, что для реализации S требуется 7 элементов ИЛИ-НЕ и 1 элемент ИЛИ, для реализации P - 6 элементов ИЛИ-НЕ и 1 элемент ИЛИ.
А для всей системы требуется: 8 элементов ИЛИ-НЕ и 2 элемента ИЛИ.
Разработка схемы коррекции
1. Коррекция вводится, если получается запрещенная комбинация.
г'4 |
г'3 |
г'2 |
г'1 |
Fзк |
|
0 |
0 |
0 |
0 |
0 |
|
0 |
0 |
0 |
1 |
0 |
|
0 |
0 |
1 |
0 |
0 |
|
0 |
0 |
1 |
1 |
0 |
|
0 |
1 |
0 |
0 |
0 |
|
0 |
1 |
0 |
1 |
1 |
|
0 |
1 |
1 |
0 |
1 |
|
0 |
1 |
1 |
1 |
1 |
|
1 |
0 |
0 |
0 |
1 |
|
1 |
0 |
0 |
1 |
1 |
|
1 |
0 |
1 |
0 |
1 |
|
1 |
0 |
1 |
1 |
0 |
|
1 |
1 |
0 |
0 |
0 |
|
1 |
1 |
0 |
1 |
0 |
|
1 |
1 |
1 |
0 |
0 |
|
1 |
1 |
1 |
1 |
0 |
г'4 |
?г'4 |
||||||
г'3 |
1 |
?г'1 |
|||||
1 |
1 |
г'1 |
Fзк |
||||
?г'3 |
1 |
||||||
1 |
1 |
?г'1 |
|||||
?г'2 |
г'2 |
?г'2 |
На классическом базисе: 9 элементов (1 ИЛИ, 4 НЕ, 4 И).
На заданном базисе "ИЛИ, ИЛИ-НЕ": тоже 9 элементов (1 ИЛИ, 8 ИЛИ-НЕ).
2. Коррекция вводится, если получается запрещенная комбинация и единица переноса.
Fзк |
Пi |
К4 |
К3 |
К2 |
К1 |
|
0 |
0 |
0 |
0 |
0 |
0 |
|
0 |
1 |
0 |
0 |
0 |
0 |
|
1 |
0 |
0 |
1 |
1 |
0 |
|
1 |
1 |
1 |
0 |
1 |
0 |
Вычислим по диаграммам Вейча формулы для: К4, К3, К2 и К1.
К4 |
Fзк |
?Fзк |
|
Пi |
1 |
||
?Пi |
|||
К3 |
Fзк |
?Fзк |
|
Пi |
|||
?Пi |
1 |
||
К2 |
Fзк |
?Fзк |
|
Пi |
1 |
||
?Пi |
1 |
||
К1 |
Fзк |
?Fзк |
|
Пi |
|||
?Пi |
Проектирование логической схемы одноразрядного десятичного сумматора
В дальнейшем данную схему будем изображать следующим образом.
Разработка преобразователя прямого кода в обратный для работы с отрицательными величинами.
Таблица истинности:
В общем виде:
Далее будет обозначаться так:
Нахождение знака переполнения
Переполнение существует когда:
· при сложении двух положительных чисел получаем отрицательное число
· при сложении двух отрицательных чисел получаем положительное число.
Таблица истинности:
а0 и b0 - знаки слагаемых
c0 - знак результата
Ф - знак переполнения
Функциональная схема фиксирующая переполнение:
Условное изображение этой функциональной схемы:
Построение функциональной схемы 3-х разрядного сумматора
Обозначим слагаемые, поступающие на вход сумматора
А = а0а1а2а3; где а0 - знак числа, аi - десятичная цифра, которая представляется в двоично-десятичном коде следующим образом аi = i8i4i2i1
В = b0b1b2b3; где b0 - знак числа, bi = i8i4i2i1 Результат от сложения обозначим: С = с0с1с2с3; где с0 - знак суммы, сi = i8i4i2i1
Используя все полученные результаты можно построить структурную схему 3-х разрядного десятичного сумматора
На вход сумматора поступают два трехразрядных десятичных числа. Каждая тетрада этих чисел по отдельности проходит через преобразователь, и каждые две соответствующие тетрады обоих чисел поступают на входы одноразрядных десятичных сумматоров. Эти сумматоры соединены последовательно, аналогично соединению двоичных сумматоров. Кроме того выход Пi первого сумматора подводится на вход схемы, учитывающей знак суммы. Сигнал с входа P этой схемы подводится на вход первого одноразрядною десятичною сумматора Пi-1. Этим достигается прибавление 1 к младшему разряду при сложении в обратном коде. Получившиеся на выходах одноразрядных десятичных сумматоров значения пропускаются через преобразователи, и на их выходах получаются значащие разряды искомою числа (суммы). Знак суммы вырабатывается "схемой, учитывающей знак суммы". Знак суммы, а также знаки входных чисел, поступают на "схему, фиксирующую переполнение".
Разработка устройства управления для многоразрядного десятичного сумматора
Это устройство вырабатывает 4 синхроимпульса с различными временными задержками между ними (СИ1, СИ2, СИ3 и СИ4). Первый импульс позволяет записать два операнда во входные регистры. Как только эта информация будет записана, величины появляются на входах сумматора, и сумматор начинает производить обработку информации. Второй импульс позволяет записать информацию в выходной регистр, когда результат получен. Третий импульс позволяет получить в регистре признаков все признаки результатов. И четвертый импульс останавливает процесс вычислений. Между импульсами существуют временные интервалы, во время которых обрабатывается информация.
Разработка входных и выходных регистров хранения числовой информации, участвующей в операции сложения.
Регистры входов и выхода имеют одинаковую структуру и строятся на синхронных двухтактных D триггерах с асинхронными установочными входами R и S. Каждый регистр содержит по 13 триггеров (12 для 3-х тетрад и один знаковый).
Разработка регистра признаков результата
Регистр признаков хранит информацию о результате работы устройства. Регистр состоит из 4 триггеров. Первый содержит 1, если результат отрицательный, второй - положительный, третий - результат равен нулю. Четвертый триггер переходит в единичное состояние при возникновении переполнения разрядной сетки (при этом остальные триггеры переводятся в 0-е состояния).
Проектирование распределителя сигналов
Устройство, вырабатывающее управляющие сигналы СИ1, СИ1, СИ3 и СИ4, называется распределителем сигналов.
Распределитель сигналов имеет 4 выхода и предназначен для управления процессом работы устройства. Назначение сигналов, на каждом из четырех выходов распределителя:
· первая ветка: сигнал подается на синхровход C регистров входов, происходит занесение данных в регистры;
· вторая ветка: сигнал подается на синхровход C регистров выходов, происходит занесение данных в регистры;
· третья ветка: сигнал подается на синхровход C регистра признаков, происходит занесение флагов окончания процесса в регистр;
· четвертая ветка: сигнал подается на асинхронный вход R триггера пуска, происходит останов процесса.
При проектировании подобного распределителя сигналов, в первую очередь необходимо определить временные интервалы Т1, Т2 и T3.
Т1 - характеризуется временем работы трехразрядного десятичного сумматора комбинационного типа. Для определения этой величины надо определить время задержки сигналов по каждой схеме, которая входит составной частью в общую схему.
Одноразрядный двоичный сумматор:
P - 3нс
S - 3нс
Одноразрядный десятичный сумматор:
P - 25нс
S - 24нс
Преобразователь - 3нс
Переполнение - 3нс
Трёхразрядный сумматор - 107нс
А так как Т1 должно быть кратно 4, то Т1=108нс
Временной интервал Т2 определяется задержкой сигнала во входных цепях регистра признаков. Комбинационная схема на входе триггера, отвечающего за признак равенства нулю результата, имеет задержку 3 нсек, поэтому Т2 = 4 нс.
Величина Т3 также равна 4 нс, так как сигнал останова СИ4 идет непосредственно за сигналом СИ3.
Имея временные интервалы между выходными сигналами в распределителе сигналов, можно приступить к проектированию данного устройства.
Распределитель сигналов является генератором следующих четырехразрядных двоичных чисел:
0001, 0000, … (26 раз) …, 0000, 0010, 0100, 1000
Распределитель сигналов будет проектироваться на основе счётчика с пересчётом на 30 и комбинационной схемой на выходе. Для проектирования счётчика понадобиться 5 триггеров.
Составим таблицу переходов:
По всем полученным логическим уравнения можно построить функциональную схему распределителя сигналов.
Общая схема сумматора
Размещено на Allbest.ru
Подобные документы
Логические основы работы ЭВМ. Классификация видов и параметры сумматоров. Характерные неисправности и пути их исправления. Расчёт полного одноразрядного сумматора. Определение экономической эффективности внедрения. Микроклимат рабочей зоны разработчика.
дипломная работа [976,5 K], добавлен 24.02.2013Разработка алгоритма умножения, структурной схемы устройства и синтез преобразователя множителя. Логический синтез одноразрядного четверичного умножителя-сумматора и одноразрядного четверичного сумматора. Разработка, синтез и блок-схема МПА делителя.
курсовая работа [100,0 K], добавлен 07.06.2010Выбор оптимальных оснований системы остаточных классов. Общая структура модулярного сумматора и умножителя, выбор их моделей. Алгоритмы функционирования управляющих устройств сумматора и умножителя. Методы повышения скорости и надежности вычислений.
курсовая работа [625,5 K], добавлен 28.05.2013Анализ вариантов реализации комбинационной схемы для различных типов программируемых логических интегральных схем (ПЛИС). Возможности программных пакетов Decomposer и WebPACK ISE. Описание сумматора на языке VHDL, его синтез при помощи пакета Decomposer.
курсовая работа [3,0 M], добавлен 03.10.2010Обзор системы остаточных классов и основные теоретические сведения. Выбор оптимальных оснований СОК. Общая структура цифровых устройств. Разработка модулярного сумматора и умножителя, алгоритм работы и структурная схема, работа в Altera Quartus II v10.1.
дипломная работа [4,5 M], добавлен 24.05.2013Изучение полного дешифратора с прямыми и инверсионными выходами. Общая схема организации контроля по четности. Преобразователь кода Грея в двоичный код. Синтез логической схемы одноразрядного арифметического полного сумматора на основе мультиплексоров.
реферат [28,9 K], добавлен 24.12.2010Описание принципа работы структурной электрической схемы устройства суммирования двоичных чисел. Назначение построения четырехразрядных двоичных сумматоров с параллельным переносом. Логические функции для выходов Si и Ci+1 одноразрядного сумматора.
реферат [139,5 K], добавлен 06.02.2012Системы радио и проводной связи, цифровые устройства. Схема формирования входного двоичного кода, преобразования кодов и управления. Индикация выходного двоичного кода, состоящая из светодиодов. Схема индикации десятичного эквивалента преобразуемого кода.
курсовая работа [857,0 K], добавлен 10.02.2012Временные характеристики переключения логических элементов. Проектирование последовательного умножителя, схема полного сумматора. Временная диаграмма спроектированного умножителя чисел, оценка его быстродействия и максимальной задержки на выходе.
курсовая работа [701,4 K], добавлен 21.03.2014Разработка цифрового устройства для двоично-десятичного кодирования цифр номера зачетной книжки студента. Таблица истинности для входных переменных. Генераторы и счетчик импульсов. Схема совпадения кодов, регистры памяти. Минимизация булева выражения.
реферат [3,3 M], добавлен 26.12.2013