удк 004.272.2 В. М. Амербаев [V. M. Amerbaev], Е. С. Балака [E. S. Balaka], Д. В. Тельпухов [D. V. Telpuhov], Р. А. Соловьев [R. A. Solovyov]
ПРИМЕНЕНИЕ ИНФОРМАЦИОННОЙ ИЗБЫТОЧНОСТИ ДЛЯ ПОВЫШЕНИЯ НАДЕЖНОСТИ АРИФМЕТИЧЕСКОГО УЗЛА ВЫЧИСЛИТЕЛЬНОГО ЭЛЕМЕНТА БИМОДУЛЬНОЙ АРИФМЕТИКИ
Application information redundancy to improve reliability the arithmetic unit computing elements bimodule arithmetic
Традиционный путь построения модулярных устройств постулирует конструктивную необходимость включения в состав модулярного устройства громоздкого немодульного блока, выполняющегося последовательно-параллельные операции модулярной арифметики. Авторами работы [1] предложен новый подход к построению модулярных устройств, основанный на формировании минимальной автономной вычислительной единицы по каждому основанию вычислительного диапазона модулярного устройства (вычислительного элемента по модулю (ВЭ)). В статье рассматривается построение арифметического узла такого ВЭ, базирующегося на бимодульной арифметике, использующей избыточное представлении исходных операндов, что позволяет ввести не только дополнительный параллелизм, но и использовать помехоустойчивые свойства модулярной арифметики внутри бимодульного ВЭ.
Ключевые слова: Модулярный процессор, вычислительный элемент, бимодульная арифметика, корректирующие коды модулярной арифметики.
The traditional way of building modular devices constructive postulates the need to include in the modular device bulky non-modular unit that is running a series-parallel operations of modular arithmetic. The authors of [1] proposed a new approach to the construction of modular units, based on the formation of a minimum of autonomous computing unit for each base band modular computing devices (computational element modulo (VE)). This article discusses the construction of the arithmetic unit of the CEs based on bimodular arithmetic using excessive representation of source operands, that allows you to enter not only the additional parallelism, but also use noise-resistant properties of modular arithmetic in bimodular RE.
Key words: RNS-based processor, Computing Element, Bimodular RNS, Error correction codes based on RNS.
введение
Концепция параллелизма привлекает внимание разработчиков вычислительных устройств своими потенциальными возмож-
ностями повышения производительности и надежности вычислительных систем. Именно с подобными системами связывается в настоящее время перспектива дальнейшего наращивания вычислительной мощности и надежности. Одним из перспективных путей построения высокоскоростных и надежных вычислительных систем является применение модулярной арифметики, по своей природе обладающей тремя основными свойствами - параллелизм, равноправность и малоразрядность модульных вычислений, определяющих кодовую структуру операндов. Традиционно, подход к построению модулярных устройств основывался на раздельном проектировании модульной части вычислителя, в которой реализуются все параллельные (модульные) операции, и немодульной части, в которой реализуются последовательно-параллельные операции, принятые называть «немодульными». Существенным недостатком такого подхода является отдельное построение громоздкой по аппаратным затратам немодульной части вычислителя. В работе [1] обозначен новый подход к построению архитектуры модулярных устройств, затрагивающий совершенствование всех процедур модулярной арифметики, основанный на понятии вычислительного элемента (ВЭ) по модулю принятой модулярной системы оснований. ВЭ представляет из себя автономную минимальную структурную вычислительную единицу, входящую в состав модулярного вычислителя. Авторы работы указывают на то, что для выполнения требований оптимальности и эффективности вычислительных архитектур в специализированных приложениях целесообразно использовать аппарат-но адаптируемые к задачам вычислительные элементы.
Основным средством обеспечения высокой надежности вычислительного устройства является введение избыточности, необходимой для обнаружения и исправления ошибок, возникающих в процессе его функционирования. В работе [2] рассматривается построение ВЭ по модулю, основанного на бимодульной арифметике кольца вычетов по модулюр (р - простое). Бимодульная арифметика базируется на избыточном представлении исходных операндов в виде пар , indw |x|^, где |x|p есть вычет x по modp, i = indJx\p - соответсвующий вычету |x|p индекс, при этом условно считается, что вычету 0 соответствует специальный символ X, который обладает свойством X + i = i + X = X для любого индекса 0 < i < р - 2. Такой подход впервые был рассмотрен в работе проф. Д.А. Поспелова [3] с целью ап-паратно однотипного выполнения мультипликативных и аддитивных операции. В работе [4] предложено применить идею однотипности к кодово-
му представлению самих операндов. Показано, что за счет использования однотипности кодовых представлений операндов, соответствующая архитектура ВЭ бимодульной арифметики обладает более экономичными с точки зрения апаратных затрат показателями относительно аналогов.
арифметический узел вэ
бимодульной арифметики
Основным узлами, входящими в ВЭ по модулю р, являются устройство управления, оперативно-запоминающее устройство, постоянно-запоминающее устройство, а также арифметический узел по модулюр (АУз) [5]. В работе [4] описан способ реализации АУз ВЭ бимо-дульной арифметики, основанный на однотипно кодовом представлении операндов. Кодовая однотипность достигается путем перехода от представления компонент пар операндов по модулям р и р - 1 к представлению по модулю р - 1. При этом вводится понятие модифицированного вычета по модулю р:
где = и - функция Кронекера,
[О, иначе,
- кофункция Кронекера.
Для представления второй компоненты пары операнда используется дискретно-логарифметическое представление:
^Еи-Н, = + ф^ИйС^ где -
индекс вычета |х|р по основанию w, т. е. |х| ^ 0 <=>
х
= х .
I I р
Полагается, что при ¿-битном простом числе р константный символ X = 2 - 1. Очевидно, что при любом простом р Хр ё Х1-1.
Реализация кольцевых операций в бимодульной арифметике выполняется согласно выражениям:
- мультипликативные:
если <1^,10^ ^ 106,1^ ^ то
Лр, если ¿(^х) -Ар)чб{1оё„\у\
р- 1
> т. е.
(л; • }>)тос1 р =
р-1
р- 1
- аддитивные:
если ^ <1^,10^1^ ^ то
(.х + д>)то(1 р -X |х + у\ , + у\ )> т. е.
(л; + у)тос1 р =
(1)
р- 2, если х = у = р -1, Лр, если х + у = р-\, х-\, если Зс^О и у = Лр, у-1, если уфО и х-Лр, х + у, если х + у <р-1, |3с + ^ -1, если х + у > р -1.
Тем самым, однотипность кодовых представлений операндов позволила выполнять аддитивные и мультипликативные операции на одном оборудовании, а именно на сумматоре по модулю (р - 1). Число (р - 1) является составным, что позволяет ввести дополнительный параллелизм по каждому каналу, заменив операцию сложения по модулю (р - 1) на параллельное сложение по более мелким попарно взаимно простым модулям.
построение бимодульного
субмодульного арифметического узла
Пусть р (р - простое) - базовый модуль ВЭ БиМА, тогда р - 1 разбивается на соответствующий набор субмодулей т. е. р -1 = П, причем д1,д2,..,д^ являются попарно взаимно простыми. Дополнительно введем в набор субмодулей избыточный модуль qs + 1 > д1,д2,..,д^ для определения случая переполнения за диапазон (р - 1) из (1) при операции сложения. Таким образом, число А е Хр будет иметь представление
А = Ы ,\А\ ,...,\А\ ,\А\
Процедура сложения по модулю р с использованием бимодульного субмодульного арифметического узла включает следующие стадии:
1) независимое сложение первых компонент пар операндов по субмодулям д^,..,®,® + 1;
2) определение признака переполнения за диапазон (р - 1);
3) в случае, если переполнение произошло, согласно (1), вычитание из результата сложения единицы, т. е.
I ^ I р-1 ?
4) выбор из таблицы по значению результата второй компоненты пары результата, соответствующей дискретному логарифму.
Рассмотрим пример, иллюстрирующий принцип работы бимодульного субмодульного арифметического узла в режиме сумматора для простого модуля р = 7, для которого существует единственное разбиение на субмодули: ц = 2, д2 = 3. Введем контрольный модуль д3 = 5. Пусть необходимо сложить два числа А = 4 = < (0,1,4), (0,1,4) >, В = 5 = < (1,2,0), (1,2,0) >.
1) \Л + Щ 7 = |9|7 = 2 = ( 0 +12,1 + 2|з, |4 + 0|5 )= (1,0,4).
2) Для определения признака переполнения воспользуемся операцией расширения на модуль д3, основанной на переводе модулярного кода в полиалический код [6]. То есть необходимо по остаткам по субмодулям д1,д2 найти остаток по модулю д3 и сравнить его с полученным значением в процессе вычислений.
Число А в полиадической системе счисления представляется в виде
Л = ХЛ1<?2...д„-1 + Х„-1<М2...д„-2 + ... + Х3«1«2 + Х2 «1 + Х1 ,
к-1 , _ч
где 0 < Хк < П ®( =1,п) - коэффициенты (цифры) полиади-
1=1
ческого кода. Запишем набор констант, необходимых для перевода в полиадический код:
М = |2-11 = 2, «1-11 = |2-11 = 3, к-1| = |3-11 = 2.
I 1«, 1 13 I I® 1 15 I I® 1 15
Расширение оснований модулярного кода:
Действия Субмодули Цифры полиадического кода
я, = 2 я, = 3 я, = 5
А1 1 1 0 1 А + В|5 Х1 = |А|?1 = 1 11
* кг1 0 2 2 А+в|5 - 1 Х2=1 3
Х2 1 1 3 А+В|5 - 3 1
* 0 3 А + в|5- 4 Хз = |б|А + В |5 - 8 |5 = || А + В |5- 3
к2",!„ 2
Таким образом, х3 = |\Л + Б|5 - 3|,
но т. к х3 = 0, т. е. ||Л + Б|5 -^ = 0, то |Л + Б|5 = 3.
3) Л + Б| = 3 Ф 4. Следовательно, произошло переполнение за диапазон (р - 1). Согласно (1), из полученного результата необходимо вычесть единицу:
Л+Б6 -1=(1 - У0 - 2Ы3 - 41М0,2,2).
4) По таблице логарифмов определяем значение второй компоненты пары результата:
Вычет Субразложение Логарифм Субразложение
Р = 7 Я, = 2 Я2 = 3 Яз = 5 Я, = 2 Я2 = 3 Яз = 5
0 0,0,0 А = 7 1,1,2
1 1,1,1 0 0,0,0
0,2,2
0,2,2
2
2
3 1,0,3 1 1,1,1
4 0,1,4 4 0,1,4
5 1,2,0 5 1,2,0
6 0,0,1 3 1,0,3
Таким образом, результат суммирования равен 2 = < (0,2,2), (0,2,2) >.
Процедура умножения по модулю р с использованием бимодульно-го субмодульного арифметического узла включает следующие стадии:
1) независимое сложение вторых компонент пар операндов по субмодулям ®1,д2,..,д„ ® + 1;
2) выбор из таблицы по значению результата второй компоненты пары результата, соответствующей вычету.
Благодаря однотипно кодовому представлению операндов появляется возможность не только распараллеливать вычисления, но также использовать корректирующие свойства модулярной арифметики внутри арифметического узла ВЭ бимодульной арифметики.
Построение субмодульного бимодульного арифметического узла с возможностью обнаружения и исправления одиночной ошибки.
Сложность современных вычислительных устройств приводит к необходимости применения эффективных средств обнаружения и исправления ошибок, возникающих в результате появления неисправностей оборудования. Ошибки в машинных словах могут быть весьма эффективно обнаружены, если при кодировании этих слов применять метод информационной избыточности.
Избыточная модулярная арифметика обладает свойствами, которые можно использовать для обнаружения и исправления ошибок [7]. Избыточная система модулей имеет п - рабочих и к - контрольных оснований. Под одиночной ошибкой будем понимать любое искажение символа, относящегося к какому-либо одному субмодулю. Кроме того, будем считать, что ошибка носит аддитивный характер и однозначно определяется величиной А.
Рассмотрим набор субмодулей бимодульного арифметического узла д^,...,®, ® + 1, б = П® - рабочий диапазон. Известно, что для обнаружения и коррекции одиночной ошибки достаточно использовать два избыточных основания ® + 2, ® + 3. Для обнаружения и исправления одиночной ошибки в данной работе используется метод вычисления невязок по контрольным основаниям системы.
Суть метода заключается в следующем. Пусть в результате вычислений получено число Л =(Л'| г,|Л'| ?2,...,|Л'| ® ,|Л'| ®+1,|Л'| ®+2,|Л'| д+3 ). Для определения правильности числа Л' необходимо по известным остаткам 1Л'1 ® ^Л'1 ® , ",1 Л'1 Ч ^Л'1 Ч ! определить значения его остатков по контроль-
ным основаниям |Л"| , |Л"| . Затем необходимо сравнить значения
II II III ^V qs+3
Л ' , Л ' с Л" , Л " . Сравнение остатков по контрольным основаниям можно осуществить их вычитанием:
Уs+2
qs+2
- Л 'I
qs+2
is+2
, Уs+3
-IЛ ' I
qs+3
is+3
Числа ys+2,ys+3 называются невязками. Согласно КТО:
Л' = Z aB + aB - 'Л- • Q, Л = Z aB + aB, - гл • Q,
k=1 k #i
k=1
k Фг
где гА, гА - ранги чисел А и А' соответственно, Вк (к = 1,п) - ортогональные базисы, которые определяются по формуле
Вк = ^ = ,
где Qk =Q, тк - целые положительные числа, которые называются
qk
весами базиса, их определяют из сравнений Qkmk = 1 (mod qk ).
Тогда л' - Л = (a - a B - гл_л • Q = a ,вt - Гл_Л • Q ■
При этом, AB = AlQimi = (Am) Qi =
A m +
I i ^
A, m;
ql
Q,=Ami • Qt +
A, m;
Отсюда, ранг искаженного числа равен:
rang A B i = -
Агтг
Q. Таким образом,
Ys+ 2 =
Ys+3 =
Am.\q,-Q. . Ai mil = L2 • Qi"1
Aml-Q , mi = k+3•Q,1
То есть ошибка обнаружена, если
\г,+2 • Й"1 = \г,+3 • Qi"1 = 8
(2)
Q
q
q
q
Величина ошибки определяется согласно выражению А1 = \\ ■ .
В предположении, что в полученном числе А' оказался искаженным не более чем один остаток, можно сформулировать следующие свойства невязок:
1) Если значение всех невязок равны нулю: /5+2 = 7,+3 = 0, то ошибки не возникло, число А' является правильным;
2) Если одна из невязок равна нулю, а другая не равна, то ошибка произошла по контрольному основанию, где невязка отлична от нуля, при этом число А' является правильным;
3) Если значения невязок у!+2 ^ 0, то ошибка произошла по рабочему основанию.
Для демонстрации данного механизма обнаружения и исправления ошибок, рассмотрим пример для р = 7 в случае возникновения одиночной ошибки по рабочему субмодульному основанию.
Имеем набор субмодулей: = 2, д2 = 3, q3 = 5, для которого рабочий диапазон есть Р = 2 х 3 х 5 = 30. Введем контрольные основания q4 = 7, q5 = 11. Пусть в результате вычислений получено число А = 5 = (1,2,0) е (0,Р), вычет по контрольным субмодулям равен (5,5). Внесем ошибку в один рабочий канал, в результате принято число А' = (1,2,1,5,5).
Запишем набор констант, необходимых для перевода в полиадический код:
И = 12 11 = 2,
I ^2 I I3
И = 2115=3,
I ^ 1
И = И7 = 4,
I ^4 17
И = 12 111 = 6,
I 4 I 11
q2
q2
q2
= 3-1 = 2,
= 3-1 = 5,
I 17
= Н = 4,
qз
= 517 = 3,
= М = 9.
5
q
3
Расширяемся на контрольные субмодули согласно алгоритму, описанному выше, получим: А" = 4, А" = 0. Вычислим невязки:
I \4Л I 1
У 5+2 = У 5+3 =
А" - А' А"| - |А'|
Чз+3 1 45+3
= 4 - 51 = 6,
45+2
= 0 - 5 = 6.
45+3
Определим при каком г выполняется (2):
15
Чх 2
, , I н I н 6 + 1
К А, = 6-15"1 =7,
г = 2,
2 * 5
д3 5
г = 3,
1 = 1
Следовательно, ошибка произошла по субмодульному каналу #3, при этом величина ошибки равна: А3 = |г3 • Р3= |1 • б|5 = 1.
Для уменьшения сложности реализации алгоритма обнаружения и исправления ошибки, а также для уменьшения временных затрат, целесообразно при проектировании использовать табличный подход: входами в таблицу являются вычисленные значения невязок, а выходами - номер неисправного субмодульного канала и величина ошибки.
результаты моделирования
Сравнительная характеристика методов коррекции ошибок основывается на надежности обнаружения сбоев, возможности исправления ошибок после сбоев, площади, занимаемой дополнительной
аппаратурой, влиянии конрольной аппаратуры на быстродействие устройства. Таким образом, эффективность рассмотренных алгоритмов построения арифметического узла бимодульного ВЭ была рассмотрена с этих позиций.
Для проведения экспериментов выбран маршрут проектирования цифровых ИС на основе библиотек стандартных ячеек. В маршруте используется: поведенческое описание устройств на языке Verilog HDL; средства логического синтеза Synopsys Design Compiler; библиотека стандартных ячеек Nangate Open Cell Library с проектными нормами 45 нм; среда для симуляции и отладки проектов ModelSim. Модель эксперимента построена для обнаружения и исправления одиночного сбоя в схеме. Эксперименты проводились для диапазона простых модулей битностью до 8 бит, что является достаточным для большинства задач из области применения модулярной арифметики [8]. На языке Perl был создан комплекс программ, включающий в себя автоматическую генерацию Verilog-описа-ний всех блоков, входящих в состав арифметического узла бимодульного ВЭ, а также генерацию теста для любых входных данных. Для сравнительного анализа реализованы модели субмодульного арифметического узла с возможностью обнаружения и исправления одиночной ошибки и без, а также модель из работы [4]. Программа позволяет выбрать соответствующий алгоритм построения, некоторую инструкцию, задать базовый модуль и значения операндов, либо выбрать вариант генерации Verilog-фай-лов для всего 8 битного диапазона базовых модулей для выбранного алгоритма построения для дальнейшей загрузки в систему САПР Synopsys Design Compiler.
На рис. 1 представлены результаты моделирования RTL-моделей арифметических узлов ВЭ бимодульной арифметики с использованием стандартных методов проектирования модульных сумматоров (схема 1), с использованием субмодульного разложения модуля (р - 1) (схема 2), с использованием субмодульного разложения модуля (р - 1) и схемой обнаружения и исправления одиночной ошибки (схема 3). На графиках представлены аппаратные и временные затратам для всех простых модулей р из диапазона до 8 бит.
Как можно заметить из графиков, для некоторых значений модулей для схем 2 и 3 с увеличением их значения происходит уменьшение показателей (например, модули 41, 97, 113, 193). Такой эффект объясняется тем, что в наборе используемых субмодулей максимальное из значений явля-
физико-математические науки
Применение информационной избыточности для повышения надежности.
(б)
5 11 19 31 43 59 71 83 101 109 131 149 163 179 193 211 229 241
Значение модуля Схема 1 Схема 2 Схема 3
Рисунок 1. Сравнение Р^-моделей АУз бимодульного ВЭ по площади (а)
и быстродействию (б).
ется величиной типа 2п. Известно [9], что модулярные сумматоры такого типа являются наиболее быстродействующими и экономичными по занимаемой площади, тогда как в случае стандартного проектирования, сумматор для маскимального из субмодулей вносит значительный вклад в занимаемую площадь и, в целом, определяет максимальную задержку.
0
Как отмечалось выше, предложенный метод построения АУз с защитой от одиночного сбоя рассматривался с позиций влияния схем обнаружения и исправления на быстродействие и аппаратные затраты всего ВЭ. Результаты моделирования показали следующие данные о влиянии контрольной аппаратуры на характеристики схемы арифметического узла бимодульного ВЭ: потеря производительности в среднем составила 7 %, рост дополнительного контрольного оборудования составил 30 %. Стоит отметить, что при проведении экспериментов не учитывалась специфика используемого модуля, а также не проводился анализ его субмодульного разложения, влияющего на проектирование последовательно-параллельных участков использумых алгоритмов, с точки зрения минимизации аппаратных и временных затрат.
заключение
Авторами работы [1] поднимается вопрос о построении архитектуры модулярных устройств, выгодно отличающейся от традиционной. В основе нового принципа построения лежит понятие универсального ВЭ, наделенного системой кодовой защищенности. По сути, ВЭ является внутренним самокорректирующим элементом модулярной вычислительной системы. В данной работе предложен метод построения ВЭ бимодульной арифметики, арифметический узел которого наделен возможностью обнаружения и исправления одиночной ошибки. Сравнительная оценка разработанного способа построения АУз бимодульного ВЭ относительно АУз без защиты показала, что потеря в производительности составила порядка 7 %, а затраты на дополнительное контрольное оборудование составили в среднем 30 %.
Бимодульная арифметика сочетает в себе преимущества традиционной модульной и логарифмической арифметик. Вычисления в ней предоставляют большую свободу в выборе проектных решений в рамках двоичных технологий для проблем повышения быстродействия, сокращения аппаратных затрат и проблем организации надежных вычислений. В будущем предполагается расширить спектр используемых стратегий на уровень модулярного устройства с кольцевой архитектурой.
физико-математические науки
Применение информационной избыточности для повышения надежности.
ЛИТЕРАТУРА
1. Стемпковский А.Л., Амербаев В.М., Корнилов А.И. Модулярная логарифметика - новые возможности для проектирования модулярных вычислителей и преобразователей (краткий обзор). IV Всероссийская научно-техническая конференция «Проблемы разработки перспективных микро- и наноэлектронных систем - 2010»: сб. на-учн. тр. / под общ. ред. А.Л. Стемпковского. М.: ИППМ РАН, 2010.
2. Амербаев В.М., Балака Е.С. Арифметическое устройство бимо-дульной арифметики конечного поля GF(P). Research Journal of International Studies XX(17), p. 2, pp. 5-9.
3. Поспелов Д.А. Арифметические основы вычислительных машин дискретного действия. М.: Высш. шк., 1970.
4. Амербаев В.М., Балака Е.С., Соловьев Р.А., Тельпухов Д.В. Анализ и синтез арифметического узла проф. Поспелова Д. А. поля Галуа. VI Всероссийская научно-техническая конференция «Проблемы разработки перспективных микро- и наноэлектронных систем - 2014»: сб. научн. тр. / под общ. ред. А. Л. Стемпковского. - М.: ИППМ РАН, 2014.
5. Патент на полезную модель «Вычислительный элемент модулярной арифметики». Заявка номер 2012127097, номер 123995 от 10 января 2013 года.
6. Omondi A. and Prekumar B. Residue number system, Theory and implementation. London: Imperial College Press, 2007.
7. Торгашев В.А. Система остаточных классов и надежность ЦВМ. М.: Сов. радио, 1973, 120 с.
8. Корнилов А. И., Семенов М. Ю., Ласточкин О. В., Калашников В. С. Принципы построения специализированных вычислителей с применением модулярной арифметики // Проблемы разработки перспективных микроэлектронных систем: сборник научных трудов / под общ. ред. А. Л. Стемпковского. М.: ИППМ РАН, 2005. С. 346351.
9. JaberipurandNejatiS.BalancedminimallatencyRNSadditionformoduliset {2n - 1,2n,2n + 1} in Proc. 18th Int. Conf. Systems, Signals and Image Processing (IWSSIP), pp. 1-7, 2011.
СВЕДЕНИЯ ОБ АВТОРАХ
Амербаев Вильжан Мавлютинович - доктор технических наук, академик НАН Казахстана, профессор, главный научный сотрудник Отдела методологии вычислительных процедур Федерального государственного бюджетного учреждения науки Института проблем проектирования в микроэлектронике Российской академии наук, e-mail:vmamerbaev@ippm.ru.
Amerbaev Viljan Mavlutinovich, doctor of technical Sciences, academician of the NAS of Kazakhstan, Professor, chief researcher of
the Department of methodology of computational procedures, Federal state budgetary institution of science Institute of design problems in microelectronics of Russian Academy of Sciences, e-mail:vmamerba-ev@ippm.ru.
Балака Екатерина Станиславовна - магистр техники и технологии, младший научный сотрудник Отдела методологии вычислительных процедур Федерального государственного бюджетного учреждения науки Института проблем проектирования в микроэлектронике Российской академии наук, телефон: 8-906-738-85-68, e-mail: balakaes@yandex.ru.
Balaka Ekaterina Stanislavovna, master of engineering and technology, Junior researcher of the Department of methodology of computational procedures, Federal state budgetary institution of science Institute of design problems in microelectronics of Russian Academy of Sciences, phone: 8-906-738-85-68, e-mail: balakaes@yandex.ru.
Тельпухов Дмитрий Владимирович - к. т. н., научный сотрудник Отдела методологии вычислительных процедур Федерального государственного бюджетного учреждения науки Института проблем проектирования в микроэлектронике Российской академии наук, телефон 8-916-952-71-28, e-mail: NoFrost@inbox.ru. Telpukhov Dmitrii Vladimirovich, candidate of technical Sciences, researcher of the Department of methodology of computational procedures, Federal state budgetary institution of science Institute of design problems in microelectronics of Russian Academy of Sciences, phone: 8-916-952-71-28, e-mail: NoFrost@inbox.ru.
Соловьев Роман Александрович - к.т.н., заведующий Отделом методологии вычислительных процедур Федерального государственного бюджетного учреждения науки Института проблем проектирования в микроэлектронике Российской академии наук, телефон: 8-905-565-38-28, e-mail: turbo@ippm.ru. Solovyev Roman Aleksandrovich, candidate of technical Sciences, head of Department of methodology of computational procedures, Federal state budgetary institution of science Institute of design problems in microelectronics of Russian Academy of Sciences, phone: 8-905-565-38-28, e-mail: turbo@ippm.ru.