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

Проектирование и тестирование логических устройств

УДК 681.518.5:004.052.32

Вал. В. Сапожников, д-р техн. наук, Вл. В. Сапожников, д-р техн. наук, Д. В. Ефанов, канд. техн. наук

Кафедра «Автоматика и телемеханика на железных дорогах», Петербургский государственный университет путей сообщения Императора Александра I

АЛГОРИТМЫ СИНТЕЗА ГЕНЕРАТОРОВ МОДУЛЬНЫХ КОДОВ С СУММИРОВАНИЕМ ВЗВЕШЕННЫХ ПЕРЕХОДОВ С ПОСЛЕДОВАТЕЛЬНОСТЬЮ ВЕСОВЫХ КОЭФФИЦИЕНТОВ, ОБРАЗУЮЩЕЙ НАТУРАЛЬНЫЙ РЯД ЧИСЕЛ

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

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

Введение

При синтезе надежных устройств автоматики и вычислительной техники часто используют методы технической диагностики, в том числе функционального контроля [1-5]. Функциональный контроль позволяет определять техническое состояние контролируемого устройства в процессе его работы без отключения его выходов от объектов управления [6]. Это необходимо,

прежде всего, для систем критического действия, таких, например, как системы управления движением поездов [7-9].

При функциональном контроле техническое состояние контролируемого устройства определяется косвенно по значениям вычисляемых им функций (рис. 1). Другими словами, дается оценка достоверности вычисляемого результата [10]. По соответствию или несоответствию вычисленных значений функций контролируемого устройства заранее установленным значениям делается вывод о наличии или отсутствии неисправности в его внутренней структуре. Это соответствие устанавливается на этапе проектирования системы функционального контроля и наиболее часто определяется правилами построения какого-либо разделимого кода, например кода с суммированием [11, 12]. Выходы контролируемого устройства Я(х) отождествляются с информационным вектором выбранного разделимого кода. Для организации контроля устройство Я(х) снабжается специализированным контрольным оборудованием в составе блока контрольной логики О(х) и самопроверяемого тестера. На выходах блока О(х) формируются разряды контрольного вектора заранее выбранного кода. В функции тестера входит установление в процессе работы системы функционального контроля соответствия между информационным и контрольным векторами. При установлении соответствия между значениями разрядов информационного и контрольного векторов на выходе тестера формируется парафазный сигнал <01> или <10>. Нарушение парафаз-ности на выходе тестера свидетельствует о наличии неисправности в одном из блоков системы функционального контроля [11]. Это могут быть как неисправности блоков Я(х) и О(х), так и самого тестера.

Система функционального контроля (см. рис. 1) на практике строится с учетом необходимости 100%-го обнаружения одиночных неисправностей

Входы

XI

Х2

Р

/1«

информационные разряды

Я*)

Ш

Рабочие выходы

С{х)

82(Х) -

¿00 ъ

Тестер

"> 22

Сигнал контроля

контрольные разряды

Рис. 1. Структура системы функционального контроля

на выходах логических элементов во внутренней структуре блока F(x). Выходы внутренних логических элементов могут быть связаны путями с произвольным количеством выходов самого блока F(x), а значит, при работе системы функционального контроля возможны искажения в информационном векторе с произвольной кратностью. Выбор разделимого кода с учетом особенностей топологии объекта диагностирования при организации системы функционального контроля имеет определяющее значение.

1 Модульный код с суммированием взвешенных переходов

Часто при организации систем функционального контроля используют классические коды с суммированием, или коды Бергера [13]. Правила построения данных кодов достаточно просты: в информационном векторе подсчиты-вается количество единичных разрядов (определяется вес информационного вектора), полученная сумма представляется в двоичном виде и записывается в разряды контрольного вектора. Код Бергера будет иметь k = log2(m +1) контрольных разрядов, где т - количество информационных разрядов. Введем обозначение кода Бергера - S(m,k)-код.

S(m,k)-коды не обнаруживают только симметричные ошибки в информационных векторах - ошибки, происходящие при одинаковом количестве искажений нулевых и единичных информационных разрядов [14]. Такие ошибки не нарушают веса информационного вектора. Однако количество симметричных ошибок достаточно велико: если рассматривать S(m,k)-коды с m = 2 ^ 20, то в среднем данными кодами не будет обнаруживаться 17,03 % ошибок в информационных векторах [15].

При решении задач технической диагностики (например, при организации системы функционального контроля) могут быть полезны модификации кодов с суммированием, обладающие такой же или меньшей избыточностью, как и коды Бергера, но обнаруживающие большее количество ошибок в информационных векторах [16-18]. Одной из таких модификаций является модульный код с суммированием взвешенных переходов [19-22], получаемый по следующему алгоритму.

Алгоритм 1. Определение значений разрядов контрольного вектора модульного кода с суммированием взвешенных переходов.

1. Рассматриваются разряды информационного вектора, занимающие соседние позиции.

2. Каждому переходу от разряда к разряду присваивается весовой коэффициент из натурального ряда (1, 2, ..., m - 1), начиная с младшего разряда.

