Автор: Пользователь скрыл имя, 10 Декабря 2011 в 11:55, курсовая работа
Анализ и модифицирование определённого массива данных. При этом задачей студента является создание собственного управляющего автомата и арифметико - логического устройства, которое надо будет подключить к схеме, описанной в методических указаниях к курсовому проекту.
Введение
1. Структура цифрового устройства обработки данных
2. Архитектура операционного устройства
3. Алгоритм решения задачи
4. Функциональная схема операционного устройства
5. Синтез управляющего автомата
6. Разработка цифрового устройства в графическом редакторе. Разработка и моделирование УА
7. Разработка и моделирование АЛУ
Заключение
Список использованной литературы
Таблица тестирования управляющего автомата
х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- |
Рисунок
9 – Схема АЛУ
Рисунок
10 – Тестирование АЛУ
Рисунок
11 – Device 1
Рисунок
12 – Моделирование Device 1
Рисунок
13 – Device 2
Рисунок
15 – Тест Device 2, фрагмент 1
Рисунок
16 – Тест Device 2, фрагмент 2
Рисунок
17 – Тест Device 2, фрагмент 3
Рисунок 18 - Массив чисел после тестирования
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]
assign d1=y[2]&x1|y[1]|y[5]|y[6]&x3;
assign d2=y[2]&~x1|y[3]|y[4]|y[5]|y[
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]
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 – Моделирование мультиплексора
Рисунок
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. Е.
П. Угрюмов Цифровая
2. Ю. В. Новиков Основы цифровой схемотехники. Базовые элементы и схемы.
Методы проектирования – М:Мир,2001 – 379с.
3. В. Л. Шило Справочник. Популярные цифровые микросхемы.
4. Под ред. Б. Н. Файзулаева, Б. В. Тарабрина Справочник. Применение инте-
гральных
микросхем в электронной