Научная статья на тему 'Синтез самопроверяемых дискретных устройств по bdd-реализациям их функционирования'

Синтез самопроверяемых дискретных устройств по bdd-реализациям их функционирования Текст научной статьи по специальности «Математика»

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

Аннотация научной статьи по математике, автор научной работы — Астафьев Михаил Валерьевич, Матросова Анжела Юрьевна

Устанавливается, что покрытие И, ИЛИ, НЕ элементами BDD-представления системы булевых функций с целью получения комбинационной схемы С обеспечивает монотонное проявление одиночных константных неисправностей полюсов элементов схемы С на ее выходах. Рассмотрены подходы к обеспечению самопроверяемости схемы С, основанные на использовании детекторов двурельсового кода, (ш, п)-кода и кода Бергера.

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

Похожие темы научных работ по математике , автор научной работы — Астафьев Михаил Валерьевич, Матросова Анжела Юрьевна

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

We deal with the combinational circuits derived from BDD descriptions

The circuit is obtained from BDD by its covering with OR, AND, NOT gates. It is shown that gate pole single stuck-at faults of the circuit manifest themselves as unidirectional errors at the circuit outputs. The possibility of using double rail code checker, (m,n)-code checker and Berger code checker for monitoring these outputs is discussed.

Текст научной работы на тему «Синтез самопроверяемых дискретных устройств по bdd-реализациям их функционирования»

ВЕСТНИК ТОМСКОГО ГОСУДАРСТВЕННОГО УНИВЕРСИТЕТА

Том №271 июнь 2000

ПРИКЛАДНАЯ ДИСКРЕТНАЯ МАТЕМАТИКА

УДК 681.326.7

М.В. Астафьев, А.Ю. Матросова

СИНТЕЗ САМОПРОВЕРЯЕМЫХ ДИСКРЕТНЫХ УСТРОЙСТВ ПО БОБ-РЕАЛИЗАЦИЯМ ИХ ФУНКЦИОНИРОВАНИЯ

Устанавливается, что покрытие И, ИЛИ, НЕ элементами ВОО-прелставления системы булевых функций с целью получения комбинационной схемы С обеспечивает монотонное проявление одиночных константных неисправностей полюсов элементов схемы С на ее выходах. Рассмотрены подходы к обеспечению самопроверяемости схемы С, основанные на использовании детекторов двурельсового кода, (ш, п)-кода и кода Бергера.

Введение

Распространенный подход к синтезу комбинационных схем или комбинационных составляющих синхронных последова-тельносгных схем заключается в получении в качестве задания на синтез минимизированной системы булевых функций в интервальной форме. Примененные к системам методы синтеза [1-3] обычно «сохраняют систему», и по схеме с помощью суперпозиции, не сопровождающейся склеиванием и поглощением конъюнкций, можно получить систему булевых функций практически в той же интервальной форме. Отличие может заключаться лишь в наличии повторяющихся интервалов или в повторяющихся буквах конъюнкций, представляющих интервалы системы Самопроверяемость схемы достигается обеспечением специальных свойств интервальной формы. Например, характеристики интервалов являются равновесными кодами или кодами Бергера [4,5]; множества интервалов системы могут быть монотонными [6] или частично монотонными и т.д. Фак-торизационные методы синтеза, двухуровневые [1, 2] и многоуровневые [3], выполненные по специальным интервальным формам, обеспечивают монотонное проявление константных неисправностей полюсов вентилей полученных схем.

Под монотонным проявлением неисправности понимается следующее. Если а - тестовый набор для неисправности V в