3. Подсчитывается сумма так называемых активных переходов (переход между разрядами называется активным, если сумма по модулю два значений соседних разрядов равна единице) - число V.

4. Определяется число Ж - наименьший неотрицательный вычет полученного числа по модулю М = 2^102 (т+1)1 (это модуль кода Бергера): Ж = К(шоёМ).

5. Число Ж представляется в двоичном виде и записывается в контрольный вектор.

Коды, получаемые по приведенному алгоритму, обозначим как ЖТМ(т,к)-коды, где т - длина информационного вектора, а к - длина контрольного вектора.

ЖТМ(т,к)-коды имеют такое же количество разрядов в контрольных векторах, как и классические £(т,к)-коды, однако, как показано в [23, 24], обнаруживают большее количество ошибок в информационных векторах. Например, в табл. 1 даются значения долей необнаруживаемых двукратных ошибок от общего количества двукратных ошибок в информационных векторах для ЖТМ(т,к)- и 5(т,к)-кодов (в процентах) для значений т = 2 ^ 20. В последнем столбце записана величина у, показывающая, во сколько раз больше двукратных ошибок обнаруживает ЖТМ(т,к)-код по сравнению с 5(т,к)-кодом. Практически для всех модульных кодов с суммированием взвешенных переходов показатель у > 3.

Таблица 1. Показатели эффективности обнаружения ЖТМ(т,к)-кодами двукратных ошибок в информационных векторах

т ЖТМ(т,к)-код 5*(т,к)-код У

2 100 50 0,5

3 0 50 -

4 8,33 50 6,002

5 10 50 5

6 20 50 2,5

7 16,67 50 2,999

8 11,61 50 4,307

9 12,5 50 4

10 16,67 50 2,999

11 15,45 50 3,236

12 16,29 50 3,069

13 15,54 50 3,218

14 16,35 50 3,058

15 15,6 50 3,205

16 11,88 50 4,209

17 12,87 50 3,885

18 14,71 50 3,399

19 14,33 50 3,489

20 14,61 50 3,422

Покажем, как влияют правила модификации кодов с суммированием на сложность их генераторов.

2 Структура генераторов кодов с суммированием взвешенных переходов

Роль устройства, которое осуществляет проверку соответствия информационных и контрольных векторов в системе функционального контроля, выполняет тестер [1, 3, 11]. Для кодов с суммированием структура тестера содержит генератор контрольных разрядов и компаратор (рис. 2). При поступлении на входы системы функционального контроля некоторого вектора <x1 x2... x> блоками F(x) и G(x) вычисляются разряды рабочих и контрольных функций, т. е. формируется кодовое слово <f f,...f g1 g2...gk>. Генератор по значениям рабочих функций вычисляет разряды контрольного вектора <g'j g'2...g'k>, а компаратор сравнивает одноименные разряды контрольного вектора, полученного генератором, и контрольного вектора, сформированного блоком G(x). При этом значения разрядов, вычисленные блоком G(x), предварительно инвертируются. Это позволяет контролировать парафазные сигналы <gj gj > специальными модулями TRC (two-rail checker) [11]. Каждый такой модуль проверяет парафазность двух поступающих на его входы сигналов и формирует парафазный сигнал при наличии парафазных сигналов на входах. Таким образом, применение каскадного соединения k - 1 модуля TRC позволяет свести контроль соответствия разрядов к контролю парафаз-ности одного выходного модуля TRC. При наличии неисправности в любом из блоков системы функционального контроля (как в F(x) и G(x), так и в самом тестере) на выходе компаратора будет сформирован непарафазный сигнал <00> или <11>. Тестер является самопроверяемым - защищенным от внутренних неисправностей и самотестируемым [11].

Кодовый вектор

/1/2 fm-lfm gl g2 ---gk-lgk

Генератор

лг лг ... лг лг

О-О—0-0-I

Компаратор

Z1 z2

Рис. 2. Структура тестера кодов с суммированием

Интерес при построении тестера кода с суммированием представляет генератор контрольных разрядов. Для рассматриваемых ЖТМ(т,к)-кодов генератор может быть построен по структуре, изображенной на рис. 3 [22]. В ней выделяются три блока: В , В2 и В3. Блок В1 предназначен для идентификации активных переходов. По значениям разрядов информационного вектора <//2.../т> данный блок должен определить активные переходы, другими словами, сформировать функцию перехода t (д = 1, 2, ..., т _ 1). Если соседние разряды / и /д+1 в информационном векторе не равны друг другу, переход активен и функция = 1:

= /д  /д+1.

Л Л • • • /т-1 /т

gl g2 * ' * Ек

Рис. 3. Структура генератора ЖТМ(т,к)-кода

Вычисляя, согласно выражению (1), функции активации перехода для каждой пары соседних информационных разрядов, блок В1 тем самым формирует вектор функций перехода tr.Лm_>, его длина на один разряд меньше, чем у информационного вектора.

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

3 Синтез генераторов кодов с суммированием взвешенных переходов

