Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
МУ_КП_2012.doc
Скачиваний:
20
Добавлен:
15.04.2015
Размер:
290.3 Кб
Скачать

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

П

Тест автомата

х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-

Рис. 7. Схема управляющего автомата

ри разработке устройства курсового проекта необходимо выбрать ПЛИС, содержащую блоки памяти, и сделать это следует на этапе проектирования управляющего автомата. Из меню необходимо выбратьAssign / Device, и в открывшемся окне указать семейство: Device Family – FLEX10KE и тип микросхемы: Devices – AUTO.

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

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

6. Разработка алу и счетчиков

Рис 8. Схема АЛУ

// 5-разрядный счетчик

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

input c, en, clr;

output [4:0] q;

reg [4:0] q;

always @(posedge c)

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

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

endmodule

Для построения устройства в соответствии с функциональной схемой (Рис. 2) необходимо создать модули АЛУ и счетчиков.

В схеме АЛУ (Рис. 8) формируются признаки, и выполняется модификация данных. Ппризнак х1 = 1, если число отрицательное, признак х2 = 1, если число нечетно. Модификация данных - поменять местами тетрады в байте. Для АЛУ создан символ, который будет использован в схеме устройства.

Для построения счетчиков выбраны модули, описание на языке Verilog. В устройстве содержатся два счетчика, описания которых различаются разрядностью выходных сигналов. Счетчик адреса – 5-разрядный, а счетчик чисел – 8-разрядный. Счетчики должны срабатывать по фронту синхроимпульсов и иметь входы разрешения счета и синхронного сброса. Это необходимо для работы системы синхронизации. После компиляции каждого из описаний необходимо создать символы модулей «count5» и «count8».

6. Разработка принципиальной схемы устройства

Принципиальная схема устройства составляется по функциональной схеме (см. рис. 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] данные на входе памяти, предназначенные для записи.