Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
ПРМПП.doc
Скачиваний:
49
Добавлен:
07.02.2016
Размер:
8.14 Mб
Скачать

2 Разработка испытательного стенда

ЛАБОРАТОРНА РОБОТА № 2

ВЫБОР МЕТОДИКИ ТЕСТИРОВАНИЯ И РАЗРАБОТКА ИСПЫТАТЕЛЬНОГО СТЕНДА

Все этапы проектирования - алгоритмический, структурный, логический, технологический - сопровождаются моделированием цифрового устройства с помощью испытательного стенда (англ. testbench).

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

РИСУНОК 2- Функциональная схема испытательного стенда для прибора SN74163.

Генератор испытательных сигналовдолжен подавать на UUT тестовую последовательность входных сигналов:

!CLR- (управление / срабатывание статич. / активный: лог.0) асинхронный сброс показаний счетчика;!LOAD- (управление / срабатывание статич. / активный: лог.0) параллельная загрузка данных;ENP,ENT- (управление / срабатывание статич. / активный: лог.1) запуск счета / пауза;CLK- (тактовый / срабатывание динам. / активный: пер.фронт) синхронизацияA,B,C,D-(данные / срабатывание статич. / активный: - ) данные для параллельной загрузки.

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

QA,QB,QC,QD-(данные / срабатывание статич. / активный: - ) двоичный код, отражающий показания счета;RCO- (управление / срабатывание статич. / активный: лог.1) переполнение, сигнал достижения предельно возможного показания счета Q(ABCD) = "1111".

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

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

Тестовая последовательность проверки функционирования микросхемы составляется на основе таблицы истинности и графа переходов; для этого используются результаты анализа работы прибора.

ФОРМАЛИЗАЦИЯ СХЕМЫ АЛГОРИТМА

РИСУНОК 8 - Формализованный алгоритм

cоставлены: алфавит логических условий (х1:х6) алфавит микроопераций (у1:у15)

РИСУНОК 9 - Формализованный алгоритм, отмеченный для автомата Мура

РИСУНОК 10 - Формализованный алгоритм, отмеченный для автомата Мили

оба варианта отметки дают одинаковое число состояний. составлен алфавит состояний (а1:а6)

Составим текст программы испытательного стенда на языке VHDL.

Файл TEST_74163.VHD - Программа испытательного стенда (test bench)

-----------------------------------

-- TEST_74163.VHD - программа испытательного стенда (test bench)

-----------------------------------

LIBRARY IEEE;

USE IEEE.STD_LOGIC_1164.ALL;

ENTITY SN74163_TB IS

END SN74163_TB;

ARCHITECTURE TB_ARCHITECTURE OF SN74163_TB IS

COMPONENT SN74163

PORT(

CLK : IN STD_LOGIC;

CLR : IN STD_LOGIC;

DATA_A : IN STD_LOGIC;

DATA_B : IN STD_LOGIC;

DATA_C : IN STD_LOGIC;

DATA_D : IN STD_LOGIC;

ENP : IN STD_LOGIC;

ENT : IN STD_LOGIC;

LOAD : IN STD_LOGIC;

QA : OUT STD_LOGIC;

QB : OUT STD_LOGIC;

QC : OUT STD_LOGIC;

QD : OUT STD_LOGIC;

RCO : OUT STD_LOGIC );

END COMPONENT;

SIGNAL CLK : STD_LOGIC;

SIGNAL CLR : STD_LOGIC;

SIGNAL DATA_A : STD_LOGIC;

SIGNAL DATA_B : STD_LOGIC;

SIGNAL DATA_C : STD_LOGIC;

SIGNAL DATA_D : STD_LOGIC;

SIGNAL ENP : STD_LOGIC;

SIGNAL ENT : STD_LOGIC;

SIGNAL LOAD : STD_LOGIC;

SIGNAL QA : STD_LOGIC;

SIGNAL QB : STD_LOGIC;

SIGNAL QC : STD_LOGIC;

SIGNAL QD : STD_LOGIC;

SIGNAL RCO : STD_LOGIC;

SIGNAL END_SIM: BOOLEAN:=FALSE;

BEGIN

UUT : SN74163

