ИНФОРМАЦИОННО-КОММУНИКАЦИОННЫЕ
ТЕХНОЛОГИИ INFORMATION-COMMUNICATION TECHNOLOGIES
Научная статья
УДК 681.518.5:004.052.32
doi:10.24151/1561-5405-2023-28-1-112-128
Коды с суммированием с сериями перестановок весов между информационными векторами для систем технического диагностирования
Д. В. Ефанов1, М. В. Зуева2
1 Российский университет транспорта, г. Москва, Россия ООО «ИБС Санкт-Петербург», г. Санкт-Петербург, Россия
TrES-4b@yandex.ru
Аннотация. При разработке и реализации устройств и систем критического применения используются разнообразные способы наделения блоков, узлов, подсистем и систем свойствами контролепригодности, самопроверяемости, отказоустойчивости и безопасного поведения при отказах. Синтез самопроверяемых и отказоустойчивых вычислительных устройств осуществляется с помощью методов теории информации и кодирования. В работе рассмотрены особенности обнаружения ошибок взвешенными кодами с суммированием, при построении которых весовые коэффициенты приписываются парам подряд идущих разрядов информационного вектора с пересечением. Весовые коэффициенты берутся из ряда возрастающих степеней числа 2. Затем проводятся серии специальных перестановок весовых коэффициентов по описанным принципам. Такие коды названы взвешенными кодами с суммированием с сериями перестановок и обозначены как Pm-коды (т - длина информационного вектора). Установлены ранее неизвестные свойства Рш-кодов, которые целесообразно учитывать при разработке и синтезе контролепригодных, самопроверяемых и отказоустойчивых вычислительных устройств и систем. Определены характеристики обнаружения монотонных, симметричных и асимметричных ошибок по видам и их кратно-стям, возникающих при искажениях разрядов и информационного и контрольного векторов. Показано, что, несмотря на свойство обнаружения любых двукратных ошибок в информационных векторах при малых значениях длин информационных векторов т < 10, Рш-коды не могут идентифицировать все двукратные ошибки, возникающие при искажении одного информационного и одного контрольного разрядов. Приведены результаты экспериментов по обнаружению ошибок Рт-кодами на выходах тестовых комбинационных схем. Установленные в работе характеристики обнаружения ошибок Рт-кодами целесообразно учитывать в задачах синтеза надежных и безопасных устройств автоматики и вычислительной техники.
© Д. В. Ефанов, М. В. Зуева, 2023
Ключевые слова: контролепригодные устройства, самопроверяемые устройства, отказоустойчивые устройства, диагностическое обеспечение, взвешенные коды с суммированием с сериями перестановок, обнаружение ошибок в кодовых словах, системы рабочего диагностирования цифровых устройств
Для цитирования: Ефанов Д. В., Зуева М. В. Коды с суммированием с сериями перестановок весов между информационными векторами для систем технического диагностирования // Изв. вузов. Электроника. 2023. Т. 28. № 1. С. 112-128. https://doi.org/10.24151/1561-5405-2023-28-1-112-128
Original article
Sum codes with a series of weights permutations between data vectors for technical diagnostics systems
D. V. Efanov1, M. V. Zueva2
1Russian University of Transport, Moscow, Russia 2 "IBS St. Petersburg" LLC, Saint Petersburg, Russia
TrES-4b@yandex.ru
Abstract. During development and implementation of critical application devices and systems various ways are used to provide blocks, nodes, subsystems and systems with controllability, self-checking, fault-tolerance properties and failsafe behavior. Different methods of information theory and coding are used during self-checking and fault-tolerant computing devices synthesis. In this work, the features of error detection by weight-based sum code, in which weight coefficients are assigned to pairs of successive bits of the data vector with intersection, are considered. The weight coefficients are taken from an increasing powers series of the number 2. Then a series of weight coefficients special permutations according to the described principles is done. Such codes called weight-based sum codes "with permutation" are referred to as Pm-codes (m - data vector length). The previously unknown properties of Pm-codes have been established, which should be considered in the development and synthesis of testable, self-checking and fault-tolerant computing devices and systems. The characteristics of detection by types and multiplicities of unidirectional, symmetrical, and asymmetrical errors arising from data and check vectors bits distortions are determined. It was demonstrated that despite the detecting property of any double errors in data vectors for small lengths of data vectors m < 10, Pm-codes cannot identify all double errors that occur when one data bit and one control bit are distorted. The experiment results on error detection by Pm-codes at the test combinational circuit outputs are presented. It is advisable to consider the established characteristics of error detection by Pm-codes in the accident-free fail-safe automation and computation devices synthesis tasks.
Keywords: controllable devices, self-checking devices, fault-tolerant devices, diagnostic support, weight-based sum codes with "permutations", error detection in code word, digital devices working diagnostic systems
For citation: Efanov D. V., Zueva M. V. Sum codes with a series of weights permutations between data vectors for technical diagnostics systems. Proc. Univ. Electronics, 2023, vol. 28, no. 1, pp. 112-128. https://doi.org/ 10.24151/1561-5405-2023-28-1-112-128
Введение. В процессе разработки и реализации устройств и систем критического применения используют различные методы обеспечения надежности и безопасности их функционирования [1, 2], а именно разнообразные способы наделения блоков, узлов, подсистем и систем свойствами контролепригодности, самопроверяемости, отказоустойчивости и безопасного поведения при отказах [3-7]. При синтезе самопроверяемых и отказоустойчивых вычислительных устройств и систем применяют методы теории информации и кодирования [8, 9]. Как правило, для внесения малой структурной избыточности (не превышающей избыточности, вносимой при использовании дублирования) в конечное цифровое устройство используют двоичные коды с низкой избыточностью [10, 11], в частности блочные равномерные неразделимые и разделимые коды. Из всего многообразия неразделимых кодов широко применяют равновесные коды, коды Бордена, коды Плоткина и др. [12], из разделимых - коды паритета, коды Хэмминга и их модификации [13-15] и разнообразные коды с суммированием [16-18].
В работе [19] предложен способ построения взвешенных кодов с суммированием, имеющих свойство обнаружения любых ошибок с кратностями d < 3 в информационных векторах длиной т < 10, - так называемых кодов с суммированием взвешенных переходов с сериями перестановок весов между информационными векторами (Рт-коды). Данное свойство может эффективно использоваться при синтезе цифровых устройств с организацией контроля вычислений с физическим разделением объекта диагностирования и его схемы встроенного контроля (СВК) при отсутствии влияния на результаты вычислений функций объектом диагностирования в последней. Особенности обнаружения ошибок Рт-кодами подробно изучены в работе [18]. В [20] предложено применять данные коды при синтезе СВК с помощью метода логического дополнения (логической коррекции) [21, 22], который подразумевает коррекцию значений подмножества или полного множества функций, вычисляемых объектом диагностирования в СВК для получения кодовых слов заданного кода на входах тестера. В этом случае ошибка, вызванная неисправностью объекта диагностирования либо электромагнитными, радиационными и другими помехами, может привести не только к возникновению искажений в информационных векторах, но и одновременно к искажению части информационных и части контрольных разрядов [23].
В настоящей работе рассматриваются особенности обнаружения ошибок Рт-кодами в СВК, синтезируемых по методу логической коррекции сигналов (логического дополнения).
Принципы построения Рт-кодов. Рассматриваемые коды являются разделимыми и формируются следующим образом [18, 19]. Информационные разряды разбиваются на пары. Причем в пары объединяются следующие разряды: (/1,/2), (/2,/3), ..., //+0,
• ••, /т-2,/т-1), /т-1,/т), I = 1, т-1. Далее парам присваиваются последовательно весовые коэффициенты из ряда возрастающих степеней числа 2: е {20,21,...,2т-3,2т-2
Для каждого информационного вектора определяется контрольный вектор, отражающий суммарное значение Ж числа пар с неравными значениями разрядов:
т-1 т-1
к=2 (£ ® )=Е 2" (£ е /м).
1=1 г=1
Затем определяются число
Жм = Ж (шо6М) = Ж (шоа2Г1°&(т+1)1-1) и значение коэффициента
а = /+1 ® /и+2 ®...® Л-1 ® Л,
где к = 1о^ (т +1)"| - количество контрольных разрядов в коде.
В результате формируется число V = Жм + аМ. После формирования всех чисел V осуществляется их перегруппировка (перестановка) между информационными векторами по правилам:
- информационные векторы разбиваются на группы с одинаковыми значениями старших разрядов - группы О (/т/т-1 ... Л-и ) ;
- рассматриваются последовательно значения старших разрядов от^ до^^
- если ^=1, то внутри группы О(/т/^ ... /т_к) переставляются два числа V для подряд идущих информационных векторов, если ^ = 0, то перестановку не делают;
- если= 1, то внутри группы О(/т/т_х ... /т_к) переставляются значения чисел
V для двух пар подряд идущих информационных векторов, если = 0, то перестановку не делают;
- если fm-k = 1, то внутри группы О(/т/т_х ... /т_к) переставляются значения чисел
V для 2k пар подряд идущих информационных векторов, если fm-k = 0, то перестановку не делают.
Итоговые распределения чисел V будут соответствовать двоичным числам, записываемым в контрольные векторы.
Избыточность ^-кода равна к = 1о^ (т +1)~|, такая же избыточность и у широко
используемых классических кодов Бергера [10]. Однако контрольные функции Pm-кода будут описываться более простыми логическими выражениями. Из принципов взвешивания пар разрядов информационного вектора следует, что разряды контрольных векторов Pm-кода описываются линейными функциями, а сам код может быть задан в матричной форме, как и классический код Хэмминга (^-код) [24]. Можно сказать, что Pm-код является одной из модификаций кодов Хэмминга.
В табл. 1 приведены контрольные функции для получения значений разрядов контрольных векторов Pm-кодов при m < 10 и для сравнения - для ^-кодов. Последние имеют более сложные функции вычисления контрольных разрядов, что показывает преимущества Pm-кода при синтезе аппаратных средств. Кодеры данных кодов будут более простыми, чем кодеры ^-кодов, и будет гораздо проще обеспечить их полную самопроверяемость.
Таблица 1
Правила вычисления контрольных функций кодов Хэмминга
Table 1
Rules for calculating the check functions of Hamming codes
m Pm-код Hm-код
4 gi = / © f © /4; g2 = /2 © /3; g3 = f4 gi = / © /2 © /4; g2 = / © /3 © /4; g3 = /2 © /3 © /4
5 gi = / © /2 © /4 © /5; g2 = /2 © /3 © /4; g3 = /4 © /5 gi = / ©/2 ©/4 ©/5; g 2 = / © /3 © /4; g3 = /2 © /3 © /4; g 4 = /5
6 gi = / © /2 © /5 © /6; g2 = /2 ©/3 © /4 ©/5; g3 = /4 © /5 © /6 gi = y; © /2 © /4 © /5; g 2 = / © /3 © /4 © /6; g3 = /2 © /3 © /4; g 4 = /5 © /6
7 gi = / © /2 © /5 © /6; g2 = /2 ©/3 © /4 ©/5; g3 = /4 © /5 © /6 © /7 gi = / © /2 © /4 © /5 © /7; g2 = /; ©/3 ©/4 ©/6 ©/7; g3 = /2 © /3 © /; g 4 = /5 © /6 © /7
8 gi = / © /2 © /7 © /8; g2 = /2 ©/3 ©/6 ©/7; g3 = /3 © /4 © /5 © /6; g 4 = /5 © /6 © /7 © /8 g; = / © /2 © /4 © /5 © /7; g2 = /; ©/3 ©/4 ©/6 ©/7; g3 = /2 ©/3 ©/4 ©/8; g 4 = /5 © /6 © /7 © /8
9 gi = / ©/2 ©/7 © /8; g2 = /2 © /3 © /6 © /7; g3 = /3 © /4 © /5 © /6; g 4 = /5 © /6 © /7 © /8 © /9 g; = /; © /2 © /4 © /5 © /7 © /9; g2 = /; © /3 © /4 © /6 © /7; g3 = /2 © /3 © /4 © /8 © /9; g 4 = /5 © /6 © /7 © /8 © /9
Особенности обнаружения ошибок Рт-кодами. Приведем результаты анализа характеристик обнаружения ошибок Рт-кодами, возникающих во всех разрядах кодовых слов. Ограничимся рассмотрением только кодов со значениями т < 10.
В табл. 2 приведены рассчитанные данные по обнаружению ошибок Рт-кодами с малыми длинами информационных векторов т < 10, возникающих только в информационных векторах (показатели с верхним индексом D - Data Vector) и одновременно в информационных и контрольных векторах кодовых слов (показатели с верхним индексом DC - Data and Check Vectors). В столбцах , и приведено количество необнаруживаемых ошибок по их видам (монотонных, симметричных и асимметричных) [14, 17]. В столбце N^ дано общее количество необнаруживаемых ошибок в информационных векторах. Аналогично в столбцах Nv, N,а, Nа и N^ представлены данные по обнаружению соответствующих видов ошибок во всем кодовом слове.
В столбце Nm+k указано количество возможных ошибок в кодовых словах при соответствующей их длине m+k.
Таблица 2
Абсолютные показатели обнаружения ошибок Рт-кодами
Table 2
Absolute error-detection rates by Pm-codes
m k Nm+k Nd m Nd m,u Nd m,a Nd m,a Ndc ' m+k Ndc m+k Ndc m+k ,а Ndc m+k ,a
4 3 16256 16 4 0 12 240 66 42 132
5 3 65280 96 20 12 64 992 166 188 638
6 3 261632 448 88 72 288 4032 526 742 2764
7 3 1047552 1920 338 336 1246 16256 1634 2764 11858
8 4 16773120 3840 450 1414 1976 65280 3798 10318 51164
9 4 67100672 15872 1700 2828 11344 261632 11778 39940 209914
В табл. 3 приведены относительные показатели обнаружения ошибок Рт-кодами. Они вычисляются по следующим формулам:
N° №с N°
у =—^-100%, у* = .100%, и = _тМ00%, N N N°
т+к т+к ' -
m
№ ND NDC
а = —f ■ 100 %, а = N^ ■ 100 %, и* = N^ ■ 100 %,
ND ND NDC '
m m
m+k
Ndc Ndc
а* = Nm+k^L ■ 100 %, а* = ■ 100 %.
Ndc N
m+k m+k
Таблица 3
Относительные показатели обнаружения ошибок Рт-кодами
Table 3
Relative error-detection rates by Pm-codes
m k Y и о a Y* u* о* a*
4 3 0,098 25 0 75 1,476 27,5 17,5 55
5 3 0,147 20,833 12,5 66,667 1,52 16,734 18,952 64,314
6 3 0,171 19,643 16,071 64,286 1,541 13,045 18,403 68,552
7 3 0,183 17,604 17,5 64,896 1,552 10,052 17,003 72,945
8 4 0,023 11,719 36,823 51,458 0,389 5,818 15,806 78,376
9 4 0,024 10,711 17,817 71,472 0,39 4,502 15,266 80,232
На рис. 1, 2 показаны зависимости показателей о, и, а и а*, и*, а* от значения длины информационного вектора m. Из рисунков следует, что Pm-кодами не обнаруживается больше всего асимметричных ошибок. К примеру, при m = 4.. .7 (при k = 3) значение а превышает 64 %. При m = 8, когда у кода появляется еще один контрольный разряд, значение а резко падает примерно до 51 %, тогда как резко растет значение о (от 17,5 % при m = 7 до 36,823 % при m = 8).
100
90 80 70 60 50 40 30 20 10 0
[......J ......< .«X
у
J k. N
i / rT- \
G.,
100 90 80 70 60 50 40 30 20 10 О
* a.....с
..1
L *
< ------ 1 -z-yr—t—<
U -.....A.....A
8
Рис. 1. Зависимости показателей с, и, а от значения m Fig. 1. Dependences of the indicators с, и, а on the value of m
, и*, a*
Рис. 2. Зависимости показателей с*,
от значения m Fig. 2. Dependences of indicators с*, и*, а* on the value of m
Если сравнивать показатели обнаружения ошибок по видам во всех разрядах кодовых слов и только в информационных векторах, то можно отметить следующие тенденции. Значение а* постепенно с ростом m также увеличивается, для показателя а такая закономерность в монотонности изменения не наблюдается. Значения показателей обнаружения монотонных ошибок Рот-кодами и и и* с ростом значения m уменьшаются. Показатель а* находится в диапазоне m = 15-20 %, тогда как значение g сначала растет от 0 % при m = 4 до 36,823 % при m = 8, а затем падает.
В табл. 4, 5 представлены характеристики обнаружения Рот-кодами ошибок кратности d. Для каждого значения m и для каждой кратности d в табл. 4 приведено два числа: первое число - это число необнаруживаемых Рот-кодами ошибок в кодовых словах (<Д через косую черту записано число необнаруживаемых ошибок, возникающих
только в информационных векторах (NDd ). Знаком «-» отмечены те ячейки, для которых d > m. Другими словами, ошибка в информационном векторе данной кратности не
может возникнуть. В табл. 5 даны значения ed =
№
N m, d
N
DC m+k, d
•100%, показывающие, какую
долю составляет число необнаруживаемых ошибок, возникающих только в информационных векторах, от числа необнаруживаемых ошибок, возникающих во всех разрядах кодовых слов. Из данных табл. 5 следует, что преимущественным видом ошибок кратности d являются ошибки, возникающие в разрядах и информационных, и контрольных векторов. При d = 3 и d = 4 число а может достигать чуть менее 40 % от числа а . При d > 5
показатели 8d не достигают и 10 % для рассматриваемых значений т.
Исследования обнаружения ошибок Рт-кодами в области малой их кратности d показали, что при рассмотрении ошибок, возникающих во всех разрядах кодовых слов, а не только в информационных, Рт-кодами не обнаруживается даже небольшая доля двукратных ошибок (табл. 6). Это ошибки, связанные с искажением одного информационного и одного контрольного разрядов. В столбце Ыт+к, 2 приведены данные об общем числе ошибок кратности d = 2 в кодовых словах. Число необнаруживаемых Рт-кодами двукратных ошибок записано в столбце 2. Доля таких ошибок от общего возможного числа двукратных ошибок записана в последнем столбце. Значение показателя У^+к 2 крайне мало и превышает 1 % только для случая т = 4.
Таблица 4
Число необнаруживаемых Рт-кодами ошибок кратности d
Table 4
Number of errors undetectable by Pm-codes with multiplicities d
m k Необнаруживаемые ошибки кратности d N^ d / N^ d
2 3 4 5 6 7 8 9 10 11
4 3 32 / 0 96 / 16 48 / 0 32 / - 32 / -
5 3 64 / 0 288 / 64 288/32 192 / 0 128 / - 32 / -
6 3 128 / 0 896 / 256 1152 / 192 768 / 0 640 / 0 384 / - 64 / -
7 3 384 / 0 2432 / 896 3712 / 896 3456/0 3200 / 0 2176 / 128 768 / - 128 / -
8 4 512 / 0 3072/0 9728 / 3584 13312/0 12288/0 13312/0 8448 / 256 3072/ - 1536/ -
9 4 1536/0 9216 / 2048 23552 / 7168 43008 / 4096 54272/0 53248 / 2048 41472/ 512 22528 / 0 9728/ - 3072/ -
Таблица 5
Значения показателя sd, %
Table 5
Values of indicator sd, %
m k 2 3 4 5 6 7 8 9 10 11
4 3 0 16,667 0 - -
5 3 0 22,222 11,111 0 - -
6 3 0 28,571 16,667 0 0 - -
7 3 0 36,842 24,138 0 0 5,882 - -
8 4 0 0 36,842 0 0 0 3,03 - -
9 4 0 22,222 30,435 9,524 0 3,846 1,235 0 - -
Таблица 6
Характеристики обнаружения Рт-кодами ошибок кратности d = 2
Table 6
Characteristics of error-detection by Pm-codes with a multiplicity of d = 2
m k Nm+k, 2 Ndc 1 y m+k, 2 VDCk,2 , %
4 3 2688 32 1,19
5 3 7168 64 0,893
6 3 18432 128 0,694
7 3 46080 384 0,833
8 4 270336 512 0,189
9 4 638976 1536 0,24
Исследования показывают, что Рт-коды по показателю обнаружения двукратных ошибок в кодовых словах похожи на модифицированные коды Хэмминга (Жт-коды), описанные в работах [18, 20, 25]. Более того, они сравнимы и по избыточности. В табл. 7 отражены данные о числе необнаруживаемых двукратных ошибок в кодовых словах Рт- и Жт- кодами, а также приведено значение отношения числа необнаруживаемых Рт- и Жт- кодами ошибок (показатель Ст, %). Рассматриваемые коды обнаруживают большее количество двукратных ошибок, чем сравниваемые с ними в табл. 7, за исключением случая т = 7, когда оба кода одинаково справляются с двукратными ошибками.
Таблица 7
Число необнаруживаемых Pm- и Wm- кодами двукратных ошибок
Table 7
Number of double errors undetectable by Pm- and Wm-codes
m k Pm-код Wm-код ^ %
4 3 32 48 66,667
5 3 64 96 66,667
6 3 128 192 66,667
7 3 384 384 100
8 4 512 1024 50
9 4 1536 2048 75
В табл. 8, 9 внесены данные об обнаружении трех- и четырехкратных ошибок Р^кодами. Данные об обнаружении ошибок в информационных векторах занесены в столбцы и N^ 4, о числе ошибок, которые возникают только в информационных и
в контрольных разрядах кодовых слов, - в столбцы N^1% и N^^. Относительные показатели рассчитаны по аналогии с тем, как это сделано для двукратных ошибок. Отметим, что показатели обнаружения Рт-кодами трех- и четырехкратных ошибок составляют менее 2,2 %. При этом ф^ 3 <1 %, а ф^ 4 < 0,5 %. Рт-коды достаточно
эффективно идентифицируют ошибки в информационных векторах и в кодовых словах в целом: обнаруживается свыше 97 % ошибок.
Таблица 8
Характеристики обнаружения Р^кодами ошибок кратности d = 3
Table 8
Characteristics of error-detection by Pm-codes with a multiplicity of d = 3
m k Nm+k, 3 Ndc 1m+k, 3 Nd 1 m,3 -ktDC \D 11 m+k ,3 фDCk,з, % ф^з, % ф1С£, %
4 3 4480 96 16 80 2,143 0,357 1,786
5 3 14336 288 64 224 2,009 0,446 1,563
6 3 43008 896 256 640 2,083 0,595 1,488
7 3 122880 2432 896 1536 1,979 0,729 1,25
8 4 901120 3072 0 3072 0,341 0 0,341
9 4 2342912 9216 2048 7168 0,393 0,087 0,306
Таблица 9
Характеристики обнаружения Р^кодами ошибок кратности d = 4
Table 9
Characteristics of error-detection by Pm-codes with a multiplicity of d = 4
m k Nm+k, 4 NDC 1m+k, 4 ND 1 m, 4 дtDC \D 11 m+k ,4 4 , % ф^4 , % ф^4 , %
4 3 4480 48 0 48 1,071 0 1,071
5 3 17920 288 32 256 1,607 0,179 1,429
6 3 64512 1152 192 960 1,786 0,298 1,488
7 3 215040 3712 896 2816 1,726 0,417 1,31
8 4 2027520 9728 3584 6144 0,48 0,177 0,303
9 4 5857280 23552 7168 16384 0,402 0,122 0,28
Рт-коды в эксперименте с тестовыми комбинационными схемами. В эксперименте использованы системы рабочего диагностирования, схемы структур которых изображены на рис. 3. Это структуры организации СВК, реализуемые по методу логической коррекции сигналов.
Информационный вектор
Рис. 3. Структурные схемы системы диагностирования методом логической коррекции с вычислением: а - всех контрольных разрядов с применением логической коррекции; б - младшего контрольного
разряда без логической коррекции Fig. 3. Structural schemes of the diagnostic system by the method of Boolean correction: a - a structure with the calculation of all check bits using Boolean correction; b - structure with lower check bit calculation
without Boolean correction
В структуре на рис. 3, а объектом диагностирования является блок F(x) с t входами и m выходами. Блок содержит СВК с тремя функциональными блоками: блок контрольной логики G(x); каскад элементов коррекции - сумматоров по модулю M = 2 (элементов XOR); самопроверяемый тестер TSC (Totally Self-Checking Checker). Значения с рабочих функций f1, f2, ..., fr не преобразуются и поступают напрямую на входы TSC.
Данные функции вычисляют в СВК значения информационных разрядов. Значения с остальных рабочих функцийfr+1, f+2, ..., fm преобразуются c использованием элементов XOR в функции hr+1, hr+2, ..., hm, которые формируют значения контрольных разрядов
Рт-кода. Преобразования осуществляются по формуле h = f Ф g, i = r +1, m, где
gi - контрольные функции, вычисляемые блоком G(x). В TSC выделены два блока: кодер Рт-кода Gf) и компаратор TRC (Two-Rail Checker). При исправной работе объекта диагностирования и СВК устанавливается равенство: h\ = hr+i, h2 = hr+2, ..., hr = hm. Компаратор это равенство проверяет, формируя контрольный сигнал. Компаратор синтезируется с применением модулей сжатия парафазных сигналов [26]. Такие модули сжимают два па-рафазных сигнала в один. Поэтому значения функций hr+1, hr+2, ..., hm либо функций h1, h2, ..., hr должны предварительно инвертироваться. На выходах z0 и z1 при исправной работе всех элементов структуры присутствует сигнал <01> либо <10>. Нарушение его парафаз-ности является сигналом ошибки. СВК для устройств и систем критического применения синтезируется полностью самопроверяемой относительно заданной модели неисправностей. Поэтому ошибки на выходах элементов и блоков структуры СВК должны быть обнаружены в процессе функционирования системы диагностирования. Ошибки на выходах объекта диагностирования F(x) могут быть не обнаружены в СВК. В ходе исследований был поставлен эксперимент с тестовыми комбинационными схемами [27-29] и проанализированы характеристики обнаружения ошибок с применением Рт-кодов при действии одиночных константных неисправностей выходов внутренних логических элементов [30].
Отметим, что Рт-коды не могут быть построены для числа m = 2' + i, i е{2,3, ...J
[20]. Это числа m = 6, 11, 20 и т. д. Для данных значений m может быть использован вариант структуры, показанный на рис. 3, б. Один контрольный разряд вычисляется напрямую блоком G(x) без преобразований. Структуры, приведенные на рис. 3, являются модификациями структур, описанных в работах [21, 22] для использования равновесных кодов «1 из 3» и «1 из 4» и метода логической коррекции сигналов.
В ходе экспериментов рассматривали схемы из пакета LGSynth'89, которые заданы в базисе И-НЕ с логическими элементами от одного до четырех входов (формат *.netblif) [29]. В табл. 10, 11, а также на рис. 4 приведены экспериментальные результаты для четырех комбинационных схем. В таблицах для конкретной схемы в каждой ячейке представлены два числа: верхнее число - количество необнаруживаемых ошибок, нижнее - общее количество ошибок соответствующего вида и кратности. Знаком «-» отмечены ячейки, соответствующие неформируемым кратностям ошибок на выходах схем. В качестве относительных показателей на рис. 4 приведены только показатели обнаружения ошибок по их видам.
Таблица 10
Показатели обнаружения ошибок на выходах тестовых схем
Table 10
Error-detection rates at benchmarks outputs
Схема Число выходов Ошибки кратности d Ошибки Всего
1 2 3 4 5 монотонные симметричные асимметричные
x2 7 0 244 16 0 0 260 0 0 260
16624 2428 544 96 16 19354 194 160 19708
f51m 8 0 4 12 0 - 8 0 8 16
12169 781 56 2 12759 204 45 13008
cm42a 10 0 0 - - - 0 0 0 0
270 8 271 7 0 278
pm1 13 0 4096 224 0 - 2104 2048 168 4320
698112 37632 15872 6144 716384 26720 14656 757760
Показатели обнаружения ошибок на выходах тестовых схем по видам и кратности d
Error-detection rates at benchmarks outputs by types and multiplicity d
Таблица 11
Table 11
Число Ошибки
Схема выхо- монотонные симмет ричные асимметричные
дов 1 2 3 4 5 2 4 3 4
x2 7 0 244 16 0 0 0 0 0
16624 2234 392 88 16 194 152 8
f51m 8 0 4 4 0 0 8 0
12169 577 12 1 204 44 1
cm42a 10 0 0 0
270 1 7
pm1 13 0 2048 56 0 2048 0 168 0
698112 13312 4288 672 24320 2400 11584 3072
х2 f5lm prnl
Рис. 4. Относительные показатели обнаружения ошибок на выходах тестовых схем по видам: круговые диаграммы - распределение необнаруживаемых ошибок по их видам; гистограмма - показатели
обнаружения различных видов ошибок от общего числа ошибок на выходах схем Fig. 4. Relative indicators of error detection at the outputs of benchmarks by types: pie charts - distribution of undetectable errors by their types; histogram - indicators of detection of various types of errors from
the total number of errors at the outputs of the circuits
Анализ данных табл. 10, 11 и рис. 4 показал, что P^-кодами обнаруживается существенная доля ошибок на выходах тестовых комбинационных схем. При этом максимальной является доля необнаруживаемых ошибок у схемы x2 - немногим более 1,3 %. Для других схем этот показатель значительно ниже: для pm1 - немногим менее 0,6 %, для f51m - немногим более 0,12 %. Из табл. 10, 11 следует, что Pm-кодами обнаруживается 100 % однократных ошибок и значительное количество двукратных ошибок (для схем x2 и pm1 - до 90 % от общего числа двукратных ошибок, для остальных схем -свыше 99 % двукратных ошибок). Применение специальных схемотехнических приемов по выделению подмножеств выходов объекта диагностирования для формирования значений информационных и контрольных разрядов [31, 32] позволит повысить данные показатели, однако даже при таких значениях они слишком высоки.
Заключение. Установленные в работе характеристики обнаружения ошибок Pm-кодами целесообразно учитывать при их использовании в задачах синтеза надежных и безопасных устройств автоматики и вычислительной техники. При этом наиболее эффективными в практических приложениях являются Pm-коды со значением m < 10. Ими обнаруживаются все двукратные ошибки в информационных векторах, но не обнаруживается около 1 % двукратных ошибок, связанных с искажениями одного информационного и одного контрольного разрядов. В практических приложениях следует физически разделять подсхемы формирования информационных и контрольных разрядов, что позволит значительно сократить число потенциально возможных необнаружи-ваемых ошибок.
Для устройств с m > 10 эффективным способом может быть организация контроля вычислений по группам выходов с применением Pm-кодов со значением m = 4-9. Пример подобного приложения для организации СВК логических устройств по традиционному методу без коррекции сигналов в СВК можно найти в работе [19]. Аналогичный подход может быть использован и при реализации СВК с логической коррекцией сигналов. При кодировании состояний синтезируемых устройств с памятью Pm-коды целесообразно использовать в том случае, когда число состояний не превышает 29 = 512.
Представленная работа завершает цикл исследований характеристик обнаружения Pm-кодами ошибок в кодовых словах и расширяет теорию синтеза надежных и безопасных цифровых устройств на основе равномерных избыточных кодов.
Литература
1. Гаврилов М. А., Остиану В. М., Потехин А. И. Надежность дискретных систем // Итоги науки и техники. Сер.: Теория вероятностей. Математическая статистика. Теоретическая кибернетика. 1970. С. 7-104.
2. Гавзов Д. В., Сапожников В. В., Сапожников Вл. В. Методы обеспечения безопасности дискретных систем // Автомат. и телемех. 1994. № 8. С. 3-50.
3. Бочков К. А., Харлап С. Н., Сивко Б. В. Разработка отказоустойчивых систем на основе диверси-тетных аксиоматических базисов // Автоматика на транспорте. 2016. Т. 2. № 1. С. 47-64.
4. Гаврилов С. В., Гуров С. И., Жукова Т. Д., Рыжова Д. И. Применение теории кодирования для повышения помехозащищенности комбинационных схем // Информационные технологии. 2016. Т. 22. № 12. С. 931-937.
5. Using natural version redundancy of FPGA projects in area of critical applications / O. Drozd, V. Romankevich, M. Kuznietsov et al. // 2020 IEEE 11th International Conference on Dependable Systems, Services and Technologies (DESSERT). Kyiv: IEEE, 2020. P. 58-64. https://doi.org/10.1109/DESSERT50317. 2020.9125050
6. Бестемьянов П. Ф. Методы обеспечения безопасности аппаратных средств микропроцессорных систем управления движением поездов // Электротехника. 2020. № 9. С. 2-8.
7. Сапожников Вл. В. Синтез систем управления движением поездов на железнодорожных станциях с исключением опасных отказов. М.: Наука, 2021. 229 с.
8. Lala P. K. Self-checking and fault-tolerant digital design. San Francisco, CA: Morgan Kaufmann, 2001. 216 p.
9. Fujiwara E. Code design for dependable systems: Theory and practical applications. Hoboken, NJ: John Wiley & Sons, 2006. 720 p.
10. Согомонян Е. С., Слабаков Е. В. Самопроверяемые устройства и отказоустойчивые системы. М.: Радио и связь, 1989. 208 с.
11. Сапожников В. В., Сапожников Вл. В. Самопроверяемые дискретные устройства. СПб.: Энер-гоатомиздат, 1992. 224 с.
12. Piestrak S. J. Design of self-testing checkers for unidirectional error detecting codes. Wroclaw: Oficyna Wydawnicza Politechniki Wroclavskiej, 1995. 111 p.
13. Tshagharyan G., Harutyunyan G., Shoukourian S., Zorian Y. Experimental study on Hamming and Hsiao codes in the context of embedded applications // 2017 IEEE East-West Design & Test Symposium (EWDTS). Novi Sad: IEEE, 2017. P. 25-28. https://doi.org/10.1109/EWDTS.2017.8110065
14. Сапожников В. В., Сапожников Вл. В., Ефанов Д. В. Коды Хэмминга в системах функционального контроля логических устройств. СПб.: Наука, 2018. 151 с.
15. Stempkovsky A. L., Zhukova T. D., Telpukhov D. V., Gurov S. I. CICADA: a new tool to design circuits with correction and detection abilities // 2021 International Siberian Conference on Control and Communications (SIBCON). Kazan: IEEE, 2021. P. 1-5. https://doi.org/10.1109/SIBC0N50419.2021.9438900
16. Goessel M., Ocheretny V., Sogomonyan E., MarienfeldD. New methods of concurrent checking. 1st ed. Dordrecht: Springer Netherlands, 2008. 184 p. https://doi.org/10.1007/978-1-4020-8420-1
17. Сапожников В. В., Сапожников Вл. В., Ефанов Д. В. Коды с суммированием для систем технического диагностирования. Т. 1: Классические коды Бергера и их модификации. М.: Наука, 2020. 382 с.
18. Сапожников В. В., Сапожников Вл. В., Ефанов Д. В. Коды с суммированием для систем технического диагностирования. Т. 2: Взвешенные коды с суммированием. М.: Наука, 2021. 453 с.
19. Дмитриев В. В., Ефанов Д. В., Сапожников В. В., Сапожников Вл. В. Коды с суммированием с эффективным обнаружением двукратных ошибок для организации систем функционального контроля логических устройств // Автомат. и телемех. 2018. № 4. С. 105-122.
20. Ефанов Д. В., Пивоваров Д. В., Осадчий Г. В., Зуева М. В. Применение кодов с эффективным обнаружением ошибок в области малой кратности при синтезе схем встроенного контроля по методу логического дополнения // Информационные технологии. 2022. Т. 28. № 6. С. 283-293. https://doi.org/ 10.17587/it.28.283-293
21. Гессель М., Морозов А. В., Сапожников В. В., Сапожников Вл. В. Логическое дополнение -новый метод контроля комбинационных схем // Автомат. и телемех. 2003. № 1. С. 167-176.
22. Гессель М., Морозов А. В., Сапожников В. В., Сапожников Вл. В. Контроль комбинационных схем методом логического дополнения // Автомат. и телемех. 2005. № 8. С. 161-172.
23. Efanov D., Osadchy G., Zueva M. Special aspects of errors definition via sum codes within embedded control schemas being realized by means of Boolean complement method // 2021 11th IEEE International Conference on Intelligent Data Acquisition and Advanced Computing Systems: Technology and Applications (IDAACS). Cracow: IEEE, 2021. Vol. 1. P. 424-431. https://doi.org/10.1109/IDAACS53288.2021.9660837
24. Hamming R W. Error detecting and error correcting codes // The Bell System Technical Journal. 1950. Vol. 29. No. 2. P. 147-160. https://doi.org/10.1002/J.1538-7305.1950.TB00463.X
25. Сапожников В. В., Сапожников Вл. В., Ефанов Д. В. Взвешенный код с суммированием без операций переноса для задач технической диагностики дискретных систем // Изв. вузов. Приборостроение. 2018. Т. 61. № 4. С. 323-335. https://doi.org/10.17586/0021-3454-2018-61-4-323-335
26. Patent 3559167A US. Self-checking error checker for two-rail coded data / W. C. Carter, K. A. Duke, P. R Schneider; filed: 25.07.1968; publ. 26.01.1971. 10 p.
27. Sequential circuit design using synthesis and optimization / E. M. Sentovich, K. J. Singh, C. Moon et al. // Proceedings [of] 1992 IEEE International Conference on Computer Design: VLSI in Computers & Processors. Cambridge, MA: IEEE, 1992. P. 328-333. doi: https://doi.org/10.1109/ICCD.1992.276282
28. SIS: a system for sequential circuit synthesis: Tech. rep. No. UCB/ERL M92/41 / E. M. Sentovich, K. J. Singh, L. Lavagno et al. // EECS Department, University of California, Berkeley [Электронный ресурс]. 04.05.1992. URL: http://www2.eecs.berkeley.edu/Pubs/TechRpts/1992/2010.html (дата обращения: 02.12.2022).
29. Collection of digital design benchmarks // Digital Design & Dependability Research Group [Электронный ресурс]. URL: https://ddd.fit.cvut.cz/www/prj/Benchmarks/ (дата обращения: 02.12.2022).
30. Багхдади А. А. А., Хаханов В. И., Литвинова Е. И. Методы анализа и диагностирования цифровых устройств (аналитический обзор) // АСУ и приборы автоматики. 2014. Вып. 166. С. 59-74.
31. Ефанов Д. В., Зуева М. В. Логическое дополнение до модульных кодов с суммированием для синтеза схем встроенного контроля комбинационных устройств автоматики и вычислительной техники // Проблемы разработки перспективных микро- и наноэлектронных систем (МЭС). 2021. № 1. С. 52-60. https://doi.org/10.31114/2078-7707-2021-1-52-60
32. Efanov D., Osadchy G., Zueva M. Specifics of error detection with modular sum codes in concurrent error-detection circuits based on Boolean complement method // 2021 IEEE East-West Design & Test Symposium (EWDTS). Batumi: IEEE, 2021. P. 59-69. https://doi.org/10.1109/EWDTS52692.2021.9581036
Статья поступила в редакцию 06.09.2022 г.; одобрена после рецензирования 17.10.2022 г.;
принята к публикации 29.11.2022 г.
Информация об авторах
Ефанов Дмитрий Викторович - доктор технических наук, доцент, профессор кафедры автоматики, телемеханики и связи на железнодорожном транспорте Института транспортной техники и систем управления Российского университета транспорта (Россия, 127994, г. Москва, ул. Образцова, 9, стр. 9), TrES-4b@yandex.ru
Зуева Марина Владимировна - программист-аналитик ООО «ИБС Санкт-Петербург» (Россия, 190000, г. Санкт-Петербург, ул. Английская набережная, 70), marina-seo -media@yandex.ru
References
1. Gavrilov M. A., Ostianu V. M., Potekhin A. I. Reliability of discrete systems. Itogi nauki i tekhniki. Ser. Teoriya veroyatnostey. Matematicheskaya statistika. Teoreticheskaya kibernetika, 1970, pp. 7-104. (In Russian).
2. Gavzov D. V., Sapozhnikov V. V., Sapozhnikov Vl. V. Security methods in discrete systems. Avtomat. i telemekh. = Autom. Remote Control, 1994, no. 8, pp 3-50. (In Russian).
3. Bochkov K. A., Kharlap S. N., Sivko B. V. Design of axiomatic based fault-tolerant systems. Avtomatika na transporte = Transport Automation Research, 2016, vol. 2, no. 1, pp. 47-64. (In Russian).
4. Gavrilov S. V., Gurov S. I., Zhukova T. D., Ryzhova D. I. Application of coding theory to improve the noise immunity of combinational circuits. Informatsionnyye tekhnologii = Information Technologies, 2016, vol. 22, no. 12, pp. 931-937. (In Russian).
5. Drozd O., Romankevich V., Kuznietsov M., Drozd M., Martynyuk O. Using natural version redundancy of FPGA projects in area of critical applications. 2020 IEEE 11th International Conference on Dependable Systems, Services and Technologies (DESSERT). Kyiv, IEEE, 2020, pp. 58-64. https://doi.org/10.1109/ DESSERT50317.2020.9125050
6. Bestemyanov P. F. Methods for ensuring the safety of hardware of microprocessor-based train control systems. Elektrotekhnika, 2020, no. 9, pp. 2-8. (In Russian).
7. Sapozhnikov Vl. V. Synthesis of train control systems at railway stations with exclusion of dangerous failures. Moscow, Nauka Publ., 2021. 229 p. (In Russian).
8. Lala P. K. Self-checking andfault-tolerant digital design. San Francisco, CA, Morgan Kaufmann, 2001. 216 p.
9. Fujiwara E. Code design for dependable systems: Theory and practical applications. Hoboken, NJ, John Wiley & Sons, 2006. 720 p.
10. Sogomonyan E. S., Slabakov E. V. Self-checking devices and fault-tolerant systems. Moscow, Radio i Svyaz' Publ., 1989. 208 p. (In Russian).
11. Sapozhnikov V. V., Sapozhnikov Vl. V. Self-checking discrete devices. St. Petersburg, Energoatomizdat Publ., 1992. 224 p. (In Russian).
12. Piestrak S. J. Design of self-testing checkers for unidirectional error detecting codes. Wroclaw, Oficyna Wydawnicza Politechniki Wroclavskiej, 1995. 111 p.
13. Tshagharyan G., Harutyunyan G., Shoukourian S., Zorian Y. Experimental study on Hamming and Hsiao codes in the context of embedded applications. 2017 IEEE East-West Design & Test Symposium (EWDTS). Novi Sad, IEEE, 2017, pp. 25-28. https://doi.org/10.1109/EWDTS.2017.8110065
14. Sapozhnikov V. V., Sapozhnikov Vl. V., Efanov D. V. Hamming mdes in concurrent error detection systems of logic devices. St. Petersburg, Nauka Publ., 2018. 151 p. (In Russian).
15. Stempkovsky A. L., Zhukova T. D., Telpukhov D. V., Gurov S. I. CICADA: a new tool to design circuits with correction and detection abilities. 2021 International Siberian Conference on Control and Communications (SIBCON). Kazan, IEEE, 2021, pp. 1-5. https://doi.org/10.1109/SIBC0N50419.2021.9438900
16. Goessel M., Ocheretny V., Sogomonyan E., Marienfeld D. New methods of concurrent checking. 1st ed. Dordrecht, Springer Netherlands, 2008. 184 p. https://doi.org/10.1007/978-1-4020-8420-1
17. Sapozhnikov V. V., Sapozhnikov Vl. V., Efanov D. V. Sum codes for technical diagnostics systems, vol. 1: Classical Berger codes and their modifications. Moscow, Nauka Publ., 2020. 382 p. (In Russian).
18. Sapozhnikov V. V., Sapozhnikov Vl. V., Efanov D. V. Sum codes for technical diagnostics systems, vol. 2: Weight-based sum codes. Moscow, Nauka Publ., 2021. 453 p. (In Russian).
19. Dmitriev V. V., Efanov D. V., Sapozhnikov V. V., Sapozhnikov Vl. V. Sum codes with efficient detection of twofold errors for organization of concurrent error detection systems of logical devices. Autom. Remote Control, 2018, vol. 79, iss. 4, pp. 665-678. https://doi.org/10.1134/S0005117918040082
20. Efanov D. V., Pivovarov D. V., Osadchiy G. V., Zueva M. V. Application of codes with low multiplicity errors efficient detection for the concurrent error-detection circuit synthesis by the Boolean complement method. Informatsionnyye tekhnologii = Information Technologies, 2022, vol. 28, no. 6, pp. 283-293. (In Russian). https://doi.org/10.17587/it.28.283-293
21. Gessel M., Morozov A. V., Sapozhnikov V. V., Sapozhnikov Vl. V. Logic complement, a new method of checking the combinational circuits. Autom. Remote Control, 2003, vol. 64, iss. 1, pp. 153-161. https://doi.org/10.1023/A:1021884727370
22. Goessel M., Morozov A. V., Sapozhnikov V. V., Sapozhnikov Vl. V. Checking combinational circuits by the method of logic complement. Autom. Remote Control, 2005, vol. 66, iss. 8, pp. 1336-1346. https://doi.org/10.1007/s10513-005-0174-2
23. Efanov D., Osadchy G., Zueva M. Special aspects of errors definition via sum codes within embedded control schemas being realized by means of Boolean complement method. 2011 11th IEEE International Conference on Intelligent Data Acquisition and Advanced Computing Systems: Technology and Applications (IDAACS). Cracow, IEEE, 2021, vol. 1, pp. 424-431. https://doi.org/10.1109/IDAACS53288.2021.9660837
24. Hamming R. W. Error detecting and error correcting codes. The Bell System Technical Journal, 1950, vol. 29, no. 2, pp. 147-160. https://doi.org/10.1002/J.1538-7305.1950.TB00463.X
25. Sapozhnikov V. V., Sapozhnikov Vl. V., Efanov D. V. Weighted code with summation without carries for solving the problems of technical diagnostics of discrete systems. Izv. vuzov. Priborostroyeniye = Journal of Instrument Engineering, 2018, vol. 61, iss. 4, pp. 323-335. (In Russian). https://doi.org/10.17586/0021-3454-2018-61-4-323-335
26. Carter W. C., Duke K. A., Schneider P. R. Self-checking error checker for two-rail coded data. Patent US 3559167A United States, filed 25.07.1968, publ. 26.01.1971. 10 p.
27. Sentovich E. M., Singh K. J., Moon C., Savoj H., Brayton R. K., Sangiovanni-Vincentelli A. Sequential circuit design using synthesis and optimization. Proceedings [of] 1992 IEEE International Conference on Computer Design: VLSI in Computers & Processors. Cambridge, MA, IEEE, 1992, pp. 328-333. https://doi.org/ 10.1109/ICCD.1992.276282
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. SIS: a system for sequential circuit synthesis, tech. rep. no. M92/41. EECS Department, University of California, Berkeley. 4 May 1992. Available at: http://www2.eecs.berkeley.edu/Pubs/TechRpts/1992/2010.html (accessed: 02.12.2022).
29. Collection of digital design benchmarks. Digital Design & Dependability Research Group. Available at: https://ddd.fit.cvut.cz/www/prj/Benchmarks/ (accessed: 02.12.2022).
30. Baghdadi A. A. A., Hahanov V. I., Litvinova E. I. Methods of analysis and diagnostics of digital devices (analytical review). ASU i pribory avtomatiki = Management Information Systems and Devices, 2014, iss. 166, pp. 59-74. (In Russian).
31. Efanov D. V., Zueva M. V. Boolean complement to modular sum codes for the concurrent error-detection systems synthesis for combinational devices of automation and computer technology. Problemy razrabotki perspektivnykh mikro- i nanoelektronnykh sistem (MES) = Problems of Advanced Micro- and Nanoelectronic Systems Development (MES), 2021, no. 1, pp. 52-60. (In Russian). https://doi.org/10.31114/2078-7707-2021-1-52-60
32. Efanov D., Osadchy G., Zueva M. Specifics of error detection with modular sum codes in concurrent error-detection circuits based on Boolean complement method. 2021 IEEE East-West Design & Test Symposium (EWDTS). Batumi, IEEE, 2021, pp. 59-69. https://doi.org/10.1109/EWDTS52692.2021.9581036
The article was submitted 06.09.2022; approved after reviewing 17.10.2022;
accepted for publication 29.11.2022.
Information about the authors
Dmitry V. Efanov - Dr. Sci. (Eng.), Assoc. Prof., Prof. of the Automation, Remote Control and Communications on Railway Transport Department, Institute of Transport Technology and Control Systems, Russian University of Transport (Russia, 127994, Moscow, Obraztsov st., 9, bld.9), TrES-4b@yandex.ru
Marina V. Zueva - Programmer-Analyst, "IBS Saint Petersburg" LLC (Russia, 190000, Saint Petersburg, Angliiskaya naberezhnaya st., 70), marina-seo-media@yandex.ru
/-\
Вниманию читателей журнала
«Известия высших учебных заведений. Электроника»
Подписку на печатную версию журнала можно оформить:
• по каталогу «Периодические издания. Газеты и журналы» ООО «Урал-Пресс Округ». Подписной индекс 47570
• по объединенному каталогу «Пресса России» ООО «Агентство «Книга-Сервис». Подписной индекс 38934
• через Агентство «ПРЕССИНФОРМ»: http://presskiosk.ru/categories
• через редакцию - с любого номера и до конца года
Подписку на электронную версию журнала можно оформить на сайтах:
• Научной электронной библиотеки: www.elibrary.ru
• ООО «Агентство «Книга-Сервис»: www.rucont.ru;www.akc.ru;
www.pressa-rf.ru
• ООО «Урал-Пресс Округ»: www.delpress.ru
• ООО «ИВИС»: www.ivis.ru
\_/