95068

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

Курсовая

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

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

Русский

2015-09-19

47.78 KB

4 чел.

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

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

Кафедра ТиСС

 

Устройство для деления 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[];

 

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

ВЫВОДЫ

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


 

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

71458. Формулы связи координат точек местности и их изображений на стереопаре снимков 160.5 KB
  Выведем формулы связи координат точек местности и координат их изображений на стереопаре снимков.2 следует что векторы определяют соответственно положение точки местности М и центра проекции S1 снимка Р1 относительно начала системы координат объекта OXYZ.
71460. Автоматизированные методы измерения точек на стереопаре цифровых снимков 84.5 KB
  Площадные методы отождествления одноименных точек Смысл этих методов сводится к сравнению плотностей пикселей двух изображений вокруг определяемой точки. Существует два основных подхода: Корреляционные методы Смысл этих методов заключается в следующем: фрагмент одного...
71461. Методы наблюдения и измерения стереопар снимков. Основы монокулярного и бинокулярного зрения 174 KB
  Монокулярное зрение зрение одним глазом. Качественно оно оценивается разрешающей способностью глаза или остротой зрения. Различают остроту зрения первого и второго рода. Остротой монокулярного зрения первого рода называют минимальный угол под которым наблюдатель различает две отдельные точки раздельно.
71462. Создание цифровых фотопланов 2.21 MB
  Для создания фотоплана используются цифровые трансформированные снимки с одинаковым размером пикселов и имеющие координаты начал систем координат цифровых изображений O1 и O2 кратные размеру пиксела. Координаты начала системы координат цифрового фотоплана XOM принимаются равными...
71464. Создание цифрового ортофототрансформированного снимка 99.5 KB
  Принципиальная схема цифрового ортофототрансформированния снимков представлена на рис.8 Исходными материалами при цифровом ортофототрансформировании снимков служат: цифровое изображение исходного фотоснимка; цифровая модель рельефа в большинстве случаев используется...
71465. Внутреннее ориентирование снимка в системе координат цифрового изображения 113.5 KB
  Для определения параметров внутреннего ориентирования снимка измеряют координаты изображений координатных меток снимка в системе координат цифрового изображения oC xC yC. Если в результате фотограмметрической калибровки съемочной камеры были определены координаты координатных меток...
71466. Наблюдение и измерение цифровых изображений 3.72 MB
  Координаты центров пикселов в левой прямоугольной системе координат цифрового изображения оC xC уC .1 началом которой является левый верхний угол цифрового изображения определяются в так называемых пиксельных координатах единицей измерения в этом случае является пиксел.