86286

Разработка схемы арифметического устройства

Курсовая

Коммуникация, связь, радиоэлектроника и цифровые приборы

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

Русский

2015-04-05

925.99 KB

11 чел.

МО                                                                                                                  РБ

УО “Полоцкий государственный университет”

Кафедра КИТ РЭС

Курсовая работа

На тему: ”Разработка схемы арифметического устройства ”

По курсу: “ОиФЭВМ”

Студент группы 10 ИТ-3

________ Дементьев В.Ю.

«___» ___________  _____

Зам. декана РТФ

________ Голубев А.П.

«___» ___________  _____

Новополоцк 2012


Изм.

Лист

№ докум.

Подпись

Дата

Лист

2

Содержание:

Введение……………….. ……………………………….....………..……...3

1. Постановка задачи……………………………………………………….4

2. Анализ данных……………………..…………………………………….5

3. Алгоритм реализации арифметической операции ...……....……..…..6

3.1 Разработка блок-схемы устройства ......................................…….10

3.2 Реализация блок-схемы устройства и описание работы цикла ...11

4. Составление и минимизация комбинационных схем............................13

4.1 Составление комбинационной схемы регистра ............................13

4.2 Составление комбинационной схемы сумматора..........................15

4.3 Составление комбинационной схемы мультиплексора.................17

4.4 Составление комбинационной схемы компаратора ......................18

4.5 Составление комбинационной схемы последовательного регистра сдвига.......................................................................................................19

4.6 Составление комбинационной схемы умножителя ......................20

5. Анализ и синхронизация работы устройства .....................................21

Заключение…………………………………..…………….....………..….22

Список литературы……………….………....…………....………………23


Введение:

Современный этап развития научно-технического прогресса характеризуется широким применением электроники и микроэлектроники во всех сферах жизни и деятельности человека. Важную роль при этом сыграло появление и быстрое совершенствование интегральных микросхем  основной элементной базы современной электроники. Цифровые интегральные микросхемы применяются  в вычислительных машинах и комплексах, в электронных устройствах автоматики, цифровых измерительных приборах, аппаратуре связи и передачи данных и т.д.

В настоящее время сведения о цифровых интегральных схемах необходимы не только специалистам по радиоэлектронике, но и радиолюбителям, следовательно, арифметическими и логическими основами вычислительной техники должен обладать каждый студент радиотехнического факультета.

Изм.

Лист

№ докум.

Подпись

Дата

Лист

3

Начальный этап развития вычислительной техники характеризовался проектированием элементов, функциональных узлов, машин и систем в целом. Появление типовых систем элементов, типовых серий микросхем сделало проектирование логических структур нижним иерархическим уровнем разработок. Создание микросхем высокой сложности означало переход на новую ступень. От проектировщиков потребовалось умение использовать стандартные и программируемые микросхемы, хотя и выполненные в виде готового модуля, но сложной внутренней структуры, дающей широкие возможности организации различных способов функционирования.

В настоящее время находят применение микросхемы разной сложности: СБИС, БИС, СИС и МИС. Аппаратура, построенная на микросхемах повышенной сложности, обладает технико-экономическими преимуществами, поэтому внедрение БИС и СБИС – одно из главных направлений развития современной радиоэлектроники.


  1.  

Изм.

Лист

№ докум.

Подпись

Дата

Лист

4

Постановка задачи

В данном курсовом проекте требуется разработать логическую схему устройства, реализующего арифметическую операцию вычисления следующей функции: F=3A*(B±3), где знак зависит от исходного значения B.

Числа A и B отрицательные -1<A, B<0. Представлены в форме код знака – модуль числа. Количество разрядов 5+1. Знак (+) если количество единиц в разрядной сетке числа B больше или равно 3.

Умножение выполнить со сдвигом в регистре сумматора влево. Комбинационную схему реализовать в базисе 3И, 2ИЛИ, НЕ.

  1.  Анализ данных

Числа А и В представлены в естественной форме, являются дробными, т.к. находятся в диапазоне -1<A, B<0 и имеют одинаковый формат.

Формат числа:

S0

A4

A3

A2

A1

A0

где S0 – знак числа, A0- A4 – 5 разрядов, отведённых под модуль числа

