Моделирование цифровых устройств

Автор: Пользователь скрыл имя, 10 Декабря 2011 в 11:55, курсовая работа

Описание работы

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

Содержание

Введение
1. Структура цифрового устройства обработки данных
2. Архитектура операционного устройства
3. Алгоритм решения задачи
4. Функциональная схема операционного устройства
5. Синтез управляющего автомата
6. Разработка цифрового устройства в графическом редакторе. Разработка и моделирование УА
7. Разработка и моделирование АЛУ
Заключение
Список использованной литературы

Работа содержит 1 файл

ПЗ.doc

— 765.00 Кб (Скачать)

Таблица тестирования управляющего автомата

х3 х2  х1 Q Y
0     0    0 0-1-2-5-6-1- 01-02-04-20-40-02-
0     0    1 0-1-2-3-5-6-1- 01-02-04-08-20-40-02-
0     1    0 0-1-2-4-5-6-1- 01-02-04-10-20-40-02-
0     1    1 0-1-2-3-4-5-6-1- 01-02-04-08-10-20-40-02-
1     0    0 0-1-2-5-6-7-0- 01-02-04-20-40-80-01-
1     0    1 0-1-2-3-5-6-7-0- 01-02-04-08-20-40-80-01-
1     1    0 0-1-2-4-5-6-7-0- 01-02-04-10-20-40-80-01-
1     1    1 0-1-2-3-4-5-6-7-0- 01-02-04-08-10-20-40-80-01-
 
 
 
 

Рисунок 8 – Тестирование управляющего автомата

 

    Разработка  и моделирование  АЛУ

 

 

Рисунок 9 – Схема АЛУ 
 

 

Рисунок 10 – Тестирование АЛУ 
 

    Разработка и моделирование Device 1

 

Рисунок 11 – Device 1 

 

Рисунок 12 – Моделирование Device 1 
 
 
 
 
 
 
 

 

    Разработка  и моделирование  Device 2

 

Рисунок 13 – Device 2 

Рисунок 14 – Массив чисел для тестирования

 

 

Рисунок 15 – Тест Device 2, фрагмент 1 

 

Рисунок 16 – Тест Device 2, фрагмент 2 
 

 

Рисунок 17 – Тест Device 2, фрагмент 3 
 

 

 
 

Рисунок 18 - Массив чисел после тестирования

Описание  устройства на языке  Verilog

    Управляющий автомат

module aum_ver(c,x1,x2,x3,we,q,y);

input c,x1,x2,x3;

output we;

output [2:0]q;

reg [2:0]q;

output [7:0]y;

wire d0,d1,d2;

assign y[0]=~q[2]&~q[1]&~q[0];

assign y[1]=~q[2]&~q[1]&q[0];

assign y[2]=~q[2]&q[1]&~q[0];

assign y[3]=~q[2]&q[1]&q[0];

assign y[4]=q[2]&~q[1]&~q[0];

assign y[5]=q[2]&~q[1]&q[0];

assign y[6]=q[2]&q[1]&~q[0];

assign y[7]=q[2]&q[1]&q[0];

assign d0=y[2]&~x1&~x2|y[0]|y[4]|y[6]|y[2]&x1|y[3]&~x2;

assign d1=y[2]&x1|y[1]|y[5]|y[6]&x3;

assign d2=y[2]&~x1|y[3]|y[4]|y[5]|y[6]&x3;

assign we=y[4]|y[7];

always @(posedge c)

begin

if(d0==1) q[0]=1;

else q[0]=0;

if(d1==1) q[1]=1;

else q[1]=0;

if(d2==1) q[2]=1;

else q[2]=0;

end

endmodule 

Таблица тестирования управляющего автомата

