Научная статья на тему 'Диагностирование ПЛИС на основе моделей клеточных автоматов'

Диагностирование ПЛИС на основе моделей клеточных автоматов Текст научной статьи по специальности «Компьютерные и информационные науки»

CC BY
221
86
i Надоели баннеры? Вы всегда можете отключить рекламу.

Аннотация научной статьи по компьютерным и информационным наукам, автор научной работы — Бережная Марина Анатольевна, Дербунович Леонид Викторович, Хаханов Владимир Иванович

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

i Надоели баннеры? Вы всегда можете отключить рекламу.

Похожие темы научных работ по компьютерным и информационным наукам , автор научной работы — Бережная Марина Анатольевна, Дербунович Леонид Викторович, Хаханов Владимир Иванович

iНе можете найти то, что вам нужно? Попробуйте сервис подбора литературы.
i Надоели баннеры? Вы всегда можете отключить рекламу.

Testing of PLD based on cellular automata

The method ot programable logic devices testing for predesign entry step for purpose of computer aided design of digital system, represented in form of finite state mashine is offered.

Текст научной работы на тему «Диагностирование ПЛИС на основе моделей клеточных автоматов»

УДК 681.326:519.713

ДИАГНОСТИРОВАНИЕ ПЛИС НА ОСНОВЕ МОДЕЛЕЙ КЛЕТОЧНЫХ АВТОМАТОВ

БЕРЕЖНАЯ М.А., ДЕРБУНОВИЧ Л.В., ХАХАНОВ ВИ.

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

Введение

Специализированные цифровые системы на основе программируемых логических интегральных схем (ПЛИС) являются новым перспективным средством для решения задач технологического управления. Реализация таких систем предполагает использование как универсального процессора в целях управления вычислениями, так и программируемой логики, ориентированной на параллельную обработку структур данных большого обьема. Наряду с низкой стоимостью кристаллов программируемых логических интегральных схем и незначительным временем синтеза структурно- и функционально-сложных вычислительных устройств на их основе существует проблема тестирования последних. Она определяется структурной и функциональной сложностью цифровой системы, имплементированной в ПЛИС, насчитывающей несколько миллионов эквивалентных вентилей на одном кристалле, и отсутствием эффективных методов их анализа в целях верификации и тестирования цифровых систем. В практике проектирования дискретных устройств широко применяются два основных типа программируемых логических интегральных схем: FPGA (Field Programmable Gate Arrays), CPLD (Complex Programmable Logic Devicece). Существует много архитектурных разновидностей ПЛИС, которые отличаются технологиями программирования.

На рис. 1 представлены типовые структуры FPGA (верхняя часть), CPLD (средняя) и структура типовой ячейки (нижняя часть). Каждая из первых двух есть гибкое и многофункциональное программируемое логическое устройство, позволяющее реализовывать большие цифровые системы на одной микросхеме. Типичная PGA — это микросхема, состоящая из массива идентичных логических ячеек с программируемыми соединениями. Пользователь может запрограммировать функции, реализуемые каждой логической ячейкой, и соединения между ними. Поэтому они являются программируемыми в условиях эксплуатации (field-programmable) . Структура ПЛ ИС типа FPGA представляет собой двухмерную сеть, состоящую из (NxN) конфигурируемых логических блоков (КЛБ), которые имеют от 3 до 5 адресных входов и D-триггер, блоки ввода-вывода данных для соедине-

ния с внешними контактами и программируемую коммутационную матрицу [1].

Рис. 1. Структура программируемых схем

РИ, 2002, № 3

79

I/O block I/O block Н-1 і-Н I/O block

Тестовое диагностирование FPGA проводится на этапе входного контроля перед загрузкой «теневой памяти» программой требуемой конфигурации в целях выявления неисправных элементов ПЛИС. Процедуры тестового диагностирования FPGA проанализированы в работах [1-3], в которых решались задачи нахождения минимального числа реконфигураций ПЛИС и соответствующих тестовых последовательностей, позволяющих обнаружить константные неисправности КЛБ.

В [3] рассмотрены методы проверки коммутационных матриц FPGA, позволяющие обнаружить неисправности типа «появление» и «исчезновение» соединений при минимальном числе возможных конфигураций.