В форме с фиксированной запятой в разрядной сетке выделяется строго определенное число разрядов для целой и для дробной частей числа. Левый (старший) разряд хранит признак знака (0 – "+", 1 – "-") и для записи числа не используется.

Сама запятая никак не изображается, но ее место строго фиксировано и учитывается при выполнении всех операций с числами.

Для реализации функции в схеме будет использованы следующие элементы:

Сумматор — логический операционный узел, выполняющий арифметическое сложение кодов двух чисел.

Регистр — последовательное логическое устройство, используемое для хранения n-разрядных двоичных чисел и выполнения преобразований над ними.

Мультиплексор – устройство которое выбирает из нескольких входных сигналов один.

Изм.

Лист

№ докум.

Подпись

Дата

Лист

5


3.  Алгоритм реализации арифметической операции

Изм.

Лист

№ докум.

Подпись

Дата

Лист

6

Для того, чтобы вычислить функцию F, необходимо разбить её на несколько более мелких арифметических операций. Таких операций 3:

А) а=3*А

Б) b=B+3 или b=B-3, выбор выражения будет определяться устройством

В) c=a*b

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

А) Ввод чисел А и В

Б) Запись введённых чисел в регистр

В) Перемножение чисел 3 и А. Для этого в цикле число А складывается с собой 3 раза.

Г) Запись результата перемножения в переменную «а»

Д) Подсчёт количества единиц в разрядной сетке числа В

Е) Если количество единиц в разрядной сетке числа В больше/равно 3, то:

1) Взятое из регистра число В суммируется с числом 3

2) Запись результата сложения в переменную «b»

Ж) Если количество единиц в разрядной сетке числа В строго меньше 3, то:

1) Перевод числа 3 в обратный код. Для этого в исходном все нули заменяются единицами, а единицы – нулями. При этом в исходном коде указан и код знака.

2) Перевод числа 3 из обратного кода в дополнительный. Для этого обратный код суммируется с единицей.

3) Сложение, взятого из регистра числа В и 3 (в дополнительном коде)

Изм.

Лист

№ докум.

Подпись

Дата

Лист

7

И) Запись результата сложения в переменную «b»

К) Перемножение переменных «а» и «b»

Л) Вывод результата

Операция сложения/вычитания:

Арифметические операции в двоичной системе счисления выполняются по тем же правилам, что и в десятичной системе счисления.

Сложение

Вычитание

0+0=  0

0-0=0

0+1=  1

1-0=1

1+0=  1

1-1=0

1+1=10

10-1=1

Операция сложения осуществляется, начиная с младших разрядов с учётом образования переносов. При сложении n-разрядных чисел в регистре суммы необходимо зарезервировать n+1 разряд.

  

В ЭВМ достаточно сложно выполнить операцию вычитания (А-В). Для этого требуется:

  1.  сравнить числа и выявить наибольшее по абсолютной величине;
  2.  наибольшее число разместить на входах вычитающего устройства;
  3.  выполнить операцию вычитания;
  4.  присвоить знак разности наибольшего по величине числа.

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

Изм.

Лист

№ докум.

Подпись

Дата

Лист

8

Пример:         13-9=4

При вычитании n-разрядных чисел в регистре разности не требуется резервировать n+1 разряд, т.к. при вычитании количество разрядов не увеличивается.

Операция умножения:

Умножение младшими разрядами множителя со сдвигом множимого влево.

Алгоритм получения результата по данному методу может быть следующим:

1) содержимое сумматора обнуляется;

2) множимое умножается на очередной разряд множителя;

3) результат суммируется с содержимым сумматора;

4) множимое сдвигается на 1 разряд влево;

5) пункты 2, 3, 4 повторяются n-1 раз.

Изм.

Лист

№ докум.

Подпись

Дата

Лист

9

Реализация выбора условия:

В случае, если количество единиц в разрядной сетке числа B больше или равно трем, нужно реализовать операцию суммирования, иначе – операцию вычитания. Вместо синхроимпульса на вход подается наше число B, в данном случае поразрядно. Также еще применяется один блок конъюнкция и блок дизъюнкция. После подачи всех разрядов на вход счетчика, на выходе будет 1 или 0, в зависимости от того, какие значения преобладают в разрядной сетке числа B. Итоговое значение, полученное на выходе, подается на мультиплексор, который выбирает соответствующую арифметическую операцию.

