Тестване и самотестване на цифрови схеми. Методът на сигнатурния анализ. Методът на последователно сканиране Печат
Написано от sevda   
Сряда, 24 Април 2013 06:14

Тестване и самотестване на цифрови схеми. Методът на сигнатурния анализ. Методът на последователно сканиране.

сигнатурен анализ

На изходите на проверяваната схема се формират реакции със същата  дължина. Ако генерирането и съхраняването на тестова последователност не е проблем, то съхраняването на изходните реакции на всяка схема става проблем. Решение, което позволява значително съкращаване на обема на съхраняваната информация за еталонните изходни реакции е формирането на компактни (обобщени) оценки, които имат много по-малка дължина. Такива оценки се получават при използването на алгоритми за свиване на данните. Тези оценки се наричат контролни суми, ключови думи, синдроми или сигнатури. Те се формират за определени точки в проверяваната цифрова схема.

За свиване на данни, представени като двоична последователност y(k), състояща се от l последователно формирани двоични променливи се използват няколко основни алгоритъма.

         Преброяване на преходите

Компактната оценка се дава с израза:

където R- броя на измененията на символите в последователността y(k).

         Преброяване на единиците

Компактната оценка се дава с израза:

където R- броя на единиците в последователността у(к).

Тези два алгоритъма за формиране на компактни оценки от изходните реакции предполагат използването на детерминирани методи за генериране на тестови последователности.

         Вероятност за появяване на единици в изходната последователност

Компактната оценка се дава с израза:

R = p[y(k) = 1]

Този алгоритъм предполага използването на генератор на случайни тестови последователности.

         Сигнатурен анализ

Компактната оценка се дава с израза:

където  се определят на базата на образуващия полином

Този алгоритъм предполага използването на генератор на псевдослучайни тестови последователности.

Методът на сигнатурния анализ е получил най-голямо разпространение в практиката. Основава се на цикличния код и формира сигнатура с помощта на изместващ регистър с линейни обратни връзки. Обикновено се използва 16‑разряден изместващ регистър.

Двоичната последователност се прочита от логическата схема за определен интервал от време и се въвежда в изместващия регистър, който предварително е нулиран. Информацията, съдържаща се в регистъра ще зависи от битовете на информационната входна последователност, структурата на веригите за обратна връзка и текущото състояние на регистъра. В такъв случай всяка грешка в прочетената последователност, предизвикана от неизправност в проверявания възел на схемата, ще изменя по определен начин съдържанието на изместващия регистър. В края на периода на измерването, сформираната в изместващия регистър сигнатура се индицира (най-често в 16-тичен код) и се сравнява с еталонна сигнатура от изправната схема. Съвпадението на двете сигнатури показва, че проверяваният възел е изправен, а несъвпадението -наличие на неизправност.

Използваният шестнадесетичен код е малко по-различен от обикновения. Вместо числата 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, A, B, C, D, E, F се използват 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, A, C, F, H, P, U. Този начин на изобразяване на числата е въведен за пръв път от Hewlett - Packard и има за цел облекчаване на четливостта при използването на седемсегментни индикатори.

Нека входната последователност съдържа n бита: а1, а2, а3,..., аn-1, an (а може да заема стойности само 0 и 1). На тази последователност съответства друга последователност от n бита - b1, b2, b3, ...., bn-1, bn след схеми за сума по модул две. Според прокараните връзка, първите седем бита на двете последователности ще са еднакви, т.е. b1=a1, b2=a2, b3=a3, b4=a4, .., b7=a7. Всички останали битове bi ще се определят по формулата:

като 8 < i < n. Всички битове bi-k, за които в индекса се получава отрицателно число или нула (i се премахват.Двоичният код на сигнатурата представлява 16 бита от последователността b1, b2, b3,..,bn.

Псевдослучайно тестване

Тестването на цифрови схеми, основано на класическата схема за тестова диагностика  изисква да се генерират тестови последователности, които подавани към проверяваната схема предизвикват реални изходни реакции. Последните се сравняват с еталонни изходни реакции и при съвпадението/несъвпадението им се прави извод, че схемата е изправна/неизправна.

При провеждане на процедурата на тестване се съхраняват по правило както тестовите последователности, така и еталонните изходни реакции при тяхното въздействие.

С нарастване на сложността на цифровите схеми класическият подход става неприложим, тъй като формирането на тестовите последователности, както и процедурата по тестването изискват значителни загуби на време, а големият обем на тестовата информация и еталонните изходни реакции предполагат сложно оборудване.

Съществуват решения, които позволяват значително опростяване на процедурата за построяване на тестови последователности и провеждането на процедурата по тестването. Основните елементи в тези решения са: генератор на тестова последователност и устройство за свиване на данните.

За реализирането на генератори на тестова последователност се използват следните алгоритми :

         Формиране на всички възможни тестови набори, т.е. всички възможни двоични комбинации от входни сигнали. В резултат се генерират т.нар. броячни последователности.

         Формиране на случайни тестови набори с необходимите вероятности за появяване на 1 или 0 за всеки вход на цифровата схема.

         Формиране на псевдослучайни тестови последователности.

Изключително голямо приложение в практиката има псевдослучайното тестване Генерирането на псевдослучайни тестове е метод, по който лесно могат да се получат голям брой тестови набори. Той успешно се прилага при чисто комбинационни схеми с голяма размерност, където е невъзможно да се осъществи изчерпващо тестване. Тогава отначало се прилага псевдослучайно тестване, оценява се нивото на покриване на неизправностите с тези тестове, след което се прилагат детерминирани методи за генерирани на тестове ( напр. d-алгоритъм).