Исходя из свойств рассматриваемого класса кодов (их контрольные векторы вычисляют путем применения операций суммирования значений разрядов информационного вектора), целесообразно в качестве элементной базы для синтеза генератора выбрать стандартные схемы сумматоров по модулю два (ХОК), полусумматоров (НА) и полных сумматоров (ЕА), имеющиеся в любой библиотеке систем автоматизированного проектирования [5, 11, 12, 25]. На рис. 4 даются условные обозначения стандартных функциональных элементов с указанием на их входах и выходах разрядов двоичных чисел.

a) б) в)

a.\ 02 a\ Ö2 а\ Ö2

1 1 1 1

НА FA

vy 2 1 2 1

Y s С s С S

Рис. 4. Элементная база для построения генератора: а - сумматор по модулю два; б - полусумматор; в - полный сумматор

Сумматор по модулю два реализует функцию сложения двух одноразрядных двоичных чисел без переносов. Полусумматор и сумматор снабжаются как выходами суммы, так и переноса, однако имеют различное количество входов (2 и 3 соответственно). Полусумматор и сумматор предназначены для сложения одноразрядных двоичных чисел и фактически формируют на своих выходах двоичные числа, равные сумме единиц на входах. Весовые коэффициенты разрядов суммируемых и получаемых двоичных чисел указаны на входах и выходах каждого функционального элемента (см. рис. 4).

Полусумматор имеет два входа - а и а2 и два выхода - суммы 5 и переноса С. Функции 5 и С вычисляются по правилам:

5 = ах © а2; С — аа.

Функции формирования суммы и переноса для полного сумматора имеют вид:

5 = а: © а2 © а3;

C = ala2 v ala3 v a2a3.

Применение элементов HA и FA позволяет построить блок B2 в структуре генератора кода с суммированием взвешенных переходов (см. рис. 3). Выходы данного блока соединяются с входами блока B3 для организации суммирования весовых коэффициентов всех активных переходов. Таким образом, блок B3 вычисляет значение веса V. Для WTM(m,k)-кодов, однако, требуется определение наименьшего неотрицательного вычета числа V по модулю M = 2^log2 (m+1)l: w = V (mod M). Поскольку модуль - это степень числа 2, подсчет числа W подразумевает удаление всех старших разрядов числа V, кроме k = |log2(m +1) младших разрядов. Это позволяет упростить структуру блоков B2 и B3.

Из проведенных выше рассуждений вытекает алгоритм синтеза генераторов WTM(m,k)-кодов.

Алгоритм 2. Синтез генераторов контрольных разрядов кода с суммированием взвешенных переходов.

1. С использованием (m - 1)-го сумматора по модулю два реализуется блок B1 - идентификатор активных переходов.

2. С применением полусумматоров и полных сумматоров строится блок B2 - формирователь весовых коэффициентов переходов.

3. С применением полусумматоров и полных сумматоров строится блок B3 - формирователь суммы весовых коэффициентов переходов V.

4. Оптимизируются структуры блоков B2 и B3 за счет удаления всех элементов, вычисляющих значения разрядов, отбрасываемых при формировании числа W (оставляются только k = \ log2(m +1) | младших разрядов).

Синтез генераторов WTM (m, к)-кодов продемонстрируем на примере генератора рассмотренного ранее WT^^-rawa На рис. 5 изображена структура генератора, построенного по пп. 1-3 алгоритма 2, а на рис. 6 - оптимизированная структура, построенная по п. 4 алгоритма 2. На обеих схемах показаны входные и выходные сигналы для каждого элемента структуры при поступлении на входы генератора информационного вектора <00101>.

При оптимизации структуры генератора WT8(5,3)-кода был удален старший разряд g , который не участвует в формировании числа W = V(mod8), так как W е {0; 1;...;7}. Это повлекло за собой упрощение структур блоков B2 и B3. Функция переноса в разряд g4 при образовании числа W в блоке B3 не требуется, поэтому был удален элемент XOR, формирующий данный разряд. Это, в свою очередь, повлекло за собой замену полных сумматоров последних каскадов блоков B2 и B3 на схемное решение, реализующее сумму S = a1  a2  a3 (см. выражение (3)).

Более простые структуры генераторов WTM(m,k)-кодов можно получить, синтезируя их как сумматоры двоичных чисел, соответствующих значениям весовых коэффициентов разрядов информационных векторов [26, 27].

g4

ёъ

g2

gi

Рис. 5. Структура генератора ЖГ(5,4)-кода

0 1 1 1 1 1

0 0

0 0

1 1 НА 2 1

0 0

1 1

1 О

gз £2

Рис. 6. Оптимизированная структура генератора Ж!8(5,3)-кода

Алгоритм 3. Синтез генераторов контрольных разрядов кода с суммированием взвешенных переходов с уменьшенной сложностью.

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

2. Значение весового коэффициента каждого перехода представляется в виде двоичного числа.

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

4. Структура сумматора двоичных чисел оптимизируется с учетом неиспользуемых сигналов или выходов блоков.

5. Отбрасывается часть старших разрядов, оставляется 1о§2 М младших разрядов и производится дальнейшая оптимизация структуры генератора путем удаления неиспользуемых логических элементов.