Изм.

Лист

№ докум.

Подпись

Дата

Лист

10

3.1 Разработка блок-схемы устройства

Изм.

Лист

№ докум.

Подпись

Дата

Лист

11

3.2 Реализация блок-схемы устройства и описание работы цикла

Общий принцип работы схемы следующий:

  1. Ввод чисел A и В;
  2. Производим умножение А на 3;
  3. Производим подсчет единиц в разрядной сетке числа В;
  4. Производим суммирование B±3;
  5. Перемножаем результат суммирования и перемножения А на 3.

Изм.

Лист

№ докум.

Подпись

Дата

Лист

12

 

Изм.

Лист

№ докум.

Подпись

Дата

Лист

13

4. Составление и минимизация комбинационных схем

4.1 Составление комбинационной схемы регистра

Данное устройство будет использовано в блоке представления в вид с плавающей точкой.

Регистры – самые распространённые узлы ЭВМ. Они состоят из разрядных схем, число которых соответствует разрядности обрабатываемой информации. В каждом разряде имеется один или несколько триггеров и чаще всего логические элементы.

Параллельные регистры будут построены на триггерах типа RS.

Такой триггер имеет вид:

Где S – информационный вход триггера, С – разрешение на запись (управляющий сигнал), Q и  – прямой и инверсный выходы. Информация, пришедшая в триггер по входу S параллельная запись информации происходит синхронно, по положительному значению тактового импульса.

Вывод информации из регистра осуществляется через прямые выходы соответствующих триггеров.

n-разрядный регистр имеет вид:

Изм.

Лист

№ докум.

Подпись

Дата

Лист

14

Изм.

Лист

№ докум.

Подпись

Дата

Лист

15

4.2 Составление комбинационной схемы сумматора

Сумматор — логический операционный узел, выполняющий арифметическое сложение кодов двух чисел. При арифметическом сложении выполняются и другие дополнительные операции: учёт знаков чисел, выравнивание порядков слагаемых и тому подобное. Указанные операции выполняются в арифметическо-логических устройствах (АЛУ) или процессорных элементах, ядром которых являются сумматоры.


На рисунке изображен сумматор, который может сложить любые n-битные   числи в двоичном коде.

Этот n-разрядные сумматор построен на одноразрядных сумматорах:

Эти одноразрядные сумматоры подключены последовательно, переполнение идёт с одного сумматора на другой и выходит в P.

Теперь рассмотрим простой одноразрядный сумматор:

Изм.

Лист

№ докум.

Подпись

Дата

Лист

16

Логическое уравнение:

A xor B = (A and not B) or (not A and B)

Полный сумматор в базисе:

Изм.

Лист

№ докум.

Подпись

Дата

Лист

17

4.3 Составление комбинационной схемы мультиплексора

Мультиплексором (multiplexor) - комбинационное устройство, обеспечивающее коммутацию одного из входов на общий выход под управлением сигналов на адресных входах.

Входы мультиплексора делятся на две группы: информационные и управляющие (адресующие).

Схема мультиплексора:

Если на Y подать 1, то он пропустит шину А, иначе В

Изм.

Лист

№ докум.

Подпись

Дата

Лист

18

4.4 Составление комбинационной схемы компаратора

 Компаратор это устройство, предназначенное для сравнения входных сигналов.

A1-A4 число А, В1-В5 число В, Азн и Взн – это знак числа, F – результат сравнения, если AB, то F=1, иначе 0

Изм.

Лист

№ докум.

Подпись

Дата

Лист

19

4.5 Составление комбинационной схемы последовательного регистра сдвига.

По приходу тактового импульса С первый триггер записывает код X (0 или 1), находящийся в этот момент на его входе S а каждый следующий триггер переключается в состояние, в которой до этого находился предыдущий. Так происходит потому, что записываемый сигнал проходит со входа RS триггера к выходу Q с задержкой, большей длительности фронта тактового импульса (в течение которого происходит запись). Каждый тактовый импульс последовательно сдвигает код числа в регистре на один разряд. Поэтому для записи N-разрядного кода требуется N тактов. На диаграмме видно, что четырёх разрядное число 011 было записано в соответствующие разряды регистра (0-S2, 1-S2, 1-Q1) после прихода четвёртого тактового импульса. До прихода следующего тактового импульса это число хранится в регистре в виде параллельного кода на выходах S3-S1. Если необходимо получить последовательную информацию в последовательном коде, то её снимают с выхода S4 в момент прихода следующих четырёх импульсов такой режим называется режимом последовательного считывания.

