95068

Устройство для деления 2-х двоичных чисел

Курсовая

Информатика, кибернетика и программирование

Устройство предназначено для деления 2-х 8ми разрядных чисел. Устройство осуществляет деление без остатка. Делимое в 2-чном коде Делитель в 2-чном коде. XStart – Для запуска процесса деления на этот вход надо подать лог 1. CLK – Вход для тактовых импульсов. Ответ на операцию деления(правильный только когда FINISH=1).

Русский

2015-09-19

47.78 KB

1 чел.

Федеральное агентство по образованию

ФГАОУ ВПО «Уральский федеральный университет имени первого Президента России Б.Н.Ельцина»

Кафедра ТиСС

 

Устройство для деления 2-х двоичных чисел.

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

ПОЯСНИТЕЛЬНАЯ ЗАПИСКА

Студент         Лаптев С.А.

гр. Р-200802         ________________  ____________

дата сдачи работы  Подпись

Преподаватель ________________ ____________ Шилов Ю.В.

 дата приема работы  Подпись

Екатеринбург

2012

Задание

Спроектировать устройство для деления 2-х 8ми разрядных чисел на основе счетчиков.

Схема устройства.

Рисунок 1 :Схема устроства.

ОПИСАНИЕ УСТРОЙСТВА:

Устройство предназначено для деления 2-х 8ми разрядных чисел.

Устройство осуществляет деление без остатка.

ВХОДЫ

A[7..0] – Делимое в 2-чном коде

B[7..0] – Делитель в 2-чном коде.

XStart – Для запуска процесса деления на этот вход надо подать лог 1.

CLK – Вход для тактовых импульсов.

ВЫХОДЫ.

C[7..0] – Ответ на операцию деления(правильный только когда FINISH=1).

BUSY – на этом выходе лог 1 если устройство в процессе деления (иначе – 0).

FINISH – на этом выходе лог 1 если устройство закончило делить (иначе – 0).

 При этом на c[7..0] подается правильный ответ на операция деления.

DIV0 – На этом выходе возникает лог 1 если предпринята попытка делить на 0.

ТЕКСТ, ОПИСЫВАЮЩИЙ РАБОТУ УСТРОЙСТВА

TITLE "DIVIDER";

SUBDESIGN DIVIDER

(

A[7..0]:INPUT;%ДЕЛИМОЕ%

B[7..0]:INPUT;%ДЕЛИТЕЛЬ%

 CLK:INPUT;    %ТАКТОВАЯ ЧАСТОТА;%

xSTART:INPUT;  %ЗАПУСКАЕТ ДЕЛЕНИЕ%

 FINISH:OUTPUT;%ГОТОВО%

 DIV0  :OUTPUT;%Деление На Букву 'О'%

 BUSY:OUTPUT;

C[7..0]:OUTPUT;%Результат%

)

VARIABLE

Q[7..0]:TFF;%Счетчик.Сюда Результат%

QA[7..0]:TFF;%Параллельный счетчик. Сюда Число А%

QB[7..0]:TFF;%Регистр. Сдесь Хранится B%

M[7..0] :TFF;%СЧЕТЧИК. ОСНОВА%

PL:NODE;   %Разрешение параллельного переноса%

Br0:NODE;  %B = 0%

WRK:SRFF; %Триггер "Устройтвао считает"%

FinTr:SRFF;%Завершили работу%

START:SRFF;

QAZERO:NODE;%Счетчик QA Обнулен%

eqp:NODE;

BEGIN

START.S=xSTART&!WRK;

START.R=!xSTART;

START.CLK=CLK;

PL=START;

WRK.S=START&(!Br0);

WRK.R=FinTr;

WRK.CLK=CLK;

 BUSY=WRK;

%Параллельный счетчик (-). Сюда Число А%

 

 QA[].CLK=CLK

QA[0].T=!PL&WRK                                                      #(PL&(!WRK)&(A[0]$QA[0]));

QA[1].T=!PL&WRK&!QA[0]                                               #(PL&(!WRK)&(A[1]$QA[1]));

QA[2].T=!PL&WRK&!QA[1]&!QA[0]                                        #(PL&(!WRK)&(A[2]$QA[2]));

