Міністерство освіти І науки України
національний університет “Львівська політехніка”
Кафедра ЕОМ
Тестування цифрових вузлів
Методичні вказівки
до лабораторних робіт з дисципліни
“Проектвання та експлуатація апаратно-програмних відлагоджувльних комплексів”
для студентів спеціальності 7.091501
“Комп’ютерні системи та мережі”.
Затверджено
на засідання кафедри
“Електронні обчислювальні машини”.
Протокол № 3 від 18.10.2001 р.
Львів - 2002
Методичні методичні вказівки до лабораторних робіт “Тестування цифрових вузлів” з дисципліни "Проектвання та експлуатація апаратно-програмних відлагоджувльних комплексів" для студентів спеціальності 7.091501 “Комп’ютерні системи та мережі” /Укл.: Глухов В.С. - Львів: Видавництво Національного університету “Львівська політехніка”, 2002.- 47 с.
Укладач Глухов В.С., канд. техн. наук., с.н.с., доц.
Відповідальний за випуск Глухов В.С., канд. техн. наук., с.н.с., доц.
Рецензенти: Голембо В.А., канд. техн. наук., доц.
Цмоць І.Г., канд. техн. наук., доц.
Лабораторна робота № 1
Тестування АЛП
1 Мета роботи
Метою роботи є ознайомлення з загальною схемою тестування цифрової техніки. Засвоєння методів та засобів тестування комбінаційних схем на прикладі арифметико-логічного пристрою (АЛП).
2 Очікуваний результат роботи
Необхідно розробити програму тестування АЛП, описати поведінку еталонного АЛП (створити еталон), за результатами тестування АЛП визначити несправні елементі досліджуваного пристрою, несправні контакти визначених елементів та тип несправності (обрив, закоротка).
3 ТЕОРЕТИЧНА ЧАСТИНА
3.1 Основні принципи тестування, налагодження і контролю.
Об'єкт
= =
Тести
Результати (Р)
Еталонні результати (Е)
Помилка
n
n
Генератор
Тестових
Послідовностей
(ГТП)
Рис. 3.1. Структурна схема тестування, налагодження і контролю
Еталон
Основний принцип тестування, налагодження і контролю – це порівняння результатів роботи досліджуваного взірця (об'єкта) тестування і еталонного взірця – еталона (рис. 3.1).
Тестові послідовності з генратора тестових послідовностей (ГТП) подаються одночасно на об’єкт тестування і на еталон. Схема порівняння перевіряє на збігання результати роботи об’єкта з еталонними результатами. У випадку незбігання результатів на виході схеми порівняння формується ознака несправності – сигнал “Помилка”.
Еталони можуть бути найрізноманітнішими (рис. 3.2).
Еталон-модель регулювальник може тримати на папері – в технічних умовах (ТУ) на об’єкт і тоді порівняня результатів робить людина. При використанні засобів автоматизації модель може зберігатися у вигляді файлів. Наприклад, якщо об’єкт повинен обраховувати занчення y=sin(x), то для кожного тестового значення, засоби автоматизації також можуть обраховувати значення сінуса (функціональна модель). Або ці значення вже наперед обраховані і зберігаються у вигляді моделі (таблична модель).
Еталон-взірець може повністю збігатися за своїми характеристиками з об’єктом. Може бути простішим за нього. Наприклад, якщо перевіряється робота об’єкта, який має в своєму складі канал RS-232 і контролер ЛОМ, то під час перевірки роботи по каналу RS-232 немає необхідності, щоб еталон мав в собі контролер ЛОМ.
Еталон може бути складнішим за об’єкт, наприклад, під час перевірки реакції об’єкта на нештатну ситуацію – збій парності при роботі по каналу, яку неускладнений працездатний об’єкт ніколи допустити не може.
реальний взірець
модель
“на папері”
програмна
повний еквівалент об’єкту, що тестуєм
спрощений
об’єкт
ускладнений
об’єкт
таблична
функціональна
еталон
Рис. 3.2. Класифікація еталонів
Загальна схема випробовування цифрових пристроїв
При налагодженні цифрових пристроїв найчастіше користуються еталоном-моделлю. В цьому випадку загальна схема випробовування цифрових пристроїв набуває вигляду рис. 3.3, де позначено:
ГТП – генератор тестових послідовностей;
ГЕП – генератор еталонних послідовностей;
Еталон (Е)
Результати (Р)
Рис. 3.3. Загальна схема випробовування цифрових пристроїв
n
n
n
Об'єкт
= =
Тести (Т)
Маскування результатів (М)
Помилка
ГТП
ГЕП
ГМП
ГМП – генератор масочних послідовностей.
Маскування дозволяє проводити порівняння лише коли відомі еталонні значення (коли усунуті всі невизначені стани об’єкта). Маскування дозволяє також перевіряти тільки визначений набір вихідних сигналів об’єкта. Вузол порівння формує сигнал помилки згідно з формулою
Помилка = ( P0 ≠ E0 ) & M0 v ( P1 ≠ E1 ) & M1 v … v ( Pn-1 ≠ En-1 ) & Mn-1,
де n – кількість двійкових розрядів результата (еталона, маски).
Генератори можуть мати різну складність – від простих тумблерів і кнопок до спеціалізованих комп’ютерів. Схема порівняння також може бути реалізована по різному. Це може бути просто візуальнп перевірка стану індикаторів, яку робить людина, і це може бути спеціалізований комп’ютер, який в реальному масштабі часу накопичує результати роботи об’єкта і робить їхнє апаратне або програмне порівняння з еталоном.
“Потужності" (приорітети) цифрових сигналів.
Приорітети цифрових сигналів мають значення при визначенні результату взаємодії двох сигналів при виникненні закороток. На рис. 3.4 показаний такий випадок. Два вихідних логічних сигнала A і B, кожний з яких може приймати значення як логічної одниниці (1) так і логічного нуля (0), внаслідок помилки виявилися з’єднаними один з одним. Який рівень сигналу буде на об’єднаному зв’язку?
&
1
A
B
0/1
0/1
?
Рис. 3.4. Закорочення цифрових сигналів
За приорітетом цифрові сигнали поділяються на групи [1]. Це означає, що сигнали з вищим приорітетом при закоротці з сигналами з нижчим приорітетом переважають їх. Далі неведені визначеня груп у порядку зменшення пріорітету.
Першу групу з найвищим приорітетом складають сигнали типу S(ource) – джерела живлення та загальний провід.
Другу групу складають сигнали типу D(igital) – виходи цифрових мікросхем.
Третю групу складають сигнали з резистивним виходом R(ezistor)- виходи вузлів відкритим колектором (ВК) чи емітером (ВЕ).
Четверту групу (з найнижчим приорітетом) складають сигнали з високоімпедансних виходів – Z.
Визначення рівня сигналу при об’єднанні кількох цифрових виходів.
При з’єднанні цифрових виходів рівень напруги буде залежати в першу чергу від типу виходів, що з’єднуються. Результат закоротки двох сигналів з різними приорітетами можна визначити за допомогою таблиці 3.1, де позначено X –невизначений стан.
Результат взаємодії двох сигналів знаходиться на перетині відповідних рядка та колонки таблиці, наприклад, при закоротці сигналів типу S та Z результуючий рівень сигналу буде визначатися сигналом типу S.
Якщо взаємодіють два сигнали з однаковим приорітетом, то результуюче значення можна визначити за допомогою таблиці 3.2, де позначено:
0 – логічний 0, низький ТТЛ-рівень сигналу ;
1 – логічна 1, високий ТТЛ-рівень сигналу.
Результат взаємодії двох сигналів знаходиться на перетині відповідних рядка та колонки таблиці. Результат взаємодії сигналу з рінем 0 і сигналу з рівнем 1 може бути різним для різних схем, і в таблиці 3.2 наведено орієнтовні дані. Найчастіше такий сигнал буде сприйматися як логічний 0.
Таблиця 3.1
Конфлікти сигналів різного приорітету
Таблиця 3.2
Конфлікти сигналів однакового приорітету
Обриви ТТЛ і КМОН входів цифрових мікросхем.
F2
ТТЛ
Рис. 3.5. Обриви зв’язків
~1,5 В
F1
F2
КМОН
F1
0 В прибизно у 90 %
У процесі виробництва чи під час експлуатації можливе виникнення обривів та закороток провідників. Сприймання стану обірваних входів залежнить від технології виготовлення мікросхем (рис. 3.5):
в ТТЛ мікросхемах на обірваному вході буде напруга приблизно 1,5 В (рівень “повітря”), що, як правило, сприймається як логічна “1”;
в КМОН важко навіть наближено вказати рівень напруги на обірваному вході. Вона може коливатися від 0 В до рівня напруги живлення. Приблизно в 90% обрив сприйметься як логічний “0”, у решті 10% - як логічна “1”.
Слід мати на увазі, що сприймання цифровими мікросхемами стану обірваних входів як логічного “0” або логічної “1” не є постійним ні у часі, ні для різних взірців, і може мінятися під впливом багатьох факторів.
Ідеального тесту для виявлення обривів нема і обрив на вході складного цифрового вузла локалізувати без продзвонки досить важко. Проте можна виявити обрив, запустивши ряд тестів (біжучий “0”, біжуча “1”, хвиля “0” та “1”) та проаналізувавши отримані результати. Оскільки на протязі усього тесту на обірваному вході скоріше за все буде стале значення (“1” - в ТТЛ, “0” - в КМОН), то отримане значення функції від входу буде відрізнятись від еталонного, що б мало бути отриманим при проходженні такого теста.
Рекомендована послідовність перевірки цифрових пристроїв.
Рекомендують таку послідовність перевірки цифрових пристроїв:
візуальний огляд, виявлення механічних пошкоджень, невідповідність виробу конструкторській документації - відсутності елементів, неправильного їх встановлення і таке інше;
продзвонка зв’язків – виявлення обривів;
продзвонка зв’язків – виявлення закорочень. На практиці часто виконують спрощений варіант продзвонки потужних силових зв’язків – тільки живлення, особливо більше за +5 В і менше за 0 В, з сигнальними зв’язками – виявлення найбільш небезпечних закороток на живлення;
подача напруг живлення на виріб, перевірка напруг живлення;
подача напруг живлення на виріб, технологічне тренування;
подача напруг живлення на виріб, перевірка частот усіх генараторів і формувачів синхроімпульсів;
подача напруг живлення на виріб, перевірка його по тестам – виявлення усіх невиявлених раніше помилок:
для цифрових схем - перевірка шин об’єкта тестування, які з’єднують його з зовнішнім середовищем, тобто перевірка шляхів надходження інформації до вузлів об’єкта і зняття інформації з вузлів об’єкта. Для аналогових схем – перевірка шляхів надходження і зняття аналогових сигналів;
перевірка роботи вузлів об’єкта за тестами – перевірка логічного функціонування в нормальних умовах;
перевірка логічного функціонування в граничних умовах зовнішнього середовища (згідно з вимогами технічного завдання) – при підвищеній та понижених робочих температурах і таке інше.
Найбільш грубі і небезпечні помилки знаходяться саме на перших трьох етапах налагодження.
Тестові послідовності.
Під час перевірки дослідного взірця виробу на його вхід подаються тестові послідовності сигналів. Серед них найбільш поширені такі:
біжуча 1;
біжучий 0;
хвиля 1;
хвиля 0;
шаховий код.
Ці послідовності ілюструються таблицею 3.3 для випадку 8-розрядної шини даних.
Припустимо, що:
перевіряється буфер, який передає інформацію з входу на вихід;
старший розряд називається D7, а молодший D0.
на шині даних можуть бути такі помилки:
а) закоротка одного з розрядів, наприклад D4, з шиною землі (з логічним 0);
б) закоротка одного з розрядів, наприклад D4, з шиною +5 В (з логічною 1);
в) закоротка двох розрядів, наприклад D4 і D5, при цьому рівень логічного 0 має більший приоритет.
Тоді після послідовної подачі на вхід буфера даних згідно з таблицею 3.3, на його виході отримаємо дані згідно з таблицею 3.4 а...в (у відповідності до типу помилки).
Для кожної послідовності у таблицях виділене незбігання записаної і прочитаної інформації.
Як видно, кожна з тестових послідовностей дозволяє однозначно локалізувати місцезнаходження помилки.
При цьому слід зауважити, що шаховий код дозволяє виявляти закоротки тільки розрядів з різними значеннями (сусіднії, адо тих, що розділені 2*n бітами, де n=0, 1, 2...).
Таблиця 3.3
Тестові послідовності
Основна вимога до алгоритму перевірки працездатності цифрових схем.
Найкращою перевіркою цифрової схеми була б така, що дозволяє розглядати усі виходи елементів схеми, як розряди одного слова, і дозволяє прогнати по розрядам цього слова одну з тестових послідовностей (біжучий “0”, біжуча “1” або інші). На жаль, практично такий підхід реалізувати неможливо. Наприклад, неможливо що на прямому і інверсному виході тригера була однакова інформація (0), що необхідно при перевірці за допомогою біжучої “1”.
Тому однією з основних вимог до алгоритиів перевірки працездатності цифрової схеми є забезпечення можливісті отримання усіх можливих станів усіх виходів пристрою, що перевіряється. Наприклад, якщо на якомусть виході можуть бути стани логічного “0”, логічної “1” і високоімпедансний, то тест повинен бути побудований так, щоб можно було перевірити наявність усіх цих станів.
Також важливою вимогою до алгоритму є можливімть перевірки реакціїї кожного елементу пристрою на усі можливі стани і зміни станів на кожному з його входів. Наприклад, для тригера, що спрацьовує по перепаду сигналу на його синхровході з високо рівня на низький, необхідно перевіряти, як себе буде вести тригер при наявності на вході синхронізації логічного “0”, логічної “1” і відповідного перепаду.
Таблиця 3.4 а
Виявлення помилок за допомогою тестових послідовностей
Таблиця 3.4 б
Таблиця 3.4 в
Важливою є також можливість алгоритму виявляти закоротки сигналів. Перевірка на можливі закоротки виконується за допомогою тестових послідовностей (біжучий “0”, біжуча “1” або інші) але по відношенню до окремих елементів пристрою, що перевіряється (найчастіше – по відношенню до його шин).
A[3:0]
B[3:0]
S[3:0]
CI
CRI
ABEL
ALU_N
F[3:0]
CO
CRO
D1
Рис. 3.6. Арифметико-логічний пристрій
Особливості тестування комбінаційних схем (на прикладі АЛП).
Комбінаційні схеми – це вузли цифрової техніки без пам’яті, вихід яких залежить тільки від стану їхніх входів у даний момент часу. До комбінаційних схем можна віднести вузли, що реалізують функції алгербри логіки, буфера, АЛП, ПЗП, дешифратори, мультиплексори та інші.
Особливістю тестування арифметико-логічних пристроїв (АЛП, рис. 3.6) є те, що АЛП – це комбінаційна схема і результати роботи АЛП з’являються на виходах відразу після подачі на входи тестового набору.
АЛП має групові входи:
першого n-розрядного операнда (A);
другого n-розрядного операнда (B);
k-розрядного кода операції (S).
АЛП має однорозрядні входи:
арифметичного переносу (CI);
переносу при зсуві праворуч (CRI).
АЛП має n- розрядний вихід результату (F) і однорозрядні виходи арифметичного переносу (CO) і переносу при зсуві праворуч (CRO).
Спочатку перевіряють шинні структури АЛП (перевіряють, чи доходять до АЛП оператори і чи знімаються з АЛП результати). Для цього обирається операція трансляції даних з одного входів (A або B) на вихід F:
F := A або F :=B.
На входи А (В) подається одна з тестових послідовностей, результат перевіряється на виході F. Помилка може виникнутина на входах і на виходах АЛП. Якщо помилка на виході, то результати перевірки трансляції даних з обидвох входів і виявлені при цьому помилки будуть повторюватися.
Після перевірки шин перевіряється правильність виконання кожної з операцій АЛП (операції визначаються кодом на входах S). Особлива увага при цьому повинна приділятися перевірці вхідних і вихідних переносів АЛП.
4 Характеристика робочого місця
У даній роботі використовується еталон у вигляді табличної моделі, тобто у файлі SIMUL.CMD у вигляді таблиці зберігаються результати роботи об’єкта при подачі йому на вхід деякого обмеженого набору тестових даних.
Робоче місце моделюється за допомогою пакета Foundation Series v2.1i [2] ф.Xilinx, призначеного для проектування програмованих логічних інтегральних схем (ПЛІС) і описується набором файлів відповідного формату (таблиця 4.1).
Таблиця 4.1
Розширення файлів
Структурно модель робочого місця (ALU.SCH) складається з:
досліджуваного пристрою (мікросхеми U2..U5 ALU_N);
стенда;
Досліджуваний пристрій складається з 4-х послідовно з'єднаних 4-розрядних мікросхем АЛП (елементи ALU_N, повний опис їхньої роботи знаходиться у файлі ALU_N.ABL, нижче наведений його текст з коментарями на мові опису архітектури ABEL).
module alu_n
title `4-bit alu`;
“ – даний символ позначає початок тексту коментаря, який закінчується в кінці рядка
"Inputs (перелік усіх входів)
a3..a0 pin;
b3..b0 pin;
s3..s0 pin;
cri pin;
ci pin;
"Outputs (перелік усіх виходів і їх типів – комбінаційних або регістрових)
f3..f0 pin ;"istype `reg`;
co pin ;"istype 'reg';
cro pin ;
“ – перелік усіх внутрішніх сигналів елемента, які не виводяться назовні
t0 node;
t1 node;
t2 node;
t3 node;
t4 node;
"Sets (перелік усіх шин елемента і сигналів, які їх утворюють)
a = [0,a3..a0];
b = [0,b3..b0];
outd = [co,f3..f0];
cin = [0,0,0,0,ci];
cinr = [0,0,0,0,cri];
t = [t4,t3,t2,t1,t0];
"Mode equations (логічні вирази, які визначають виникнення внутрішних умов роботи
“ елемента)
MODE = [s3,s2,s1,s0] ;
A_ADD_B = (MODE == [ 0, 0, 0, 0]); “ операція додавання
A_SUB_B = (MODE == [ 0, 0, 0, 1]); “ операція віднімання
A_AND_B = (MODE == [ 0, 0, 1, 0]); “ операція І
A_OR_B = (MODE == [ 0, 0, 1, 1]); “ операція АБО
A_XOR_B = (MODE == [ 0, 1, 0, 0]); “ операція виключне АБО
A_PLUS_1 = (MODE == [ 0, 1, 0, 1]); “ інкремент A
B_PLUS_1 = (MODE == [ 0, 1, 1, 0]); “ інкремент B
notA = (MODE == [ 0, 1, 1, 1]); “ інверсія A
notB = (MODE == [ 1, 0, 0, 0]); “ інверсія B
SHLA = (MODE == [ 1, 0, 0, 1]); “ логічний зсув ліворуч A
SHLB = (MODE == [ 1, 0, 1, 0]); “ логічний зсув ліворуч B
SHRA = (MODE == [ 1, 0, 1 ,1]); “ логічний зсув праворуч A
SHRB = (MODE == [ 1, 1, 0, 0]); “ логічний зсув праворуч B
A_MINUS_1 = (MODE == [ 1, 1, 0, 1]); “ декремент A
B_MINUS_1 = (MODE == [ 1, 1, 1, 0]); “ декремент B
CONST0 = (MODE == [ 1, 1, 1, 1]); “ константа 0
Equations “ рівння, які визначають роботу елемента
when A_ADD_B then t=a+b+cin;
else when A_SUB_B then t=a-b-cin;
else when A_AND_B then t=a & b;
else when A_OR_B then t=a # b;
else when A_XOR_B then t=a $ b;
else when A_PLUS_1 then t=a+cin;
else when B_PLUS_1 then t=b+cin;
else when notA then t=!a;
else when notB then t=!b;
else when SHLA then t=[a3,a2,a1,a0,ci];
else when SHLB then t=[b3,b2,b1,b0,ci];
else when SHRA then t=[a0,cri,a3,a2,a1];
else when SHRB then t=[b0,cri,b3,b2,b1];
else when A_MINUS_1 then t=a-cin;
else when B_MINUS_1 then t=b-cin;
else when CONST0 then t=0;
cro=co;
outd=t;
End
Умовне графічне позначення АЛП наведене на рис. 3.7.
Стенд ALU.SCH складається з:
зовнішнього генератора тестових послідовностей та еталонних результатів (файл SIMUL.CMD);
схеми порівняння еталонних результатів та реальних (елемент U1 COMP18);
вхідних та вихідних буферів.
5 Модель помилок
5.1 Стенд працює без помилок.
5.2 У досліджуваному взірці помилки можуть бути в одній з мікросхем
5.3 Модель помилок у мікросхемах:
обрив вхідного сигналу;
закоротка вхідного сигналу на корпус;
закоротка вхідного сигналу на живлення +5 В;
закоротка вхідного сигналу з будь-яким іншим логічним сигналом;
обрив вихідного сигналу;
закоротка вихідного сигналу на корпус;
закоротка вихідного сигналу на живлення +5 В;
закоротка вихідного сигналу з будь-яким іншим логічним сигналом;
обрив внутришнього сигналу;
закоротка внутришнього сигналу на корпус;
закоротка внутришнього сигналу на живлення +5 В;
закоротка вихідного сигналу з будь-яким іншим логічним сигналом.
6 Порядок роботи
6.1 Підготовка власного варіанта роботи.
6.1.1. До робочого каталога (D:\PROJECTS) робочого місця по мережі переписати з комп’ютера адміністратора архівований файл з заготовкою лабораторної роботи (шлях - LAB508_0\Drive D\PROJECTS\nalag_a.zip).
6.1.2. З основного меню Windows зайти у пакет Project Manager.
EMBED Package
При вході з’явиться вікно Getting Started (рис. 6.1).
Рис. 6.1. Вікно Getting Started
EMBED MSPhotoEd.3
При першому входженні потрібно натиснути клавішу Cancel (при входженні в пакет з вже існуючим проектом потрібно відмітити його ім’я у вікні і натиснути клавішу OK у вікні). У результаті виконання останньої команди на екрані повинне з’явитися вікно основного меню пакета (рис. 6.2).
6.1.3. Розархівувати заготовку лабораторної роботи (послідовно обрати меню):
File
Restore Project… (у вікні, що відкриється, вказати файл Nalag_a.zip)
Open (наступні 2 дії виконуються у вікні Restore Project Wizard – Setup)
Next
Finish
6.1.4. Зкопіювати проект під власним ім’ям (послідовно обрати меню):
File
Copy Project… (у вікні, що відкриється, у віконці Destination Name набрати назву власного проекта, бажано, щоб ім’я проекта збігалося з прізвищем студента)
OK
6.1.5. Відкрити утворений проект:
File
Open Project… (у вікні рис.6.3, що відкриється, у лівому віконці Projects (Schematic) вказати ім’я щойно створеного проекту)
Open (OK).
6.1.6. Перейти в графічний редактор проекта:
на картці “Design Entry” (рис. 6.4.) натиснути на клавішу графічного редактора “Schematic Editor” (“Schematic Capture”).
На екрані з’явиться сторінка графічного редактора з схемою стенда ALU.SCH (рис. 6.5).
6.1.7. За вказівкою викладача поміняти одну з працездатних мікросхем ALU_N на одну з мікросхем з помилкою ALU_i (де I = 0, 1, ... ). Для цього послідовно виконати такі дії:
встановити маркер на мікросхему, яку потрібно замінити і натиснути праву клавішу миші;
з меню, що з’явиться обрати команду “Replace Symbol”;
у вікні “Replace Symbol” натиснути клавішу з зафарбованим трикутником ;
у переліку елементів відмітити потрібний елемент і натиснути клавішу OK;
запам’ятати схему.
EMBED MSPhotoEd.3 лінійка інструментів
вікно показника ієрархії проекта
вікно карток проходження технологічного процесу;
вікно повідомлень
рядок стану проекта
Рис. 6.2. Вікно основного меню
Для того, щоб побачити вмістиме будь-якого елемента схеми необхідно натиснути на клавішу EMBED MSPhotoEd.3 переходу до розгляду ієрархії схеми, а потім двічі клацнути лівою клавішою миші на обраному елементі схеми.
Рис. 6.3. Вікно Open Project
Рис. 6.4. Картка Design Entry
EMBED MSPhotoEd.3
6.2 Хід роботи
6.2.1. Провести моделювання схеми для знаходження помилки в її роботі. Для цього послідовно виконати команди:
перейти до режиму поведінкового (функціонального) моделювання: при находженні у графічному редакторі натиснути клавішу EMBED MSPhotoEd.3 на лінійці інструментів або в основному меню пакета натиснути клавішу Simulation (рис. 6.6).
Після цього відкривається вікно моделюючої програми (рис. 6.7);
відкоректувати командний файл з завданням на моделювання. Для цього послідовно натиснути клавіші:
Tools
Script Editor (Existing Script File)
OK
позначити файл Simul
Open
Після цього здійснюється перехід до текстового редактора і для редагування пропонується заготовка командного файла:
| - позначення коментарів
delete_signals | - знищення попередніх результатів
restart | - переведення схеми в початковий стан
set_mode functional | - завдання режиму функціонального моделювання
vector S S[3:0] | - групування двійкових сигналів у шини (вектори)
vector A A[15:0]
vector B B[15:0]
vector F F[15:0]
vector E E[15:0]
radix hex A B S F E | - завдання 16-кової системи числення при виводі даних | сигналів
| - завдання значень вхідних сигналів з прив’язкою до часу. Для
| проведення моделювання необхідно доповнити текст
| командного файла командами AFTER для наступних
| моментів часу (після 10 нs). Кількість перевірок визначає
| глибину і якість тестування.
Рис. 6.5. Вікно графічного редактора
EMBED MSPhotoEd.3
Рис. 6.6. Картка фуункціонального моделювання
EMBED MSPhotoEd.3
Рис. 6.7. Вікно моделюючої програми
AFTER 0ns DO (assign S 0\h; assign A 0000\h; assign B 0000\h; assign cin 0; assign crin 0; assign ce 0; assign cre 0; assign e 0000\h; assign M 0)
AFTER 10ns DO (assign S 0\h; assign A ffff\h; assign B 0000\h; assign cin 1; assign crin 1; assign ce 1; assign cre 1; assign e 0000\h; assign M 0)
watch S A B F E CIN CRIN CO CE CRO CRE ERR | - вивести на індикцію дані сигнали
sim 200ns | - провести моделювання на протязі 200 нс
запам’ятати відкоректований файл;
мінімізувати вікно графічного редактора ( _ );
провести моделювання схеми. Для цього повернутися у вікно моделюючої програми і послідовно натиснути клавіші:
File
Run Script File…
вказати файл SIMUL.CMD
OK
Після появи на екрані повідомлення
“End of macro file encountered
End of macro file execution”
закрити вікно с повідомленням (Х). На екрані з’являються результати модулювання (рис. 6.8).
Для зменшення або збільшення масштабу зображення по часовій осі необхідно користуватися клавішами EMBED MSPhotoEd.3 .
6.2.2. Після аналізу результатів моделювання зкоректувати командний файл SIMUL.CMD і провести повторне моделювання. Повторити даний процес до знаходження помилки.
6.3 Методи пошуку несправностей.
Ознакою несправності є незбігання результату на виході АЛП з етелонним результатом. Порівняння результатів здійснюється схемою порівняння стенда (при цьому ознакою помилки є високий рівень на виході ERROR схеми порівняння.
Доцільно розробити командний файл для тестування АЛП і перевірити його на схемі яка містить тільки справні елементи ALU_N. При цьому сигнал помилки (ERROR) не повинен з’являтися.
Рис. 6.8. Результати моделювання
EMBED PBrush
Після цього поставити у схемі несправний елемент ALU_i. Провести моделювання за допомогою відпрацьованого програмного файла. Визначити збійну ситуацію, ознакою якої є високий рівень сигнала помилки. Визначити тип помилки і вивід елемента, який цю помилку спричиняє.
Лабораторна робота № 2
Тестування ОЗП
1 Мета роботи
Метою роьботи є ознайомлення з загальною схемою тестування цифрової техніки. Засвоєння методів та засобів тестування цифрових схем із пам’яттю на прикладі оперативного запам’ятовуючого пристрою (ОЗП).
2 Очікуваний результат роботи
Необхідно розробити програму тестування ОЗП, за результатами тестування ОЗП визначити несправні виводи та біти ОЗП, а також тип несправності (обрив, закоротка).
3 ТЕОРЕТИЧНА ЧАСТИНА
Особливості тестування схем з пам'яттю (на прикладі ОЗП).
Вихід цифрового вузла з пам’яттю залежить як від стану його входів у даний момент часу, так і від їхнього стану у попередні моменти часу. Ця обставина значно ускладнює тестування таких вузлів у порівнянні з комбінаційними схемами, оскільки реакція на тестовий набір з'являється на виході вузла з значною затримкою у часі і ця затримка залежить від функції і внутрішньої структури вузла. До вузлів з пам'яттю можна віднести вузли оперативний запам'ятовуючий пристрій (ОЗП), цифрові автомати та інші.
ОЗП (рис. 3.1) має такі групові входи:
адреси (A);
вхідних даних (DI - Data Input),
а також входи дозволу видачі інформації на вихід (OE - Output Enable), запису (WR) і читання (RD) і вхід, який забезпечує нарощування об'єму ПЗП (CS - Chip Select),.
ОЗП має груповий вихід даних DO - Data Output.
Основні кількісні характеристики ОЗП:
кількість слів N = 2n;
об’єм пам’яті V = m*N = m*2n біт.
Перевірка ОЗП складається з кількох етапів. Спочатку перевіряється, що інформація доходить до входів мікросхем ОЗП і знімається з виходів (це перевіряється так званими тестами шини адреси та шини даних). У цих тестах задіяні тільки деякі комірки (біти) запам’ятовуючого масиву мікросхем пам’яті. На другому етапі перевіряється відсутнсть помилок у всьому запам’ятовуючому масиві мікросхем ОЗП – перевіряються усі його комірки (біти). Це так званий тест на збереження інформації.
Кожна перевірка ОЗП складається з рознесених у часі циклів запису інформації до ОЗП (коли на ОЗП подається тестова послідовність сигналів) і циклів читання інформації з ОЗП (коли власне на виході даних ОЗП з’являється результат його роботи).
Основна мета теста шини даних - пересвідчитися, що немає закороток і обривів на шині даних. Для цього обирається одна фіксована адреса ОЗП, наприкалад 0, і послідовно записується до неї і зчитується з неї одна з тестових послідовністей кодів. Такий тест вимагає проведення m циклів запису до ОЗП і m циклів читання з ОЗП.
Рис. 3.1. Умовне графічне позначення ОЗП
DO
OE
CS
RD
WR
DI
A
m
n
m
RAM
Основна мета теста шини адреси - пересвідчитися, що немає закороток і обривів на шині адреси. Для цього обирається група фіксованих адрес, наприклад, адреси, серед розрядів яких є тільки по одній одиниці - група адрес з біжучою одиницею.
Далі виконується перевірка за таким алгоритмом (рис. 3.2):
а) за всіма адресами цієї групи записують фіксовану інформацію - "фон" (наприклад, двійкові нулі 0..0);
б) за першою адресою групи записують протилежну фону інформацію ("не фон" – наприклад, двійкові одиниці 1..1);
в) перевіряють наявність фону у решті адрес групи;
г) якщо фон за всіма адресами не змінився, відновлюють фон у комірці, де був записаний "не фон". Якщо фон десь змінився, то це ознака помилки;
д) записують "не фон" до наступної адреси групи і повторюють виконання пукнтів в і г, доки "не фон" не буде послідовно прописаний за всіма адресами групи.
Такий тест шини адреси вимагає проведення 2*n циклів запису до ОЗП і n2 циклів читання з ОЗП.
Оскільки при перевірках шини адреси і шини даних задіяні лише деякі адреси пам'яті, то слід перевірити доступність даних до кожного біта пам'яті. Для цього виконується перевірка на збереження інформації:
а) за всіма адресами пам'яті прописують двійкові нулі 0..0;
б) перевіряють, що за всіма адресами пам'яті прописані 0..0. Якщо десь з'являється 1 - це ознака помилки.
в) за всіма адресами пам'яті прописують двійкові одиниці 1..1;
б) перевіряють, що за всіма адресами пам'яті прописані 1..1. Якщо десь з'являється 0 - це ознака помилки.
У цьому тесті запис даних до пам’яті і перевірка вмістимого пам’яті можуть бути суміщені. Наприклад, перед записом до якоїсь комірки двійкових одиниць 1..1 робиться перевірка вмістимого цієї комірки (цикл читання з неї). При нормальній роботі там повинні бути двійкові 0.
Адреса
Дані
0…00
1…1
0…01
0…0
i
0…0
i+1
0…0
F…FE
0…0
F…FF
0…0
i-1
0…0
Початок
Адреса
Дані
0…00
0…0
0…01
0…0
i
1…1
i+1
0…0
F…FE
0…0
F…FF
0…0
i-1
0…0
Середина
Адреса
Дані
0…00
0…0
0…01
0…0
i
0…0
i+1
0…0
F…FE
0…0
F…FF
F…F
i-1
0…0
Кінець
Рис. 3.2 Зміна вмістимого комірок ОЗП під час тестування
Такий тест збереження інформації вимагає проведення 2n+1 циклів запису до ОЗП і 2n+1 циклів читання з ОЗП.
Перевірка РПЗП ні чим суттєвим не відрізняється від перевірки ОЗП, але треба пам'ятати, що кількість циклів запису до РПЗП (як правило) обмежена, і часте тестування РПЗП як ОЗП недопустиме. Обмежене тестування РПЗП - як ПЗП (за контрольними сумами) може виконуватися практично без обмежень.
4 Характеристика робочого місця
У даній роботі використовується еталон (MEMET) у вигляді працездатного повного аналога пристрою, що перевіряється (MEMii). По входах еталонний пристрій і досліджуваний запаралелені, тобто на них подається однакова інформація. А їхні виходи заведені на компаратор. Ознакою помилки є незбігання стану виходів еталонного пристрою і досліджуваного.
Робоче місце моделюється за допомогою пакета Foundation Series v2.1i [2] ф.Xilinx, призначеного для проектування програмованих логічних інтегральних схем (ПЛІС) і описується набором файлів відповідного формату (таблиця 4.1).
Таблиця 4.1
Розширення файлів
Структурно модель робочого місця (SAND2.SCH) складається з:
досліджуваного пристрою (вузол D1 MEMii);
еталонного пристрою (вузол D16 MEMET);
стенда;
Досліджуваний пристрій - це вузол оперативної пам’яті (елемент MEMii, повний опис його роботи знаходиться у файлі MEMET.ABL, нижче наведений його текст з коментарями на мові опису архітектури ABEL).
Умовне графічне позначення ОЗП наведене на рис. 3.1.
Стенд SAND2.SCH складається з:
зовнішнього генератора тестових послідовностей та еталонних результатів (файл SIMUL.CMD);
схеми порівняння еталонних результатів та реальних (елемент D17 COMP18);
вхідних та вихідних буферів.