С – синхронизация; R – Очистка; In – входные данные.

Изм.

Лист

№ докум.

Подпись

Дата

Лист

20

4.6 Составление комбинационной схемы умножителя

Умножитель является сумматором, который выполняет сложение n раз, где n – число, на которое нужно перемножить данное.

По условию требуется выполнить умножение со сдвигом в регистре сумматора влево.

Поэтому, для выполнения данного условия в сумматоре будем использовать последовательный регистр сдвига, рассмотренный в пункте 4.5

Изм.

Лист

№ докум.

Подпись

Дата

Лист

21

5. Анализ и синхронизация работы устройства

На временной диаграмме будет изображается: куда и в какое время подается сигнал, в нашем случае эти сигналы можно назвать управляющими. Длительность сигнального импульса определяется максимальным временем прохождения сигнала между любыми элементами памяти.

Временная диаграмма работы АЛУ.

Общий принцип работы схемы (по шагам) следующий:

  1. Первый такт - запись чисел A и B в регистры RG1 и RG2 (RG(1,2))
  2. Второй - запись числа А в регистр RG3
  3. Третий такт - происходит умножение A на 3
  4. Четвёртый – запись чисел в регистры RG8 и RG9
  5. Пятый - выполнение умножения

Изм.

Лист

№ докум.

Подпись

Дата

Лист

22

Заключение

В ходе выполнения курсового проекта была построена схема устройства для выполнения операции F=3A*( B±3), по условию было дано, что числа А и В отрицательные, также в курсовой работе надо было выполнить действие, в зависимости от условия: если в разрядной сетке числа В количество единиц n ≥3, то следовало выполнить сложение, иначе - вычитание.

В данной работе были разработаны подробные схемы устройств, входящих в состав схемы: сумматоров, триггеров, регистров, мультиплексоров.

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

 

Список использованной литературы

  1. Проектирование цифровых систем на комплектах микропрограммируемых БИС. Под редакцией  В. Г. Колесникова.
  2.  Сергеев Н. П., Вашкевич Н.П. Основы вычислительной техники. – М.: Высшая школа.
  3.  Фистер М. Логическое проектирование цифровых вычислительных машин.
  4.  Каган Б. М. Электронные вычислительные машины и системы.

Изм.

Лист

№ докум.

Подпись

Дата

Лист

23


 

А также другие работы, которые могут Вас заинтересовать

20937. Модификация структур баз данных, формирование SQL- запро-сов и VB-функций, настройка фильтрации данных в системе Вертикаль-Справочник 4.43 MB
  Цели и задачи: Изучить методику модификации структур баз данных порядок формирование SQL запросов и VBфункций настройку фильтрации данных в системе ВертикальСправочник. После занятия студент должен: Знать: Как отредактировать структуру баз данных и состав таблиц сформировать пользовательские SQLзапросы как настроить фильтрацию данных по различным признакам . Уметь: Подключить несколько таблиц к одному уровню сформировать пользовательские VBфункции настроить фильтрацию данных по различным признакам .
20938. Защита данных, организация вычислений по формулам, синхронизация серверных баз данных в системе Вертикаль-Справочник 4.58 MB
  Цели и задачи: Изучить методы защиты данных организацию вычислений по формулам синхронизацию серверных баз данных в системе ВертикальСправочник. После занятия студент должен: Знать: Методы защиты данных организацию вычислений по формулам синхронизацию серверных баз данных в системе ВертикальСправочник. Проработать теоретический материал по теме: Проектирование реляционной структуры пользовательских баз данных ВертикальСправочник.
20939. Проектирование объектной структуры пользовательских баз данных в системе Вертикаль-Справочник 2.93 MB
  После занятия студент должен: Знать: Принципы в структуре баз данных системы порядок регистрации нового класса объектов порядок настройки связи между объектами. Уметь: Выполнить регистрацию нового класса объектов настроить связи между объектами редактировать атрибуты связей объектов.3 [2] лекция №11 Индивидуальное задание: Выполнить регистрацию нового класса объектов настроить связи между объектами редактировать атрибуты связей объектов. Какой порядок регистрации нового класса объектов 3.
