Частина тексту файла (без зображень, графіків і формул):
Міністерство освіти і науки України
Національний університет „Львівська політехніка”
Кафедра ЕОМ
Звіт
з лабораторної роботи № 3
на тему:
„Тестування цифрового автомату”
Підготував: ст. гр. СКС-5.
Львів 2006
Мета роботи: ознайомитись із загальною схемою тестування цифрової техніки. Засвоїти методи та засоби тестування цифрових схем з пам’яттю на прикладі цифрового автомата (ЦА).
ТЕОРЕТИЧНА ЧАСТИНА
Особливості тестування цифрових автоматів
Цифровий автомат є прикладом пристрою із пам’яттю. Цифровий автомат характеризується:
набором вхідних сигналів {X};
набором вихідних сигналів {Y};
набором внутрішніх станів {A};
початковим станом a0;
правилом формування вихідних сигналів;
правилом формування наступного внутрішнього стану.
Існують такі способи завдання автоматів, які описують залежність, відповідно, наступного стану автомата і його виходу від теперішнього стану автомата і його входів:
табличний - задаються дві таблиці: станів (переходів) і виходів;
за допомогою часових діаграм;
аналітичний, в тому числі на мовах опису апаратної частини цифрових вузлів – Hardware Discription Language (HDL);
за допомогою графа алгоритму роботи автомата;
за допомогою графа автомата (рис. 3.6);
опис на звичайній мові.
Цифрові автомати поділяються на автомати:
Мура, в яких вихідні сигнали залежать тільки від стану автомата;
Мілі, в яких вихідні сигнали залежать як від стану автомата, так і від вхідних сигналів.
Здебільшого цифрові автомати бувають синхронними, тобто зміна стану автомата здійснюється по фронту синхроімпульсів.
На рис.1 представлений граф синхронного автомата Мура, який має:
вісім внутрішніх станів (S0, …, S7), які кодуються трьома розрядами (s0, …, s2);
три вхідних сигналу (pusk, x0, x1);
два вихідних сигналу (y0, y1);
Даний автомат переводиться до початкового стану за допомогою асинхронного сигналу скиду (Reset). Синхроімпульси на графі не показані.
Основний принцип тестування цифрових автоматів полягає в перевірці того, що автомат:
здійснює усі позначені стрілочками на графі переходи і не здійснює не позначених;
формує усі позначені на графі вихідні сигнали в потрібних станах і не формує не позначених.
Для перевірки усіх цих вимог потрібно декілька разів повертати автомат до початкового стану і повторно проводити його перевірку з іншою послідовністю вхідних сигналів.
Граф автомата
Виконання роботи :
Відкриваємо у Xilinx проект nalag_s.zip
У Schematic Editor замінюємо еталонний пристрій на STATE_10
У Logic Simulator запускаємо на виконання скрипт-файл Simul_lab3.cmd:
delete_signals
restart
|set_mode unit
set_mode functional
|set_mode timing
vector ETSTATE ETS[0:2]
vector STATE A[4:2]
VECTOR Y1 A1
VECTOR Y0 A0
wfm INCLK @0ns=L (5ns = L 5ns=H) * 50
AFTER 10ns DO (a INPUSK 0;a INRESET 1; a INX0 0; a INX1 0; a ETY0 0; a ETY1 0;a ETSTATE 0\h)
AFTER 20ns DO (a INPUSK 0;a INRESET 0; a INX0 0; a INX1 0; a ETY0 0; a ETY1 0;a ETSTATE 0\h)
AFTER 30ns DO (a INPUSK 1;a INRESET 0; a INX0 0; a INX1 0; a ETY0 0; a ETY1 1;a ETSTATE 1\h)
AFTER 40ns DO (a INPUSK 1;a INRESET 0; a INX0 1; a INX1 0; a ETY0 1; a ETY1 0;a ETSTATE 2\h)
AFTER 50ns DO (a INPUSK 1;a INRESET 0; a INX0 1; a INX1 0; a ETY0 1; a ETY1 0;a ETSTATE 2\h)
AFTER 60ns DO (a INPUSK 1;a INRESET 0; a INX0 0; a INX1 0; a ETY0 1; a ETY1 0;a ETSTATE 3\h)
AFTER 70ns DO (a INPUSK 1;a INRESET 0; a INX0 0; a INX1 0; a ETY0 0; a ETY1 0;a ETSTATE 4\h)
AFTER 80ns DO (a INPUSK 1;a INRESET 0; a INX0 0; a INX1 0; a ETY0 0; a ETY1 1;a ETSTATE 5\h)
AFTER 90ns DO (a INPUSK 1;a INRESET 0; a INX0 0; a INX1 0; a ETY0 0; a ETY1 0;a ETSTATE 6\h)
AFTER 100ns DO (a INPUSK 1;a INRESET 0; a INX0 0; a INX1 1; a ETY0 1; a ETY1 0;a ETSTATE 7\h)
AFTER 110ns DO (a INPUSK 1;a INRESET 0; a INX0 0; a INX1 0; a ETY0 1; a ETY1 0;a ETSTATE 7\h)
AFTER 120ns DO (a INPUSK 0;a INRESET 0; a INX0 0; a INX1 0; a ETY0 0; a ETY1 0;a ETSTATE 0\h)
AFTER 130ns DO (a INPUSK 1;a INRESET 0; a INX0 0; a INX1 0; a ETY0 0; a ETY1 1;a ETSTATE 1\h)
AFTER 140ns DO (a INPUSK 1;a INRESET 0; a INX0 1; a INX1 0; a ETY0 1; a ETY1 0;a ETSTATE 2\h)
AFTER 150ns DO (a INPUSK 1;a INRESET 0; a INX0 0; a INX1 0; a ETY0 1; a ETY1 0;a ETSTATE 3\h)
AFTER 160ns DO (a INPUSK 1;a INRESET 0; a INX0 0; a INX1 0; a ETY0 0; a ETY1 0;a ETSTATE 4\h)
AFTER 170ns DO (a INPUSK 1;a INRESET 0; a INX0 0; a INX1 0; a ETY0 0; a ETY1 1;a ETSTATE 5\h)
AFTER 180ns DO (a INPUSK 1;a INRESET 0; a INX0 0; a INX1 0; a ETY0 0; a ETY1 0;a ETSTATE 6\h)
AFTER 190ns DO (a INPUSK 1;a INRESET 0; a INX0 0; a INX1 0; a ETY0 1; a ETY1 0;a ETSTATE 2\h)
AFTER 200ns DO (a INPUSK 1;a INRESET 0; a INX0 0; a INX1 0; a ETY0 1; a ETY1 0;a ETSTATE 3\h)
AFTER 210ns DO (a INPUSK 1;a INRESET 0; a INX0 0; a INX1 1; a ETY0 1; a ETY1 0;a ETSTATE 7\h)
AFTER 220ns DO (a INPUSK 0;a INRESET 0; a INX0 0; a INX1 1; a ETY0 0; a ETY1 0;a ETSTATE 0\h)
AFTER 240ns DO (a INPUSK 1;a INRESET 0; a INX0 0; a INX1 1; a ETY0 0; a ETY1 1;a ETSTATE 5\h)
AFTER 260ns DO (a INPUSK 1;a INRESET 0; a INX0 0; a INX1 1; a ETY0 1; a ETY1 0;a ETSTATE 7\h)
AFTER 270ns DO (a INPUSK 1;a INRESET 0; a INX0 0; a INX1 0; a ETY0 1; a ETY1 0;a ETSTATE 7\h)
AFTER 280ns DO (a INPUSK 0;a INRESET 0; a INX0 0; a INX1 0; a ETY0 0; a ETY1 0;a ETSTATE 0\h)
AFTER 290ns DO (a INPUSK 0;a INRESET 0; a INX0 0; a INX1 0; a ETY0 0; a ETY1 0;a ETSTATE 0\h)
watch INCLK INPUSK INRESET INX0 INX1 ETY0 Y0 ETY1 Y1 ETSTATE STATE ERR A0 A1 A2 A3 A4
watch INCLK INPUSK INRESET INX0 INX1 ETY0 Y0 ETY1 Y1 ETSTATE STATE ERR
sim 500ns
Часова діаграма симуляції цифрового автомата:
Висновок: з часової діаграми симуляції бачимо, що помилка виникає тоді, коли цифровий автомат переходить зі стану 0 до стану 5.Замість цього в ці моменти ЦА переходить у стан 1. З цього можемо зробити висновок про те, що причиною помилки є обрив або закоротка на землю внутрішніх сигналів s1та s2.
Ви не можете залишити коментар. Для цього, будь ласка, увійдіть
або зареєструйтесь.
Ділись своїми роботами та отримуй миттєві бонуси!
Маєш корисні навчальні матеріали, які припадають пилом на твоєму комп'ютері? Розрахункові, лабораторні, практичні чи контрольні роботи — завантажуй їх прямо зараз і одразу отримуй бали на свій рахунок! Заархівуй всі файли в один .zip (до 100 МБ) або завантажуй кожен файл окремо. Внесок у спільноту – це легкий спосіб допомогти іншим та отримати додаткові можливості на сайті. Твої старі роботи можуть приносити тобі нові нагороди!