ИНФОРМАЦИОННЫЕ ТЕХНОЛОГИИ И СИСТЕМЫ, ВЫЧИСЛИТЕЛЬНАЯ ТЕХНИКА
УДК 004.052.32+681.518.5 DOI: 10.17586/0021-3454-2021-64-9-697-708
СИНТЕЗ СХЕМ ВСТРОЕННОГО КОНТРОЛЯ ДЛЯ КОМБИНАЦИОННЫХ ЦИФРОВЫХ УСТРОЙСТВ ПО МЕТОДУ САМОДВОЙСТВЕННОГО ДОПОЛНЕНИЯ ДО КОДА БЕРГЕРА
Д. В. Ефанов1, В. В. Сапожников2, Вл. В. Сапожников2
1 Санкт-Петербургский политехнический университет Петра Великого, 195251, Санкт-Петербург, Россия
E-mail: [email protected]
2Петербургский государственный университет путей сообщения Императора Александра I,
190031, Санкт-Петербург, Россия
Представлена новая структура для организации самопроверяемого комбинационного устройства со схемой встроенного контроля, реализованной по методу самодвойственного дополнения для кодов с суммированием. В отличие от известных, в предлагаемой структуре использован кодер кода с суммированием, позволяющий уменьшить число контролируемых функций. Рассматриваемый метод является развитием известных методов контроля — самодвойственного паритета и самодвойственного дублирования. В объекте диагностирования не обнаруживаются неисправности, искажающие выходы кодера на прямой и инверсной комбинациях. Вероятность существования таких неисправностей низка, следовательно, можно ожидать резкого увеличения процента покрытия ошибок по сравнению с использованием кода паритета и, вполне вероятно, по сравнению с дублированием при самодвойственном дополнении. Использование метода позволяет синтезировать более простые устройства, чем метод дублирования, а также строить полностью самопроверяемые устройства даже в том случае, когда это невозможно при дублировании. Возможна оптимизация показателей сложности технической реализации схемы встроенного контроля за счет выбора наиболее простых блоков вычисления корректирующих функций из всего их многообразия.
Ключевые слова: самопроверяемая схема встроенного контроля, самодвойственное дополнение, код с суммированием, код Бергера, код Боуза — Лина, самодвойственный паритет, самодвойственное дублирование, самодвойственный контроль по кодам с суммированием, снижение структурной избыточности
Введение. При построении контролепригодных и самопроверяемых цифровых устройств автоматики и вычислительной техники, как правило, используются методы теории информации и кодирования, а также свойства особенных классов функций алгебры логики [1—5]. Это во многих случаях позволяет синтезировать устройства с избыточностью, меньшей, чем при использовании дублирования [6, 7].
Одним из подходов к построению цифровых устройств и систем является реализация систем рабочего (функционального) диагностирования [8, 9]. В распространенной структуре системы рабочего диагностирования некоторое исходное устройство F(x) снабжается схемой встроенного контроля (СВК), которая реализуется, например, на основе кодовых методов,
когда выходы устройства отождествляются с некоторым информационным вектором и дополняются (либо корректируются) до кодового слова заданного кода. В качестве кода используется какой-либо блочный равномерный код: либо неразделимый (равновесный код, код Адамара, код Бордена и др.) [10—13], либо разделимый (код Бергера, модульный код с суммированием, взвешенный код с суммированием и др.) [14—16]. Другим вариантом организации СВК является использование свойств самих функций алгебры логики, описывающих выходы устройств автоматики. Выделяя особые классы функций и контролируя принадлежность вычисляемых функций к конкретному классу, можно контролировать и вычисления в СВК [17, 18]. Можно применять контроль вычислений сразу по нескольким признакам, подобно тому, как это описано в работе [19] при использовании свойств равновесных кодов и самодвойственности представления функций в логическом дополнении.
Данный подход является перспективным. К примеру, известна [20] структура контроля устройств автоматики по методу самодвойственного паритета, когда функция паритета вычисляется по значениям выходных сигналов объекта диагностирования и корректируется с помощью блока дополнения в самодвойственную функцию. Тестируемость неисправностей объектов диагностирования в такой структуре гораздо выше, чем при классическом контроле только по паритету. Этот подход в работе [21] адаптирован к применению структуры самодвойственного дублирования. В такой структуре удается уменьшать сложность технической реализации при высоких показателях тестируемости неисправностей в объекте диагностирования.
Методы паритета и дублирования являются противоположными по избыточности. В первом варианте используется всего одна контрольная функция и, фактически, код паритета. Во втором варианте применяется такое же число контрольных функций, как и число выходов объекта диагностирования, что соответствует применению одного из кодов с повторением (кода с простым повторением либо корреляционного кода). При синтезе СВК для снижения вносимой структурной избыточности эффективно применяются коды с числом контрольных разрядов, меньшим, чем при использовании кодов с повторением. Для обнаружения ошибок в вычислениях могут применяться классические коды с суммированием и их модификации. Обозначим код с суммированием как (т,к)-код, где т и к — число информационных и контрольных разрядов.
Известно большое число (т,к)-кодов, наиболее популярным из которых является классический код Бергера, впервые описанный в [14]. Некоторые из его модификаций, например, полученные при вычислении суммарного веса информационного вектора в кольце вычетов по заданному модулю [22], также часто применяются при построении контроле-пригодных и самопроверяемых цифровых вычислительных устройств и систем. Рассмотрим особенности организации СВК при использовании самодвойственного дополнения до кодов с суммированием.
Структура организации СВК по методу самодвойственного дополнения до кода с суммированием. В классической структуре организации СВК для комбинационного логического устройства F(x), приведенной на рис. 1, используются три функциональных блока: G(x), G(/) и TRC. Блок G(x) представляет собой блок дополнительной (контрольной) логики, формирующий по значениям входных воздействий х1, х2, ..., х( контрольный вектор <ё'к §'к-1 . • • g2 ^'1>, принадлежащий заранее выбранному (т,к)-коду. Блок G(/) выполняет аналогичную функцию, однако позволяет получать контрольный вектор <^к gk-1 ... g2 g1>, принадлежащий заранее выбранному (т,к)-коду, по значениям рабочих функций/1,/2, ...,/т, вычисляемых блоком F(x). Блок TRC представляет собой стандартный компаратор, сравнивающий одноименные сигналы, поступающие с выходов блоков G(x) и G(/). Компаратор, как правило, реализуется в парафазной логике, что требует предварительного инвертирования сигналов, поступающих с выходов одного из блоков G(x) или G(/): gi = g'i, г = 1,к. Компаратор реализуется на основе стандартных модулей сжатия парафазных сигналов
(two-rail checkers [23, 24]) и снабжается двумя выходами z0 и z1, которые являются контрольными выходами СВК. Наличие парафазного сигнала <z0z1> = <01> или <z0z1> = <10> свидетельствует об исправной работе устройства F(x) и СВК, а нарушение парафазности — о наличии ошибок в вычислениях, произведенных одним из блоков. Следует отметить, что устройства G(f) и TRC на практике часто объединяются в один блок, называемый тестером выбранного (т,£)-кода [25—27].
Рабочие выходы Л
f1 f2" fm-1 fm
Рис. 1
Структура, приведенная на рис. 1, должна быть реализована как самопроверяемая относительно заданной модели неисправности. Для этого блок ^(х) должен быть проверяемым, т. е. любая неисправность из заданного множества должна проявляться на его выходах в виде искажений хотя бы на одной входной комбинации, а также СВК должна быть полностью самопроверяемой [8]. Это требует, чтобы ни одна из рассматриваемых неисправностей не приводила к установлению на выходах г0 и г1 рабочих значений, соответствующих иным режимам работы устройства, а также могла бы проявляться на выходах г и г1 в виде защищенной комбинации <г0г1> = <оо> или <г0г1> = <ц> хотя бы на одной из подаваемых на входы комбинаций.
Ошибка на выходах блока F(x), являющаяся следствием неисправности в его внутренней структуре, может иметь различную кратность ё е{1,2,...,т] и в зависимости от выбранного на этапе проектирования СВК (да,£)-кода оказаться обнаруживаемой или необна-руживаемой. Таким образом, характеристики обнаружения ошибок в информационных векторах (да,£)-кодов определяют и особенности организации СВК с обнаружением любых ошибок на выходах объекта диагностирования ^(х) [13]. К примеру, часто используется подход, связанный с выделением групп независимых и монотонно независимых групп выходов устройства ^(х) с последующим контролем каждой такой группы по коду паритета либо по классическому коду Бергера соответственно [2]. Альтернативой является реконфигурация структуры устройства ^(х) в структуру с независимыми либо монотонно независимыми выходами [28—31].
Недостаток классической структуры (см. рис. 1) заключается в том, что блок О(х) имеет единственную реализацию для выбранного (да,£)-кода, а значит, его сложность в существенной мере определяет и сложность СВК и, в конечном счете, структурную избыточность всей системы в целом. Для уменьшения сложности блока О(х) может быть использован
альтернативный метод, являющийся, по сути, развитием метода самодвойственного паритета, предложенного в [20].
СВК реализуется по похожему принципу, однако в ней выделяются четыре функциональных блока (рис. 2): А(х), G(f), каскад двухвходовых сумматоров по модулю два (элементов XOR) и SSC (self-dual self-checking checker). Блок G(f) выполняет ту же функцию, что и аналогичный блок в классической структуре (см. рис. 1), и является преобразователем информационного кодового вектора <fm fm-1 ... f2fi> в контрольный кодовый вектор <gk gk-1 ... g2 g1> (т,к)-кода. Значения разрядов контрольного вектора подаются на первые входы элементов XOR. На вторые входы этих элементов подаются сигналы 8j, i = 1, k , вычисляемые блоком дополнения А(х) и предназначенные для коррекции
значений функций gt, i = 1, k . Коррекция осуществляется таким образом, чтобы функции hi, i = 1, k , вычисляемые на выходах каскада сумматоров по модулю два, являлись самодвойственными. Самодвойственность функций контролируется с помощью самопроверяемого альтернативного тестера самодвойственности [20]. Так как количество само-
2t-1
двойственных функций велико и определяется величиной 2 , то и число реализаций блока А(х) оказывается значительным, поэтому из этого числа может быть выбран блок А(х) с наименьшей сложностью. Особенности реализации самодвойственных комбинационных устройств приведены в монографии [18].
Рабочие выходы
Рис. 2
Таким образом, блок G(x) в классической структуре СВК (см. рис. 1) заменен в структуре, приведенной на рис. 2, на блок Л(х), сложность которого может оказаться существенно ниже. В то же время тестируемость структуры ухудшается.
Рассмотрим, как меняется сложность технической реализации и тестируемость структуры при контроле устройств на основе кодов с суммированием.
Самодвойственное дополнение до кода Бергера. Рассмотрим пример реализации СВК по описанному методу для классического кода Бергера, или £(да,£)-кода [14]. На рис. 3 представлено устройство ,Р(х) с пятью выходами и схема для его контроля в соответствии с предлагаемой структурой. Работа устройства и его СВК определяются таблицей.
I *4-
I
Д(х)---------------'
Рис. 3
Кодер Gf) имеет три выхода gi, g2, g3, на которых формируется двоичное число, равное числу нулевых разрядов в информационном векторе, поступающем на его входы (именно такой способ построения кода описан в оригинальной работе [14]). Для получения значений 5-функций использовался известный метод (см. теорему 1 из [32]).
Определим сложность реализации блоков представленной на рис. 1 структуры. Будем использовать показатель сложности — число входов логических элементов без учета инверсий на них (данный показатель пропорционален числу транзисторов в логических элементах) [33]. Суммарная сложность блока F(x) составляет LF(x)=42, сложность кодера G(f) — LG(f)=15, сложность блока Д(х) — ЬД<Х)=9. Таким образом, суммарная сложность кодера и блока реализации 5-функций составляет 57,1 % от сложности основного блока F(x).
Рассмотрим особенности обнаружения неисправностей в блоке F(x) с использованием СВК, реализованной по методу логического дополнения по коду Бергера.
Таблица
N х1 х2 х3 х4 /1 /2 /3 ./4 /5 #1 £2 £3 51 ¿1 52 Й2 53 Й3
0 0 0 0 0 0 1 1 0 1 0 1 0 0 0 0 1 0 0
1 0 0 0 1 1 1 0 1 0 0 1 0 0 0 0 1 0 0
2 0 0 1 0 0 1 1 1 0 0 1 0 0 0 0 1 0 0
3 0 0 1 1 0 1 1 1 0 0 1 0 0 0 0 1 0 0
4 0 1 0 0 0 0 1 0 1 0 1 1 0 0 0 1 0 1
5 0 1 0 1 1 0 0 1 1 0 1 0 0 0 0 1 0 0
6 0 1 1 0 1 0 1 0 1 0 1 0 0 0 0 1 0 0
7 0 1 1 1 1 0 0 0 1 0 1 1 0 0 0 1 1 0
8 1 0 0 0 0 0 1 0 1 0 1 1 1 1 1 0 0 1
9 1 0 0 1 0 1 0 1 0 0 1 1 1 1 1 0 0 1
10 1 0 1 0 0 1 0 1 0 0 1 1 1 1 1 0 0 1
11 1 0 1 1 1 0 0 0 0 1 0 0 1 0 0 0 0
12 1 1 0 0 0 0 1 0 1 0 1 1 1 1 1 0 0 1
13 1 1 0 1 0 1 0 1 0 0 1 1 1 1 1 0 0 1
14 1 1 1 0 0 1 0 1 0 0 1 1 1 1 1 0 0 1
15 1 1 1 1 1 0 0 0 0 1 0 0 0 1 0 0 1 1
Примечание. N — десятичный номер входной комбинации.
При использовании СВК, реализуемой по методу самодвойственного паритета [20] и по методу самодвойственного дублирования [21], не обнаруживаются неисправности, которые
приводят к возникновению сигнала пары (X, X | на выходе на обеих входных комбинациях.
Рассмотрим пример такой неисправности в устройстве F(x), показанном на рис. 3.
Напомним, что структуры при самодвойственной реализации работают в импульсном режиме, для чего требуется подача на входы схемы альтернативного сигнала а (рис. 4). Сигналы 0 и 1 представляются в виде последовательности импульсов: 0101... и 1010... [32].
Входы
Рис. 4
Рабочие выходы
Контрольные выходы
121212121212
х / а
I I I I I 0|
1111 I I
1
1-1-
I I
1-1-
¡0''0''0'Ы Ы и I
Пусть в устройстве F(x) существует неисправность, которая искажает значение сигнала /1 на обеих комбинациях пары (0000, 1111). Примером является двойная неисправность: константа 1 нижнего входа элемента G1 и константа 0 нижнего входа элемента G2. На рис. 5 приведена временная диаграмма работы устройства.
На паре входных комбинаций (0000, 1111) исправного (рис. 5, а) и неисправного (рис. 5, б) устройств ^(х) при рассматриваемой двойной неисправности возникает искажение сигнала /1. При этом изменяется сумма нулей на выходах/1,/2, ...,/5, а следовательно, изменяются и сигналы g1, g2, g3, что нарушает самодвойственность сигнала И2, и неисправность обнаруживается.
Подобная неисправность в блоке ^(х) может привести к искажению выходного сигнала gi кодера на обеих комбинациях пары (X, X|. Пусть неисправность в блоке ^(х) искажает
значение сигнала /1 на обеих комбинациях пары (0001, 1110). При подаче пары входных комбинаций (1, 14) = (0001, 1110) исправного и неисправного устройств ^(х) искажение сигнала /1 вызывает искажения сигналов g1, g2, gз со значений (010, 101) на значения (011, 010). Таким образом, на выходе g3 сигнал искажается на обеих входных комбинациях пары и сигнал И3 сохраняет свою самодвойственность, меняясь с 0 на 1. Неисправность в этом случае не обнаруживается.
а
х
а)
0, 15 0, 15 1, 14 1, 14 0, 15 0, 15 121212121212
б)
Ошибка
0, 15 0, 15 1, 14 1, 14 0, 15 0, 15
Ошибка
ЯК
га т
J_I_1_
а |_
' 1|И
/2 _
/з ЯК 0 ! ¡0 !
/4 ' /5
81
82 8з §1
§2
§3
п-1
к
0 ,_ 0
пп и
1 I 11
0 I 10
14Ч41Г ги
11 I
.ги
ги
11 1
ги
0 I 101
Я^
,0ЯН
V
—I—I—I—I— 0 I 10 I 10 1111
0 I |0|
0 I 10 I 10I 10 1 10I 101
!_П_П_ГШ-ГШ
0 [ ¡0 [ ¡0 '_' 0 '_I 0 [ ■ 0 >
_I_I_I_I_I I_I I_■_■_
т
И0Н
0 I I 0 I
I I I
1№юг№
/4 /5
81
82
83 §1
§2 ¿2 §3
Из
0 I I 0 I 10 1 10 1 10 I _
ГШ_ГШ
0 ! ! 0 ! ! 0 '_¡0!_¡0 I '0 I
III! ГШ ! ! !
Ш5ЯЯЯЯ
¡0!_¡0!_¡0! ¡0! ¡0 !_.0
п п п Г
0, ,0, И
Обнаружи-. Не обнаружи- Не обнаруживается вается вается
Рис. 5
Итак, в блоке Е(х) не обнаруживаются неисправности, которые могут привести к искажению выходных сигналов кодера на прямой и инверсной комбинациях. Вероятность существования таких неисправностей низка, следовательно, можно ожидать резкого увеличения процента покрытия ошибок по сравнению с использованием кода паритета и, вполне вероятно, по сравнению с дублированием при самодвойственном дополнении.
Рассмотрим теперь пример неисправности, которая не обнаруживается в структуре, приведенной на рис. 2. Пусть существует двойная неисправность: константа 1 нижнего входа элемента G1 и константа 1 нижнего входа элемента G3. Заключительные два такта (см. рис. 5) моделируют работу на паре комбинаций (0000, 1111) исправного и неисправного устройств F(x). Как видно из диаграммы, на входной комбинации 0000 происходит разнонаправленное искажение сигналов на выходах/1 (0^1) и/2 (1^0), которое кодом Бергера не обнаруживается. На наборе 1111 искажение сигналов/1,/2, ...,/ не происходит. Поэтому данная неисправность не обнаруживается на выходах И1, И2, И3.
Самодвойственное дополнение до кода Боуза — Лина. Сложность технической реализации структуры, приведенной на рис. 2, можно уменьшить за счет использования не классических £(да,к)-кодов, а кодов с суммированием в кольце вычетов по модулю М Например, эффективным является использование модульных кодов с суммированием со значениями М=4 и М=8 (кодов Боуза — Лина [22, 26]). Обозначим модульные коды с суммированием как £М(да,к)-коды.
0
1
1
0
0
0
0
0
0
0
И
3
В [13] доказано, что £М(т,£)-коды, так же как и классические коды Бергера, не обнаруживают все разнонаправленные ошибки четной кратностью, содержащие группы искажений {0—> 1, 1—»0} (симметричные ошибки в информационных векторах). Кроме того, ими не обнаруживаются все однонаправленные (монотонные) ошибки в информационном векторе кратностью ё = ]М, у = 1, 2,..., |т/М], а также все разнонаправленные ошибки с нарушением четности числа искажений 0 и 1 (асимметричные ошибки) кратностью ё = уМ + 2, у = 1,2,..., |_т/МJ. Таким образом, £М(т,£)-коды могут использоваться как альтернатива
классическим кодам Бергера с учетом некоторых ограничений. К примеру, модульный код можно применять при условии возникновения монотонных ошибок кратностью ё>М и асимметричных ошибок кратностью ё>М+2. Для устройства ^(х) (см. рис. 3) в качестве модульного кода с суммированием может быть взят £4(5,2)-код, обнаруживающий любые монотонные ошибки кратностью ёфА и любые асимметричные ошибки. Структура устройства ^(х) такова, что возникновение ошибок данного вида такой кратностью в выходном векторе невозможно. Это означает, что без потери свойства обнаружения ошибок можно еще более существенно снизить сложность технической реализации структуры (см. рис. 2).
Реализация самодвойственного дополнения по коду Боуза — Лина с М=4 для устройства с т=5 выходами представлена на рис. 6. Для организации контроля по £4(5,2)-коду требуется из схемы СВК, приведенной на рис. 3, удалить элементы реализации функций g3 и 53.
О
I
х3~0
I
Х4-§
Х"
х4
&
ХТЧ_
&
Х4
Г**—
&
х1_ Х_
Х4
&
О
&
. I /4' П /5
I У
&
Х1
&
Х3
&
Х1
&
I I
>Х)
Г—
I
I Х'
Х1-Т
хП Х4-
А(х)"
1
ХГ
&
-Е
г2_
£
/3
/4
/5
&
&
о/ г
¿3-
М
SSC
"^Контрольные Увыходы
Рис. 6
К
1
Х
1
х
1
1
1
1
Н
2
Сложность кодера G(f) для кода Боуза — Лина с M=4 составляет Lg(/)=3, а сложность блока Д(х) — La(x)=6. Таким образом, суммарная сложность кодера и блока реализации 5-функций составляет 21,4 % от сложности основного блока F(x), что более чем в два раза эффективнее по данному показателю, чем при использовании классического кода Бергера.
Заключение. Использование предложенной в статье структуры самодвойственного дополнения для кодов с суммированием позволяет синтезировать более простые самопроверяемые комбинационные устройства автоматики и вычислительной техники, чем при известных методах дублирования и реализации классической структуры СВК по блочным равномерным кодам. При этом может быть подобран такой способ вычисления 5-функций, который позволит синтезировать блок дополнительной логики Д(х) с минимальной сложностью технической реализации, что на практике может дать существенный эффект.
Вместо классического кода Бергера в предложенной структуре могут быть использованы другие разделимые коды, в том числе его простейшие модификации, имеющие аналогичные свойства обнаружения ошибок в информационных векторах. К таковым, например, относятся модульные и модифицированные коды с суммированием единичных информационных разрядов [13].
Недостатком предложенной структуры следует признать сниженное относительно классической структуры СВК быстродействие вследствие использования импульсного режима работы (структура работает примерно вдвое медленнее). Также недостаточно изучен вопрос тестируемости ошибок в структурах с самодвойственным дополнением по сравнению с применением при их синтезе классических кодовых методов.
Самодвойственное дополнение до кодов с суммированием представляет собой перспективный подход к синтезу контролепригодных и самопроверяемых цифровых вычислительных устройств и систем.
СПИСОК ЛИТЕРАТУРЫ
1. Поспелов Д. А. Логические методы анализа и синтеза схем. М.: Энергия, 1974. 368 с.
2. Согомонян Е. С., Слабаков Е. В. Самопроверяемые устройства и отказоустойчивые системы. М.: Радио и связь, 1989. 208 с.
3. Abramovici M., Breuer M. A., Friedman A. D. Digital System Testing and Testable Design. New Jersey: IEEE Press, 1998. 652 p.
4. Lala P. K. Self-Checking and Fault-Tolerant Digital Design. San Francisco: Morgan Kaufmann Publ., 2001. 216 p.
5. Fujiwara E. Code Design for Dependable Systems: Theory and Practical Applications. John Wiley & Sons, 2006. 720 p.
6. Nicolaidis M., Zorian Y. On-Line Testing for VLSI - А compendium of approaches // J. of Electronic Testing: Theory and Application. 1998. Vol. 12, iss. 1—2. P. 7—20. DOI: 10.1023/A:1008244815697.
7. Mitra S., McCluskey E. J. Which concurrent error detection scheme to ^oose? // Proc. of the Intern. Test Conf., Atlantic City, NJ, USA, 03—05 Oct. 2000. P. 985—994. DOI: 10.1109/TEST.2000.894311.
8. Пархоменко П. П., Согомонян Е. С. Основы технической диагностики (оптимизация алгоритмов диагностирования, аппаратурные средства). М.: Энергоатомиздат, 1981. 320 с.
9. Дрозд А. В., Харченко В. С., Антощук С. Г., Дрозд Ю. В., Дрозд М. А., Сулима Ю. Ю. Рабочее диагностирование безопасных информационно-управляющих систем. Харьков: Нац. аэрокосм. ун-т им. Н. Е. Жуковского „ХАИ", 2012. 614 с.
10. Кодирование информации (двоичные коды) / Н. Т. Березюк, А. Г. Андрущенко, С. С. Мощицкий, В. И. Глушков, М. М. Бенеша, В. А. Гаврилов. Харьков: Вища школа, 1978. 252 с.
11. Borden J. M. Optimal asymmetric error detecting codes // Information and Control. 1982. Vol. 53, iss. 1—2. P. 66—73. DOI: 10.1016/S0019-9958(82)91125-1.
12. Freiman C. V. Optimal error detection codes for completely asymmetric binary channels // Information and Control. 1962. Vol. 5, iss. 1. P. 64—71. DOI: 10.1016/S0019-9958(62)90223-1.
13. Сапожников В. В., Сапожников Вл. В., Ефанов Д. В. Коды с суммированием для систем технического диагностирования. Т. 1. Классические коды Бергера и их модификации. М.: Наука, 2020. 383 с.
14. Berger J. M. A note on error detection codes for asymmetric channels // Information and Control. 1961. Vol. 4, iss. 1. P. 68—73. DOI: 10.1016/S0019-9958(61)80037-5.
15. Das D., Touba N. A. Weight-based codes and their application to concurrent error detection of multilevel circuits // Proc. of the 17th IEEE VLSI Test Symp., Dana Point, CA, USA, Apr. 25—29, 1999. P. 370—376.
16. Сапожников В. В., Сапожников Вл. В., Ефанов Д. В. Коды с суммированием для систем технического диагностирования. Т. 2. Взвешенные коды с суммированием. М.: Наука, 2021. 456 с.
17. Reynolds D. A., Meize G. Fault detection capabilities of alternating logic // IEEE Trans. on Computers. 1978. Vol. C-27, iss. 12. P. 1093—1098.
18. Сапожников В. В., Сапожников Вл. В., Гессель М. Самодвойственные дискретные устройства. СПб: Энергоатомиздат, 2001. 331 с.
19. Efanov D., Sapozhnikov V., Sapozhnikov Vl., Osadchy G., Pivovarov D. Self-dual complement method up to constant-weight codes for arrangement of combinational logical circuits concurrent error-detection systems // Proc. of the 17th IEEE East-West Design & Test Symp. (EWDTS'2019), Batumi, Georgia, Sept. 13—16, 2019. P. 136—143. DOI: 10.1109/EWDTS.2019.8884398.
20. Saposhnikov Vl. V., Dmitriev A., Goessel M., Saposhnikov V. V. Self-dual parity checking - a new method for on line testing // Proc. of the 14th IEEE VLSI Test Symp., Princeton, USA, 1996. P. 162—168.
21. Saposhnikov Vl. V., Saposhnikov V. V., Dmitriev A., Goessel M. Self-dual duplication for error detection // Proc. of the 7th Asian Test Symp., Singapore, 1998. P. 296—300.
22. Das D., Touba N. A. Synthesis of circuits with low-cost concurrent error detection based on Bose-Lin codes // J. of Electronic Testing: Theory and Applications. 1999. Vol. 15, iss. 1—2. P. 145—155. DOI: 10.1023/A:1008344603814.
23. Pat. 747533 United States. Self-Checking Error Checker for Two-Rail Coded Data / W. C. Carter, K. A. Duke, P. R. Schneider. 1971.
24. Nikolos D. Self-testing embedded two-rail checkers // On-Line Testing for VLSI. 1998. Ch. 7 P. 69—79. DOI: 10.1007/978-1-4757-60-69-9_7.
25. Jha N. K. Totally self-checking checker designs for Bose-Lin, Bose and Blaum codes // IEEE Trans. on Computer-Aided Design. 1991. Vol. 10, iss. 1. Р. 136—143. DOI: 10.1109/43.62799.
26. Piestrak S. J. Design of Self-Testing Checkers for Unidirectional Error Detecting Codes. Wroclaw: Oficyna Wydawnicza Politechniki Wroclavskiej, 1995. 111 p.
27. Nikolos D., Kavousianos X. Modular TSC checkers for Bose-Lin and Bose codes // Proc. of the 17th IEEE VLSI Test Symp., Dana Point, USA, Apr. 25—29, 1999. P. 354—360.
28. Busaba F. Y., Lala P. K. Self-checking combinational circuit design for single and unidirectional multibit errors // J. of Electronic Testing: Theory and Applications. 1994. Vol. 5, iss. 5. P. 19—28. DOI: 10.1007 / BF00971960.
29. Morosow A., Saposhnikov V.V., Saposhnikov Vl. V., Goessel M. Self-checking combinational circuits with unidirectionally independent outputs // VLSI Design. 1998. Vol. 5, iss. 4. P. 333—345. DOI: 10.1155/1998/20389.
30. Matrosova A. Yu., Levin I., Ostanin S. A. Self-checking synchronous FSM network design with low overhead // VLSI Design. 2000. Vol. 11, iss. 1. P. 47—58. DOI: 10.1155/2000/46578.
31. Goessel M., Ocheretny V., Sogomonyan E., Marienfeld D. New Methods of Concurrent Checking. Dordrecht: Springer Science+Business Media B.V., 2008. 184 p.
32. Гессель М., Дмитриев А. В., Сапожников В. В., Сапожников Вл. В. Самотестируемая структура для функционального обнаружения отказов в комбинационных схемах // Автоматика и телемеханика. 1999. № 11. С. 162—174.
33. Сапожников В. В., Сапожников Вл. В. Самопроверяемые дискретные устройства. СПб: Энергоатомиздат, 1992. 224 с.
Сведения об авторах
д-р техн. наук, доцент; Санкт-Петербургский политехнический университет Петра Великого; Высшая школа транспорта Института машиностроения, материалов и транспорта; профессор; E-mail: [email protected]
д-р техн. наук, профессор; Петербургский государственный университет путей сообщения Императора Александра I, кафедра автоматики и телемеханики на железных дорогах; E-mail: [email protected]
д-р техн. наук, профессор; Петербургский государственный университет путей сообщения Императора Александра I, кафедра автоматики и телемеханики на железных дорогах; E-mail: [email protected]
Поступила в редакцию 17.05.2021 г.
Ссылка для цитирования: Ефанов Д. В., Сапожников В. В., Сапожников Вл. В. Синтез схем встроенного контроля для комбинационных цифровых устройств по методу самодвойственного дополнения до кода Бергера // Изв. вузов. Приборостроение. 2021. Т. 64, № 9. С. 697—708.
Дмитрий Викторович Ефанов
Валерий Владимирович Сапожников
Владимир Владимирович Сапожников —
SYNTHESIS OF BUILT-IN CONTROL CIRCUITS FOR COMBINATIONAL DIGITAL DEVICES BY THE METHOD OF SELF-DUAL COMPLEMENT TO THE BERGER CODE
D. V. Efanov1, V. V. Sapozhnikov2, Vl. V. Sapozhnikov2
1Peter the Great St. Petersburg Polytechnic University, 195251, St. Petersburg, Russia
E-mail: [email protected] 2Emperor Alexander I St. Petersburg State Transport University, 190031, St. Petersburg, Russia
A new structure is presented for a self-checking combinational device with a built-in control circuit implemented according to self-dual complement method for summation codes. In contrast to the known ones, the proposed structure uses a summation code encoder, which makes it possible to reduce the number of controlled functions. The considered method is a development of the known control methods -self-dual parity and self-dual duplication. No malfunctions that distort the outputs of the encoder on direct and inverse combinations are found in the object of diagnostics. The probability of the existence of such faults is low, and therefore a sharp increase in the percentage of error coverage can be expected compared to using the parity code and, quite possibly, compared to duplication with self-dual complement. The use of the method makes it possible to synthesize simpler devices than with the duplication method, as well as to build completely self-checking devices, even in the case when this is impossible during duplication. It is possible to optimize indicators of the technical implementation of the built-in control scheme complexity by choosing the simplest blocks for calculating correcting functions from their entire variety.
Keywords: self-checking embedded control circuit, self-dual complement, summation code, Berger code, Bose-Lin code, self-dual parity, self-dual duplication, self-dual control over codes with summation, structural redundancy reduction
REFERENCES
1. Pospelov D.A. Logicheskiye metody analiza i sinteza skhem (Logical Methods of Analysis and Synthesis of Circuits), Moscow, 1974, 368 p. (in Russ.)
2. Sogomonyan E.S., Slabakov E.V. Samoproveryaemye ustroystva i otkazoustoychivye sistemy (The Self-Checked Devices and Failure-Safe Systems), Moscow, 1989, 208 p. (in Russ.)
3. Abramovici M., Breuer M.A., Friedman A.D. Digital System Testing and Testable Design, New Jersey, IEEE Press, 1998, 652 p.
4. Lala P.K. Self-Checking and Fault-Tolerant Digital Design, San Francisco, Morgan Kaufmann Publishers, 2001, 216 p.
5. Fujiwara E. Code Design for Dependable Systems: Theory and Practical Applications, John Wiley & Sons, 2006, 720 p.
6. Nicolaidis M., Zorian Y. Journal of Electronic Testing: Theory and Application, 1998, no. 1-2(12), pp. 7-20, DOI: 10.1023/A:1008244815697.
7. Mitra S., McCluskey E.J. Proceedings of International Test Conference, 2000, USA, Atlantic City, NJ, 03-05 October 2000, pp. 985-994, DOI: 10.1109/TEST.2000.894311.
8. Parkhomenko P.P., Sogomonyan E.S. Osnovy tekhnicheskoy diagnostiki. Optimizatsiya algoritmov diagnos-tirovaniya, apparaturnye sredstva (Basics of Technical Diagnostics. Optimization of Algorithms of Diagnos-
ing, Hardware Means), Moscow, 1981, 320 p. (in Russ.)
9. Drozd A.V., Kharchenko V.S., Antoshchuk S.G., Drozd Yu.V., Drozd M.A., Sulima Yu.Yu. Rabochee diag-nostirovanie bezopasnykh informatsionno-upravlyayushchikh sistem (Working Diagnosing of Safe Management Information Systems), Khar'kov, 2012, 614 p. (in Russ.)
10. Berezyuk N.T., Andrushchenko A.G., Moshchitskiy S.S., Glushkov V.l., Benesha M.M., Gavrilov V.A. Kodiro-vaniye informatsii (dvoichnyye kody) (Information coding (binary codes)), Khar'kov, 1978, 252 p. (in Russ.)
11. Borden J.M. Information and Control, 1982, no. 1-2(53), pp. 66-73, DOI: 10.1016/S0019-9958(82)91125-1.
12. Freiman C.V. Information and Control, 1962, no. 1(5), pp. 64-71, DOI: 10.1016/S0019-9958(62)90223-1.
13. Sapozhnikov V.V., Sapozhnikov Vl.V., Efanov D.V. Kody s summirovaniyem dlya sistem tekhnicheskogo di-agnostirovaniya. T. 1. Klassicheskiye kody Bergera i ikh modifikatsii (Summed Codes for Technical Diagnostic Systems. Vol. 1. Classical Berger Codes and Their Modifications), Moscow, 2020, 383 p. (in Russ.)
14. Berger J.M. Information and Control, 1961, no. 1(4), pp. 68-73, DOI: 10.1016/S0019-9958(61)80037-5.
15. Das D., Touba N.A. Proceedings of the 17th IEEE VLSI Test Symposium, USA, CA, Dana Point, April 25-29, 1999, pp. 370-376.
16. Sapozhnikov V.V., Sapozhnikov Vl.V., Efanov D.V. Kody s summirovaniyem dlya sistem tekhnicheskogo di-agnostirovaniya. T. 2. Vzveshennyye kody s summirovaniyem (Summed Codes for Technical Diagnostic Systems. Vol. 2. Weighted Codes with Summation), Moscow, 2021, 456 p. (in Russ.)
17. Reynolds D.A., Meize G. IEEE Transactions on Computers, 1978, no. 12(C-27), pp. 1093-1098.
18. Sapozhnikov V.V., Sapozhnikov Vl.V. Gessel M. Samodvoystvennyye diskretnyye ustroystva (Self-Dual Discrete Devices), St. Petersburg, 2001, 331 p. (in Russ.)
19. Efanov D., Sapozhnikov V., Sapozhnikov Vl., Osadchy G., Pivovarov D. Proceedings of 17th IEEE East-West Design & Test Symposium (EWDTS'2019), Batumi, Georgia, September 13-16, 2019. pp. 136—143. DOI: 10.1109/EWDTS.2019.8884398.
20. Saposhnikov Vl.V., Dmitriev A., Goessel M., Saposhnikov V.V. Proceedings of 14th IEEE VLSI Test Symposium, USA, Princeton, 1996, pp. 162-168.
21. Saposhnikov Vl.V., Saposhnikov V.V., Dmitriev A., Goessel M. Proceedings of 7th Asian Test Symposium, Singapore, 1998, pp. 296-300.
22. Das D., Touba N.A. Journal of Electronic Testing: Theory and Applications, 1999, no. 1-2(15), pp. 145-155, DOI: 10.1023/A:1008344603814.
23. Patent US 747533, Self-Checking Error Checker for Two-Rail Coded Data, W.C. Carter, K.A. Duke, P.R. Schneider, Priority July 25, 1968, Published Jan. 26, 1971.
24. Nikolos D. Chapter 7 in On-Line Testing for VLSI, 1998, pp. 69-79, DOI 10.1007/978-1-4757-60-69-9_7.
25. Jha N.K. IEEE Transaction on Computer-Aided Design, 1991, no. 1(10), pp. 136-143, DOI 10.1109/43.62799.
26. Piestrak S.J. Design of Self-Testing Checkers for Unidirectional Error Detecting Codes, Wroclaw, Oficyna Wydawnicza Politechniki Wroclavskiej, 1995, 111 p.
27. Nikolos D., Kavousianos X. Proceedings of the 17th IEEE VLSI Test Symposium, April 25-29, 1999, Dana Point, USA, pp. 354-360.
28. Busaba F.Y., Lala P.K. Journal of Electronic Testing: Theory and Applications, 1994, no. 5(5), pp. 19-28, DOI: 10.1007 / BF00971960.
29. Morosow A., Saposhnikov V.V., Saposhnikov Vl.V., Goessel M. VLSI Design, 1998, no. 4(5), pp. 333-345, DOI: 10.1155/1998/20389.
30. Matrosova A.Yu., Levin I., Ostanin S.A. VLSI Design, 2000, no. 1(11), pp. 47-58, DOI: 10.1155/2000/46578.
31. Göessel M., Ocheretny V., Sogomonyan E., Marienfeld D. New Methods of Concurrent Checking: Edition 1, Dordrecht, Springer Science+Business Media B.V., 2008, 184 p.
32. Gessel M., Dmitriev A.V., Sapozhnikov V.V., Sapozhnikov Vl.V. Automation and Remote Control, 1999, no. 11(60), pp. 1653-1663.
33. Sapozhnikov V.V., Sapozhnikov Vl.V. Samoproveryaemye diskretnye ustroystva (The Self-Checked Discrete Devices), St. Petersburg, 1992, 224 p. (in Russ.)
Data on authors
Dmitry V. Efanov — Dr. Sci., Associate Professor; Peter the Great St. Petersburg
Polytechnic University, Higher School of Transport of the Institute of Machinery, Materialls and Transport, Professor; E-mail: [email protected] Valery V. Sapozhnikov — Dr. Sci., Professor; Emperor Alexander I St. Petersburg State
Transport University, Department of Automation and Remote Control on Railways; E-mail: [email protected] Vladimir V. Sapozhnikov — Dr. Sci., Professor; Emperor Alexander I St. Petersburg State
Transport University, Department of Automation and Remote Control on Railways; E-mail: [email protected]
For citation: Efanov D. V., Sapozhnikov V. V., Sapozhnikov Vl. V. Synthesis of built-in control circuits for
combinational digital devices by the method of self-dual complement to the Berger code. Journal of Instrument Engineering. 2021. Vol. 64, N 9. P. 697—708 (in Russian).
DOI: 10.17586/0021-3454-2021-64-9-697-708