20940. Проектирование реляционной структуры пользовательских баз данных Вертикаль-Справочник 4.45 MB
  Цели и задачи: Изучить реляционные и объектные составляющие баз данных каталог баз данных редактор навигационных схем. После занятия студент должен: Знать: Общие сведения о каталоге баз данных как проектируются навигационные системы . Уметь: Заригистрировать новые базы данных настроить атрибуты связей объектов навигационной схемы.
20941. Редактор структуры данных, настройка основного и контекст-ного меню в системе Вертикаль-Справочник 3.79 MB
  Цели и задачи: Изучить редактор структуры данных настройку основного и контекстного меню в системе ВертикальСправочник После занятия студент должен: Знать: Порядок формирования структуры данных таблицы процедуры настройки основного меню методику присоединение списков к базе данных порядок подключения коментариев к таблицам базы данных и порядок подключения коментариев к таблицам баз данных . Уметь: Создать несколько структур данных для таблиц зарегистрировать маркеры пунктов и переменных контекстного меню. Проработать теоретический...
20942. Шифрування та дешифрування даних за допомогою блокових алгоритмів 321.24 KB
  dword ^= bf_Fb ^ PArray[n] CBlowFish::CBlowFish { PArray = new DWORD [18] ; SBoxes = new DWORD [4][256] ;} CBlowFish:: CBlowFish { delete PArray ; delete [] SBoxes ;} the low level private encryption function void CBlowFish::Blowfish_encipher DWORD xl DWORD xr{ union aword Xl Xr ; Xl.dword ;} the low level private decryption function void CBlowFish::Blowfish_decipher DWORD xl DWORD xr{ union aword Xl ; union aword Xr ; Xl.dword;} constructs the enctryption sieve void CBlowFish::Initialize BYTE key[]...
20943. Шифрування та дешифрування даних за допомогою потокових алгоритмів 51.15 KB
  100] of byte; var b : barray; NMijk : byte; z : longint; Procedure WriteBB:barray; begin IncZ; Write Z:3' : '; for i:=1 to M do writealphabet[b[i]]; writeln; end; Procedure SwapBvar B:barray;ik:byte; var x : byte; begin x:=B[i]; B[i]:=B[k]; B[k]:=x; end; Procedure PermuteAllB:barray;N:byte; var ikj : byte; begin WriteBB; while true do begin i:=N; while i 0 and B[i] =B[i1] do i:=i1; if i=0 then exit; for j:=i1 to N do if B[j] B[i] then K:=j; SwapBBik; for j:=i1 to i N1i div 2 do SwapBBjNi1j;...
20944. Створення програми для формування та перевірки повідомлень за допомогою електронно-цифрового підпису 48.9 KB
  czynniki pierwsze klucz zakryty p1 4 = 0 q1 4 = 0 p = 19; q = 23; n = pq; M = random n; print Message = M; print Cryptogram = C; C = M^2 n; m1= C ^ p1 4 p; m2= p C ^ p1 4 p; m3 = C ^ q1 4 q; m4 = q C ^ q1 4 q; fork=1p d=pk1 q; if floordda = qd;break;break;;; fork=1q d=qk1 p; if floorddb = pd;break;break;;; print Decryption = ; M1 = am1bm3 n M2 = am1bm4 n M3 = am2bm3 n M4 = am2bm4 n Результат виконання...
20945. Створення програми приховання повідомлення у графічному файлі за допомогою стеганографічних перетворень 69.4 KB
  h include iostream include string using namespace std int mainint argc char argv[] { HANDLE hFile hFileMess hFileCont; BYTE pdbFileByte pdbMessByte; const BYTE dbKeySize = 8; BYTE dbKey[dbKeySize]={4160824202832}; BYTE dbKey[dbKeySize]={12730546}; BYTE dbKey[dbKeySize]={01234567}; DWORD dwMessSizedwFileSizedwRealFiledwRealMess; DWORD dwOffsetPictdwPictSize; hFile = CreateFileargv[1]GENERIC_READFILE_SHARE_READNULLOPEN_EXISTING0NULL; dwFileSize = GetFileSizehFileNULL; pdbFileByte = new...