Экспериментальные исследования кодов с суммированием единичных и одного взвешенного разрядов в системах функционального контроля | Вестник Томского государственного университета. Управление, вычислительная техника и информатика. 2018. № 43. DOI: 10.17223/19988605/43/10

Экспериментальные исследования кодов с суммированием единичных и одного взвешенного разрядов в системах функционального контроля

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

Experimental studies of one-bit and one weighted bit sum codes within concurrent error detection systems.pdf В системе функционального контроля (рис. 1) контролируемая логическая схема F(x), имеющая m выходов, снабжается специальной схемой контроля, позволяющей косвенно по результатам анализа значений вычисляемых ею функций определять возникающие в ее структуре неисправности [1, 2]. В составе схемы контроля выделяются блок контрольной логики G(x) и тестер (TSC). Блок G(x) вычисляет значения k контрольных функций, а тестер в процессе эксплуатации системы функционального контроля проверяет соответствие между значениями рабочих и контрольных функций. Как правило, в основе системы функционального контроля лежит заранее выбранный код с небольшой избыточностью, ориентированный на обнаружение ошибок в информационных векторах. Наиболее часто используются коды с суммированием, или (m, ^-коды (m и k - длины информационного и контрольного векторов кода) [3-7]. В этом случае выходам контролируемой схемыfi,f2, •••,fm в соответствие ставится информационный вектор, а выходам блока контрольной логики g1, g2, •.., gk -контрольный вектор. Тестер в системе функционального контроля представляет собой устройство, осуществляющее контроль принадлежности поступающих на его входы кодовых слов заданному (m, ф-коду [8, 9]. Наиболее простым среди всех кодов с суммированием является классический код Бергера, или S(m, kj-код [10]. При его построении подсчитывается количество единичных информационных разрядов (определяется вес информационного вектора), полученная сумма, представленная в двоичном виде, записывается в разряды контрольного вектора. Такие правила построения S(m, ^)-кодов определяют невозможность обнаружения ими любых симметричных ошибок (при таких ошибках одновременно искажается одинаковое количество нулевых и единичных разрядов [11]). К необнаруживаемым d S(m, к)-кодами ошибкам относятся Nd = 2m~d CJ Cd ошибок четной кратностью d, что составляет, например, 50% двукратных и 37,5% четырехкратных ошибок в информационных векторах [12]. Любые другие виды ошибок (монотонные и асимметричные) любых кратностей кодами Бергера обнаруживаются . Рис. 1. Структурная схема системы функционального контроля Недостатком кода Бергера, проявляющимся при организации систем функционального контроля, является то, что с его использованием для данного логического устройства может быть построена только единственная структура системы контроля. Для возможности реализации нескольких вариантов структур систем функционального контроля с возможностью выбора наилучших показателей обнаружения ошибок и структурной избыточности системы правила построения кода модифицируются [13-15]. Одной из перспективных модификаций является построение взвешенного кода с суммированием, в котором m - 1 разряду информационного вектора приписаны единичные весовые коэффициенты, а одному - весовой коэффициент w, ф 1 [16, 17]. Данная работа освещает результаты использования таких кодов в системах функционального контроля контрольных комбинационных логических схем. 1. Коды с суммированием единичных и одного взвешенного разрядов Значения разрядов контрольных векторов WS(m, k, wг■)-кодов (w, - значение веса i-го разряда информационного вектора) определяются по следующим правилам. Алгоритм 1. Вычисление значений разрядов WS(m, k, wг■)-кодов: 1. Среди разрядов информационного вектора выбирается разряд, которому приписывается весовой коэффициент w, ф 1; остальным разрядам приписываются единичные весовые коэффициенты. 2. Для каждого информационного вектора определяется суммарный вес единичных информационных разрядов - число W. 3. Вес W представляется в бинарной форме и записывается в разряды контрольного вектора. Алгоритм 1 иллюстрируется примером построения WS(4, 3, 2)-кода (табл. 1). Данный код с суммированием не обнаруживает 36 ошибок в информационных векторах (24 двукратных симметричных ошибки и 12 трехкратных асимметричных ошибок). Для сравнения, классический S(4, 3)-код не обнаруживает 54 ошибки в информационных векторах (48 двукратных и 6 четырехкратных симметричных ошибок). Таким образом, при взвешивании одного информационного разряда эффективность обнаружения ошибок кодом с суммированием существенно возрастает, в том числе в области малой кратности, что немаловажно для систем функционального контроля. Например, WS(4, 3, 2)-код обнаруживает в два раза большее количество двукратных ошибок, чем S(4, 3)-код. Таблица 1 Кодовые слова WS(4, 3, 2)-кода Информационный вектор Контрольный вектор № f4 f3 f2 f1 W Весовые коэффициенты g3 g2 g1 W4 = 1 W3 = 1 w2 = 1 w1 = 2 0 0 0 0 0 0 0 0 0 1 0 0 0 1 2 0 1 0 2 0 0 1 0 1 0 0 1 3 0 0 1 1 3 0 1 1 4 0 1 0 0 2 0 1 0 5 0 1 0 1 4 1 0 0 6 0 1 1 0 3 0 1 1 7 0 1 1 1 5 1 0 1 8 1 0 0 0 1 0 0 1 9 1 0 0 1 3 0 1 1 10 1 0 1 0 2 0 1 0 11 1 0 1 1 4 1 0 0 12 1 1 0 0 3 0 1 1 13 1 1 0 1 5 1 0 1 14 1 1 1 0 4 1 0 0 15 1 1 1 1 6 1 1 0 Свойства WS(m, к, ^г)-кодов по обнаружению ошибок в информационных векторах достаточно хорошо исследованы с учетом формирования всех возможных информационных векторов для данной их длины. В [18] установлены особенности WS(m, к, 3)-кодов по обнаружению ошибок в информационных векторах, показано, что данный код обладает всеми ключевыми особенностями классических кодов Бергера. Работы [19-21] посвящены изложению результатов исследований WS(m, к, ^г)-кодов с произвольными значениями весового коэффициента. Описываются результаты исследований распределений необнаруживаемых ошибок по кратностям. В [19, 21] детально изучены особенности WS(m, к, ^г)-кодов по обнаружению ошибок различных видов (монотонных, симметричных и асимметричных), что может быть эффективно использовано при синтезе систем функционального контроля. С практической точки зрения для реальных логических устройств особенности применения WS(m, к, ^г)-кодов при организации систем функционального контроля могут быть уточнены. Например, в теоретических исследованиях полагается формирование всех информационных векторов кода и равное количество появлений единичных и нулевых значений для каждого разряда. На практике же все информационные векторы могут не формироваться и, тем более, равномерность появления единичных и нулевых разрядов может быть нарушена. Это, несомненно, влияет на свойства кода по обнаружению ошибок в реальном объекте диагностирования. 2. Экспериментальные исследования взвешенных кодов с суммированием в системах функционального контроля комбинационных логических схем Приведем пример использования WS(m, к, ^г)-кодов при организации контроля контрольной комбинационной схемы «alu2» из набора контрольных примеров LGSynth" 89 Benchmarks, разработанных в Университете Калифорнии для оценки эффективности вновь разрабатываемых методов технической диагностики [22]. Схема «alu2» имеет 10 входов и 6 выходов. В наборе контрольных примеров LGSynth" 89 Benchmarks схемы представлены в том числе в формате *.netblif, который фактически описывает структуру схемы в списочной форме. Каждая строка файла-описания схемы в данном формате содержит информацию о внутреннем логическом элементе: количество аргументов и саму функцию, реализуемую элементом, элементы, с выходами и входами которых связан данный элемент (или же с конкретными входами и выходами самой схемы). Рассматриваемая схема «alu2» содержит 360 внутренних логических элементов. Моделирование одиночных константных неисправностей на выходах внутренних элементов показало, что одиночные константные неисправности на всех входных наборах вызывают на выходах схемы 62 838 искажений с различными кратностями, в том числе 46 424 одиночные ошибки. В табл. 2 представлены характеристики ошибок на выходах схемы «alu2»: количество ошибок данного вида с данной кратностью и общее количество ошибок данной кратностью, а также доли ошибок от общего количества ошибок за вычетом одиночных (такие ошибки идентифицируются (m, к)-кодами). Одиночные неисправности на выходах внутренних логических элементов схемы «alu2» вызывают 16 414 ошибок с кратностями d = 2 ^ 5. При этом 97,8% данных ошибок составляют двукратные и трехкратные ошибки различных видов. Классическими кодами Бергера не будут обнаружены только 100% симметричных ошибок на выходах контролируемой схемы: для «alu2», например, это составит 7 691 двукратную симметричную ошибку (46,86% возможных ошибок). Этот показатель может быть существенно уменьшен за счет использования WS(m, к, ^г)-кода с установленным для взвешивания разрядом и конкретным значением веса. Для реальных схем взвешенным может быть любой из разрядов w,, i е [1; m], что даст возможность построения большого количества систем функционального контроля с различными характеристиками как обнаружения ошибок в контролируемой схеме, так и с различными показателями структурной избыточности. Таблица 2 Характеристики ошибок на выходах контрольной схемы Кратность ошибки 2 3 4 5 Общее количество ошибок данной кратностью 12347 3707 316 44 75,22% 22,58% 1,93% 0,27% Монотонные ошибки 4656 1236 142 2 28,37% 7,53% 0,87% 0,01% Симметричные ошибки 7691 31 46,86% 0,19% Асимметричные ошибки 2471 143 42 15,05% 0,87% 0,26% С точки зрения показателей обнаружения ошибок на выходах контролируемых схем значение весового коэффициента w, может быть выбрано из множества щ е[2;3;...; m] (характеристики кодов со значением w, > m неизменны). Таким образом, один разряд может быть взвешен m - 1 количеством способов, что при взвешивании поочередно каждого из разрядов даст следующее количество кодов: NWS(m,k,w) =(m " 1) m = m2 - m (1) Таким образом, с учетом кода Бергера получаем, что схему с m выходами можно контролировать с использованием следующего количества кодов с суммированием с различными характеристиками обнаружения ошибок: N(m,k) = m2 - m +1. (2) В табл. 3 приводится количество способов выбора кода для контроля схем с различным количеством выходов. Для схемы «alu2», имеющей m = 6 выходов получаем: N(mkу = 62 - 6 +1 = 31 способ построения системы функционального контроля. Таблица 3 Числа N^m в зависимости от значения m m 2 3 4 5 6 7 8 9 10 20 50 100 N(m,k) 3 7 13 21 31 43 57 73 91 381 2451 9901 Для реальных схем, однако, множество кодов, использование которых дает разнообразные характеристики обнаружения ошибок в системах функционального контроля, имеет меньшую мощность, чем рассчитываемое по формуле (2). Это связано с тем, что случай, когда на выходах реальных схем формируются все возможные 2m информационных векторов, является крайне редким. Поэтому при определенных значениях wi для различных разрядов информационного вектора наблюдаются одинаковые распределения необнаруживаемых ошибок по видам и кратностям (табл. 4). Следует отметить, что эксперименты с контрольными комбинационными схемами подтверждают ряд важных свойств WS(m, к, Wi)-кодов по обнаружению ошибок, установленных теоретически. Кроме того, в силу невозможности формирования всех возможных информационных векторов на выходах реальных схем, многие важные свойства WS(m, к, Wi)-кодов обеспечиваются при меньших значениях весового коэффициента, чем установленное «пороговое» значение [21]. Таблица 4 Показатели обнаружения ошибок на выходах контрольной схемы (m, к)-код Количество необнаруживаемых ошибок Доли необнаруживаемых ошибок от общего количества ошибок кратностями d = 2 ^ 5, % Симметричные Асимметричные Симметричные Асимметричные 2 4 3 4 5 2 4 3 4 5 S(m, к) 7 691 31 0 0 0 46,856 0,189 0 0 0 WS(m, к, W1 = 2) 7 621 8 0 0 0 46,43 0,049 0 0 0 WS(m, к, W1 = 3) 7 621 8 0 7 0 46,43 0,049 0 0,043 0 WS(m, к, W1 > 4) 7 621 8 0 0 0 46,43 0,049 0 0 0 WS(m, к, W2 = 2) 2 601 0 2121 0 4 15,846 0 12,922 0 0,024 WS(m, к, W2 = 3) 2 601 0 0 73 0 15,846 0 0 0,445 0 WS(m, к, W2 = 4) 2 601 0 0 0 16 15,846 0 0 0 0,097 WS(m, к, W2 > 5) 2 601 0 0 0 0 15,846 0 0 0 0 WS(m, к, W3 > 2) 7 691 23 0 0 0 46,856 0,14 0 0 0 WS(m, к, W4 = 2) 7 643 20 6 0 0 46,564 0,122 0,037 0 0 WS(m, к, W4 > 3) 7 643 20 0 0 0 46,564 0,122 0 0 0 WS(m, к, W5 = 2) 1 040 0 238 0 4 6,336 0 1,45 0 0,024 WS(m, к, W5 = 3) 1 040 0 0 63 0 6,336 0 0 0,384 0 WS(m, к, W5 = 4) 1 040 0 0 0 22 6,336 0 0 0 0,134 WS(m, к, W5 > 5) 1 040 0 0 0 0 6,336 0 0 0 0 WS(m, к, we = 2) 4 168 11 106 0 0 25,393 0,067 0,646 0 0 WS(m, к, W6 > 3) 4 168 11 0 0 0 25,393 0,067 0 0 0 Ключевыми среди свойств WS(m, к, w^-кодов, учет которых целесообразен при синтезе систем функционального контроля реальных комбинационных схем, являются следующие положения: 1. WS(m, к, Wi)-коды вне зависимости от взвешиваемого разряда в информационном векторе и значения весового коэффициента обнаруживают любые монотонные ошибки в информационных векторах. 2. При определенном значении весового коэффициента вне зависимости от взвешиваемого разряда в информационном векторе WS(m, k, ^г)-коды обнаруживают все асимметричные ошибки в информационных векторах (гарантированно данное свойство обеспечивается при значении w, > m, что объясняется, например, в [19], однако для реальных схем исключение асимметричных ошибок из класса необнаруживаемых может достигаться и при меньших значениях wi). 3. При значении весового коэффициента w > 2 достигается минимум количества необнаружива-емых симметричных ошибок для установленного взвешиваемого разряда информационного вектора, причем для различных взвешиваемых разрядов этот минимум свой. Из табл. 4 следует, что при контроле схемы «alu2» с помощью кода Бергера не будет обнаружено 47,045% ошибок (это 7 691 двукратная симметричная ошибка и 31 четырехкратная симметричная ошибка). С использованием кода с суммированием единичных и одного взвешенного информационного разряда удается уменьшить данный показатель, причем наилучший результат в 6,336% ошибок (l 040 двукратных симметричных ошибок) достигается при выборе любого из WS(m, k, W5 > 5)-кодов. Таким образом, путем взвешивания одного информационного разряда удалось повысить количество обнаруживаемых ошибок в 7,425 раза по сравнению с кодом Бергера. Свойства WS(m, k, wг■)-кодов подтверждаются экспериментами со всеми контрольными комбинационными схемами. Например, в табл. 5 дается сравнение WS(m, k, wг■)-кодов с классическими кодами Бергера по обнаружению ошибок на выходах контрольных комбинационных схем. Для сравнения выбирались коды Бергера и взвешенные коды, обладающие наилучшими характеристиками обнаружения ошибок. Так как минимум общего количества необнаруживаемых ошибок достигается уже при определенном значении веса взвешенного разряда w, < m, в таблице указано, для каких выходов и при каких значениях весового коэффициента получаются лучшие результаты (столбцы «■» и «wi»). Следует отметить, что более чем для половины контрольных комбинационных схем достаточно взвесить один из разрядов значением w = 2 для достижения наилучших характеристик обнаружения ошибок. Таблица 5 Характеристики обнаружения ошибок кодами с суммированием на выходах контрольных комбинационных схем Контрольная схема Количество выходов Количество необнаруживаемых ошибок i wi Общее количество немонотонных ошибок n, % При использовании S(m, k)-кода При использовании лучшего WS(m, k, w,)-кода S(m, k) WS(m, k, w,) cml5la 2 l4 592 0 l, 2 > 2 l4 592 l00 0 cl7 2 2 0 l, 2 > 2 2 l00 0 cm85a 3 l76 48 2 > 2 l76 l00 27,273 cm 82a 3 68 0 2 > 2 68 l00 0 z4ml 4 l28 l6 3 > 2 l60 80 l0 cmb 4 6 0 2 > 2 6 l00 0 bl 4 2 0 2, 3 > 2 2 l00 0 cml62a 5 l 920 0 4 > 2 3 264 58,824 0 cml63a 5 l0 368 256 4 > 3 l7 664 58,696 l,449 alu2 6 7 722 l 040 5 > 5 l0 378 74,407 l0,02l x7 7 l04 0 6 > 4 224 46,429 0 alu4 8 l87 274 97 368 7 > 5 328 263 57,05 29,662 film 8 l23 63 5 > 3 209 58,852 30,l44 pcle 9 l88 4l6 ll3 664 8 > 6 327 l68 57,59 34,742 cm42a 10 8 6 3, 4, ..., 8 > 2 270 2,963 2,222 cu ll 34 048 0 l0, ll > 4 34 048 l00 0 pml 13 27 392 l4 l76 6 > 4 47 6l6 57,527 29,772 Средние значения 73,667 l0,3ll Так как рассматриваемые коды обнаруживают любые монотонные ошибки, целесообразно сравнить их по способности идентификации немонотонных искажений. В последних двух столбцах табл. 5 приводятся значения долей необнаруживаемых ошибок от общего количества немонотонных ошибок на выходах контрольных схем для каждого кода (величины п, %). S(m, ^-кодами не обнаруживается существенная доля немонотонных ошибок: для 7 комбинационных схем данная величина равна 100%, а в среднем для представленной выборки - 73,667%. WS(m, k, wг■)-коды обладают улучшенными характеристиками обнаружения ошибок: для 8 комбинационных схем получено обнаружение любых немонотонных ошибок, а в среднем - снижение доли необнаруживаемых ошибок по сравнению с кодами Бергера до величины 10,311%. На рис. 2 отображаются статистические данные, характеризующие улучшение свойств обнаружения ошибок кодами при взвешивании одного из разрядов по сравнению с кодами Бергера (в %). Практически для всех комбинационных схем получено обнаружение вдвое большего количества ошибок на выходах, чем при использовании кодов Бергера; средний же показатель составил 20,353% (увеличение количества идентифицируемых искажений в пять раз). Полученные результаты говорят о хороших перспективах приложения WS(m, k, w^-кодов в задачах технической диагностики и, прежде всего, в организации систем функционального контроля. При взвешивании одного из разрядов информационного вектора меняются не только характеристики обнаружения ошибок на выходах контролируемой схемы, но и показатели структурной избыточности синтезируемых систем функционального контроля. Рис. 2. Доля необнаруживаемых ошибок на выходах контрольных комбинационных схем лучшими по своим свойствам взвешенными кодами с суммированием от аналогичного показателя для кодов Бергера С использованием специально разработанного комплекса программ по анализу свойств кодов с суммированием в системах функционального контроля были получены файлы-описания блоков основной и контрольной логики, генератора и тестера (см. рис. 1). Данные файлы получаются путем применения правил построения WS(m, k, w^-кодов ко всем информационным векторам, формируемым для рассматриваемой схемы и последующем сохранении соответствующих представлений в *.pla формате. Данный формат фактически содержит таблицы истинности логических устройств и в дальнейшем с целью определения показателей сложности технической реализации обрабатывается с использованием известного интерпретатора SIS [23, 24]. Сложность технической реализации логического устройства в SIS оценивается по показателю площади (в условных единицах) на основании выбранной библиотеки функциональных элементов. В ходе экспериментов была выбрана стандартная библиотека stdcell2_2.genlib. Результаты расчетов сведены в табл. 6. Таблица 6 (m, £)-код lced F (x) SS(ш,к) , % lced SF(x), % ss(m,k), % S(m, k) 17 920 246,696 i00 15 000 206,498 83,705 WS(m, k, wi = 2) 18 408 253,4i4 i02,723 14 088 193,943 78,616 WS(m, k, wi = 3) i9 600 269,824 i09,375 15 440 212,555 86,161 WS(m, k, wi = 4) i9 792 272,467 ii0,446 14 064 193,612 78,482 WS(m, k, wi = 5) 20 064 276,2ii iii,964 15 864 218,392 88,527 WS(m, k, wi = 6) i8 928 260,573 i05,625 14 656 201,762 81,786 WS(m, k, wi = 7) i9 680 270,925 i09,82i 15 944 219,493 88,973 WS(m, k, wi = 8) i6 878 232,35i 94,i85 13 736 189,097 76,652 WS(m, k, w2 = 2) i6 7i2 230,066 93,259 16 032 220,705 89,464 WS(m, k, w2 = 3) 2i 2i6 292,07 118,393 17 424 239,868 97,232 WS(m, k, w2 = 4) 20 392 280,727 113,795 16 736 230,396 93,393 WS(m, k, w2 = 5) 2i 376 294,273 ii9,286 17 288 237,996 96,473 WS(m, k, w2 = 6) 20 728 285,352 115,67 18 168 250,11 101,384 WS(m, k, w2 = 7) 22 288 306,828 124,375 18 960 261,013 105,804 WS(m, k, w2 = 8) 2i 448 295,264 119,688 16 224 223,348 90,536 WS(m, k, w3 = 2) i7 752 244,383 99,063 14 176 195,154 79,107 WS(m, k, w3 = 3) i9 760 272,026 110,268 15 128 208,26 84,42 WS(m, k, w3 = 4) i9 i04 262,996 106,607 15 136 208,37 84,464 WS(m, k, w3 = 5) i9 480 268,i72 108,705 15 880 218,612 88,616 WS(m, k, w3 = 6) i7 896 246,366 99,866 14 208 195,595 79,286 WS(m, k, w3 = 7) i8 488 254,5i5 103,17 14 728 202,753 82,188 WS(m, k, w3 = 8) i9 424 267,40i 108,393 14 424 198,568 80,491 WS(m, k, w4 = 2) i8 456 254,075 102,991 14 864 204,626 82,946 WS(m, k, w4 = 3) i8 904 260,242 105,491 15 200 209,251 84,821 WS(m, k, w4 = 4) i8 272 25i,542 101,964 15 384 211,784 85,848 WS(m, k, w4 = 5) i8 272 25i,542 101,964 16 304 224,449 90,982 WS(m, k, w4 = 6) i8 632 256,498 103,973 15 712 216,3 87,679 WS(m, k, w4 = 7) 20 i20 276,982 112,277 14 768 203,304 82,411 WS(m, k, w4 = 8) i9 760 272,026 110,268 14 184 195,264 79,152 WS(m, k, ws = 2) i9 576 269,493 109,241 15 952 219,604 89,018 WS(m, k, w5 = 3) 22 488 309,58i 125,491 17 944 247,026 100,134 WS(m, k, w5 = 4) 22 632 3ii,564 126,295 17 008 234,141 94,911 WS(m, k, w5 = 5) 22 872 3i4,868 127,634 18 848 259,471 105,179 WS(m, k, w5 = 6) 23 336 32i,256 130,223 18 744 258,04 104,598 WS(m, k, w5 = 7) 2i 944 302,093 122,455 17 856 245,815 99,643 WS(m, k, w5 = 8) 20 640 284,i4i 115,179 15 472 212,996 86,339 WS(m, k, w6 = 2) i8 i68 250,ii 101,384 14 456 199,009 80,67 WS(m, k, w6 = 3) 2i 720 299,009 121,205 15 872 218,502 88,571 WS(m, k, w6 = 4) i7 888 246,256 99,821 14 544 200,22 81,161 WS(m, k, w6 = 5) 20 904 287,775 116,652 15 896 218,833 88,705 WS(m, k, w6 = 6) 20 480 28i,938 114,286 15 496 213,326 86,473 WS(m, k, we = 7) i9 384 266,85 108,17 15 072 207,489 84,107 WS(m, k, w6 = 8) i8 640 256,608 104,018 12 816 176,432 71,518 Для схемы «alu2» были определены площади систем функционального контроля по коду Бергера и различным WS(m, k, ^г)-кодам для двух вариантов технической реализации: 1) с раздельной реализацией блоков основной и контрольной логики (величина LCED); 2) с совместной реализацией блоков основной и контрольной логики (величина L^ED). Кроме этого, были установлены значения показателей структурной избыточности для каждой из указанных реализаций: Sf (,)= -100%, (3) LF (x) Ss(m,k-100%, (4) LS (m,k) SCP (x)= LCED -1000%, (5) LF (x) JC SC(m,k rf^ -100%. (6) LS(m,k) При этом на показатели сложности технической реализации системы функционального контроля, так же как и на характеристики обнаружения ошибок, существенно влияет то, каким будет значение весового коэффициента w, и какой именно разряд информационного вектора будет взвешен. При этом значение w, уже не ограничивается числом w, = m. В [17] показано, что сложность технической реализации генератора WS(m, k, wг)-кода будет наименьшей, если значение весового коэффициента удовлетворяет следующему выражению: W = 2 Г log2 ml _ (7) Это справедливо, поскольку при суммировании значений m - 1 информационного разряда будут заполнены |"log2 (m -1)"| младших разрядов двоичного числа, соответствующего контрольному вектору WS(m, k, wг)-кода, а значение старшего разряда будет определяться значением разряда с приписанным весом согласно формуле (7). Тем не менее в указанном случае количество разрядов в контрольном векторе будет увеличено по сравнению с классическим кодом Бергера, что повлияет на сложность блока G(x) системы функционального контроля и компаратора в составе тестера. Наименьшие значения площадей систем функционального контроля для контрольной схемы «alu2», как следует из табл. 6, получаются при взвешивании разряда весом w, = 2. Взвешенные коды с таким значением веса имеют три контрольных разряда, а остальные коды из представленных в таблице - четыре контрольных разряда. Данное обстоятельство и повлияло на суммарные показатели площадей систем функционального контроля. Тем не менее, как следует из табл. 4, любые WS(m, k, 2)-коды имеют в классе необна-руживаемых большее количество ошибок, чем WS(m, k, w, > 2)-коды (за исключением случая взвешивания разряда w3). Для уменьшения количества необнаруживаемых ошибок потребуется увеличить значение весового коэффициента, что приведет к появлению еще одного контрольного разряда в кодовом слове WS(m, k, wг)-кода. С учетом характеристик обнаружения ошибок взвешенным кодом с суммированием в каждом из семейств кодов с установленным взвешиваемым разрядом должно выбираться и наименьшее значение площади технической реализации. Например, поскольку минимумом общего количества необнаруживаемых ошибок в семействе кодов с взвешенным пятым разрядом информационного вектора обладают все WS(m, k, w5 > 5)-коды, целесообразно выбрать значение весового коэффициента из значений w5 > 5. Минимум площади среди указанных кодов дает использование WS(m, k, w5 = 8)-кода. Построенная система функционального контроля будет иметь площадь, составляющую 115,179% от площади системы контроля по классическому коду Бергера. Другими словами, «новая» система контроля характеризуется усложнением по сравнению со «старой». Но в системе контроля по взвешенному коду с суммированием идентифицируется гораздо большее количество ошибок на выходах контролируемых устройств. Увеличение значения площади следует считать ценной за улучшение характеристик обнаружения ошибок на выходах контролируемых устройств. Следует отметить также возможность дополнительного уменьшения площади при совместной реализации блоков F(x) и G(x) в системе функционального контроля. В этом случае происходит «сжатие» структур за счет использования части подсхем для реализации как основных, так и контрольных функций. При использовании WS(m, k, ws = 8)-кода со сжатием блоков основной и контрольной логики удается достичь уменьшения площади системы функционального контроля до значения 86,339% от площади системы контроля по коду Бергера. Однако в этом случае расчеты относительно количества обнаруживаемых ошибок становятся некорректными, а количество необнаруживаемых ошибок возрастает. Это следует считать ценой за уменьшение площади системы функционального контроля. 3. Алгоритм выбора наилучшего взвешенного кода с суммированием для установленной комбинационной схемы Анализ свойств WS(m, k, wг■)-кодов позволяет указать такую последовательность действий по определению характеристик систем функционального контроля, при которой количество операций разработчика будет минимальной. Алгоритм 2. Правила выбора WS(m, k, wг■)-кода с учетом характеристик получаемых систем функционального контроля: 1. Выходы контрольной схемы объединяются в информационный вектор длиной m. 2. Устанавливаются номер разряда и значение весового коэффициента - числа i и j: i = 1, j = m. 3. Проводится процедура моделирования всех одиночных константных неисправностей в рассматриваемой логической схеме и фиксируются виды и кратности возникающих необнаруживаемых ошибок. 4. Значение j уменьшается на единицу: j = j - 1. s. Повторяются действия п. 3 данного алгоритма. 6. Проверяется следующее условие: есть ли в классе необнаруживаемых асимметричные ошибки? 7. Если условие удовлетворяется, то процесс анализа для данного разряда останавливается и фиксируется число j + 1 (оно характеризует значение веса данного разряда, при котором число необ-наруживаемых ошибок становится наименьшим для всего семейства кодов со взвешиванием данного разряда). В противном случае осуществляется переход к п. 4 данного алгоритма. 8. Выбирается следующий разряд: i = i + 1. 9. Проверяется условие i = m? 10. Среди полученных WS(m, k, w^-кодов с различными взвешенными разрядами и значениями весовых коэффициентов выбираются те коды, которые имеют минимальное количество необнаружи-ваемых ошибок малой кратности. Фиксируются числа wi,mm - значения весовых коэффициентов, при которых достигнуты наилучшие характеристики обнаружения ошибок в схеме. 11. Определяются значения площадей систем функционального контроля для всех WS(m, k, w,)-кодов со значениями весового коэффициента W W,.mm +log2m^}. (8) 12. Определяются значения w,, при которых достигается минимум значения площади. Использование алгоритма 2, например, применительно к выбору WS(m, k, w^-кода для организации контроля рассмотренной выше схемы «alu2» привело бы к следующему результату. Анализировать характеристики обнаружения ошибок S(m, k), WS(m, k, w1 = 2), WS(m, k, w2 = 2), WS(m, k, w2 = 3), WS(m, k, ws = 2) и WS(m, k, ws = 3) кодов не потребовалось бы. Среди оставшихся кодов с суммированием наилучшими характеристиками обнаружения ошибок будут обладать все WS(m, k, ws > 5)-коды. Для данных кодов при значениях w5 = 5 ^ 8 потребовалось бы определить площади систем функционального контроля и выбрать код, дающий минимальную по площади систему функционального контроля. В качестве наилучшего был бы установлен WS(m, к, w5 = 8)-код. Алгоритм 2 ориентирован на получение системы функционального контроля с наилучшими характеристиками обнаружения ошибок в контролируемой логической схеме. При удовлетворении данного критерия осуществляется поиск наилучшего решения по структурной избыточности системы. Заключение Установленные в ходе экспериментов с набором контрольных комбинационных схем новые свойства WS(m, к, wг)-кодов позволяют эффективно использовать их при построении систем функционального контроля. В статье впервые показано, что для реальных логических схем позиция взвешенного разряда в информационном векторе WS(m, к, wг)-кода имеет существенное значение. Минимальное же количество необнаруживаемых ошибок достигается во многих случаях при меньшем значении весового коэффициента для конкретного разряда кода, чем установленное «пороговое» значение wi = m. Остальные же особенности обнаружения различных видов ошибок на выходах контролируемых схем сохраняются. Предложенный алгоритм выбора WS(m, к, wг)-кода для выбранной логической схемы позволяет минимизировать действия разработчика системы функционального контроля. Использование WS(m, к, wг)-кодов при синтезе систем функционального контроля позволяет увеличить количество способов их технической реализации и подобрать ее структуру так, чтобы она удовлетворяла заранее поставленным требованиям по обнаружению ошибок и по структурной избыточности.

Ключевые слова

система функционального контроля, код с суммированием, код Бергера, код с суммированием единичных и одного взвешенного разрядов, контрольная комбинационная схема, обнаружение ошибок, структурная избыточность, concurrent error-detection system, combinational circuit, Berger code, weight-based code, one weighted bit

Авторы

ФИООрганизацияДополнительноE-mail
Ефанов Дмитрий ВикторовичПетербургский государственный университет путей сообщения Императора Александра Iкандидат технических наук, доцент кафедры автоматики и телемеханики на железных дорогахTrES-4b@yandex.ru
Всего: 1

Ссылки

Das D., Touba N.A. Synthesis of Circuits with Low-Cost Concurrent Error Detection Based on Bose-Lin Codes // Journal of Electronic Testing: Theory and Applications. 1999. V. 15, is. 1-2. P. 145-155.
Ефанов Д.В., Сапожников В.В., Сапожников Вл.В. О свойствах кода с суммированием в схемах функционального контроля // Автоматика и телемеханика. 2010. № 6. С. 155-162.
Jha N.K., Vora M.B. A t-Unidirectional Errors-Detecting Systematic Code // Computers & Mathematics with Applications. 1988. Vol. 16, No. 9. P. 705-714.
Lala P.K. Self-Checking and Fault-Tolerant Digital Design. San Francisco : Morgan Kaufmann Publishers, 2001. 216 p.
Berger J.M. A Note on Error Detection Codes for Asymmetric Channels // Information and Control. 1961. Vol. 4, is. 1. P. 68-73.
Piestrak S.J. Design of Self-Testing Checkers for Unidirectional Error Detecting Codes. Wroclaw : Oficyna Wydawnicza Politechniki Wroclavskiej, 1995. 111 p.
Matrosova A., Levin I., Ostanin S.A. Self-Checking Synchronous FSM Network Design with Low Overhead // VLSI Design. 2000. V. 11, is. 1. P. 47-58.
Fujiwara E. Code Design for Dependable Systems: Theory and Practical Applications. John Wiley & Sons, 2006. 720 p.
Das D., Touba N.A. Weight-Based Codes and Their Application to Concurrent Error Detection of Multilevel Circuits // Proceedings of the 17th IEEE VLSI Test Symposium. USA. CA. Dana Point. April 25-29. 1999. P. 370-376.
McCluskey E.J. Logic Design Principles: With Emphasis on Testable Semicustom Circuits. Upper Saddle River, NJ : Prentice Hall PTR, 1986. 549 p.
Согомонян Е.С., Слабаков Е.В. Самопроверяемые устройства и отказоустойчивые системы. М. : Радио и связь, 1989. 208 с.
Mitra S., McCluskey E.J. Which Concurrent Error Detection Scheme to ^oose? // Proceedings of International Test Conference. 03-05 October 2000. Atlantic City, NJ, 2000. P. 985-994.
Nicolaidis M., Zorian Y. On-Line Testing for VLSI - а Compendium of Approaches // Journal of Electronic Testing: Theory and Applications. 1998. №12. P. 7-20.
Das D., Touba N.A., Seuring M., Gossel M. Low Cost Concurrent Error Detection Based on Modulo Weight-Based Codes // Proceedings of IEEE 6th International On-Line Testing Workshop (IOLTW), Spain, Palma de Mallorca, July 3-5, 2000. P. 171-176.
Блюдов А.А., Ефанов Д.В., Сапожников В.В., Сапожников Вл.В. О кодах с суммированием единичных разрядов в системах функционального контроля // Автоматика и телемеханика. 2014. № 8. С. 131-145.
Sapozhnikov V., Sapozhnikov Vl., Efanov D., Nikitin D. Combinational Circuits Checking on the Base of Sum Codes with One Weighted Data Bit // Proceedings of 12th IEEE East-West Design & Test Symposium (EWDTS'2014), Kyev, Ukraine, September 26-29, 2014. P. 126-136.
Сапожников В.В., Сапожников Вл.В., Ефанов Д.В., Никитин Д.А. Исследование свойств кодов с суммированием с одним взвешенным информационным разрядом в системах функционального контроля // Электронное моделирование. 2015. Т. 37, №1. С. 25-48.
Сапожников В.В., Сапожников Вл.В., Ефанов Д.В., Никитин Д.А. Метод построения кода Бергера с повышенной эффективностью обнаружения ошибок в информационных разрядах // Электронное моделирование. 2013. Т. 35, № 4. С. 21-34.
Сапожников В.В., Сапожников Вл.В., Ефанов Д.В. Построение кодов с суммированием с наименьшим количеством необнаруживаемых симметричных ошибок в информационных векторах // Радиоэлектроника и информатика. 2014. № 4. С. 46-55.
Ефанов Д.В. Анализ способов построения кодов с суммированием с улучшенными характеристиками обнаружения симметричных ошибок в информационных векторах // Вестник Томского государственного университета. Управление, вычислительная техника и информатика. 2015. № 4. С. 69-81.
Сапожников В.В., Сапожников Вл.В., Ефанов Д.В. Контроль комбинационных схем на основе кодов с суммированием с одним взвешенным информационным разрядом // Автоматика на транспорте. 2016. Т. 2, № 4. С. 564-597.
Collection of Digital Design Benchmarks. URL: http://ddd.fit.cvut.cz/prj/Benchmarks/
Yang S. Logic Synthesis and Optimization Benchmarks: User Guide: Version 3.0. Microelectronics Center of North Carolina (MCNC), 1991. 88 p.
SIS: A System for Sequential Circuit Synthesis / E.M. Sentovich, K.J. Singh, L. Lavagno, C. Moon, R. Murgai, A. Saldanha, H. Savoj, P.R. Stephan, R.K. Brayton, A. Sangiovanni-Vincentelli // Electronics Research Laboratory, Department of Electrical Engineering and Computer Science, University of California, Berkeley, 4 May 1992. 45 p.
 Экспериментальные исследования кодов с суммированием единичных и одного взвешенного разрядов в системах функционального контроля | Вестник Томского государственного университета. Управление, вычислительная техника и информатика. 2018. № 43. DOI: 10.17223/19988605/43/10

Экспериментальные исследования кодов с суммированием единичных и одного взвешенного разрядов в системах функционального контроля | Вестник Томского государственного университета. Управление, вычислительная техника и информатика. 2018. № 43. DOI: 10.17223/19988605/43/10