На рис. 7 показаны действия по алгоритму 3 на примере построения блоков генератора рассматриваемого Ж78(5,3)-кода. Блок активации переходов между разрядами в информационном векторе изображен на рис. 7, а

а) fi

А

W4;5=4 W3,4=3 W2,3=2 Wl;2=l

I \ I I

100 11 10 1

11+100=111

1+10=11

111+11=1010

/з

ft

w M И

V V V Веса разрядов

Y T T суммируемых

1 1 1 двоичных

¿3,4 h,3 il,2 чисел

«)

¿4,5^4,5 h,4W3A

g4 g3

g2

gl

Рис. 7. Построение генератора Ж!8(5,3)-кода: а - линия формирования функций переходов; б - выбор суммируемых весовых коэффициентов; в - сумматор весовых коэффициентов

и содержит четыре сумматора по модулю два. На рис. 7, б приводится схема суммирования весовых коэффициентов переходов между соседними разрядами информационного вектора: без переносов суммируются коэффициенты

w

1,2

и w , а также коэффициенты w

и w

4,5 3,4'

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

Построенная структура генератора Ж78(5,3)-кода изображена на рис. 8. Она проще структуры на рис. 6 и содержит 5 сумматоров по модулю два, 1 полусумматор и 1 полный сумматор (генератор на рис. 6, содержит 8 сумматоров по модулю два, 8 полусумматоров и 3 полных сумматора).

/5

/4

/з

/2

/1

Яз £2 £1

Рис. 8. Наиболее простая структура генератора WT8(5,3)-кода

На рис. 9 представлен генератор Ж78(7,3)-кода, синтезированный в среде моделирования логических схем МиШБт. На его входы подан информационный вектор <001001>. В этом случае V = w32 + w43 + w65 = 2 + 3 + 5 = 10, К(шоё8) = 10(шоё8) = 2, т. е. должен сформироваться контрольный вектор <010>, что и наблюдается на выходах g3, g2 и

4 Сравнение сложности структур генераторов кодов

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

С использованием алгоритма 3 были синтезированы генераторы контрольных разрядов для WTM(m,k)-кодов с длинами информационных

g3 g2 g3

Рис. 9. Моделирование работы генератора WT8 (7,3)-кода

векторов т = 2 ^ 12. Количество функциональных элементов для их реализации представлено в табл. 2.

Таблица 2. Количество функциональных элементов в структурах генераторов

WTM(m,k)-кодов

Блок Тип m

элемента 2 3 4 5 6 7 8 9 10 11 12

Формирователь функций XOR 1 2 3 4 5 6 7 8 9 10 11

перехода

Формирователь суммы W XOR 0 0 0 1 3 4 3 4 6 2 7

HA 0 0 1 1 3 2 5 5 8 4 4

FA 0 0 1 1 1 2 5 5 5 5 6

Зная количество функциональных элементов в структурах генераторов, можно оценить параметр сложности их технической реализации. На рис. 10 изображены структурные схемы типовых функциональных элементов, из которых построены генераторы WTM(m,k)-кодов [5, 11, 12, 25].

б)

а\ аг

в)

а\ аг

аъ

XOR

Рис. 10. Наиболее простые структуры функциональных элементов

Сложность технической реализации каждого функционального элемента можно оценить по количеству внутренних логических элементов (XOR - 3, HA - 3, FA - 7) или же по количеству входов внутренних элементов (XOR -6, HA - 6, FA - 14). Обозначим сложность технической реализации как A (от слова «area» - площадь) и будем использовать параметр количества входов внутренних логических элементов. В табл. 3 приводятся значения числа A для генераторов WTM(m,k)-кодов с длинами информационных векторов m = 2 ^ 12.

Таблица 3. Сложность генераторов WTM(m Д)-кодов

m 2 3 4 5 6 7 8 9 10 11 12

A 6 12 38 50 80 100 160 172 208 166 216

Генераторы WTM(m,k)-кодов, построенные на сумматорах и полусумматорах двоичных чисел, в целом получаются более сложными при технической реализации, чем генераторы классических 5(ш,А:)-кодов (рис. 11).

С использованием специально разработанного программного обеспечения и средства SIS (a System for sequential circuit synthesis, Berkeley, California) [28] была дана экспериментальная оценка сложности технической реализации генераторов WTM(m,k)-кодов и S(m,k)-кодов. Использовалась стандартная библиотека элементов stdcell2_2.genlib. Результаты экспериментов приведены на графиках рис. 12. Характер изменения зависимости параметров сложности технической реализации на базе сумматоров и полусумматоров совпадает с характером изменения зависимости параметров сложности технической реализации в библиотеке элементов stdcell2_2.genlib - генераторы классических кодов с суммированием являются более простыми, чем генераторы WTM(m,k)-кодов.

250

200

150

100

50

J

• • У •

>

• •

/ V • • • • • У

J Y • • • • •

• •

H У

• • • • •

7 m

10

11

