Проблеми функціонального проектування
самотестіруемих НВІС b>
p>
С.І. Родзин p>
Вступ h2>
Витрати на синтез тесту
інтегральних схем наближено оцінюються співвідношенням W = k * Va, де 1.5 <а <2.5,
V - кількість вентилів схеми, k - коефіцієнт,
що залежить від структури проектованої схеми. У порівнянні з початком 70-х років
число вентилів зросла майже на чотири порядки, що означає зростання витрат на W
синтез тесту, приблизно, на вісім порядків! Непоясненим залишається питання, як
взагалі тестується НВІС в ході експлуатації?
Тим часом рішення проблеми безпосередньо випливає з наведеного вище
співвідношення. Оскільки в майбутньому навряд чи слід чекати зменшення ступеня
інтеграції НВІС, то скорочення витрат на тестування можна досягти лише
через структуру проектованої схеми. Ця обставина є фундаментом
для розвитку робіт в області проектування самотестіруемих НВІС. Причому термін
самотестування тут вживається стосовно до НВІС, на кристалі яких
розміщуються засоби генерації тесту, сигнатурного аналізу результатів і
управління тестом [1]. p>
1.
Постановка завдання h2>
У даній роботі
пропонується метод функціонального проектування самотестіруемих НВІС. Ідея
методу полягає в тому, що для синтезу тесту використовується внутрішня логіка
проектованої схеми, яка управляє генератором тесту (ГТ), працюючи в ланцюзі
зворотного зв'язку ГТ, що дозволяє значно скоротити апаратні витрати на
проектування ГТ. Ці витрати визначаються насамперед числом використовуваних в
ГТ тригерів. І хоча, як відомо, мінімальне число станів не обов'язково
призводить до зменшення витрат при реалізації схеми, однак пропонований метод
проектування ГТ спрямований на мінімізацію числа станів і реалізацію ГТ з
можливо меншою кількістю тригерів. Крім того для синтезу тесту при
потреби може залучатися сигнатурний регістр (СР), що дозволяє
додатково скоротити число елементів пам'яті. У цьому випадку при
проектуванні може виявитися, що ГТ або взагалі не містить тригерів, або
містить невелику їх кількість, а це спрощує кодування станів. Відзначимо
також, що подібного роду підхід до самотестування дозволяє через ср
спостерігати стан елементів пам'яті проектованої схеми, при цьому не вимагається
розривати їх зворотні зв'язки, що, у свою чергу, призводить до скорочення загальної
довжини тесту [2]. p>
Таким чином, мета
методу полягає в тому, щоб проектована схема тестувалася у своєму робочому
стані, тобто щоб функції схеми під час тесту не змінювалися. Тому
скорочення числа станів відноситься тільки до ГТ. p>
Для досягнення
поставленої мети пропонується вирішити у взаємозв'язку дві наступні завдання: p>
Синтез тестової
послідовності вхідних векторів для виявлення заданого класу
несправностей проектованої схеми, маючи на увазі відповідну реалізацію ГТ і,
використовуючи для синтезу тесту внутрішню логіку проектованої схеми; p>
Проектування
ГТ на кристалі. H2>
Як заданого
класу несправностей поряд з поодинокими константними несправностями на
зовнішніх і внутрішніх контактах схеми розглядається також несправності
характерні для КМОП-схем, які можуть призводить до Секвенціальние відносин у
проектованої схемою [3]. p>
Для визначення тестової
послідовності проводиться трансформація послідовної схеми в
віртуальну комбінаційну схему. З цією метою тригери замінюються провідними
елементами, що мають нульову затримку і службовцями для запам'ятовування інформації;
зворотні зв'язки в думках обриваються. В якості методу отримання тестових
наборів для віртуальної комбінаційної схеми можна, наприклад, застосувати
D-алгоритм або його модифікації. При цьому дозволяється утворювати не повністю
певні тестові вектори наступного виду: T = ((x, z) 1, (x, z) 2 ,...,( x, z) q), де x - вхідні набори, z --
стану схеми. Ясно, що для різних початкових станів можуть бути
отримані різні тестові послідовності. Виникає питання: яка з
послідовностей є найбільш придатною для апаратної реалізації ГТ? Відповідь на це питання вимагає проведення подальших досліджень з
встановлення взаємозв'язку між реалізацією ГТ і синтезованим тестом. У
Зокрема, вдалося довести, що число внутрішніх станів ГТ залежить від числа
переходів станів d (d - це максимальне число всіх переходів станів у
час проходу тесту із заданого стану, включаючи і повторювані переходи),
причому мінімальне число тригерів для реалізації ГТ одно [log2d].
Вимоги мінімізації довжини тесту та мінімізації числа тригерів ГТ не можуть
виконуватися одночасно. Необхідний компроміс. Сучасні НВІС працюють з високою тактовою частотою, що
робить параметр довжини тесту некритичним і дозволяє істотно знижувати
апаратні витрати при проектуванні ГТ для самотестіруемих НВІС. p>
2.
Алгоритм проектування генератора тесту h2>
Проведене
дослідження залежності між
реалізацією ГТ і синтезується тестової послідовністю дозволяє
сформулювати наступну процедуру проектування ГТ: p>
- синтез тестової
послідовності, яка забезпечує перевірку всіх несправностей заданого
класу і для якої величина d є мінімальною (якщо існує кілька
таких послідовностей, то вибирається найбільш коротка з них); p>
- проектування ГТ з
мінімальним числом тригерів таким чином, що НВІС утворює разом з ГТ
самотестіруемую схему. p>
Розглянемо докладніше
алгоритм синтезу тесту за допомогою ГТ. Нехай задано безліч не повністю
певних тестових векторів T у вигляді пар входів і станів. Пропонується
наступний алгоритм синтезу оптимальної по відношенню до величини d тестової
послідовності для самотестіруемой
схеми, що складається з ГТ і проектованої схеми. p>
Алгоритм h2>
Початок. p>
Вибираємо початкове
стан в шуканої тестової послідовності (xF, zF) = ((x1, z1),
(x2, z2 )...}, де функція переходу станів визначається
звичайним автоматним ставлення zt 1 = Fz (xt, zt),
t - момент часу. Утворити безліч L1 = (z1). P>
Вважаємо i: = 1. p>
Пошук в безлічі T не
повністю певних пар (x, z) j
таких, які покривають всі вектора z вже належать
безлічі Li. Перехід до п. 5. В іншому випадку, перехід до п. 4. P>
утворюючи з допомогою
функції переходу станів Fz безліч Li 1, що містить всі ті
стани, які досягаються з станів ze Li. Вважаємо i: = i +1 і переходимо до п. 3. P>
Образуя з Li
безліч Li 1, що містить всі стану встановлені в п.3
парами (x, y) j. Стани, що включені до
L1 ,..., Li, описують частина
послідовності (z1, ... zi 1) j, z1eL1 ,..., zi 1 eLi 1, що задовольняє
відношенню zt 1 = Fz (xt, zt),
і тому вони можуть додаватися до шуканої послідовності zF. p>
Підраховуємо частоту
входження кожного з станів в послідовність zF і в додаємо частину
послідовності (z1 ,..., zi 1) j,
а також визначаємо для кожного стану величину d. p>
Додаємо до
послідовності zF ті частини
послідовностей, встановлених у п.п.2-5 алгоритму, які мають
мінімальне значення d. Видаляємо з zF
стани, які покриваються парами з вихідної безлічі T.
Якщо існує декілька послідовностей з однаковою мінімальної
величиною d, то вибираємо будь-яку з них. p>
Створюючи нове безліч
L1, у яке входить останнє з включених до zF
станів. Якщо в безлічі T залишилися непомеченние
пари, то перехід до п.2, в іншому випадку, перехід до п.9. p>
Кінець. p>
результату
послідовність (xF, zF)
є тестом для проектованої схеми. p>
Необхідно також
відзначити, що замість випадкового вибору послідовностей з мінімальним d в
п.7 алгоритму можна, наприклад, набирати з T вектора з меншою кількістю
невизначених станів. p>
Досліджуємо оцінку
складності наведеного алгоритму в залежності від числа q
пар, що містяться в безлічі T. Так при пошуку пар (x, z) в
п.3 алгоритму потрібно виконати q операцій порівняння.
Якщо покриття не виходить, то йде повторна перевірка станів з безлічі L2. P>
Якщо позначити потужність
множини вхідних векторів X через M,
то L2 містить максимум M елементів, L3-M2 і т.д. У загальному випадку,
вважаємо, що безліч Li містить максимум Mi-1 елементів. Щоб
додати вектор z пари (x, z) jeT, потрібно виконати максимум q * Mi-1 операцій порівняння, виходячи з деякого
початкового стану. Набрали подальшому потребуватиме не більше, ніж (q-1) * Mi-1 операцій порівняння. Для
визначення послідовності, що містить всю q векторів з T,
необхідно q-раз виконати цикл п.п.2-7 алгоритму. Отже, загальна
оцінка складності алгоритму має порядок O (q2). Безліч T
при цьому є вихідним для роботи алгоритму. Співмножники Mi-1 залежить від функцій,
реалізованих проектованої схемою, і від вихідної безлічі пар тестових
векторів T. Загальна оцінка Mi-1 в зв'язку з цим
є важким. p>
Вище зазначалося, що
апаратні витрати на реалізацію ГТ можна скорочувати й далі, якщо використовувати
для синтезу тесту не тільки внутрішню логіку проектованої схеми, але і ср Щоб вирішити це завдання цілком достатньо
встановленої раніше взаємозв'язку між реалізацією ГТ і синтезованих тестом.
Там тригер був необхідний завжди, якщо тестовий вектор на входах проектованої
схеми не визначався однозначно різними станами. У зв'язку з тим, що немає
принципової різниці в тому чи знаходиться цей тригер в ГТ або ж у СР, можна
скоротити число тригерів в ГТ шляхом використання СР для синтезу тесту. При
це проте виникає питання: чи не призводить чи використання СР для синтезу тесту
до обмеження його здатності виконувати свою основну функцію - сигнатурних
оцінку результатів тестування? Щоб відповісти на це питання, наведемо
наступні міркування. До тих пір, поки несправність не призводить до спотворення
послідовності станів в СР і проектованої схемою, самотестіруемая НВІС
виконує синтезовану вхідну послідовність xF. Якщо деяка
несправність призводить до спотворення xF, то це з великою
імовірністю веде до перекручування стану СР і вхідної послідовності
проектованої схеми (нагадаємо, що на входи проектованої схеми подаються
вихідні сигнали ГТ). Тим часом, відомо, що ймовірність маскування несправностей
в СР при вдалому виборі функцій зворотного зв'язку СР є величиною
незалежною від числа цих спотворень. У зв'язку з цим досить проблематично очікувати
якихось обмежень у здатності Ср проводити оцінку результатів
тестування. p>
Практична
реалізація методу самотестування h2>
Нижче наводяться дві
прикладних приклад реалізації запропонованої концепції самотестування. p>
Так реалізація ГТ для
програмованого тактового генератора на
три входи тактуючого мікропроцесорні пристрої була спроектована у вигляді
програмованої логічної матриці (ПЛМ). Довжина тесту для виявлення всіх
одиночних константних несправностей виявилася рівною 27 розділами. Схема ГТ (
без використання для синтезу тесту СР) містить два тригера і 17 вентилів.
Якщо порівняти витрати на реалізацію тактового генератора і ГТ у перерахунку на
число вентилів і врахувати ще витрати на
зберігання тесту в пам'яті, то виходить не зовсім задовільний
співвідношення. Однак витрати на ГТ скорочуються при використанні для генерації тесту Ср У цьому випадку ГТ
реалізується у вигляді чисто комбінаційної схеми на 7 вентилів і відношення витрат
на ГТ і тактові генератор дорівнює приблизно 13%. Перевага ПЛМ-реалізації ГТ
полягає в тому, що комбінаційні схеми в цьому випадку проектуються особливо
проектуванням площа кристала. p>
Іншим прикладом є
реалізація ГТ для 32-розрядного секційного процесора, який має 13
керуючих входів, 32 входу даних, 32 виходу і 28 тригерів. Тестова
послідовність була визначена спрощеним способом шляхом
попарно-паралельного побудови тестів для окремих секцій і подальшої їх
склеювання. Довжина тесту виявилася рівною 39. Відповідна ПЛМ-реалізація ГТ
містить один тригер, а загальне число термів одно 55. Для управління ГТ
використовуються два тригера процесора і 8 тригерів 32-розрядного СР, так як
більшість секцій тестуються попарно-паралельно і тригери Ср містять
однакову інформацію. Витрати на ГТ склали близько 10%. P>
Вище зазначалося, що при
реалізації НВІС по КМОП-технології, поряд з несправностями константної типу
мають місце характерні для КМОП-схем St-open
несправності, що приводять в деяких
випадках до Секвенціальние
відносин до схеми. У цьому випадку замість одного тестового вектора для
кожній j-й St-open
несправності необхідно синтезувати цілий блок тестових пар (x, z),
причому перша пара зазвичай служить для ініціалізації, а інші - для
очувствленія несправності. Що стосується алгоритму синтезу тестової послідовності
для ГТ, то він є розширенням раніше наведеного алгоритму. Зокрема,
відмінність полягає в тому, що в п.п.4 і 5 алгоритму безліч Li 1 містить всі ті
стани, які досягаються зі стану zeLi
не тільки за один, але і за кілька
переходів, а у п. 8 необхідно також врахувати цю обставину при утворенні
нового безлічі Li. Загальна оцінка складності
алгоритму стає рівною O (q3), зростає і довжина
тесту. Так, наприклад, довжина тесту для згаданого раніше тактового генератора
стає рівною 66 розділами, а ГТ для нього містить 17 вентилів. Схожий зростання
витрат спостерігається і для самотестіруемой КМОП-схеми 32-розрядного
секційного процесора, хоча сам метод
самотестування не залежить від технології, що є його безсумнівним
перевагою. p>
Список
літератури h2>
1.Електроніка НВІС.
Проектування мікроструктур: Пер. с анг./Под ред. Н. Айнспрука .- М.: Мир,
1989. - 256с.іл. p>
2.Меліхов А.Н., Родзин
С.І. Проектування генератора тестів для самотестіруемих НВІС. - У працях 12-й
міжнародній конференції: Відмовостійкі системи і діагностика. - ЧСФР,
Прага, 1989. P>
3.Курейчік В.М., Родзин
С.І. Контролепрігодное проектування і самотестування НВІС: проблеми і
перспективи. - М.: Радіо і зв'язок, 1994. - 176с.: Ил. P>