схеме С, а Р и (3" - векторы, сопоставляемые выходам схемы в исправном и неисправном состояниях соответственно, то Р и Р" сравнимы, т.е. либо Р^З"либо Р^З". Напомним, что векторы (3, Р" находятся в отношении Р^Р" (здесь р - предшествующий набор, а Р" - последующий), если для каждой из компонент

выполняется условие Р, Например, 010010<110110.

При монотонном проявлении неисправности равновесные коды или коды Бергера, реализуемые на выходах исправного устройства, становятся некодовыми словами. Это обнаруживается детектором, подключенным к выходам комбинационной схемы. Если на каждом тестовом наборе каждая неисправность проявляется таким образом, то схема считается самопроверяемой. Любая неисправность схемы из рассматриваемого класса обнаруживается детектором в первый момент ее проявления. Однако существуют методы декомпозиционного синтеза [7], не требующие для своей реализации получения минимизированной системы в интервальной форме. Эти методы позволяют строить схему непосредственно по множествам нулевых и единичных значений системы частичных булевых функций, задающим рабочую область функционирования схемы. Полученная схема, реализуя систему полностью определенных булевых функций, содержит рабочую область функционирования, как правило, не совпадая с ней.

Использование ВОЕ)-предсгавления системы булевых функций [8] и последующий синтез по нему схемы также не связан с интервальным заданной системы булевых функций. ВОГ>-предсгавление может бьпъ получено по схеме, по системе формул над множеством элементарных функций, по системе

ДНФ, в частности и в интервальной форме. В последнем случае построенная по BDD схема не сохраняет систему ДНФ.

Из сказанного следует, что подходы, обеспечивающие самопроверяемость схем, реализуемых факторизационны-ми методами синтеза, оказываются непригодными для методов синтеза, не сохраняющих интервальное задание.

В данной работе устанавливается, что покрытие И, ИЛИ, НЕ [9] элементами BDD-представления системы булевых функций для ноаучения комбинационной схемы С обесне-i чивает монотонное проявление константных неисправностей полюсов элементов схемы С на ее выходах. Возможно применение двух методов обеспечения самопроверяемости - с использованием double rail code и равновесного (Бергера) кода на выходах схемы.

В первом случае каждому i-му выходу схемы, реализующему функцию добавляется парный выход, реализующий функцию fr В исправном состоянии самопроверяемой схемы на каждой паре выходов реализуется либо комбинация 01, либо комбинация 10. В присутствии монотонно проявляющейся на выходах неисправности некоторые из пар реализуют комбинации 00 (комбинации 11). Поскольку детекторы наблюдают за каждой парой выходов в отдельности, достаточно монотонного проявления неисправности на выходах отдельной пары.

Предложенный в [9] подход к синтезу схемы С по BDD-

представлению позволяет реализовать функции /(и /( так, что

они имеют общую подсхему. В данной работе мы показываем, что наличие общей подсхемы не нарушает монотонного характера проявления константных неисправностей рассматриваемого класса Естественно стремление к тому, чтобы подсхемы,

реализующие пары функций f,,ft, отличались как можно меньше, т.е. имели как можно большую общую подсхему. Управлял» этим процессом можно, выбирая порядок разложения по переменным при получении BDD-представлений.

Для использования детектора равновесных кодов (кодов Бергера) необходимо преобразовать исходную систему булевых функций, заданную в интервальной форме, к системе, характеристики интервалов которой являются равновесными кодами или кодами Бергера.

Постановка задачи

Определение. BDD-графом булевой функции называется ориентированный связный граф с корнем. Граф содержит множество вершин V двух типов - терминальные и нетерминальные. Нетерминальная вершина v имеет в качестве атрибутов индекс аргумента index(v)e{l,.., п} и две дочерние ве-ршины high(v), low(v)e V. Терминальная вершина v имеет один атрибут - value(v)e {0,1}.

Для любой нетерминальной вершины v, если low(v) также является нетерминальной, необходимо выполне-

ние условия: ¡пс!ех(у)<т<1ех(1о\у(у)) и, аналогично, если Ы§Ь(у) - нетерминальная, то выполняется условие: ш-<1ех(у)<тс1ех(Ы§Ь(у)). Это означает ацикличность ВОГ)-графа, так как индекс дочерних вершин каждой нетерминальной вершины строго больше индекса этой вершины. ЕЮЕ)-графу й с корневой вершиной V соответствует булева функцияопределяемая рекурсивно так:

1. Пусть у - терминальная вершина, тогда: если уа1ие(у)=1, то /=1; если уа1ие(у)=0, то /у=0.

2. Пусть V - нетерминальная вершина с индексом ¡пс1ех(у)=/, тогдаопределяется соотношением:

Каждому пути в графе, начинающемуся в корне и заканчивающемуся в терминальной вершине, сопоставляется набор аргументов х„ (не обязательно всех). Если некоторая вершина V пути имеет юс1ех(у)=/, и путь продолжает левая дочерняя вершина 1о\у(у), то х,=0, а если пуп» продолжает правая дочерняя вершина то *г=1. Набор значений аргументов представляет интервал (конъюнкцию) в булевом пространстве размерности п. Значение функции на интервале равно значению терминальной вершины в конце пути. На рис. 1 приведены примеры функций и соответствующих им ВБ1>графов.

х,«х2 + х.

Х|

т

V

Рис. 1. Примеры ЕЮО-графов

б.

В [1] предложен метод построения схемы по ВОО-графу, представляющему реализуемые схемой булевых функции. Покажем, что схема является самопроверяемой в классе константных неисправностей на полюсах вентилей.

Построение схемы по ВОБ-графу и ее свойства

Рассмотрим процедуру построения схемы С, реализующей пару функций / /, заданную с помощью ВОБ-графа.

1. Каждой дуге ВВБ-графа сопоставляется двухвходо-вый элемент И, а вершине - т-входовый элемент ИЛИ.

2 Примем во внимание, что дуга есть часть путей в ВБО-графе, представляющих конъюнкции (интервалы) функций/ /, реализуемых графом. При прохождении очередной дуги к конъюнкциям, порожденным проходящими через дугу путями, приписывается новая переменная с соответствующим дуге символом инверсии.

3. На вход элемента И, сопоставляемого дуге, поступает выход подсхемы, реализующей эти конъюнкции. Другой вход помечается переменной, сопоставляемой этой дуге с соответствующим знаком инверсии.

4. Входы элемента ИЛИ для вершины, не являющейся корневой, есть выходы элементов И, сопоставляемых дугам, заходящим в рассматриваемую вершину.

5. Удаляются все элементы, на вход которых подается лишь одна переменная.

Рассмотрим' пример применения' этого метода. На рис. 2, а показан исходный ВОО-граф. На рис. 2, б изображена схема, получающаяся после выполнения первых трех этапов метода. На рис. 2, в показана схема после удаления элементов, на входы которых подается только одна переменная

К классу неисправностей II таких схем будем относить одиночные константные неисправности на полюсах элементов схемы. Неисправности на входах схемы учитывать не будем, х,

1 *1*2

Определения:

а) 1-монотонным изменением булева вектора называется замена представляемого им набора на последующий. Аналогично 0-монотонным изменением булева вектора называется замена представляемого им набора на предшествующий;

{ ( Рис. 2. Пример построения схемы по предлагаемому методу

б) элемент схемы будем считать прозрачным для последствий неисправности иеС/, возникшей в другом (предшествующем) элементе или соединительной линии, если 1(0>моногонное изменение входного вектора рассматриваемого элемента либо не проявляется на его выходе, либо приводит к 1(0>моногонному изменению выхода элемента;

в) система функций Р, зависящая от п булевых переменных х„ (х,.....х„=Х), является монотонной, если для любой пары булевых векторов а,,а, длины п, таких что для а, йаг выполняется условие

МР

2, где |3, —/"(а,), Р2—Например, система /•■ задана следующим образом: '/, = л, /г ~ х\х2>

и а1=101001, а2=111101, а,<аг ДсчН^Ю, Дос2>=рг=11,

Р, <р2. Эта система монотонна;

г) рассмотрим подмножество булевых переменных

Пусть аь а2—булевы векторы длины п. Если для любой компоненты /, соответствующей переменной х, из и для любой компоненты у, соответствующей переменной а.у=а.у, то х% >

а, <, а2. Например, X={хь хь ху, л,}, а,=100001,

дг»

с*2=101101, а, йаг.

Система Г частично монотонна относительно подмножества Л* переменных, если для любой пары булевых век-

х•

торов аь а2 таких, что а, < а2, выполняется условие

Яа^аг) (Р^ Рг^аД р2=Л[а2)).). Например, система двух уравнений /, = х, V х3 V х4 V х} V х6 к/2=х^2 является частично монотонной относительно подмножества переменных