х3 х2  х1 Q Y
0     0    0 0-1-2-5-6-1- 01-02-04-20-40-02-
0     0    1 0-1-2-3-5-6-1- 01-02-04-08-20-40-02-
0     1    0 0-1-2-4-5-6-1- 01-02-04-10-20-40-02-
0     1    1 0-1-2-3-4-5-6-1- 01-02-04-08-10-20-40-02-
1     0    0 0-1-2-5-6-7-0- 01-02-04-20-40-80-01-
1     0    1 0-1-2-3-5-6-7-0- 01-02-04-08-20-40-80-01-
1     1    0 0-1-2-4-5-6-7-0- 01-02-04-10-20-40-80-01-
1     1    1 0-1-2-3-4-5-6-7-0- 01-02-04-08-10-20-40-80-01-
 
 

 
 

Рисунок 19 – Схема управляющего автомата

 
 

Рисунок 20 – Тестирование управляющего автомата 

    АЛУ

 

module alu_ver(in,out,x1,x2);

input [7:0]in;

output x1,x2;

output [7:0]out;

assign x1=((in[7]==0) & (in[6]|in[5]|in[4]|in[3]|in[2]|in[1]|in[0]))? 1:0;

assign x2=((in!=0) & ~(in[0]|in[1]))? 1:0;

assign out[7]=in[7];

assign out[6]=(in[7]==1)? ~in[6]:in[6];

assign out[5]=(in[7]==1)? ~in[5]:in[5];

assign out[4]=(in[7]==1)? ~in[4]:in[4];

assign out[3]=(in[7]==1)? ~in[3]:in[3];

assign out[2]=(in[7]==1)? ~in[2]:in[2];

assign out[1]=(in[7]==1)? ~in[1]:in[1];

assign out[0]=(in[7]==1)? ~in[0]:in[0];

endmodule

 

Рисунок 21 – Схема АЛУ 
 
 
 
 
 
 
 
 
 
 

 

Рисунок 22 - Тестирование АЛУ

    Счетчик

module count8_ver(c,en,clr,q);

input c,en,clr;

output [7:0]q;

reg [7:0]q;

always @(posedge c)

if (clr==0 & en==1) q=q+1'b1;

else if (clr==1) q=0;

endmodule 

Рисунок 23 – Схема счетчика 

 

Рисунок 24 – Моделирование счетчика 

    Мультиплексор

 

module mux_ver(sel,a,b,y);

input [7:0]a,b;

input sel;

output [7:0]y;

assign y=(sel==1)? a:b;

endmodule 

Рисунок 25 – Схема мультиплексора 
 

 

Рисунок 26 – Моделирование мультиплексора 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

    Схема и моделирование  устройства описанного на Verilog

 

 

Рисунок 27 – Схема устройства Device_ver 
 

 

Рисунок 28 – моделирование Device_ver, фрагмент 1 

 

Рисунок 29 – моделирование Device_ver, фрагмент 2 

 

Рисунок 30 – моделирование Device_ver, фрагмент 3 

 

Рисунок 31 – моделирование Device_ver, фрагмент 4

 

Рисунок 32 - Массив чисел после тестирования

Заключение

 

     В данной курсовой работе мной была описана цифровая схема, на языке описания цифровых устройств Verilog. В ходе выполнения курсовой работы мною были получены базовые знания языка Verilog, навыки работы со средой Max Plus 2, навыки описания микросхем на языке Verilog. Знания и навыки, полученные в результате выполнения работы, являются очень ценными и позволяют работать программистом в области описания цифровых схем.

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

1. Е.  П. Угрюмов Цифровая схемотехника  – СПб:БХВ – Петербург,2002 –  528с.

2. Ю.  В. Новиков Основы цифровой  схемотехники. Базовые элементы  и схемы.

Методы  проектирования – М:Мир,2001 – 379с.

3. В.  Л. Шило Справочник. Популярные  цифровые микросхемы.

4. Под  ред. Б. Н. Файзулаева, Б. В.  Тарабрина Справочник. Применение  инте-

гральных  микросхем в электронной вычислительной технике.

Информация о работе Моделирование цифровых устройств