В настоящей работе предлагается конфигурировать матрицу КЛБ в виде С-тестируемой однородной структуры клеточных автоматов (СКА) с наблюдаемыми выходами, что обеспечивает исчерпывающее тестирование кратных неисправностей ячеек сети [4]. Разрабатывается методика синтеза проверяющих тестов СКА, у которых модели клеточных автоматов являются сильносвязанными и имеют однородные отличительные последовательности для каждого входного символа.

Не снижая общности предложенного подхода, рассмотрим структуру FPGA, в которой каждый КЛБ имеет три адресных входа (хі,Х2,хз). Тогда N КЛБ можно сконфигурировать в СКА, как показано на рис. 2.

Рис. 2. Однородная структура с наблюдаемыми выходами

Каждая КЛБ A, представляется моделью автомата Мура с двумя состояниями. Правый выход каждой ячейки, а также выходы у, коммутируются на наблюдаемые выходы через программируемые блоки входа FPGA. Входы xi (i = 1,2,3; j = 1,N) соединяются c программируемыми блоками ввода.

На функциональном уровне описание ячейки клеточного автомата будем рассматривать как таблицу переходов-выходов автомата Мура, задаваемого

тройкой (х, s, 5), у которого функции переходов и выходов совпадают:

5(si,xa) = Ms-,xa) = sj, Vs-,sj є S,Vxa є X . (1)

Введем следующие обозначения и определения. Пусть ai « x(l) обозначает приложение логической переменной, набора логических переменных при наличии нескольких входных полюсов х в ячейке клеточного автомата, к входному полюсу (полюсам) х(1).

Вектор Vj = {si,ai,a2,...ap} представляет двоичный входной набор, в котором si « s(l), ai « x(l), a 2 * x(2), a p - x(p).

Вектор Vi = {зь (a i, a 2,...a k )* j представляет также двоичный входной набор, но в котором si « s(i) , ai « x(i) , a2 « x(2) , ak,ai « x(k + i) . Таким образом, входные полюсы ОС соединяются с источником питания циклическими повторяющимися логическими переменными, или наборами переменных ai,a2,...,ak .

Пусть необходимо проверить правильность перехода 5jj(si,xjJ = sa в ячейке C(i) сети, которая

имеет отличительную последовательность х(0). Проверяющий входной набор построим в следующем виде:

V(5ij) = ^i,(xjXoTs^)* і (2)

где (r)* — последовательность RRR; Tfo) -переводящая последовательность, которая переводит автомат из состояния S^spxjXo) = qo в состояние s- ; Х0— отличительная последовательность. Действительно, состояние sa на выходе ячейки C(i) отличается от множества других состояний

S/ sa по реакции последующих ячеек, к которым приложена отличительная последовательность Х0. Это обеспечивается наличием в сети наблюдаемых

выходов у- и свойствами отличительных последовательностей.

Пусть входной набор x j X 0 T(s -), прикладываемый