—С^— WTM(m,k)-коды •• "О •• ¿"(т^-коды

Рис. 11. Сложность генераторов классических и модульных кодов с суммированием взвешенных переходов

12

700000

600000

500000

400000

300000

200000

100000

L )

s • > V

•

—я •

•

• •

• •

п- о —с • • Т< >• • • ч / о • •

6 8 10 12 14 16

m

••<>•• ^S,(m,k)-код WTM(m,k)-код

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

18

0

Алгоритм 3 в сравнении с алгоритмом 2 дает более простые структуры генераторов WTM(m ,k)-кодов. При этом фактически осуществляется совместная реализация блоков B2 и B3 с дальнейшей оптимизацией в структуре, приведенной на рис. 3. Отметим также, что из анализа общей структуры генераторов WTM(m,k)-кодов можно сделать вывод о том, что генератор кодов с суммированием взвешенных переходов содержит в себе каскад блока формирования активных переходов и генератор кода с суммированием взвешенных разрядов с длиной информационного вектора m - 1.

Заключение

Метод синтеза генераторов WTM(m,k)-кодов, основанный на избирательном подходе к суммируемым весовым коэффициентам активизированных переходов, позволяет получать наиболее более простые структуры в сравнении с известными подходами [20-22]. Вместе с итеративным методом [21] и методом, основанном на использовании блока взвешивания активизированных переходов [22], он дополняет множество известных подходов к синтезу генераторов кодов с суммированием взвешенных переходов.

Генераторы WTM(m,k)-кодов, однако, являются более сложными, чем генераторы классических кодов Бергера, построенные по той же технологии. В статье это показано как теоретически, так и на основе экспериментальных данных, с использованием известного интерпретатора SIS. Бол ьшая сложность генераторов WTM(m,k)-кодов в сравнении с генераторами ^ш^-кодов говорит о том, что и сама система функционального контроля, организованная по WTM(m,k)-кодам, в общем случае будет более сложна. Однако не следует забывать о преимуществах модульных кодов с суммированием взвешенных переходов перед классическими кодами Бергера в обнаружении ошибок на выходах контролируемых логических устройств. Увеличение избыточности системы - это «цена» за улучшенные свойства обнаружения ошибок в контролируемых логических устройствах.

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

Библиографический список

1. Слабаков Е. В. Самопроверяемые вычислительные устройства и системы (обзор) / Е. В. Слабаков, Е. С. Согомонян // Автоматика и телемеханика. - 1981. -№ 11. - С. 147-167.

2. Abramovici M. Digital System Testing and Testable Design / M. Abramovici, M. A. Breuer, A. D. Friedman. - New Jersey : IEEE Press, 1998. - 652 p.

3. Nicolaidis M. On-Line Testing for VLSI - А Compendium of Approaches / M. Nico-laidis, Y. Zorian // Journal of Electronic Testing : Theory and Applications. - 1998. -Vol. 12. - Issue 1-2. - Pp. 7-20.

4. Mitra S. Which Concurrent Error Detection Scheme to Choose? / S. Mitra, E. J. Mc-Cluskey // Proceedings of International Test Conference. USA, Atlantic City, New Jersey, 3-5 October 2000. - Pp. 985-994.

5. Рабочее диагностирование безопасных информационно-управляющих систем / А. В. Дрозд, В. С. Харченко, С. Г. Антощук, Ю. В. Дрозд, М. А. Дрозд, Ю. Ю. Сулима ; под ред. А. В. Дрозда и В. С. Харченко. - Харьков : Национальный аэрокосмический университет им. Н. Е. Жуковского (ХАИ), 2012. - 614 с.

6. Пархоменко П. П. Основы технической диагностики (оптимизация алгоритмов диагностирования, аппаратурные средства) / П. П. Пархоменко, Е. С. Согомо-нян. - М. : Энергоатомиздат, 1981. - 320 с.

7. Theeg G. Railway Signalling & Interlocking - International Compendium / G. Theeg, S. Vlasenko. - Eurailpress, 2009. - 448 p.

8. Ubar R. Design and Test Technology for Dependable Systems-on-Chip (Premier Reference Source) / R. Ubar, J. Raik, H.-T. Vierhaus. - Information Science Reference, Hershey - New York : IGI Global, 2011. - 578 p.

9. Дрозд А. В. Нетрадиционный взгляд на рабочее диагностирование вычислительных устройств / А. В. Дрозд // Проблемы управления. - 2008. - № 2. -С. 48-56.

10. Сапожников Вал. В. Применение кодов с суммированием при синтезе систем железнодорожной автоматики и телемеханики на программируемых логических интегральных схемах / Вал. В. Сапожников, Вл. В. Сапожников, Д. В. Ефа-нов // Автоматика на транспорте. - 2015. - Т. 1. - № 1. - С. 84-107.

11. Сапожников Вал. В. Самопроверяемые дискретные устройства / Вал. В. Сапожников, Вл. В. Сапожников. - СПб. : Энергоатомиздат, 1992. - 224 с.

12. Piestrak S. J. Design of Self-Testing Checkers for Unidirectional Error Detecting Codes / S. J. Piestrak. - Wroclaw : Oficyna Wydawnicza Politechniki Wroclavskiej, 1995. - 111 p.

