- •К лабораторным работам
- •1 Компьютерное моделирование с помощью ewb
- •1.1 Основные технические характеристики микросхем
- •1.2 Типы логики
- •1.3 «Стандартные» микросхемы
- •1.4 Семиотика «стандартных» микросхем
- •1.5 Микросхемы-аналоги
- •1.6 Техническая документация
- •1.7 Краткий англо-русский словарь терминов
- •2 Разработка испытательного стенда
- •3 Структурное моделирование с помощью сапр aldec active-hdl
- •4 Моделювання мікропрограмного автомата
- •4.1 Мікропрограмний автомат
- •4.2 Абстрактний автомат
- •4.3 Мова опису цифрових систем vhdl
- •4.4 Модель мікропрограмного автомату
- •4.5 Побудова графу переходів
- •X: in std_logic_vector (1 to 4); -- логічні умови
- •4.6 Моделювання роботи автомата
- •4.7 Отримання часових діаграм
- •4.8 Хід роботи
- •4.10 Контрольні запитання
- •5 Економічне кодування станів автомату
- •5.1 Структурний автомат
- •5.2 Тригери
- •5.3 Економічне кодування станів
- •5.4 Хід роботи
- •5.6 Контрольні запитання
- •6 Канонічний метод структурного синтезу
- •6.1 Кодована форма пст
- •6.2 Складання логічної схеми
- •6.3 Ціна логічної схеми за Квайном
- •6.4 Хід роботи
- •6.6 Контрольні запитання
- •7 Проектування мікропрограмного автомата
- •7.1 Реалізація автомату на плм
- •7.2 Хід роботи
- •7.4 Контрольні запитання
- •Література
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- Маршрут тестирования