PORT MAP (

CLK => CLK,

CLR => CLR,

DATA_A => DATA_A,

DATA_B => DATA_B,

DATA_C => DATA_C,

DATA_D => DATA_D,

ENP => ENP,

ENT => ENT,

LOAD => LOAD,

QA => QA,

QB => QB,

QC => QC,

QD => QD,

RCO => RCO

);

STIMULUS: PROCESS

BEGIN

DATA_B <= '1';

DATA_C <= '0';

DATA_D <= '1';

CLR <= '0';

DATA_A <= '0';

LOAD <= '0';

ENP <= '0';

ENT <= '0';

WAIT FOR 100 NS; --0 FS

CLR <= '1';

WAIT FOR 100 NS; --100 NS

LOAD <= '1';

ENP <= '1';

ENT <= '1';

WAIT FOR 100 NS; --200 NS

ENP <= '0';

WAIT FOR 100 NS; --300 NS

ENP <= '1';

WAIT FOR 100 NS; --400 NS

ENT <= '0';

WAIT FOR 100 NS; --500 NS

ENT <= '1';

WAIT FOR 500 NS; --600 NS

CLR <= '0';

WAIT FOR 100 NS; --1100 NS

END_SIM <= TRUE;

WAIT;

END PROCESS;

CLOCK_CLK : PROCESS

BEGIN

IF END_SIM = FALSE THEN

CLK <= '0';

WAIT FOR 50 NS; --0 FS

ELSE

WAIT;

END IF;

IF END_SIM = FALSE THEN

CLK <= '1';

WAIT FOR 50 NS; --50 NS

ELSE

WAIT;

END IF;

END PROCESS;

END TB_ARCHITECTURE;

CONFIGURATION TESTBENCH_FOR_SN74163 OF SN74163_TB IS

FOR TB_ARCHITECTURE

FOR UUT : SN74163

USE ENTITY WORK.SN74163(SN74163);

END FOR;

END FOR;

END TESTBENCH_FOR_SN74163;

ДОРОЖНАЯ КАРТА ПРОЕКТИРОВАНИЯ

1 построить граф-схему алгоритма, описывающего поведение счетчика

2 построить структурную таблицу и граф переходов конечного автомата (Мили или Мура - выбор самостоятельный), управляющего поведением счетчика

3 на основе алгоритма, графа переходов или структурной таблицы составить VHDL-описание счетчика

4 взяв за основу логическую схему, построить VHDL-описание счетчика

5 подобрать тестовую последовательность, обеспечивающую полную проверку работы счетчика

6 получить временные диаграммы результатов моделирования различных вариантов реализации счетчика.

ИССЛЕДОВАНИЕ ПРИБОРА И АНАЛИЗ ЕГО РАБОТЫ

На этом шаге выполняется исследование работы прибора SN74163 и анализ справочной таблицы состояний (не путать с таблицей истинности). В соответствии с оригинальной цоколевкой составляется список внешних сигналов.

Иногда для детального понимания принципа функционирования изделия полезно ознакомиться с его логической схемой (берется из даташита).

РИСУНОК 3- Граф переходов прибора SN74163

В зависимости от стратегии, избранной в процессе тестирования, на графе переходов исследуемого прибора тестовая последовательность образует маршрут тестирования. Маршруты тестирования классифицируются:

неполный маршрут- получается в результате интуитивного поиска тестовой последовательности; обычно такой маршрут тестирования не дает полной гарантии проверки прибора;идеальный маршрут- получается с помощью формальных методов; характеризуется тем, что маршрут удовлетворяет избранной стратегии тестирования; в рамках избранной стратегии является функционально полным;оптимальный маршрут- основным критерием оптимизации маршрута является сокращение общего времени прохождения теста; перед тем, как применить формальный метод, граф переходов модифицируется (снимаются ограничения на количество проходов ребер и вершин, удаляются незадействованные в процессе эксплуатации элементы графа).

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

РИСУНОК 4- Оптимальный граф переходов

В свою очередь, идеальный маршрут тестирования может представлять собой:

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

эйлеров путь- это маршрут обхода графа по всем ребрам графа ровно один раз. Если начальная и конечная вершины эйлерового пути совпадают, его называютэйлеровым циклом.

ТАБЛИЦА 1- Тестовая последовательность

Маршрут тестирования (РИС.3) не является полным. представляет собойэйлеров цикл.

РИСУНОК 3- Маршрут тестирования