Цифровое устройство обработки данных

  • Вид работы:
    Курсовая работа (т)
  • Предмет:
    Информатика, ВТ, телекоммуникации
  • Язык:
    Русский
    ,
    Формат файла:
    MS Word
    2,36 Мб
  • Опубликовано:
    2012-11-28
Вы можете узнать стоимость помощи в написании студенческой работы.
Помощь в написании работы, которую точно примут!

Цифровое устройство обработки данных

Задание: Разработать цифровое устройство обработки данных.
. Выполнить тестирование всех модулей устройства в отдельности
. Создать иерархический проект управляющего автомата, используя ввод данных в виде схемы и в виде описания на Verilog, сравните задержки переключения автомата для этих проектов.
. Выполнить тестирование устройства, используя тестовый массив данных. Опишите работу двухфазной синхронизации.

Общая часть задания. В памяти, с адреса 00, записан массив из 16 однобайтовых чисел со знаком, представленных в дополнительном коде. Подсчитать количество чисел, удовлетворяющих условию х1, результат записать в память по адресу 1016. Числа, удовлетворяющие условию х2, модифицировать и записать в память по исходному адресу.

Задание согласно варианту (№12).

Условие X1: Число в старшей тетради > 7;

Условие X2: Число не кратно 2;

Операция: Логическая операция или с маской A6h;

Тип триггера JK.

1. Структура цифрового устройства обработки данных

Цифровое устройство обработки данных (процессор) при проектировании можно представить в виде системы, состоящей из операционного устройства (ОУ) и управляющего устройства (УУ) (Рис.1).

Рис1.

Операционное устройство содержит функциональные блоки, выполняющие обработку данных, предусмотренную заданным алгоритмом, и выдачу результата. Для хранения исходных данных и результатов используется память.

Управляющее устройство генерирует последовательность управляющих сигналов Y на основе анализа состояния устройства и признаков результатов X, поступающих из ОУ.

Моменты выдачи управляющих сигналов определяют импульсы частоты синхронизации C, период повторения которых называется тактом. При двухфазной синхронизации на ОУ и на УУ подаются противофазные импульсы синхронизации. В этом случае моменты переключений элементов указанных устройств, определяемые фронтом импульсов, будут выполняться поочередно, совпадений импульсов не будет. Синхронизация должна обеспечить отсутствие ошибок, обусловленных гонками.

2. Функциональная схема операционного устройства

Функциональная схема операционного устройства (рис.2) отображает набор функциональных устройств, связи и управляющие сигналы.

 

 

Память. Для хранения массива исходных данных необходимо оперативное запоминающее устройство (ОЗУ), допускающее чтение и запись, с разрядностью - 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», который подается на счетчики.

.

При состоянии Q1 выполняется чтение кода числа из памяти в регистр данных. Если в устройстве памяти используется режим асинхронного вывода, то выходной сигнал для этого состояния не требуется.

Проверка условия х1 определяет необходимость инкремента счетчика чисел, если условие выполняется.

Состояние Q2 возникает при х1 = 1, если должен выполнятся инкремент счетчика чисел, для этого формируется сигнал «inс».

Проверка условия х2 определяет необходимость записи модифицированного числа в память.

Такт Q3 необходим для выполнения модификации и записи числа в память, для этого необходим сигнал разрешения записи в память we = 1,

В такте Q4 содержимое счетчика адреса увеличивается на 1, для этого формируется сигнал инкремент адреса «ina». В результате выполняется подготовка к циклической обработке следующего числа.

Условие выхода из цикла обработки чисел x3 принимает значение 1, когда адрес, полученный после инкремента, выходит за диапазон адресов, в которых хранятся числа массива.

В такте q5 выполняется запись кода, полученного в счетчике чисел, в память. для этого необходимы сигналы we = 1 и wn = 1.

Конец алгоритма обозначен Q0, алгоритм допускает циклические повторения.

4. Синтез управляющего автомата

Конечный автомат - это логическое устройство с памятью, выходные сигналы которого зависят от предыстории поступления входных сигналов.. Рассмотрим синтез автомата Мура (Рис.4)

. Необходимое число триггеров N определяется из условия 2N ≥ K, где K - число состояний автомата. Для решаемого примера К=6, N=3.

. Кодирование состояний автомата. Выберем ряд натуральных чисел. Состояниям будут соответствовать коды: Q0 - 000, Q1 - 001, Q2 - 010, и т. д.