QA[3].T=!PL&WRK&!QA[2]&!QA[1]&!QA[0]                                 #(PL&(!WRK)&(A[3]$QA[3]));

QA[4].T=!PL&WRK&!QA[3]&!QA[2]&!QA[1]&!QA[0]                          #(PL&(!WRK)&(A[4]$QA[4]));

QA[5].T=!PL&WRK&!QA[4]&!QA[3]&!QA[2]&!QA[1]&!QA[0]                   #(PL&(!WRK)&(A[5]$QA[5]));

QA[6].T=!PL&WRK&!QA[5]&!QA[4]&!QA[3]&!QA[2]&!QA[1]&!QA[0]            #(PL&(!WRK)&(A[6]$QA[6]));

QA[7].T=!PL&WRK&!QA[6]&!QA[5]&!QA[4]&!QA[3]&!QA[2]&!QA[1]&!QA[0]     #(PL&(!WRK)&(A[7]$QA[7]));

 %Регистр. Сдесь Хранится B%

 QB[].CLK=CLK;

QB[0].T=PL&(!WRK)&(B[0]$QB[0]);

QB[1].T=PL&(!WRK)&(B[1]$QB[1]);

QB[2].T=PL&(!WRK)&(B[2]$QB[2]);

QB[3].T=PL&(!WRK)&(B[3]$QB[3]);

QB[4].T=PL&(!WRK)&(B[4]$QB[4]);

QB[5].T=PL&(!WRK)&(B[5]$QB[5]);

QB[6].T=PL&(!WRK)&(B[6]$QB[6]);

QB[7].T=PL&(!WRK)&(B[7]$QB[7]);

 %Cчетчик. Сие Есть Результат%

 Q[].CLK=EQp;

Q[].clrn=!(START);

Q[0].T=(BUSY)&VCC;

Q[1].T=(BUSY)&Q[0];

Q[2].T=(BUSY)&Q[1]&Q[0];

Q[3].T=(BUSY)&Q[2]&Q[1]&Q[0];

Q[4].T=(BUSY)&Q[3]&Q[2]&Q[1]&Q[0];

Q[5].T=(BUSY)&Q[4]&Q[3]&Q[2]&Q[1]&Q[0];

Q[6].T=(BUSY)&Q[5]&Q[4]&Q[3]&Q[2]&Q[1]&Q[0];

Q[7].T=(BUSY)&Q[6]&Q[5]&Q[4]&Q[3]&Q[2]&Q[1]&Q[0];

 %СЧЕТЧИК. ОСНОВА%

M[].CLK=CLK;

 M[].clrn=((!Start)&(!eqp)&(!Fintr));

M[0].T=(WRK)&(!QAZERO)&VCC;

M[1].T=(WRK)&(!QAZERO)&M[0];

M[2].T=(WRK)&(!QAZERO)&M[1]&M[0];

M[3].T=(WRK)&(!QAZERO)&M[2]&M[1]&M[0];

M[4].T=(WRK)&(!QAZERO)&M[3]&M[2]&M[1]&M[0];

M[5].T=(WRK)&(!QAZERO)&M[4]&M[3]&M[2]&M[1]&M[0];

M[6].T=(WRK)&(!QAZERO)&M[5]&M[4]&M[3]&M[2]&M[1]&M[0];

M[7].T=(WRK)&(!QAZERO)&M[6]&M[5]&M[4]&M[3]&M[2]&M[1]&M[0];

 

 %Сравнение M и QB (Триггер eqD)%

