Цифровое устройство обработки данных
Функциональная схема и механизм работы цифрового устройства обработки данных. Синтез управляющего автомата, выбор типа триггера, описание управляющего автомата и счётчиков на языке Verilog. Процесс тестирования и моделирования управляющего автомата.
Рубрика | Коммуникации, связь, цифровые приборы и радиоэлектроника |
Вид | курсовая работа |
Язык | русский |
Дата добавления | 05.12.2012 |
Размер файла | 3,2 M |
Отправить свою хорошую работу в базу знаний просто. Используйте форму, расположенную ниже
Студенты, аспиранты, молодые ученые, использующие базу знаний в своей учебе и работе, будут вам очень благодарны.
Размещено на http://www.allbest.ru/
Размещено на http://www.allbest.ru/
Задание: Разработать цифровое устройство обработки данных.
1. Выполнить тестирование всех модулей устройства в отдельности
2. Создать иерархический проект управляющего автомата, используя ввод данных в виде схемы и в виде описания на Verilog, сравните задержки переключения автомата для этих проектов.
3. Выполнить тестирование устройства, используя тестовый массив данных. Опишите работу двухфазной синхронизации.
Общая часть задания. В памяти, с адреса 00, записан массив из 16 однобайтовых чисел со знаком, представленных в дополнительном коде. Подсчитать количество чисел, удовлетворяющих условию х1, результат записать в память по адресу 1016. Числа, удовлетворяющие условию х2, модифицировать и записать в память по исходному адресу.
Задание согласно варианту (№12).
Условие X1: Число в старшей тетради > 7;
Условие X2: Число не кратно 2;
Операция: Логическая операция или с маской A6h;
Тип триггера JK.
1. Структура цифрового устройства обработки данных
Цифровое устройство обработки данных (процессор) при проектировании можно представить в виде системы, состоящей из операционного устройства (ОУ) и управляющего устройства (УУ) (Рис.1).
Размещено на http://www.allbest.ru/
Размещено на http://www.allbest.ru/
Рис1.
Операционное устройство содержит функциональные блоки, выполняющие обработку данных, предусмотренную заданным алгоритмом, и выдачу результата. Для хранения исходных данных и результатов используется память.
Управляющее устройство генерирует последовательность управляющих сигналов Y на основе анализа состояния устройства и признаков результатов X, поступающих из ОУ.
Моменты выдачи управляющих сигналов определяют импульсы частоты синхронизации C, период повторения которых называется тактом. При двухфазной синхронизации на ОУ и на УУ подаются противофазные импульсы синхронизации. В этом случае моменты переключений элементов указанных устройств, определяемые фронтом импульсов, будут выполняться поочередно, совпадений импульсов не будет. Синхронизация должна обеспечить отсутствие ошибок, обусловленных гонками.
2. Функциональная схема операционного устройства
Функциональная схема операционного устройства (рис.2) отображает набор функциональных устройств, связи и управляющие сигналы.
Размещено на http://www.allbest.ru/
Размещено на http://www.allbest.ru/
Память. Для хранения массива исходных данных необходимо оперативное запоминающее устройство (ОЗУ), допускающее чтение и запись, с разрядностью - 8 бит, емкостью - не менее 17 ячеек. Емкость может быть увеличена до 32 ячеек. Выбор режима выполняет управляющий сигнал «we» (Write Enable), равный «0» для режима чтения и «1» - для записи. ОЗУ имеет 8-разрядные шины данных записи- «di» (Data Input) и данных чтения- «do» (Data Output). Шина адреса «a» имеет 5 разрядов.
Счетчик адреса. Необходим для хранения адреса ячеек памяти. Его разрядность К должна соответствовать равенству 2К=N, где N - емкость памяти. При N=32 получим К=5. Счетчик должен обеспечивать режимы начального сброса сигналом res = 1 и инкремента адреса при сигнале ina = 1.
Счетчик чисел. По условию задачи в ОА необходимо выполнить подсчет количества чисел, удовлетворяющих заданному условию, при этом максимальное число равно 16. Учитывая, что результат подсчета будет записываться в память с байтовой организацией, выбираем счетчик с разрядностью 8 бит. Управляющие сигналы обеспечивают сброс при res = 1, и инкремент счетчика чисел при inc = 1.
Мультиплексор - комбинационная схема, управляемая сигналом wn. При сигнале wn = 0 в качестве данных для записи в память подключается выход АЛУ а при wn = 1 - код счетчика чисел N,
АЛУ - комбинационная схема, выполняющая модификацию данных, поступающих по шине «do» и выдачу результата на шину «d». В блоке АЛУ также содержится формирователь признаков числа «х1» и «х2», входами которого являются данные шины «do».
Преобразование данных в АЛУ выполняется постоянно и безусловно. На шине «d» всегда присутствуют модифицированные, которые записываются в память при х2=1, а при х2= 0 не используются.
3. Разработка алгоритма
Для решаемой задачи составлен алгоритм (рис. 3). Каждому исполняемому оператору алгоритма будет однозначно соответствовать состояние автомата (Q) и вершина графа. При определенных состояниях будут сформированы управляющие сигналы, обозначенные на функциональной схеме (Рис. 2).
Существуют различные системы кодирования состояний автомата. В примере рассмотрим простейший вариант, когда операторам алгоритма присваиваются номера из ряда чисел (012345).
Начальная состояние Q0 - сброс всех регистров и счетчиков устройства, для этого должен вырабатываться сигнал «res», который подается на счетчики.
.Размещено на http://www.allbest.ru/
Размещено на http://www.allbest.ru/
При состоянии Q1 выполняется чтение кода числа из памяти в регистр данных. Если в устройстве памяти используется режим асинхронного вывода, то выходной сигнал для этого состояния не требуется.
Проверка условия х1 определяет необходимость инкремента счетчика чисел, если условие выполняется.
Состояние Q2 возникает при х1 = 1, если должен выполнятся инкремент счетчика чисел, для этого формируется сигнал «inс».
Проверка условия х2 определяет необходимость записи модифицированного числа в память.
Такт Q3 необходим для выполнения модификации и записи числа в память, для этого необходим сигнал разрешения записи в память we = 1,
В такте Q4 содержимое счетчика адреса увеличивается на 1, для этого формируется сигнал инкремент адреса «ina». В результате выполняется подготовка к циклической обработке следующего числа.
Условие выхода из цикла обработки чисел x3 принимает значение 1, когда адрес, полученный после инкремента, выходит за диапазон адресов, в которых хранятся числа массива.
В такте q5 выполняется запись кода, полученного в счетчике чисел, в память. для этого необходимы сигналы we = 1 и wn = 1.
Конец алгоритма обозначен Q0, алгоритм допускает циклические повторения.
4. Синтез управляющего автомата
Конечный автомат - это логическое устройство с памятью, выходные сигналы которого зависят от предыстории поступления входных сигналов.. Рассмотрим синтез автомата Мура (Рис.4)
1. Необходимое число триггеров N определяется из условия 2N ? K, где K - число состояний автомата. Для решаемого примера К=6, N=3.
2. Кодирование состояний автомата. Выберем ряд натуральных чисел. Состояниям будут соответствовать коды: Q0 - 000, Q1 - 001, Q2 - 010, и т. д.
Размещено на http://www.allbest.ru/
Размещено на http://www.allbest.ru/
3. Граф автомата строится по алгоритму (Рис. 6). Вершины графа соответствуют состояниям, а дуги - переходам. Условия перехода из одного состояния в другое записываются на дугах графа в виде конъюнкций входных сигналов, принимающих единичное значение, когда данный переход происходит. При безусловном переходе дуга графа отмечается константой 1.
Размещено на http://www.allbest.ru/
Размещено на http://www.allbest.ru/
Для упрощения тестирования начало, и конец алгоритма отображаются состоянием Q0, в результате автомат допускает циклическое повторение рабочего цикла.
4. Выбор типа триггера выполняется с учетом используемой элементной базы, а также требований к быстродействию и помехозащищенности автомата. Обязательным является выбор триггеров с динамическим управлением. Для выбранного триггера изображается таблица переходов.
5. Таблица переходов автомата строится по графу с учетом функций переходов выбранного триггера. Каждая строка описывает одну дугу графа. В столбцах указывают: условие перехода, исходное состояние автомата, новое состояние, и управляющие сигналы выбранного триггера, необходимые для перехода в новое состояние. Управляющий сигнал триггера для каждого разряда определяется с учетом таблицы переходов и изменения данного разряда в кодах исходного и нового состояний.
Размещено на http://www.allbest.ru/
Размещено на http://www.allbest.ru/
Рис.8 Таблица переходов JK триггера.
В таблице переходов приведены входные управляющие сигналы для JK триггеров.
При проектировании автомата следует составить таблицу для заданного типа триггера, в которую войдут столбцы: «условия Х», «Q исходное», «Q новое», и управляющие сигналы заданного триггера.
6. Логические уравнения для управляющих сигналов триггеров записываются по таблице переходов, обычно в СДНФ. Выбирается столбец для управляющего сигнала, и записывается дизъюнкция из произведений (минтермов, или конгституент единицы), количество которых равно количеству единиц в столбце. Каждое произведение - конъюнкция из кода исходного состояния и условия для строки, управляющий сигнал которой равен 1.
Триггеры типа JK
Таблица переходов автомата
Усло-вия |
Q исходное |
Q новое |
входы JK |
|||||
Х |
q2q1q0 |
q2q1q0 |
j2 k2 |
j1 k1 |
j0 k0 |
|||
1 x1 /x1 x2 /x1 /x2 x2 /x2 1 x3 /x3 1 |
Q0 Q1 Q1 Q1 Q2 Q2 Q3 Q4 Q4 Q5 |
000 001 001 001 010 010 011 100 100 101 |
Q1 Q2 Q3 Q4 Q3 Q4 Q4 Q5 Q1 Q0 |
001 010 011 100 011 100 100 101 001 000 |
0x 0x 0x 1x 0x 1x 1x x0 x1 x1 |
0x 1x 1x 0x x0 x1 x1 0x 0x 0x |
1x x1 x0 x1 1x 0x x1 1x 1x x1 |
Дешифратор выходов
Для проектирования автомата с использованием JK-триггеров приведены таблица и формулы. Для сигналов j0, k0 координаты «х» приняты равными 1 и использована запись уравнений в СКНФ.
7. По логическим уравнениям для функций переходов составлена схема (Рис. 7). Выходные сигналы автомата являются функциями состояний, для их формирования используется дешифратор. В общем случае сигналы могут выражаться через дизъюнкцию состояний, как, например, «we».
Схема управляющего автомата:
Описание управляющего автомата на языке Verilog
//oper automat
module automatv (c,x1,x2,x3,we,inc,wn,ina,q,res);
input c,x1,x2,x3;
output we,inc,wn,ina,res;
reg we,inc,wn,ina,res;
output q;
reg[2:0]q;
always @(posedge c)
case (q)
3'b000:begin res=0;
q=3'b001;end
3'b001:
if (x1) begin
q=3'b010;
inc=1; end
else if (x2) begin
q=3'b011;
we=1;end
else begin q=3'b100;
ina=1; end
3'b010:begin inc=0;
if (x2)begin
q=3'b011;we=1;
end
else begin
q=3'b100;
ina=1;end
end
3'b011:begin we=0;
q=3'b100;
ina=1;end
3'b100:begin ina=0;
if (x3)begin
q=3'b101;
wn=1;we=1;end
else begin
q=3'b001;end
end
3'b101: begin
wn=0;
we=0;
res=1;
q=3'b000;end
endcase
endmodule
5. Тестирование управляющего автомата
При разработке устройства курсового проекта необходимо выбрать ПЛИС, содержащую блоки памяти, и сделать это следует на этапе проектирования управляющего автомата. Из меню необходимо выбрать Assign / Device, и в открывшемся окне указать семейство: Device Family - FLEX10KE и тип микросхемы: Devices - AUTO.
Для тестирования управляющего автомата необходимо по графу составить таблицу изменений состояний автомата при всех возможных комбинациях управляющих сигналов и выделить циклы повторяющихся состояний.
Тест автомата |
||
х3 х2 х1 |
Q |
|
0 0 0 0 0 1 0 1 0 0 1 1 1 0 0 1 0 1 1 1 0 1 1 1 |
0-1-4-1-4-1-4 0-1-2-4-1-2-4 0-1-3-4-1-3-4 0-1-2-3-4-1-2-3-4- 0-1-4-5-0-1-4-5-0- 0-1-2-4-5-0-1-2-4-5-0- 0-1-3-4-5-0-1-3-4-5-0- 0-1-2-3-4-5-0-1-2-3-4-5-0- |
Последовательность состояний, формируемая при х1=1, х2=1 и х3=1 соответствует основному циклу алгоритма, в котором имеются все состояния. Такой цикли целесообразно использовать при отладке автомата и операционного устройства. Необходимо проверить формирование всех управляющих сигналов, соответствие алгоритму моментов их появления. После удачного тестирования автомата создайте символ.
В проекте необходимо представить иерархический проект управляющего автомата с вариантом описания на языке Verilog.
Иерархический проект «тестирование автоматов»:
Временные диаграммы:
X1=0, X2=0, X3=0:
X1=1, X2=0, X3=0:
X1=0, X2=1, X3=0:
X1=1, X2=1, X3=0:
X1=0, X2=0, X3=1:
X1=1, X2=0, X3=1:
X1=0, X2=1, X3=1:
X1=1, X2=1, X3=1:
Вывод: оба описания управляющего автомата работают верно, в соответствии с поставленными условиями.
6. Разработка АЛУ и счетчиков
цифровой триггер verilog управляющий автомат
Для построения устройства в соответствии с функциональной схемой (Рис. 2) необходимо создать модули АЛУ и счетчиков.
В схеме АЛУ (Рис. 8) формируются признаки, и выполняется модификация данных. Признак х1 = 1, если число отрицательное, признак х2 = 1, если число нечетно. Модификация данных - поменять местами тетрады в байте. Для АЛУ создан символ, который будет использован в схеме устройства.
Для построения счетчиков выбраны модули, описание на языке Verilog. В устройстве содержатся два счетчика, описания которых различаются разрядностью выходных сигналов. Счетчик адреса - 5-разрядный, а счетчик чисел - 8-разрядный. Счетчики должны срабатывать по фронту синхроимпульсов и иметь входы разрешения счета и синхронного сброса. Это необходимо для работы системы синхронизации. После компиляции каждого из описаний необходимо создать символы модулей «count5» и «count8».
Описание счетчика count5 на языке verilog:
//5 razr
module count5(c,ina,res,a);
input c,ina,res;
output [4:0]a;
reg[4:0]a;
//output x3;
//reg x3;
always @(posedge c)
if (res==0&ina==1) a=a+1'b1;
else if (res==1)a=0;
endmodule
Символ счетчика count5:
Временные диаграммы счетчика count5:
Вывод: счетчик работает верно.
Описание счетчика count8 на языке verilog:
//8 razr
module count8(c,inc,res,n);
input c,inc,res;
output [7:0]n;
reg[7:0]n;
always @(posedge c)
if (res==0&inc==1) n=n+1'b1;
else if (res==1)n=0;
endmodule
Символ счетчика count8:
Временные диаграммы счетчика count8:
Вывод: счетчик работает верно.
7. Разработка принципиальной схемы устройства
Принципиальная схема устройства составляется по функциональной схеме (см. рис. 2), в виде файла «device1.gdf». Вначале необходимо выбрать все модули устройства.
В качестве устройства памяти из библиотеки «mega_lpm» выбран параметризированный модуль «lpm_ram_dq», в котором имеются раздельные шины для входных и выходных данных. После выбора модуля открывается окно редактирования выводов и параметров модуля. В верхней части окна «Edit Ports/Parameters» необходимо для вывода «Outclock» выбрать «Unused - неиспользуемый», а для всех остальных выводов выбрать «Used».
Значения параметров «Parameter Value» необходимы следующие: «LPM_Address_Control» - «Registred» (синхронный, фиксируемый в регистре), «LPM_InData» - «none» (по умолчанию), «LPN_NumWords» - «none», «LPM_OutData» - «Unregistred» (асинхронный), «LPM_Width» - 8 (разрядность данных), «LPM_WidthAd» - 5 (разрядность адреса). В строке «LPM_File» впоследствии необходимо указать путь к файлу инициализации памяти. Выбранные сигналы определяют разрядность и емкость памяти, а также асинхронное чтение из памяти, при котором изменение данных на выходе происходит сразу же после смены адреса.
Символ устройства памяти LPM_RAM_DQ:
Мультиплексор для коммутации 8-разрядных шин на два направления выбран из библиотеки макрофункций «mf».
На схеме также содержится управляющий автомат, который будет запускать, и синхронизировать устройства схемы посредством управляющих сигналов.
Код адреса используется для формирования признака «x3» - конец массива. При х3 = 1 производится запись кода счетчика «n» в ячейку, адрес которой на 1 больше последнего адреса массива.
Схема Мультиплексора:
Временные диаграммы:
Вывод: мультиплексор работает верно.
Шины на схеме имеют обозначения: q[2..0] - состояния автомата, a[4..0] - адрес памяти, do[7..0] данные с выхода памяти, d[7..0] - модифицированные данные с выхода АЛУ, n[7..0] - код счетчика чисел, удовлетворяющих условию х1, di[7..0] данные на входе памяти, предназначенные для записи.
8. Моделирование устройства
Время моделирования установлено 12 мкс. из меню редактора диаграмм File/End Time.
1 этап отладки выполняется с фиксированными значениями признаков на входах управляющего автомата, и с блокировкой записи в память. Для модуля LPM_RAM_DQ сигнал we = 0 (вывод подключен к метке g - gnd), а вывод we управляющего автомата не используется. В результате запись в память происходить не будет, содержимое памяти на данном этапе не модифицируется. Признаки результата на входах управляющего автомата временно зафиксированы: х1 = 1, х2 = 1, х3 = 1, для этого входы необходимо подключить к метке «v». Такое сочетание признаков соответствует основному циклу алгоритма.
Для проверки работы памяти, АЛУ и формирователей признаков необходимо инициализировать память.
Тестовый массив данных содержит 4 группы по 4 числа. Каждой группе чисел соответствует определенная комбинация признаков: 1 группа, х2 = 0, х1 = 0 - четные числа старший разряд<=7 (например, 12, 24, 46,68); 2 группа, х2 = 0, х1 = 1 - четные старший разряд>7 (8A, 9C, AE, B0); 3 группа, х2 = 1, х1 = 0 - нечетные старший разряд<=7 (13,35, 57,69); 4 группа, х2 = 1, х1 = 1 - нечетные старший разряд>7 (89, 9B, AD, BF). записи
Данные записаны в файл d.mif.
Схема Устройства Device1:
Временная диаграмма:
2 этап отладки
На управляющий автомат поданы сигналы Х, формируемые в АЛУ. Выходной сигнал автомата «we» подан на управление записью в память, для этого сигнала добавлен терминал для вывода сигнала при моделировании. В результате схема устройства приводится к окончательному виду, предназначенному для завершающего этапа тестирования устройства с замкнутыми обратными связями.
Схема Устройства Device1:
Временная диаграмма:
Размещено на Allbest.ru
Подобные документы
Управляющий цифрового автомат типа Мура. Абстрактный и структурный синтез автомата, построена функциональная схема. Функции выходов и возбуждения элементов памяти. Моделирование на ПК с использованием симулятора ModelSim. Описание автомата на языке VHD.
курсовая работа [214,2 K], добавлен 07.11.2010Блок обработки данных: общее устройство, выбор элементной базы. Структура операционного автомата. Расчет нагрузочной способности шины данных. Расчет длительности такта управляющего автомата. Память: построение, контроллер. Интерфейс шины процессор-память.
курсовая работа [3,7 M], добавлен 07.01.2015Синтез цифровых схем, выбор элементной базы и анализ принципов построения управляющих автоматов с жесткой логикой. Граф-схемы алгоритмов умножения и деления чисел. Создание управляющего автомата типа Мили; выбор триггера, кодирование сигналов автомата.
курсовая работа [1,8 M], добавлен 18.09.2012Теоретические основы процессоров. Построение процессоров и их общая структура. Цифровые автоматы. Расчёт количества триггеров и кодирование состояний ЦА. Структурная схема управляющего устройства. Построение графа функционирования управляющего устройства.
курсовая работа [85,0 K], добавлен 08.11.2008Разработка функциональной и принципиальной схем управляющего устройства в виде цифрового автомата. Синтез синхронного счётчика. Минимизация функций входов для триггеров с помощью карт Карно. Синтез дешифратора и тактового генератора, функции выхода.
курсовая работа [1,5 M], добавлен 23.01.2011Управляющий автомат и его связь с операционным автоматом. Разработка алгоритма работы управляющего автомата. Построение кодированной ПТП, синтез функций возбуждения и выходов. Реализация управляющего автомата с жесткой логикой на заданной элементной базе.
курсовая работа [57,9 K], добавлен 29.12.2011Структурная схема и синтез цифрового автомата. Построение алгоритма, графа и таблицы его функционирования в микрокомандах. Кодирование состояний автомата. Функции возбуждения триггеров и формирования управляющих сигналов. Схема управляющего устройства.
курсовая работа [789,4 K], добавлен 25.11.2010Обобщенная схема конечного цифрового автомата. Структурная и каскадная схема мультиплексора. Кодирование входных и выходных сигналов и состояний автомата. Схема разработанного цифрового устройства. Синтез дешифратора автомата. Выбор серии микросхем.
контрольная работа [279,1 K], добавлен 07.01.2015Выполнение синтеза цифрового автомата Мура, осуществляющего отображение информации, приведение алфавитного отображения к автоматному. Построение формализованного описания автомата, минимизация числа внутренних состояний. Функциональная схема автомата.
курсовая работа [2,8 M], добавлен 04.02.2013Электронный автомат с заданными входными сигналами и контролируемыми параметрами. Структурный синтез управляющего автомата. Направленный граф абстрактного автомата. Кодирование внутренних состояний и выбор типа памяти. Выбор элементов и микросхем.
курсовая работа [933,1 K], добавлен 29.07.2009