5. Kong Z., Bian J., Zhao Y., Deng S. Hierarchical Formal Verification Methodology based on Transactions // Workshop on RTL and High Level Testing. 2009. P. 1—4.
Александр Александрович Антонов
Сергей Вячеславович Быковский
Павел Валерьевич Кустарев
Сведения об авторах
студент; Санкт-Петербургский национальный исследовательский университет информационных технологий, механики и оптики, кафедра вычислительной техники; E-mail: antonov.alex.alex@gmail.com
аспирант; Санкт-Петербургский национальный исследовательский университет информационных технологий, механики и оптики, кафедра вычислительной техники; E-mail: bsv.serg@gmail.com канд. техн. наук, доцент; Санкт-Петербургский национальный исследовательский университет информационных технологий, механики и оптики, кафедра вычислительной техники; E-mail: kustarev@lmt.ifmo.ru
Рекомендована кафедрой вычислительной техники
Поступила в редакцию 23.12.13 г.
УДК 004.896
В. И. Поляков, В. И. Скорубский
ИСПОЛЬЗОВАНИЕ МНОГОЗНАЧНОЙ ЛОГИКИ ПРИ ПРОЕКТИРОВАНИИ ФУНКЦИОНАЛЬНЫХ СХЕМ
Рассмотрены приложения многозначной логики к задачам анализа цифровых схем (в том числе функционального и временного моделирования и тестирования). Рассматриваются особенности применения булевой алгебры к вычислениям над собственными подмножествами.
Ключевые слова: моделирование цифровых схем, временное моделирование, тестирование схем, троичное тестирование.
Введение. Из многочисленных способов кодирования информации особый интерес представляет многозначная (более двух значений переменных) логика как один из опытов расширения границ осознания и формального описания логических связей реального мира. В работе [1] многозначность определена как способ отображения различных смысловых оттенков информации в рассуждениях. Таким образом, возникло направление многозначной логики, в котором работали математики, экономисты, философы, заинтересованные в повышении качества передачи информации в рассуждениях. Многозначные признаки информации — различные уровни дискретности (0, 1, 2) — в измерениях (мало, больше, среднее значение, много), ощущениях и представлениях требуют оценки, распознавания и принятия решений, несмотря на нечеткость значений. Таким образом, многозначная логика приобретает содержание в практических приложениях.
Временное моделирование цифровых схем. В САПР цифровых схем моделирование и тестирование работоспособности — обязательный этап, это единственный доступный при проектировании метод проверки качества синтеза схем с учетом реальных условий их работы.
Применяемые двузначные дискретные сигналы вследствие емкостной нагрузки могут быть представлены как трехзначные или четырехзначные на переходах, когда формируются значения на выходах логических элементов.
Работоспособность цифровых схем в ПЛИС в современных системах проектирования выявляется тестированием.
Языки HDL (Hardware Description Language) проектирования Verilog и VHDL [2] содержат соответствующие средства поддержки временного моделирования и опираются на четырехзначные логические вычисления.
В настоящей работе рассматривается подход к моделированию переходных процессов в цифровых схемах на основе четырехзначной логики.
Значения сигналов могут быть представлены четырьмя знаками {L, H, х/, х\}, где {L, H}= = {0, 1} — постоянные, х/ — положительный фронт, x\ — отрицательный фронт.
Работу элементов с такими сигналами можно описать с помощью таблиц, заменяющих традиционные таблицы истинности (здесь АА — задержка):
A lA
0 1
х/ х\
х\ х/
1 0
A&B 0 х/ х\ 1 AvB 0 х/ х\ 1
0 0 0 0 0 0 0 х/ х\ 0
х/ 0 х/ 0 х/ х/ х/ х/ 1 х/
х\ 0 0 0 х\ х\ х\ 1 х\ х\
1 0 х/ х\ 1 1 1 х/ х\ 1
A®B 0 х/ х\ 1 A AA
0 0 х/ х\ 1 0 0
х/ 0 х/ 0 0 х/ 1
х\ х\ 0 0 0 х\ 0
1 1 х\ х/ 1 1 1
На рис. 1 приведен пример вычислений. Из представленной комбинационной схемы видно, что на входе элемента 1 изменяется сигнал х\=Н/0, на выходе элемента 3 формируется устойчивое значение „0". Набор значений на входе схемы выбирается с учетом задержек сигналов. Промежуточные значения формируются с задержками, и для расчета значений сигналов с учетом задержек на элементах и соединениях при моделировании выбирается такт.
B 1
S х\
U х\
H 0
I
& 2
х\
Q=\B v S) v (U&lH)
Рис. 1
Структурное троичное тестирование цифровых схем. При изготовлении и отладке реальные цифровые схемы необходимо тестировать с целью выявления неисправностей, относящихся к „катастрофическим" — обрыв соединений или короткие замыкания.
При этом следует сформировать смежные тесты, в результате исследования которых при изменении одного из входов изменяется выход схемы. Для известной структурной схемы можно представить это изменение как последовательное переключение входов и выходов элементов (путей) [3—5].
Обозначим значения входной переменной {0, 1, С), где С — изменение переменной 0/1 или 1/0. В результатах контрольного теста обнаруживается неисправность, если значение С должно распространяться до контролируемого выхода схемы. Тестовая последовательность может быть выбрана при моделировании схемы с использованием табличных троичных логических функций путем последовательного подбора значений входов при условии, что выход принимает значение С:
A lA
d d
0 1
1 0
A B AvB A&B l(AvB) A&lB
1 d 1 d 0 d
d 1 1 d 0 0
0 d d 0 d 0
d 0 d 0 d d
1
0
1
0
1
3
На рис. 2 приведен пример выбора одного из наборов теста Q B 1
й.
S 0
и 1
Н й
1
о
1
1 1 &
4 2
0
1
й
0>=\в\/ S) V (и&Н
Рис. 2
Ниже представлена полная таблица наборов теста, полученная от выхода ко входам (сверху вниз).
0 й
В S 1 0 0 1 1 1 1 1
и Н 1 й й 1 1 й й 1
й ^ й 0
В S й 0 0 й й 0 0 й
и Н 0 0 1 0 0 1 0 1
Полный тест, контролирующий все пути схемы, может быть выбран по полученной таблице. Необходимо, чтобы подмножество тестовых наборов покрывало все входы схемы — V (В£иН) = йййй, например:
3
й
Тест В S и Н
1 1 0 1 й
2 1 0 й 1
3 й 0 1 0
4 0 й 1 0
Тестовые последовательности поступают на входы схемы, тест будем считать минимальным, если найдена минимальная последовательность смежных тестов. Существование такого теста можно определить на графе смежности тестовых наборов (наборы смежны, если они различаются только по одной координате й={0, 1}.
Тест В S и Н
4 0 1 1 0
3, 4 0 0 1 0
1, 3 1 0 1 0
1, 2 1 0 1 1
2 1 0 0 1
Граф смежности тестовых наборов представлен на рис. 3.
1010
1000
0000 Рис. 3
0100
0101
Минимальный тест — это последовательность наборов 3 ^ 1 ^ 2 ^ 4 ^ 5. Булева алгебра подмножеств. Сформулируем в виде лемм известный факт из работы [6]. Лемма. Число собственных подмножеств множества М из N элементов, включая пустое множество, равно 2 .
Упорядочим элементы множества М простым перечислением и представим его двоичным вектором В = (¿N-1, • • •, Ъ0) из N бит, где Ъ^ = 1, если /-элемент принадлежит множеству М.
Таким образом, В = 2м-1, и система из всех подмножеств М состоит из 2м элементов, причем каждый элемент подмножества однозначно идентифицируется порядковым номером и каждое подмножество однозначно кодируется двоичным вектором (числом).
Лемма. Алгебра подмножеств с операциями & (поразрядная конъюнкция), V (поразрядная дизъюнкция) и Г (поразрядная инверсия — дополнение до В) является булевой алгеброй, где В = 1 и подмножество пустое.
Доказательством является выполнение законов булевой алгебры, что следует из справедливости этих законов для поразрядных логических операций с двоичными кодами для независимых двоичных разрядов.
Приведем пример вычисления (подмножества М). Вычислим логическое выражение, где В, 8, и, Н — подмножества из множества, содержащего 8 элементов, В = 10000111, 5 = 10100100, и = 10000101, Н = 00100011:
0 =1(ВV 8) V (и&Н) =1(10100111) V (10000100) = = (01011000) V (10000100) = (11011100).
Аналогичным образом может выполняться параллельное трехзначное векторное тестирование схем.
Заключение. Таким образом, многозначное кодирование логики можно использовать при решении практических задач анализа: в частности, при контроле переходных процессов в функциональных схемах и тестировании реальных схем на наличие неисправностей в виде обрывов и коротких замыканий.
Работа выполнена при финансовой поддержке РФФИ (грант 12-07-00376-а).
список литературы
1. Карпенко А. С. Логики Лукасевича и простые числа. М.: Либроком, 2009. 256 с.
2. Harris D. M., Harris S. L. Digital Design and Computer Architecture. Elsevier Inc., 2012. 712 р.
3. Зыков А. Г., Немолочнов О. Ф., Поляков В. И. Построение комплексного покрытия последовательностных схем методом пересечения покрытий систем булевых функций // Научно-технический вестник СПб ГИТМО (ТУ). 2002. Вып. 6. С. 109—112.
4. Зыков А. Г., Немолочнов О. Ф., Поляков В. И. Методы верификации цифровых устройств // Тр. Междунар. науч.-техн. конф. „Интеллектуальные системы" (IEEE AIS'04) и „Интеллектуальные САПР" (CAD-2004). М.: Физматлит, 2004. Т. 2. С. 39—41.
5. Гатчин Ю. А., Зыков А. Г., Поляков В. И., Поляков И. В. Методологическое обеспечение синтеза тестов логических схем // „Информационные технологии в профессиональной деятельности и научной работе": Сб. матер. Всерос. науч.-практ. конф. Йошкар-Ола: Марийский гос. тех. ун-т, 2011. Т. 1. С. 113—119.
6. Курош А.Г. Общая алгебра. М.: Физматлит, 1974. 162 с.
Сведения об авторах
Владимир Иванович Поляков — канд. техн. наук, доцент; Санкт-Петербургский национальный иссле-
довательский университет информационных технологий, механики и оптики, кафедра вычислительной техники; E-mail: v_i_polyakov@mail.ru Владимир Иванович Скорубский — канд. техн. наук, доцент; Санкт-Петербургский национальный исследовательский университет информационных технологий, механики и оптики, кафедра вычислительной техники; E-mail: vlis@km.ru
Рекомендована кафедрой Поступила в редакцию
вычислительной техники 23.12.13 г.