%eqp=!((M[7]$QB[7])#(M[6]$QB[6])#(M[5]$QB[5])#(M[4]$QB[4])#(M[3]$QB[3])#(M[2]$QB[2])#(M[1]$QB[1])#(M[0]$QB[0]));%

 eqp=(QB[]==M[])&BUSY&!Start;

 %Закончили Делить%

%QA=0%

QAZERO=!(QA[7]#QA[6]#QA[5]#QA[4]#QA[3]#QA[2]#QA[1]#QA[0]);

 %FINISH=1 если QA=0 и M=0%

Fintr.CLK=CLK;

FinTr.S=QAZERO&(WRK);

FinTr.R=START&(!WRK);

Finish=FinTr&(!WRK);

 %Делить на букву 'О' нельзя - Если B=0 и жмем START То DIV0=1%

 Br0=(!(B[7]#B[6]#B[5]#B[4]#B[3]#B[2]#B[1]#B[0]));

DIV0=Br0&START&(!WRK);

 C[]=Q[];

 

РЕЗУЛЬТАТЫ СИМУЛЯЦИИ УСТРОЙСТВА

ВЫВОДЫ

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


 

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

13311. Дослідження локального регулятора SIPARD DR21 для керування технологічною ділянкою 1.8 MB
  Тема: Дослідження локального регулятора SIPARD DR21 для керування технологічною ділянкою Мета: Навчитись працювати з локальними регуляторами SIPARD DR21 для керування технологічною ділянкою 1. Вступ Автоматизація виробництва завжди була однією з основних складових
13312. Исследование взаимосвязи содержания Я-концепция ребёнка с ДЦП с характером отношения родителей к болезни ребёнка 197.5 KB
  Очевидно, что семья играет важную роль в адаптации и интеграции ребенка в общество. Для гармоничного развития ребенка большое значение имеет и психологический микроклимат в семье. Семья, в которой живет «особый» ребенок, оказывается особой группой
13314. Дослідження характеристик регулюючих органів 1.41 MB
  Лабораторна робота №6 Тема: Дослідження характеристик регулюючих органів Мета: Навчитись вибирати регулюючі органи в залежності від вимог до системи управління 1.Вступ Автоматизація виробничих процесів створює певні технікоекономічні переваги у всіх галу
13315. Використання локальних регуляторів для управління моніторингу, контролю і аварійної сигналізації система при управлінні охолоджувальною технікою 1.9 MB
  Лабораторна робота № 8 Тема: Використання локальних регуляторів для управління моніторингу контролю і аварійної сигналізації система при управлінні охолоджувальною технікою. Мета: Навчитись працювати з локальними регуляторами для управління моніторингу контролю ...
13316. Визначення коефіцієнта лінійного розширення тіл методом Менделєєва 444 KB
  Лабораторна робота № 1 Визначення коефіцієнта лінійного розширення тіл методом Менделєєва. Мета роботи: аВивчення теплового розширення твердих тіл. бВизначення коефіцієнта лінійного розширення різних матеріалів методом Менделєєва. Прилади та матеріали: прил...
13317. ВИЗНАЧЕННЯ КОЕФІЦІЄНТА ПОВЕРХНЕВОГО НАТЯГУ РІДИНИ МЕТОДОМ ВІДРИВУ КРАПЛІ 285 KB
  Лабораторна робота № 2 ВИЗНАЧЕННЯ КОЕФІЦІЄНТА ПОВЕРХНЕВОГО НАТЯГУ РІДИНИ МЕТОДОМ ВІДРИВУ КРАПЛІ. Мета роботи: а вивчення властивостей рідкого стану речовини; б експериментальне визначення коефіцієнта поверхневого натягу рідини та дослідження його залежності від
13318. ВИЗНАЧЕННЯ ТЕМПЕРАТУРНОГО КОЕФІЦЇЄНТА ОБЄМНОГО РОЗШИРЕННЯ РІДИН 341.5 KB
  Лабораторна робота №З ВИЗНАЧЕННЯ ТЕМПЕРАТУРНОГО КОЕФІЦЇЄНТА ОБЄМНОГО РОЗШИРЕННЯ РІДИН Мета роботи: а визначення теплового розширення речовин; 2 дослідне визначення коефіцієнта обємного розширення. Прилади і матеріали: прилад Дюлонга і Пті; нагрівам; лаборат
13319. ВИЗНАЧЕНИМ КОЕФІЦІЄНТА ТЕПЛОПРОВІДНОСТІ МЕТАЛІВ КАЛОРИМЕТРИЧНИМ МЕТОДОМ 242 KB
  Лабораторна робота №4 ВИЗНАЧЕНИМ КОЕФІЦІЄНТА ТЕПЛОПРОВІДНОСТІ МЕТАЛІВ КАЛОРИМЕТРИЧНИМ МЕТОДОМ Мета роботи: а вивчення явища тепло переносу; б експериментальне визначення коефіцієнта теплопровідності. Прилади та матеріали: калориметрична установка ваги з ...