3. Граф автомата строится по алгоритму (Рис. 6). Вершины графа соответствуют состояниям, а дуги - переходам. Условия перехода из одного состояния в другое записываются на дугах графа в виде конъюнкций входных сигналов, принимающих единичное значение, когда данный переход происходит. При безусловном переходе дуга графа отмечается константой 1.


Для упрощения тестирования начало, и конец алгоритма отображаются состоянием Q0, в результате автомат допускает циклическое повторение рабочего цикла.

. Выбор типа триггера выполняется с учетом используемой элементной базы, а также требований к быстродействию и помехозащищенности автомата. Обязательным является выбор триггеров с динамическим управлением. Для выбранного триггера изображается таблица переходов.

. Таблица переходов автомата строится по графу с учетом функций переходов выбранного триггера. Каждая строка описывает одну дугу графа. В столбцах указывают: условие перехода, исходное состояние автомата, новое состояние, и управляющие сигналы выбранного триггера, необходимые для перехода в новое состояние. Управляющий сигнал триггера для каждого разряда определяется с учетом таблицы переходов и изменения данного разряда в кодах исходного и нового состояний.

Рис.8 Таблица переходов JK триггера.

В таблице переходов приведены входные управляющие сигналы для JK триггеров.

При проектировании автомата следует составить таблицу для заданного типа триггера, в которую войдут столбцы: «условия Х», «Q исходное», «Q новое», и управляющие сигналы заданного триггера.

. Логические уравнения для управляющих сигналов триггеров записываются по таблице переходов, обычно в СДНФ. Выбирается столбец для управляющего сигнала, и записывается дизъюнкция из произведений (минтермов, или конгституент единицы), количество которых равно количеству единиц в столбце. Каждое произведение - конъюнкция из кода исходного состояния и условия для строки, управляющий сигнал которой равен 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

1x x1 x0 x1 1x 0x x1 1x 1x x1



Дешифратор выходов


Для проектирования автомата с использованием JK-триггеров приведены таблица и формулы. Для сигналов j0, k0 координаты «х» приняты равными 1 и использована запись уравнений в СКНФ.

. По логическим уравнениям для функций переходов составлена схема (Рис. 7). Выходные сигналы автомата являются функциями состояний, для их формирования используется дешифратор. В общем случае сигналы могут выражаться через дизъюнкцию состояний, как, например, «we».

Схема управляющего автомата:


Описание управляющего автомата на языке Verilog

//oper automatautomatv (c,x1,x2,x3,we,inc,wn,ina,q,res);c,x1,x2,x3;we,inc,wn,ina,res;we,inc,wn,ina,res;q;[2:0]q;@(posedge c)(q)

'b000:begin res=0;=3'b001;end

'b001:(x1) begin=3'b010;=1; endif (x2) begin=3'b011;=1;endbegin q=3'b100;=1; end

'b010:begin inc=0;(x2)begin=3'b011;we=1;begin=3'b100;=1;end

'b011:begin we=0;=3'b100;=1;end

'b100:begin ina=0;(x3)begin=3'b101;=1;we=1;endbegin=3'b001;end

'b101: begin=0;=0;=1;=3'b000;end

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:

=1, X2=0, X3=0:

=0, X2=1, X3=0:

=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 razrcount5(c,ina,res,a);c,ina,res;[4:0]a;[4:0]a;

//output x3;

//reg x3;@(posedge c)(res==0&ina==1) a=a+1'b1;if (res==1)a=0;

Символ счетчика count5:


Временные диаграммы счетчика count5:


Вывод: счетчик работает верно.

Описание счетчика count8 на языке verilog:

//8 razrcount8(c,inc,res,n);c,inc,res;[7:0]n;[7:0]n;@(posedge c)(res==0&inc==1) n=n+1'b1;if (res==1)n=0;

Символ счетчика 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» впоследствии необходимо указать путь к файлу инициализации памяти. Выбранные сигналы определяют разрядность и емкость памяти, а также асинхронное чтение из памяти, при котором изменение данных на выходе происходит сразу же после смены адреса.




Мультиплексор для коммутации 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:


Временная диаграмма:

Похожие работы на - Цифровое устройство обработки данных

 

Не нашли материал для своей работы?
Поможем написать уникальную работу
Без плагиата!