Проблема тестування та діагностики стала актуальною з початком виробництва перших дискретних пристроїв. Незважаючи на те, що на даний час процес виробництва схем практично повністю автоматизований, це не гарантує якість кожного виробленого чіпа. Причинами дефектів, окрім інших, можуть послужити домішки і дефекти матеріалів, неправильна робота обладнання або людський фактор.
Існують безліч класів пристроїв, вимоги до справності яких, є особливо критичними. Одним із способів забезпечення надійності, як в процесі виробництва, так і в процесі експлуатації є застосування засобів і методів технічної діагностики, що дозволяють здійснювати контроль, локалізацію несправності, і відновлення апаратури шляхом заміни некоректно працюючого блоку, або пристрою.
Суттєвим параметром при тестуванні пристроїв є швидкість тестування. Існують автоматизовані системи тестування (ATE), що дозволяють працювати на частотах рівних десяткам гігагерц[2]. Дані пристрої дорогі, масивні і стаціонарні, що обмежує їх застосування.В свою чергу, технологія FPGA, що стала популярною, дозволяє створювати швидкі компактні і не дорогі пристрої. Тому тема даної магістерської роботи, спрямована на розробку і дослідження методів і структур апаратної генерації та аналізу дискретних тестових реакцій, з використанням всіх переваг технології FPGA є актуальною.
Метою роботи є розробка структур і методів для автоматизації процесу генерації тестових впливів і аналізу тестових реакцій. Для досягнення поставленої мети в роботі ставляться наступні завдання:
Передбачувана наукова новизна полягає в розробці методу та архітектури генератора тестових впливів і аналізатора тестових реакцій на базі FPGA з метою забезпечення можливості тестування швидкодіючих цифрових пристроїв. Очікується, що розроблена підсистема буде забезпечувати досить високу швидкодію, компактність, універсальність, а також помірно низьку вартість.
На рисунку 1 продемонстрований основний принцип тестування.
З рисунку видно, що тестові впливу (тестові вектори) посилаються на входи схеми, з виходів схеми знімаються тестові реакції, і перевіряються на ідентичність з очікуваними тестовими реакціями. Також порівнюватися можуть не самі вектори тестових реакцій, а їх сигнатури, що дозволяє істотно знизити витрати пам'яті. Якщо відмінності між отриманими та очікуваними значеннями немає, то пристрій проходить тестування. Тестування проводиться автоматизованою системою, яка сама по собі є дуже складним пристроєм.
Процес генерації тестових впливів полягає в послідовній видачі на входи об´єкту діагностики тестових векторів ti, i = 1 .. n, з деякої безлічі T = (ti), званої тестом. Порядок проходження тестових впливів може бути не важливим або строго обумовленим. Залежно від зазначених ознак розрізняють наступні методи генерації тестових впливів[1]:
При вичерпному тестуванні тест Т утворює 2n вхідних значень, де n — кількість входів, які подаються на об´єкт діагностики, причому порядок тестових векторів не важливий. Даний спосіб досить простий в реалізації, тому що може бути реалізований з використанням двійкового лічильника потрібної розрядності. Однак, цей метод не може бути використано для послiдовнiсних схем, що пояснюється поганими кореляційними властивостями векторів вичерпного тесту.
Послiдовнiсі схем — це схеми, вихідні сигнали яких у загальному випадку, залежать не тільки від комбінацій вхідних, але й від значення самих вихідних сигналів у попередній момент часу, наприклад всілякі елементи пам´яті.
Кореляція — термін, що визначає підтвердження зв´язку між двома явищами, подіями або процесами, характер функціональної залежності між якими точно не встановлено[3].
При псевдовипадковому тестуванні також генерується тест, близький до вичерпного, проте, на відміну від останнього порядок векторів псевдовипадкового тесту володіє властивостями, близькими до характеристик випадкової послідовності.
Одним із варіантів реалізацій, що використовуються для генерації псевдовипадкових послідовностей, є реалізація з використанням регістра зсуву з лінійними зворотними зв'язками (РЗЛЗЗ)[9].
Для генерації псевдовипадкових послідовностей застосовують дві схожі структури. На рисунку 2 показано РЗЛЗЗ із зовнішніми суматора зворотного зв´язку, а рисунок 3 мыстить РЗЛЗЗ з внутрішніми суматора зворотного зв´язку[3].
Важливою характеристикою РЗЛЗЗ є період повторення послідовності, що генерується, який залежить від виду зворотного зв´язку. Зворотній зв´язок описується поліномом зворотного зв´язку G(x). Доведено, якщо G(X) примітивний, а значить поліном, що не приводиться, то на виходах РЗЛЗЗ генерується періодична послідовність з максимальним для розрядності n періодом слідування сигналів, рівним L = 2n − 1. Такі послідовності називаються послідовностями максимальної довжини або М‐послідовностями[3].
Досить новим методом генерації псевдовипадкових тестів є метод із застосуванням генетичних алгоритмів[4]. Використання генетичних алгоритмів при генерації перевіряючих тестів є природним розвитком псевдовипадкових методів генерації тестів. Одним з перших застосувань генетичних алгоритмів в технічній діагностиці цифрових схем є побудова на їх основі генераторів тестових послідовностей. Суть завдання полягає в пошуку двійковій вхідної послідовності, яка для кожної несправності з заданої множини дає різні вихідні значення сигналів у справній і несправній схемах. Генетичні алгоритми, будучи однією з парадигм еволюційних обчислень, представляють собою алгоритми пошуку, побудовані на принципах, подібних до принципів природного відбору. Ці принципи грунтуються на наступних механізмах еволюції:
Особиною (хромосомою) в даному випадку є окремий двійковий набір значень вхідних змінних схеми[7]. Популяцією є безліч наборів, складових перевіряючий тест схеми. Як цільова (fitness) функції можна використовувати число несправностей, що їм можна перевірити. Слід підкреслити, що значення цільової функції визначається за допомогою програми логічного моделювання[5], яка є важливим компонентом цього методу.
Псевдовипадкове тестування дозволяє з високою імовірністю покривати несправності комбінаційних і нескладних послiдовнiсних схем. Ефективність даного виду тестування падає зі збільшенням складності об'єкта діагностики, а для складних (сильно последовательностних) схем він є практично неприйнятним з виявляв здібності, так як такі схеми вимагають суворо регламентованого порядку проходження тестових впливів. Для таких схем використовують детерміноване тестування[1].
При детермінованому тестуванні визначаються значення усіх векторів тесту або його деякої підмножини. Якщо порядок проходження векторів тесту також має значення, то тест називається сильно‐детермінованим, якщо порядок може бути довільним, то тест називається слабо-детермінованим.
Для слабо‐детермінованого тесту Т знімаються обмеження на порядок його векторів. Очевидно, що два тести з різною послідовністю тестових векторів мають однакову виявляючу здібність. Ці два чинники використовуються для полегшення процесу створення тесту і зниження, тим самим, апаратурних витрат на реалізацію його генератора. Разом з тим це сприяє тому, що генератор такого тесту може бути використаний тільки для комбінаційних схем, тому що для них не важливий порядок проходження вхідних векторів.
До генераторам слабо‐детермінованих тестів відносять[1]:
На відміну від раніше розглянутого, для генерації сильно‐детермінованого тесту може бути використана тільки одна конструкція, яка виконується на основі пристрою пам´яті ємністю n × m. Для детермінованого тесту визначаються значення усіх векторів і порядок їх надходження. Це досить жорсткі вимоги, сильно ускладнюють побудову компактного генератора. Даний вид генераторів дозволяє з високою ефективністю виконувати тестування цифрових схем будь‐якої складності. Однак, навіть для нескладних ОД такий генератор відрізняється великими апаратурними витратами.
Таким чином, розглянуті методи і засоби генерації вичерпних, псевдовипадкових і слабо‐детермінованих тестів характеризуються великою компактністю, але є не ефективними для сильно послiдовносних схем. Строго‐детерміновані тести, навпаки, забезпечують тестованність схем будь‐якої складності, але не існує методів їх компактної генерації.
Очевидним підходом подолання зазначених недоліків є використання комбінованих способів тестування, які базуються на поєднанні суворо детермінованих та інших типів тестових послідовностей. Серед комбінованих методів поширений підхід поєднання детермінованих та псевдовипадкових послідовностей, який полягає в тому, що на інформаційних входах ОД генерується псевдовипадкові тести (також тести згенеровані за допомогою генетичних алгоритмів), а на керуючі входи подаються сильно‐детерміновані послідовності. Однак, такий підхід лише незначно скорочує ємність детермінованої складової.
Аналіз тестових реакцій здійснюється шляхом порівняння одержуваної реакції з еталонною, яка може бути отримана або з фізичного еталонного пристрою, або за допомогою його логічної моделі. При цьому порівнюватися можуть повні реакції або їх стислі еквіваленти (сигнатури). Відповідно до цього розрізняють наступні основні способи аналізу тестових реакцій:
На момент написання реферату на базі налагоджувальному комплексу Spartan‐3E розроблений логічний аналізатор. Спрощена структура розробленого логічного аналізатор наведена на рисунку 4.
Логічний аналізатор — пристрій, призначений для запису та аналізу цифрових послідовностей. Вони зазвичай використовується для збору даних у системах, що мають занадто багато каналів, щоб бути дослідженими за допомогою звичайного осцилографа[6].
Розроблений пристрій має наступний принцип роботи:
На момент написання реферату були отримані наступні результати:
На основі вищевикладеного матеріалу можна зробити висновок, що:
При написанні даного автореферату магістерська ще не завершена. Дата остаточного завершення роботи: грудень 2010 р. Повний текст роботи та матеріали по темі роботи можуть бути отримані у автора або його наукового керівника після зазначеної дати.