Покажем, что неисправности из С/ проявляют себя монотонным образом.

Теорема 1. Неисправность из I/ либо не проявляется на выходах схемы С, либо проявляется на них монотонно.

Доказательство. Рассмотрим функции, сопоставляемые элементам полученной схемы и зависящие от входов элемента. Каждая из функций зависит в общем случае от входных и внутренних переменных схемы. В вышеизложенном методе построения схемы инверторы используются только на внешних полюсах схемы. Это значит, что все функции элементов схемы частично монотонны по внутренним переменным.

Неисправность на полюсе элемента схемы проявляется (при соответствующем входном наборе а, поступающем на схему С) на выходе элемента сменой значений 1 —> 0 или 0 —> 1. Выход элемента сопоставляется внутренней переменной схемы. В силу частичной монотонности всех функций схемы по внутренним переменным смена 1 -> 0 (0 1) распространяется на подмножество элементов, связанных с неисправным, и либо дойдет до выходов схемы, либо «заглохнет», оставив выходы схемы неизменными.

Выделим в схеме С, реализующей/ /, два элемента. Их выходы соответствуют выходам схемы, а входы сопоставляются внутренним и, возможно, некоторым входным переменным схемы. Рассматриваемые элементы реализуют систему функций /',/' от соответствующих переменных, частично монотонную по внутренним переменным. Обозначим ее /•". Система Г' в исправном состоянии реализует на своих выходах значения 10 или 01. Пусть в присутствии неисправности входным пере-