к входам Х сети, состоит из "k" входных символов. Так как этот набор циклически повторяется и состояние k-й ячейки sk = 5(xjXoT(si)j = s-, то

приложение V (б -j) ко входам сети позволяет проверить правильность переходов 5jj в ячейках C(i), C(k +i), C(2k + 0, C(3k +1).. .

Определение. Входной набор V(б -j J, определяемый выражением (2), будем называть циклической отличительной последовательностью (ЦОП) одномерной сети клеточных автоматов с наблюдаемыми выходами у- .

Известно, что в любом сильносвязном автомате с п состояниями существует множество переводящих последовательностей T(si),i = 1,п , длина которых не превышает (п -1).

Из (2) верхняя граница длины ЦОП определяется неравенством:

V (Sij)

80

РИ, 2002, № 3

v Ы Is 1+r1^+(" - о ^ 2(n+o.

(3)

Минимальная нижняя граница длины ЦОП V(8ij) І имеет вид

log2 і

< IV log2 г

(4)

где г — число выходных символов ячейки сети. Тест V (5jjJ проверяет правильность перехода 5 у

в ячейках сети A(l), A(k +1), A(2k +Свойство сильносвязности автоматной модели ячейки сети упрощает процедуру нахождения множества тестов, проверяющих этот переход во всех ячейках сети. Эта процедура сводится к циклическому сдвигу

входного слова xjXo T(si). При этом выполнение ( V(5ij) I-1)

ляет получить

этом

циклов сдвига теста V (5 j V(5ij) I входных ЦОП, проверя-

позво-

ющих правильность перехода во всех ячейках сети. Тогда верхняя и нижняя границы длины полного

теста, проверяющего правильность всех (ш х і) переходов ячейки клеточного автомата с учетом (3) и (4), равны соответственно:

1

l(T) г ~ • ш • 1 • (і + 0,

l(T) -

ш • 1

2

log2i

(5)

(6)

log2 г

Из (5) и (6) следует, что длина проверяющего теста не зависит от размерности сети или числа N ячеек сети. Таким образом, сети рассматриваемого класса являются C-тестируемыми.

Процесс генерации тестовых последовательностей для СКА с наблюдаемыми выходами Y, каждая ячейка которой описывается ТПВ сильносвязного автомата, имеющего отличительную последовательность, можно представить следующим алгоритмом:

1. Построить таблицу переходов-выходов автомата Мура или Мили по заданной логической схеме ячейки сети. Пусть ТПВ имеет n строк и m столбцов.

2. Построить отличительное дерево преемников автомата и найти отличительную последовательность Хо.

3. Для каждого перехода ТПВ

5ij(si,xj) = sa4 = 1,1,j = 1

конечных сост 5(saXo) = sk .

-"ijvpi,xjj — sa,i — 1,n,i — 1,ш ,

найти множество конечных состояний

1

1

4. Найти множество переводящих последовательностей T(sb si) по ТПВ для каждого перехода, где множество состояний {sk} определено на шаге 3.

5. Построить множество ЦОП V(бij) для каждого перехода автоматной диаграммы, используя Х0 и T(sk ,sp). Пусть длина ЦОП |'V(5ij) | = t.

6. Для каждого проверяющего теста v (б ij) выполнить (t-1) циклических сдвигов, которые определяют ЦОП, проверяющих правильность всех (ш х і) переходов ТПВ в каждой ячейке сети.

7. Конец алгоритма.

Применение ЦОП, полученных в соответствии с предложенным алгоритмом, к сетям клеточных автоматов позволяет проверить соответствие таблицы истинности проверяемой ячейки таблице истинности исправной ячейки.

Для проверки такой сети предлагается использовать две автоматные модели Мура КЛБ. Два состояния автомата (s0 и s1) соответствуют состояниям D-триггера КЛБ.

Если число адресных входов КЛБ k = 3 , то входы (x2, x3) формируют 4 входных символа

(xo = 00, x1 = 01, x2 = 10, x3 = 11),

которые подаются на вертикальные входы xi сети (см. рис. 2). Каждый входной символ является отличительным для двух конечно-автоматных моделей A1 и A2:

s(t+1) ^ s(t) і x0 x1 x2 x3 y(t)

s0 s0 s1 s0 s1 0

s1 s1 s0 s1 s0 1

s(t+1) ^ s(t) і x0 x1 x2 x3 y(t)

s0 s1 s0 s1 s0 0

s1 s0 s1 s0 s1 1

Он покрывает множество функциональных неисправностей каждого КЛБ двумя конфигурациями, которые определяются этими таблицами переходов состояний.

Универсальное множество тестов, проверяющее таблицу переходов А1 в N клеточных автоматах, которое генерируется в соответствии с ЦОП для случая четного числа ячеек N, представлено в следующем виде:

РИ, 2002, № 3

81

Vi:

V2

V3

V4

> s1

00

> SQ

0

iНе можете найти то, что вам нужно? Попробуйте сервис подбора литературы.

01

s0

00

Vs:&

V6

00

0

01

V7:0

11

& 0->0-> Еї]-

0

10

s0

1

01

s1

00

s0 ^ ••• S1

0

11

s0

0

10

01

s0 > s0 ^ ••• s0

0

01

0

00

s0

1

11

0

00

1

01

s0

1

10

» 0-■> ЕЗ-

0

01

1

10

*0-

* Е1-

*0-

10

0

11

s0

^ ••

0

00

1

01

s0

1

10

[sp ^ ••

-* ED ^ ••• -> ED ^ ••• ED ^ •••

E1

E1

E0

§1

0

10

0

11

0

00

1

01

1

10

0

11

*0; -* E1; -> ED; ED;

V8: ED —^ ED —^ ED —ED—^ ED ^ ••• ED —ED-

Аналогично генерируются тестовые последовательности, проверяющие ТПВ клеточных автоматов для модели A2.

Для тестирования управляемости D-триггера по входу С необходимо использовать конфигурацию, в которой ui=u2=1 и D-триггеры образуют N-разрядный сдвиговый регистр, который проверяющийся двумя циклическими тестами (010101) и (101010).

Таким образом, достаточно использовать nc = 5 конфигураций КЛБ в соответствии с автоматными моделями A1, A2 и универсальное множество тестов, чтобы обнаружить неисправные КЛБ в сети из N идентичных клеточных автоматов.

Вывод

Моделирование полноты сгенерированных тестов для класса одиночных константных неисправностей КЛБ показывает, что тесты, полученные для класса C-тестируемых регулярных структур клеточных автоматов, позволяющие обнаружить кратные неисправности сети функционального уровня, покрывают 100% одиночных константных неисправностей КЛБ.

00 і— Литература: 1. HuangW.K., Lombardi F. An S0 ; Approach for testing Programmable/

Configurable Field Programmable Gate Arrays // Proc.14th IEEE VLHI Test Symp. IEEE Computer Society Press, Los Alamitos, Calif. 1996. P. 450-455. 2. Inoue T. et al. s0 ; Universal Test Complexity of Field — Programmable Gate Arrays // Proc. Fourth IEEE Asian Test Symp. iEEE CS Press. 1995. P. 259-265. 3. Renovell M. et al. Test of RAM — Based FPGAs: Methodology and Application to the Interconnect. // Proc. 15th IEEE VLHI Test Symp. IEEE CS Press. 1997. P. 230-237. 4. ДербуновичЛ.В. Синтез легко тестируемых двухмерных итера-s ч ls тивных логических сетей // В кн.: Тезисы

s° I * lS1l; докладов. 6 Всесоюзное совещание по

технической диагностике. Ростов-на-Дону. 1987. С.51. 5. Michinisti H. et al. A Test

1 1_^J Methodology for Configurable Logic Blocks

of Lookup Table Based FPGAs // IEICE Trans. D-1. - December, 1996. Vol.J79 - D1, №12. P. 11411150. 6. Хаханов В.И., Бережная М.А. Двухтактное кубическое исчисление // АСУ и приборы автоматики. 1997. Вып.106. С. 103-116. 7. Хаханов В.И., Бережная М.А. Диагностирование одиночных и кратных неисправностей // АСУ и приборы автоматики. 1997. Вып.104. С.17-28.

Поступила в редколлегию 16.05.2002

Рецензент: д-р техн. наук, проф. Кривуля Е.Ф.

Бережная Марина Анатольевна, аспирант кафедры АПВТ ХНУРЭ. Научные интересы: тестопригодное проектирование цифровых устройств. Увлечения: книги, музыка. Адрес: Украина, 61166, Харьков, пр. Ленина, 14, тел. 40-93-26. E-mail: hahanov@kture.kharkov.ua

Дербунович Леонид Викторович, д-р техн. наук, профессор кафедры автоматики и управления в технических системах НТУ “ХПИ”. Научные интересы: техническая диагностика и проектирование вычислительных устройств. Увлечения: единоборства, книги, иностранные языки. Адрес: Украина, 61166, Харьков, ул. Фрунзе, 23.

Хаханов Владимир Иванович, д-р техн. наук, профессор кафедры АПВТ ХНУРЭ. Научные интересы: техническая диагностика вычислительных устройств, систем, сетей и программных продуктов. Увлечения: баскетбол, футбол, горные лыжи. Адрес: Украина, 61166, Харьков, пр. Ленина, 14, тел. 40-93-26. E-mail: hahanov@kture.kharkov.ua

82

РИ, 2002, № 3

i Надоели баннеры? Вы всегда можете отключить рекламу.