Міністерство освіти і науки України
Національний університет „Львівська політехніка”
Кафедра ЕОМ
Звіт
з лабораторної роботи №1
на тему:
„Тестування АЛП”
Підготував: ст. гр. СКС-52
Цигилик Л. О.
Прийняв: Власенко С.О.
Львів 2006
Мета роботи: ознайомлення з загальною схемою тестування цифрової техніки. Засвоєння методів та засобів тестування комбінаційних схем на прикладі арифметико-логічного пристрою (АЛП). Необхідно розробити програму тестування АЛП, описати поведінку еталонного АЛП (створити еталон), за результатами тестування АЛП визначити несправні елементі досліджуваного пристрою, несправні контакти визначених елементів та тип несправності (обрив, закоротка).
Короткі теоретичні відомості.
Основні принципи тестування, налагодження і контролю.
Основний принцип тестування, налагодження і контролю – це порівняння результатів роботи досліджуваного взірця (об'єкта) тестування і еталонного взірця – еталона (рис. 1).
Тестові послідовності з генратора тестових послідовностей (ГТП) подаються одночасно на об’єкт тестування і на еталон. Схема порівняння перевіряє на збігання результати роботи об’єкта з еталонними результатами. У випадку незбігання результатів на виході схеми порівняння формується ознака несправності – сигнал “Помилка”.
Еталони можуть бути найрізноманітнішими (рис.2).
Еталон-модель регулювальник може тримати на папері – в технічних умовах (ТУ) на об’єкт і тоді порівняня результатів робить людина. При використанні засобів автоматизації модель може зберігатися у вигляді файлів. Наприклад, якщо об’єкт повинен обраховувати занчення y=sin(x), то для кожного тестового значення, засоби автоматизації також можуть обраховувати значення сінуса (функціональна модель). Або ці значення вже наперед обраховані і зберігаються у вигляді моделі (таблична модель).
Еталон-взірець може повністю збігатися за своїми характеристиками з об’єктом. Може бути простішим за нього. Наприклад, якщо перевіряється робота об’єкта, який має в своєму складі канал RS-232 і контролер ЛОМ, то під час перевірки роботи по каналу RS-232 немає необхідності, щоб еталон мав в собі контролер ЛОМ.
Еталон може бути складнішим за об’єкт, наприклад, під час перевірки реакції об’єкта на нештатну ситуацію – збій парності при роботі по каналу, яку неускладнений працездатний об’єкт ніколи допустити не може.
Загальна схема випробовування цифрових пристроїв
При налагодженні цифрових пристроїв найчастіше користуються еталоном-моделлю. В цьому випадку загальна схема випробовування цифрових пристроїв набуває вигляду рис. 3, де позначено:
ГТП – генератор тестових послідовностей;
ГЕП – генератор еталонних послідовностей;
ГМП – генератор масочних послідовностей.
Маскування дозволяє проводити порівняння лише коли відомі еталонні значення (коли усунуті всі невизначені стани об’єкта). Маскування дозволяє також перевіряти тільки визначений набір вихідних сигналів об’єкта. Вузол порівння формує сигнал помилки згідно з формулою
Помилка = ( P0 ≠ E0 ) & M0 v ( P1 ≠ E1 ) & M1 v … v ( Pn-1 ≠ En-1 ) & Mn-1,
де n – кількість двійкових розрядів результата (еталона, маски).
Генератори можуть мати різну складність – від простих тумблерів і кнопок до спеціалізованих комп’ютерів. Схема порівняння також може бути реалізована по різному. Це може бути просто візуальнп перевірка стану індикаторів, яку робить людина, і це може бути спеціалізований комп’ютер, який в реальному масштабі часу накопичує результати роботи об’єкта і робить їхнє апаратне або програмне порівняння з еталоном.
“Потужності" (приорітети) цифрових сигналів.
Приорітети цифрових сигналів мають значення при визначенні результату взаємодії двох сигналів при виникненні закороток. На рис. 4 показаний такий випадок. Два вихідних логічних сигнала A і B, кожний з яких може приймати значення як логічної одниниці (1) так і логічного нуля (0), внаслідок помилки виявилися з’єднаними один з одним. Який рівень сигналу буде на об’єднаному зв’язку?
За приорітетом цифрові сигнали поділяються на групи [1]. Це означає, що сигнали з вищим приорітетом при закоротці з сигналами з нижчим приорітетом переважають їх. Далі неведені визначеня груп у порядку зменшення пріорітету.
Першу групу з найвищим приорітетом складають сигнали типу S(ource) – джерела живлення та загальний провід.
Другу групу складають сигнали типу D(igital) – виходи цифрових мікросхем.
Третю групу складають сигнали з резистивним виходом R(ezistor)- виходи вузлів відкритим колектором (ВК) чи емітером (ВЕ).
Четверту групу (з найнижчим приорітетом) складають сигнали з високоімпедансних виходів – Z.
Визначення рівня сигналу при об’єднанні кількох цифрових виходів.
При з’єднанні цифрових виходів рівень напруги буде залежати в першу чергу від типу виходів, що з’єднуються. Результат закоротки двох сигналів з різними приорітетами можна визначити за допомогою таблиці 1, де позначено X –невизначений стан.
Результат взаємодії двох сигналів знаходиться на перетині відповідних рядка та колонки таблиці, наприклад, при закоротці сигналів типу S та Z результуючий рівень сигналу буде визначатися сигналом типу S.
Якщо взаємодіють два сигнали з однаковим приорітетом, то результуюче значення можна визначити за допомогою таблиці 2, де позначено:
0 – логічний 0, низький ТТЛ-рівень сигналу ;
1 – логічна 1, високий ТТЛ-рівень сигналу.
Результат взаємодії двох сигналів знаходиться на перетині відповідних рядка та колонки таблиці. Результат взаємодії сигналу з рінем 0 і сигналу з рівнем 1 може бути різним для різних схем, і в таблиці 3.2 наведено орієнтовні дані. Найчастіше такий сигнал буде сприйматися як логічний 0.
Таблиця 1
Конфлікти сигналів різного приорітету
B\A
S
D
R
Z
S
X
S
S
S
D
S
X
D
D
R
S
D
X
R
Z
S
D
R
X
Таблиця 2
Конфлікти сигналів однакового приорітету
A/B
0
1
Z
0
0
0-90%
1-10%
0
1
0-90%
1-10%
1
1
Z
0
1
Z
Обриви ТТЛ і КМОН входів цифрових мікросхем.
У процесі виробництва чи під час експлуатації можливе виникнення обривів та закороток провідників. Сприймання стану обірваних входів залежнить від технології виготовлення мікросхем (рис. 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.4 а...в (у відповідності до типу помилки).
Для кожної послідовності у таблицях виділене незбігання записаної і прочитаної інформації.
Як видно, кожна з тестових послідовностей дозволяє однозначно локалізувати місцезнаходження помилки.
При цьому слід зауважити, що шаховий код дозволяє виявляти закоротки тільки розрядів з різними значеннями (сусіднії, адо тих, що розділені 2*n бітами, де n=0, 1, 2...).
Таблиця 3
Тестові послідовності
N
Біжуча 1
Біжучий 0
Хвиля 1
Хвиля 0
Шаховий код
0
00000000
11111111
00000000
11111111
01010101
1
00000001
11111110
00000001
11111110
10101010
2
00000010
11111101
00000011
11111100
01010101
3
00000100
11111011
00000111
11111000
10101010
4
00001000
11110111
00001111
11110000
01010101
5
00010000
11101111
00011111
11100000
10101010
6
00100000
11011111
00111111
11000000
01010101
7
01000000
10111111
01111111
10000000
10101010
8
10000000
01111111
11111111
00000000
01010101
Основна вимога до алгоритму перевірки працездатності цифрових схем.
Найкращою перевіркою цифрової схеми була б така, що дозволяє розглядати усі виходи елементів схеми, як розряди одного слова, і дозволяє прогнати по розрядам цього слова одну з тестових послідовностей (біжучий “0”, біжуча “1” або інші). На жаль, практично такий підхід реалізувати неможливо. Наприклад, неможливо що на прямому і інверсному виході тригера була однакова інформація (0), що необхідно при перевірці за допомогою біжучої “1”.
Тому однією з основних вимог до алгоритиів перевірки працездатності цифрової схеми є забезпечення можливісті отримання усіх можливих станів усіх виходів пристрою, що перевіряється. Наприклад, якщо на якомусть виході можуть бути стани логічного “0”, логічної “1” і високоімпедансний, то тест повинен бути побудований так, щоб можно було перевірити наявність усіх цих станів.
Також важливою вимогою до алгоритму є можливімть перевірки реакціїї кожного елементу пристрою на усі можливі стани і зміни станів на кожному з його входів. Наприклад, для тригера, що спрацьовує по перепаду сигналу на його синхровході з високо рівня на низький, необхідно перевіряти, як себе буде вести тригер при наявності на вході синхронізації логічного “0”, логічної “1” і відповідного перепаду.
Важливою є також можливість алгоритму виявляти закоротки сигналів. Перевірка на можливі закоротки виконується за допомогою тестових послідовностей (біжучий “0”, біжуча “1” або інші) але по відношенню до окремих елементів пристрою, що перевіряється (найчастіше – по відношенню до його шин).
Особливості тестування комбінаційних схем (на прикладі АЛП).
Комбінаційні схеми – це вузли цифрової техніки без пам’яті, вихід яких залежить тільки від стану їхніх входів у даний момент часу. До комбінаційних схем можна віднести вузли, що реалізують функції алгербри логіки, буфера, АЛП, ПЗП, дешифратори, мультиплексори та інші.
Особливістю тестування арифметико-логічних пристроїв (АЛП, рис. 3.6) є те, що АЛП – це комбінаційна схема і результати роботи АЛП з’являються на виходах відразу після подачі на входи тестового набору.
АЛП має групові входи:
першого n-розрядного операнда (A);
другого n-розрядного операнда (B);
k-розрядного кода операції (S).
АЛП має однорозрядні входи:
арифметичного переносу (CI);
переносу при зсуві праворуч (CRI).
АЛП має n- розрядний вихід результату (F) і однорозрядні виходи арифметичного переносу (CO) і переносу при зсуві праворуч (CRO).
Спочатку перевіряють шинні структури АЛП (перевіряють, чи доходять до АЛП оператори і чи знімаються з АЛП результати). Для цього обирається операція трансляції даних з одного входів (A або B) на вихід F:
F := A або F :=B.
На входи А (В) подається одна з тестових послідовностей, результат перевіряється на виході F. Помилка може виникнутина на входах і на виходах АЛП. Якщо помилка на виході, то результати перевірки трансляції даних з обидвох входів і виявлені при цьому помилки будуть повторюватися.
Після перевірки шин перевіряється правильність виконання кожної з операцій АЛП (операції визначаються кодом на входах S). Особлива увага при цьому повинна приділятися перевірці вхідних і вихідних переносів АЛП.
ХАРАКТЕРИСТИКА РОБОЧОГО МІСЦЯ.
У даній роботі використовується еталон у вигляді табличної моделі, тобто у файлі SIMUL.CMD у вигляді таблиці зберігаються результати роботи об’єкта при подачі йому на вхід деякого обмеженого набору тестових даних.
Робоче місце моделюється за допомогою пакета Foundation Series v2.1i ф.Xilinx, призначеного для проектування програмованих логічних інтегральних схем (ПЛІС) і описується набором файлів відповідного формату (таблиця 4).
Таблиця 4
Розширення файлів
Розширення
Призначення файла
.SCH
схема електрична принципова
.ABL
опис роботи бібліотечного елемента (моделі, на мові ABEL)
.CMD
програма моделювання досліджуваного пристрою
Структурно модель робочого місця (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
Стенд ALU.SCH складається з:
зовнішнього генератора тестових послідовностей та еталонних результатів (файл SIMUL.CMD);
схеми порівняння еталонних результатів та реальних (елемент U1 COMP18);
вхідних та вихідних буферів.
Хід роботи.
Моделювання схеми (рис.7), яка містить лише справні елементи. Визначення коректності надходження даних на входи схеми, перевірка шинних структури АЛП. Використання тестової послідовності „біжуча 1”.
Командний файл має вигляд (для перевірки шини А)
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
watch S A B F E CIN CRIN CO CE CRO CRE ERR
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 0001\h; assign B 0000\h; assign cin 0; assign crin 0; assign ce 0; assign cre 0; assign e 0001\h; assign M 0)
AFTER 20ns DO (assign S 0\h;assign A 0002\h; assign B 0000\h; assign cin 0; assign crin 0; assign ce 0; assign cre 0; assign e 0002\h; assign M 0)
AFTER 30ns DO (assign S 0\h;assign A 0004\h; assign B 0000\h; assign cin 0; assign crin 0; assign ce 0; assign cre 0; assign e 0004\h; assign M 0)
AFTER 40ns DO (assign S 0\h;assign A 0008\h; assign B 0000\h; assign cin 0; assign crin 0; assign ce 0; assign cre 0; assign e 0008\h; assign M 0)
AFTER 50ns DO (assign S 0\h;assign A 0010\h; assign B 0000\h; assign cin 0; assign crin 0; assign ce 0; assign cre 0; assign e 0010\h; assign M 0)
AFTER 60ns DO (assign S 0\h;assign A 0020\h; assign B 0000\h; assign cin 0; assign crin 0; assign ce 0; assign cre 0; assign e 0020\h; assign M 0)
AFTER 70ns DO (assign S 0\h;assign A 0040\h; assign B 0000\h; assign cin 0; assign crin 0; assign ce 0; assign cre 0; assign e 0040\h; assign M 0)
AFTER 80ns DO (assign S 0\h;assign A 0080\h; assign B 0000\h; assign cin 0; assign crin 0; assign ce 0; assign cre 0; assign e 0080\h; assign M 0)
AFTER 90ns DO (assign S 0\h;assign A 0100\h; assign B 0000\h; assign cin 0; assign crin 0; assign ce 0; assign cre 0; assign e 0100\h; assign M 0)
AFTER 100ns DO (assign S 0\h;assign A 0200\h; assign B 0000\h; assign cin 0; assign crin 0; assign ce 0; assign cre 0; assign e 0200\h; assign M 0)
AFTER 110ns DO (assign S 0\h;assign A 0400\h; assign B 0000\h; assign cin 0; assign crin 0; assign ce 0; assign cre 0; assign e 0400\h; assign M 0)
AFTER 120ns DO (assign S 0\h;assign A 0800\h; assign B 0000\h; assign cin 0; assign crin 0; assign ce 0; assign cre 0; assign e 0800\h; assign M 0)
AFTER 130ns DO (assign S 0\h;assign A 1000\h; assign B 0000\h; assign cin 0; assign crin 0; assign ce 0; assign cre 0; assign e 1000\h; assign M 0)
AFTER 140ns DO (assign S 0\h;assign A 2000\h; assign B 0000\h; assign cin 0; assign crin 0; assign ce 0; assign cre 0; assign e 2000\h; assign M 0)
AFTER 150ns DO (assign S 0\h;assign A 4000\h; assign B 0000\h; assign cin 0; assign crin 0; assign ce 0; assign cre 0; assign e 4000\h; assign M 0)
sim 200ns
Результати модулювання для справної схеми:
При тестуванні шини В отримано аналогічний результат.
2. Підстановка у схему несправного елементу ALU_11 замість другого АЛП. Проведення моделювання за допомогою відпрацьованого програмного файла, одержання результатів для шини А:
Оскільки присутній високий сигнал помилки, зрозуміло, що дана схема функціонує некоректно, а причиною цього є закоротка сигналу А7 з шиною землі. Подальше тестування АЛП можна не проводити.
Висновок: на даній лабораторній роботі ознайомився із загальною схемою тестування цифрової техніки, засвоїв методи та засоби тестування комбінаційних схем на прикладі арифметико-логічного пристрою (АЛП), розробив програму тестування АЛП, описав поведінку еталонного АЛП (створив еталон), за результатами тестування АЛП визначив несправні елементі досліджуваного пристрою, несправні контакти визначених елементів та тип несправності .