менным системы сопоставляется 1-монотонно измененный вектор р", Р £ Р", где р - вектор, соответствующий входному набору а в исправном состоянии схемы С. Тогда Я(Р) 5 В случае 0-монотонно изме-

ненного вектора Р", (Р"<Р) имеем Г'ф)-

Неисправность либо не проявляется на выходах схемы С, либо проявляется монотонным образом. Теорема доказана.

Методы обеспечения самопроверяемости схемы,

реализующей систему булевых функций

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

Данный подход к обеспечению самопроверяемости схемы легко распространить на случай системы «булевых функций, »заданных ВЕЮ-графом. В этом случае мы можем установить отдельный «двурель-совый» детектор для каждой пары выходов.

Для обеспечения самопроверяемости схемы, реализующей систему булевых функций можно использовать детектор равновесных кодов или кодов Бергера, для чего необходимо, чтобы система булевых функций была задана в интервальной форме. Более того, характеристики интервалов должны быть либо равновесными кодами, либо кодами Бергера соответственно. Это обеспечивается введением дополнительных выходных переменных. ВОЕ)-предстааление системы такого вила не сохраняет интервалов исходной системы. Для рассматриваемого класса неисправностей и комбинационных схем это неважно. Важно, что последующая реализация ВО!> представления обеспечивает монотонный характер проявления рассматриваемых неисправностей. Получив ВОГ)-представление из интервального задания системы булевых функций, необходимо затем удалить в нем фрагменты, связанные с ВИ>реализацией инверсных функций системы. После этого выполняется покрытие графа И, ИЛИ, НЕ элементами так, как это было описано выше, для получения схемы С.