13. Berger J. M. A Note on Error Detection Codes for Asymmetric Channels / J. M. Berger // Information and Control. - 1961. - Vol. 4. - Issue 1. - Pp. 68-73.

14. Jha N. K. A t-Unidirectional Errors-Detecting Systematic Code / N. K. Jha, M. B. Vora // Computers & Mathematics with Applications. - 1988. - Vol. 16. -N 9. - Pp. 705-714.

15. Ефанов Д. В. О свойствах кода с суммированием в схемах функционального контроля / Д. В. Ефанов, Вал. В. Сапожников, Вл. В. Сапожников // Автоматика и телемеханика. - 2010. - № 6. - С. 155-162.

16. Das D. Synthesis of Circuits with Low-Cost Concurrent Error Detection Based on Bose-Lin Codes / D. Das, N. A. Touba // Journal of Electronic Testing : Theory and Applications. - 1999. - Vol. 15. - Issue 1-2. - Pp. 145-155.

17. Das D. Weight-Based Codes and Their Application to Concurrent Error Detection of Multilevel Circuits / D. Das, N.A. Touba // Proceedings of 17th IEEE Test Symposium. - USA, California, 1999. - Pp. 370-376.

18. Das D. Low Cost Concurrent Error Detection Based on Modulo Weight-Based Codes / D. Das, N. A. Touba, M. Seuring, M. Gossel // Proceedings of IEEE 6th International On-Line Testing Workshop (IOLTW), Spain, Palma de Mallorca, July 3-5, 2000. -Pp. 171-176.

19. Saposhnikov Val. New Code for Fault Detection in Logic Circuits / Val. Saposhnikov, Vl. Saposhnikov // Proceedings of 4th International Conference on Unconventional Electromechanical and Electrical Systems. - St. Petersburg, Russia, June 21-24, 1999. - Pp. 693-696.

20. Mehov V. Concurrent Error Detection Based on New Code with Modulo Weighted Transitions between Information Bits / V. Mehov, Val. Saposhnikov, Vl. Sapozh-nikov, D. Urganskov // Proceedings of 7th IEEE East-West Design & Test Workshop (EWDTW'2007). - Erevan, Armenia, September 25-30, 2007. - Pp. 21-26.

21. Мехов В. Б. Контроль комбинационных схем на основе модифицированных кодов с суммированием / В. Б. Мехов, Вал. В. Сапожников, Вл. В. Сапожников // Автоматика и телемеханика. - 2008. - № 8. - С. 153-165.

22. Сапожников Вал. В. Свойства кодов с суммированием взвешенных переходов с прямой последовательностью весовых коэффициентов / Вал. В. Сапожников, Вл. В. Сапожников, Д. В. Ефанов, В. В. Дмитриев // Информатика и системы управления. - 2014. - № 4. - С. 77-88.

23. Sapozhnikov Val. Optimum Sum Codes, that Effectively Detect the Errors of Low Multiplicities / Val. Sapozhnikov, Vl. Sapozhnikov, D. Efanov, V. Dmitriev, M. Cherepanova // RadioElectronics & Informatics. - 2015. - № 1. - Pp. 17-22.

24. Сапожников Вал. В. Способ построения кода с суммированием с улучшенными показателями обнаружения ошибок в информационных векторах / Вал. В. Сапожников, Вл. В. Сапожников, Д. В. Ефанов, В. В. Дмитриев, М. Р. Черепанова // Автоматика на транспорте. - 2016. - Т. 2. - № 1. - С. 95-123.

25. Lala P. K. Principles of Modern Digital Design / P. K. Lala. - New Jersey : John Wiley & Sons, 2007. - 419 p.

26. Ефанов Д. В. Способ синтеза генераторов взвешенных кодов с суммированием / Д. В. Ефанов // Известия высших учебных заведений. Физика. - 2016. - Т. 59. -№ 8/2. - С. 33-36.

27. Ефанов Д. В. К вопросу синтеза генераторов модифицированных кодов с суммированием взвешенных информационных разрядов с последовательностью весовых коэффициентов, образующей натуральный ряд чисел / Д. В. Ефанов // Вестник Томского государственного университета. Управление, вычислительная техника и информатика. - 2016. - № 4. - С. 13-26.

28. Sentovich E. M. 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.

29. Wakerly J. F. Digital Design. Principles & Practices. - Prentice Hall, 1999. - 830 p.

Valery V. Sapozhnikov, Vladimir V. Sapozhnikov, Dmitry V. Efanov «Automation and remote control on railways» department Emperor Alexander I St. Petersburg state transport university

Algorithms of generators synthesis of modulo codes with summation of weighted transitions with sequence of weight coefficients forming natural series of numbers

