Проектирование многоразрядного десятичного сумматора комбинационного типа

  • Вид работы:
    Дипломная (ВКР)
  • Предмет:
    Информатика, ВТ, телекоммуникации
  • Язык:
    Русский
    ,
    Формат файла:
    MS Word
    2,17 Mb
  • Опубликовано:
    2011-10-26
Вы можете узнать стоимость помощи в написании студенческой работы.
Помощь в написании работы, которую точно примут!

Проектирование многоразрядного десятичного сумматора комбинационного типа

Министерство образования Российской Федерации

Московский Государственный Институт Электроники и Математики

(Технический Университет)

Кафедра Информационно-коммуникационных технологий







КУРСОВАЯ РАБОТА

на тему:

"Проектирование многоразрядного десятичного

сумматора комбинационного типа"

по дисциплине: "Теория автоматов"



Выполнила:

Студентка группы С-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.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 примеров на сложение трёхразрядных десятичных чисел

)        Сложение двух положительных чисел в прямом коде без переполнения разрядной сетки

+

375


0,0011,1101,1011

+

281


0,0010,1110,0001

+

656


0,0110,1011,1100




0110,0000,0000




0,1100,1011,1100


2)      Сложение положительного (прямой код) и отрицательного (обратный код) числа, ответ получается в прямом коде. Появляется единица переноса в знак. разряд, единица из знакового разряда идет в младший разряд первой тетрады.

+8420,1110,0100,0010




-

376


1,1100,0010,0011

+

466


0,1010,0110,0110




1010,0110,0110




0,0100,1100,1100


3)      Сложение двух отрицательных чисел в обратном коде, ответ в обратном коде. Появляется единица переноса в знак. разряд, единица из знакового разряда идет в младший разряд первой тетрады

-4151,1011,1110,0100




-

134


1,1110,1100,1011

-

549


1,1010,1011,0000




1010,0000,0000




1,0100,1011,0000


сумматор одноразрядный десятичный двоичный

4)      Сложение положительного (прямой код) и отрицательного (обратный код) числа, ответ получается в обратном коде (ответ отрицательный).

+1390,0001,0011,1111




-

543


1,0100,1011,1100

-

404


1,0101,1111,1011




0110,0000,000




1,1011,1111,1011


5)      При сложении двух положительных чисел в прямом коде, ответ отрицательный, значит, мы получили переполнение разрядной сетки.

+8750,1110,1101,1011




+

731


0,1101,0011,0001

+

1606


1,1100,0000,1100


6)      При сложении двух отрицательных чисел в обратном коде, ответ положительный, значит, мы получили переполнение разрядной сетки.

-5781,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 ИЛИ-НЕ).

. Коррекция вводится, если получается запрещенная комбинация и единица переноса.

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

 

1

 




К1

Fзк

⌐Fзк

Пi

 

 

⌐Пi

 

 









Проектирование логической схемы одноразрядного десятичного сумматора


В дальнейшем данную схему будем изображать следующим образом.

 

Разработка преобразователя прямого кода в обратный для работы с отрицательными величинами.


Таблица истинности:










В общем виде:



Далее будет обозначаться так:

Нахождение знака переполнения


Переполнение существует когда:

·        при сложении двух положительных чисел получаем отрицательное число

·        при сложении двух отрицательных чисел получаем положительное число.

Таблица истинности:

а0 и b0 - знаки слагаемых

c0 - знак результата

Ф - знак переполнения



Функциональная схема фиксирующая переполнение:


Условное изображение этой функциональной схемы:


Построение функциональной схемы 3-х разрядного сумматора


Обозначим слагаемые, поступающие на вход сумматора

А = а0а1а2а3; где а0 - знак числа, аi - десятичная цифра, которая представляется в двоично-десятичном коде следующим образом аi = ai8ai4ai2ai1

В = b0b1b2b3; где b0 - знак числа, bi = bi8bi4bi2bi1 Результат от сложения обозначим: С = с0с1с2с3; где с0 - знак суммы, сi = gi8gi4gi2gi1

Используя все полученные результаты можно построить структурную схему 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.

Имея временные интервалы между выходными сигналами в распределителе сигналов, можно приступить к проектированию данного устройства.

Распределитель сигналов является генератором следующих четырехразрядных двоичных чисел:

, 0000, … (26 раз) …, 0000, 0010, 0100, 1000

Распределитель сигналов будет проектироваться на основе счётчика с пересчётом на 30 и комбинационной схемой на выходе. Для проектирования счётчика понадобиться 5 триггеров.

Составим таблицу переходов:













По всем полученным логическим уравнения можно построить функциональную схему распределителя сигналов.


Общая схема сумматора

Похожие работы на - Проектирование многоразрядного десятичного сумматора комбинационного типа

 

Не нашли материал для своей работы?
Поможем написать уникальную работу
Без плагиата!