Теорема 2. Неисправности из [/ либо не проявляются на выходах схемы С, либо проявляются на них монотонно.

Доказательство аналогично доказательству теоремы 1 с той лишь разницей, что в заключительной его части в схеме С выделяются элементы, выходы которых являются выходами схемы. Им сопоставляются функции /|'»—»/«»где/и-число выходов схемы С.

Отличие этого метода от предыдущего состоит в отсутствии необходимости реализации инверсий функции. Это достигается иеной введения дополнительных выходных переменных. В зависимости от конкретной системы булевых функций выбирается тот метод обеспечения самопроверяемости, который требует меньших дополнительных аппаратурных затрат. При этом необходимо учитывать как затраты на реализацию самопроверяемой схемы, так и соответствующих детекторов.

ЛИТЕРАТУРА

1. Закревский А.Д., БаяакяейЛ.И., Елисеева НА. идр. Синтез асинхронных автоматов на ЭВМ. Минск: Наука и техника, 1975. 181 с.

2. S. Baranov. Logic synthesis for control automata // Dordrecht; Boston; London: Kluwer academic publishers, 1994.

3. K. Brayton, R. Rudell, A., Sangiovanni-Vincentelli and A.R. Wong. MIS: A multi-level logic optimization program // IEEE Trans. On com-

puter-aided design. Nov. 1987. Vol. 7. P 1062-1081.. 4.1. Levin, M. Karpovsh. On-line self-checking of microprogram control unit // 4* IEEE Intl. On-line testing workshop. Capry, Italy, July 1998. P152-156.

5. A. Yu. Matrosova, SA. Oslanin Self-checking synchronous FSM network design // 4"1 IEEE Intl. On-line testing workshop. Capry, Italy, July 1998. P. 162-166.

6. Астафьев M.B., Левин И., Матросова А.Ю., Синельников В. Синтез самопроверяемых автоматных сетей в базисе ПЛМ // Автомати-

ка и телемеханика (в печати).

7. Агибаяов Г.П., Оранов A.M. Лекции по теории конечных автоматов. Томск: Изд-во ТГУ, 1984. 185 с.

8. £ Randal. Bryant graph-based algorithms for boolean function manipulation // IEEE transactions on computers. August 1986. Vol. C-35, № 8.

9. A. Yu. Matrosova, S. A. Oslanin Self-checking FSM design with observing only FSM outputs // 4lh IEEE Intl. On-line testing workshop. Capry,

Italy, July 1998.

Статья представлена кафедрой программирования факультета прикладной математики и кибернетики Томского государственного университета, поступила в научную редакцию 24 февраля 2000 г.

УДК 519.714

В.А. Беляев

НЕКОТОРЫЕ АЛГОРИТМЫ СТРУКТУРНОЙ ДЕКОМПОЗИЦИИ УПРАВЛЯЮЩИХ СИСТЕМ

Работа выполнена при финансовой поддержке РФФИ, грант К» 98-01-00288

Рассматривается широкий класс задач структурной декомпозиции, возникающих при исследовании управляющих систем. Предлагаются общая математическая модель, метод и эффективная технология решения рассматриваемых задач. При помощи этой технологии разрабатываются практические алгоритмы решения конкретных задач структурной декомпозиции, возникающих при рассмотрении задач анализа и синтеза управляющих систем.

Управляющие системы представляют собой объекты дискретной природы и характеризуются функцией и структурой. Способы задания функциональных харак-.теристик очень многообразны и включают в себя системы уравнений, формулы, микропрограммы и пр. Структура управляющей системы задаётся схемой. Под структурной декомпозицией управляющих систем в данной работе понимается задача декомпозиции соответствующих схем. Задачи структурной декомпозиции возникают при исследовании управляющих систем на стыке логического и конструкторского этапов проектирования, когда требуется распределить заданную схему устройства по конструктивным блокам - интегральным микросхемам, базовым ячейкам или стандартным элементам БИС, а те, в свою очередь, - по печатным платам, базовым кристаллам или матричным БИС в заданном монтажном пространстве с обеспечением конструкторских и технологических ограничений.

Схема [ 1 ] задается тройкой объектов ОС, 2 2о), где X-множество элементов схемы, 2 - множество её цепей и 2ос2- множество её внешних цепей или полюсов. Элемент схемы определяется множеством своих полюсов и весом - некоторой количественной характеристикой сложности элемента. По определению, множества полюсов различных элементов в схеме не пересекаются. Цепь схемы - это подмножество множества полюсов элементов в схеме. Она может дополнительно характеризоваться весом - значением некоторого параметра её физического исполнения (толщины, кратности и т.п.). По определению, различные цепи схемы (элементы множества 7) не пересекаются, и их объединение есть множество всех полюсов элементов схемы. Схема 5={У, Ц и0) называется подсхемой схемы (X, 2 2о), если УсХ, ие I/ тогда и только тогда, когда исг для некоторого и в к входят все полюсы из 2 принадлежащие элементам в У, и ще и0 тогда и только тогда, когда щ£2 или в этом случае говорят, что подсхема 5 порождена подмножест-92

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

вом элементов К. По определению, вес цепи и подсхемы совпадает с весом цепи 1 з и схемы.

Поскольку порождающее подмножество определяет подсхему однозначно, имеется _ возможность там, где это не вызывает двусмысленности, рассматриваемые подсхемы отождествлять с их порождающими подмножествами, говоря, например, «подсхема У» вместо «подсхема (К, Ц Щ». В дальнейшем для упрощения изложения мы будем пользоваться этой возможностью без дополнительных оговорок. Соответственно этому к подсхемам будем применять любые теоретико-множественные операции и отношения.

Задачи декомпозиции схем рассматриваются в следующей постановке. Заданы схема Б={Х, 2, 2о), отношение несовместимости V на множестве X её элементов, тройка положительных чисел >с, <7 и р и система подмножеств из X; требуется раз-

бить 5 на минимальное число подсхем так, что:

a) любые два элемента в каждой подсхеме совместимы;

b) сумма весов элементов каждой подсхемы не превосходит числа н>;

c) сумма весов цепей каждой подсхемы не превосходит числа д;

с1) сумма весов полюсов каждой подсхемы не превосходит числа р\

е) элементный состав каждой подсхемы является подмножеством, содержащимся хотя бы в одном из заданных подмножеств А..,ЛтсЛг.

Здесь и далее элементы схемы называются совместимыми, если они не находятся в заданном отношении V, и подмножество элементов называется множеством совместимости, если все они попарно совместимы. В известном смысле числа и», ц и р ограничивают сложность компоненты искомого разбиения, а ограничение а) означает, что множество элементов каждой такой компоненты должно быть множеством совместимости.

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