Two methods for synthesizing generators of modulo codes with summation of weighted transitions with a sequence of weight coefficients, which forms a natural series of numbers are described. The first is based on the use of a cascade structure consisting of three blocks (activating the transitions, weighing the activated transition and obtaining the weight of the information vector), and then optimizing the last two blocks. The second is related to the use of the same cascade structure, but with a selective approach to adding weighting factors in the third block and corresponding simplification of the second block - it only has a cascade of activating transitions between bits and a weighting factor. Both methods are universal and can be used to synthesize generators of other weighted codes with summation, including codes with summation of weighted information bits. For such codes with the information vector length m, the generators can be obtained by removing the cascade of activation of transitions in the code generator with summation of weighted transitions with the information vector length m + 1.

concurrent error detection system; Berger code; code with summation; modulo code with summation of weighted transitions; tester; generator; complexity of the generator

References

1. Slabakov E. V., Sogomonyan E. S. (1981). Self-Checking Computing Devices and Systems (review) [Samoproveryaemye vychislitel'nye ustrojstva i sistemy (obzor)]. Automation and Remote Control [Avtomatika i telemekhanika], issue 11. - Pp. 147-167.

2. Abramovici M., Breuer M. A., Friedman A. D. (1998). Digital System Testing and Testable Design. New Jersey, IEEE Press. - 652 p.

3. Nicolaidis M., Zorian Y. (1998). On-Line Testing for VLSI - A Compendium of Approaches. Journal of Electronic Testing: Theory and Applications, vol. 12, issue 1-2. - Pp. 7-20.

4. Mitra S., McCluskey E. J. (2000). Which Concurrent Error Detection Scheme to Choose? Proceedings of International Test Conference, USA, Atlantic City, NJ, 3-5 October. - Pp. 985-994.

5. Drozd A. V., Harchenko V. S., Antoshchuk S. G., Drozd Yu. V., Drozd M. A., Suli-ma Yu. Yu. (2012). Objects and Methods of On-Line Testing for Safe Instrumentation and Control Systems [Rabochee diagnostirovanie bezopasnyh informacionno-upravlyayushchih sistem]. Eds. A. V. Drozda i V. S. Harchenko. Kharkov, National Aerospace University «KhAI» [Nacional'nyj aehrokosmicheskij universitet im. N. E. ZHukovskogo «HAI»]. - 614 p.

6. Parhomenko P. P., Sogomonyan E. S. (1981). Technical Diagnosis Fundamentals (Diagnostic Algorithm Optimization, Apparatus Means) [Osnovy tekhnicheskoj diagnostiki (optimizaciya algoritmov diagnostirovaniya, apparaturnye sredstva)]. Moscow, Energoatomizdat [Ehnergoatomizdat]. - 320 p.

7. Theeg G., Vlasenko S. (2009). Railway Signalling & Interlocking - International Compendium. Eurailpress. - 448 p.

8. Ubar R., Raik J., Vierhaus H.-T. (2011). Design and Test Technology for Dependable Systems-on-Chip (Premier Reference Source). Information Science Reference, Hershey. New York, IGI Global. - 578 p.

9. Sapozhnikov Val. V., Sapozhnikov Vl. V., Efanov D. V. (2015). Application of Sum Codes for Synthesis of Railway Automation and Remote Control at Programmable Logic Integrated Circuits [Primenenie kodov s summirovaniem pri sinteze sistem zheleznodorozhnoj avtomatiki i telemekhaniki na programmiruemyh logi-cheskih integral'nyh skhemah]. Automation of Transport [Avtomatika na transporte], vol. 1, issue 1. - Pp. 84-107.

10. Drozd A. V. (2008). An Untraditional View on Operational Diagnostics of Computing Devices [Netradicionnyj vzglyad na rabochee diagnostirovanie vychislitel'nyh ustrojstv]. Control Science [Problemy upravleniya], issue 2. - Pp. 48-56.

11. Sapozhnikov Val. V., Sapozhnikov Vl. V. (1992). Self-Checking Discrete Devices [Samoproveryaemye diskretnye ustrojstva]. St. Petersburg, Energoatomizdat [Ehnergoatomizdat]. - 224 p.

12. Piestrak S. J. (1995). Design of Self-Testing Checkers for Unidirectional Error Detecting Codes. Wroclaw, Oficyna Wydawnicza Politechniki Wroclavskiej. - 111 p.

13. Berger J. M. (1961). A Note on Error Detection Codes for Asymmetric Channels. Information and Control, vol. 4, issue 1. - Pp. 68-73.

14. Jha N. K., Vora M. B. (1988). A t-Unidirectional Errors-Detecting Systematic Code. Computers & Mathematics with Applications, vol. 16, N 9. - Pp. 705-714.

15. Efanov D. V., Sapozhnikov Val. V., Sapozhnikov Vl. V. (2010). On Summation Code Properties in Functional Control Circuits [O svojstvah koda s summirovaniem v skhemah funkcional'nogo kontrolya]. Automation and Remote Control [Avtomatika i telemekhanika], issue 6. - Pp. 155-162.

16. Das D., Touba N. A. (1999). Synthesis of Circuits with Low-Cost Concurrent Error Detection Based on Bose-Lin Codes. Journal of Electronic Testing, Theory and Applications, vol. 15, issue 1-2. - Pp. 145-155.

17. Das D., Touba N.A. (1999). Weight-Based Codes and Their Application to Concurrent Error Detection of Multilevel Circuits. Proceedings of 17th IEEE Test Symposium, USA, California. - Pp. 370-376.

18. Das D., Touba N. A., Seuring M., Gossel M. (2000). Low Cost Concurrent Error Detection Based on Modulo Weight-Based Codes. Proceedings of IEEE 6th Interna-

tional On-Line Testing Workshop (IOLTW). Spain, Palma de Mallorca, July 3-5. -Pp. 171-176.

19. Sapozhnikov Val., Sapozhnikov Vl. (1999). New Code for Fault Detection in Logic Circuits. Proceedings of 4th International Conference on Unconventional Electromechanical and Electrical Systems, St. Petersburg, Russia, June 21-24. - Pp. 693-696.

20. Mehov V., Sapozhnikov Val., Sapozhnikov Vl., Urganskov D. (2007). Concurrent Error Detection Based on New Code with Modulo Weighted Transitions between Information Bits. Proceedings of 7th IEEE East-West Design & Test Workshop (EWDTW'2007), Erevan, Armenia, September 25-30. - Pp. 21-26.

21. Mekhov V. B., Sapozhnikov Val. V., Sapozhnikov Vl. V. (2008). Checking of combinational circuits basing on modification sum codes [Kontrol' kombinacionnyh skhem na osnove modificirovannyh kodov s summirovaniem]. Automation and Remote Control [Avtomatika i telemekhanika], issue 8. - Pp. 153-165.

22. Sapozhnikov Val. V., Sapozhnikov Vl. V., Efanov D. V., Dmitriev V. V. (2014). Properties of Codes With Summation of Transitions Between Data Bits with Direct Sequence of Weighting Coefficient [Svojstva kodov s summirovaniem vzveshennyh perekhodov s pryamoj posledovatel'nost'yu vesovyh koehfficientov]. Information Science and Control Systems [Informatika i sistemy upravleniya], issue 4. - Pp. 77-88.

23. Sapozhnikov Val., Sapozhnikov Vl., Efanov D., Dmitriev V., Cherepanova M. (2015). Optimum Sum Codes, that Effectively Detect the Errors of Low Multiplicities. Ra-dioElectronics & Informatics, issue 1. - Pp. 7-22.

24. Sapozhnikov Val. V., Sapozhnikov Vl. V., Efanov D. V., Dmitriev V. V., Cherepanova M. R. (2016). Method of Formation of Sum Code with Improved Efficiency of Error Detection in Data Vectors [Sposob postroeniya koda s summirovaniem s uluchshennymi pokazatelyami obnaruzheniya oshibok v informacionnyh vektorah]. Automation of Transport [Avtomatika na transporte], vol. 2, issue 1. - Pp. 95-123.

25. Lala P. K. (2007). Principles of Modern Digital Design. New Jersey, John Wiley & Sons. - 419 p.

26. Efanov D. V. (2016). The Method of Weighted Code With Summation Generator Synthesis [Sposob sinteza generatorov vzveshennyh kodov s summirovaniem]. Russian Physics Journal [Izvestiya vysshih uchebnyh zavedenij. Fizika], vol. 59, issue 8/2. - Pp. 33-36.

27. Efanov D. V. (2016). On the Problem of Modified Codes with Summation of Weighted Data Bits with Natural Numbers Sequence of Weight Indexes Generators Synthesis [K voprosu sinteza generatorov modificirovannyh kodov s summirovaniem vzveshennyh informacionnyh razryadov s posledovatel'nost'yu vesovyh koehfficientov, obrazuyushchej natural'nyj ryad chisel]. Tomsk state university Journal of Control and Computer Science [Vestnik Tomskogo gosudarstvennogo universiteta. Uprav-lenie, vychislitel'naya tekhnika i informatika], issue 4. - Pp. 13-26.

28. Sentovich E. M., Singh K. J., Lavagno L., Moon C., Murgai R., Saldanha A., Savoj H., Stephan P. R., Brayton R. K., Sangiovanni-Vincentelli A. (1992). SIS: A System for Sequential Circuit Synthesis. Electronics Research Laboratory, Department of Electrical Engineering and Computer Science, University of California, Berkeley, 4 May. - 45 p.

29. Wakerly J. F. (1999). Digital Design. Principles & Practices. Prentice Hall. - 830 p.

Статья представлена к публикации членом редколлегии Р. Убаром Поступила в редакцию 15.10.2015, принята к публикации 08.07.2016

САПОЖНИКОВ Валерий Владимирович - доктор технических наук, профессор кафедры «Автоматика и телемеханика на железных дорогах» Петербургского государственного университета путей сообщения Императора Александра I.

e-mail: port.at.pgups1@gmail.com

САПОЖНИКОВ Владимир Владимирович - доктор технических наук, профессор кафедры «Автоматика и телемеханика на железных дорогах» Петербургского государственного университета путей сообщения Императора Александра I. e-mail: at.pgups@gmail.com

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

© Сапожников Вал. В., Сапожников Вл. В., Ефанов Д. В., 2017