УДК 519.613:681.326
И.В. ХАХАНОВ, Е.И. ЛИТВИНОВА
СИНТЕЗ И АНАЛИЗ «КВАНТОВЫХ» МОДЕЛЕЙ ЦИФРОВЫХ СИСТЕМ
Предлагается «квантовый» процессор для моделирования и верификации цифровых систем, основанный на транзакциях между адресуемыми компонентами памяти для реализации любой функциональности. Описывается новый подход к синтезу и анализу цифровых систем, использующий векторную форму (квант) задания комбинационных и после-довательностных структур для их имплементации в элементы памяти, что существенно отличается от общепринятой теории проектирования дискретных устройств на основе таблиц истинности компонентов. Используются квантовые или кубитные структуры данных [1-5] в вычислительных процессах современных компьютеров в целях повышения быстродействия анализа цифровых систем и уменьшения объемов памяти на основе унарного кодирования состояний входных, внутренних и выходных переменных и имплементации кубитных векторов в элементы памяти FPGA, реализующих комбинационные и после-довательностные примитивы. Внедрение квантовых memory-based-only моделей описания цифровых компонентов в практику проектирования вычислительных систем непосредственно влияет на увеличение выхода годной продукции, повышение надежности компьютерных изделий, снижение стоимости проектирования и изготовления, а также обеспечивает автономное восстановление работоспособности в режиме remote & online без участия человека.
1. Введение
Цель - существенное улучшение качества и надежности вычислительных устройств за счет адресуемости схемных элементов, позволяющей выполнять online ремонт, а также повышение быстродействия методов моделирования, тестирования и верификации сложных цифровых систем, благодаря уменьшению размерности моделей функциональных примитивов и адресной реализации всех компонентов структур данных.
Задачи: 1) Разработка автоматной модели квантового процессора. 2) Синтез кубитных моделей цифровых примитивов: логика, триггеры, регистры и счетчики. 3) Синтез и анализ квантовых моделей цифровых схем. 4) Моделирование цифровых устройств на основе использования квантовых векторов описания примитивов.
Мотивация и состояние вопроса: 1) Современная система на кристалле содержит 94% памяти и лишь 6% логики, которая доставляет более 90% проблем, связанных с верификацией, тестированием, диагностированием и восстановлением работоспособности [6-7]. Конечно, быстродействие логических схем на порядок выше, чем у памяти, однако большая доля вычислительных процессов приходится на обмен информацией в структурах памяти. Поэтому преимущества комбинационной логики в реальных вычислительных системах обработки больших данных компенсируются большими временными затратами (порядка 90%), связанными с транзакциями в памяти. 2) Реализация процессора только на основе использования элементов памяти делает его однородным по структуре и типам функциональных примитивов, что доставляет очевидные технологические удобства процессам проектирования, производства и эксплуатации, включая верификацию, встроенные тестирование и диагностирование, а главное - ремонт в режиме online в результате использования на кристалле универсальных адресуемых spare-компонентов памяти [6-7]. 3) Моделирование в процессе верификации проектируемых вычислителей на основе адресных моделей компонентов делает данную процедуру технологически простой за счет регулярных структур данных и применения единственной операции транзакции на элементах памяти, а также более быстродействующей, благодаря возможности параллельной квантоподобной обработки больших массивов однотипной памяти [3-5, 8, 11, 12]. 4) Энергопотребление при замене логики на элементы памяти возрастает на несколько процентов, что на самом деле будет платой за перечисленные выше существенные преимущества, связанные, в конечном счете, с увеличением выхода годной продукции, повышением
надежности вычислительных изделий, снижением стоимости проектирования и изготовления, а также автономным восстановлением работоспособности в режиме remote & online, без участия человека. Однако энергосберегающие решения по вычислительным процессам на памяти [9-10, 13-14] дают основания полагать, что такого проигрыша вообще не будет.
2. Квантовые или кубитные структуры данных
На рынке электронных технологий существует конкуренция между базами имплемента-ции идеи [1-4,12]: 1) Гибкая (мягкая) реализация проекта связана с синтезом интерпрета-тивной модели программной формы функциональности или в аппаратном исполнении программируемых логических устройств на основе FPGA, CPLD; преимущества заключаются в технологичности модификации проекта, недостатки - в невысоком быстродействии функционирования цифровой системы. 2) Жесткая реализация ориентирована на использование компилятивных моделей при разработке программных приложений или на имплемен-тацию проекта в кристаллы VLSI [6-7,13-14]. Преимущества и недостатки жесткой реализации инверсны по отношению к мягкому исполнению проектов: высокое быстродействие и невозможность модификации. С учетом изложенных базовых вариантов реализации идеи предлагаются квантовые структуры данных, ориентированные на повышение быстродействия гибких моделей программного или аппаратного исполнения проекта, а также на возможность online ремонта в процессе эксплуатации.
Квантовые структуры описания цифровых систем. Кубит (n-кубит) есть векторная форма унитарного (унарного) кодирования универсума из n примитивов для задания булеа-
2П
на состояний 2 с помощью 2n двоичных переменных. Например, если n=2, то 2-кубит задает 16 состояний с помощью четырех переменных. Если n=1, то кубит задает четыре состояния на универсуме из двух примитивов (10) и (01) с помощью двух двоичных переменных (00,01,10,11) [3,12]. При этом допускается суперпозиция (одновременное существование) в векторе 2n состояний, обозначенных примитивами. Кубит (n-кубит) дает возможность использовать параллельные логические операции вместо поэлементных теоретико-множественных для существенного ускорения процессов анализа дискретных систем.
Далее кубит отождествляется с n-кубитом или двоичным вектором, если это не мешает пониманию излагаемого материала. Поскольку квантовые вычисления связаны с анализом кубитных структур данных, то далее будем применять определение «квантовый» для идентификации технологий, использующих три свойства квантовой механики: параллелизм обработки (двоичных векторов), суперпозицию состояний и их перепутывание. Синонимами кубита при задании двоичного вектора описания логической функции являются: Q-покрытие, Q-вектор, квантовый вектор [3-4,12] как унифицированная векторная форма суперпозиционного задания выходных состояний, соответствующих адресным кодам входных переменных логического элемента.
Кубит в цифровой системе используется в качестве формы задания структурного примитива, инвариантной к технологиям реализации функциональности (hardware, software). Более того, синтез цифровых систем на основе кубитных структур не привязан жестко к теореме Поста, определяющей пять условий (классов) существования функционально полного базиса. На предлагаемом уровне абстракции n-кубит дает более широкие возмож-
I I 2n
ности для векторного задания любой n-входовой функции из булеана мощностью |B(A)| = 2 , которое непременно содержит все функциональности, удовлетворяющие пяти классам теоремы Поста. Формат структурного кубитного компонента цифровой схемы Q* = (X, Q, Y) включает интерфейс (входные и выходную переменные), а также кубит-вектор Q, задающий функцию Y = Q(X), размерность которого определяется степенной функцией от числа входных линий k = 2n .
3. Синтез квант-вектора комбинационной схемы
Кубит (квант) комбинационной схемы есть вектор состояний выхода на упорядоченном множестве всех входных слов, отождествляемых с адресами ячеек памяти вектора.
Синтез Q-вектора (покрытия) схемной структуры (без таблиц истинности логических элементов) на основе примитивов, заданных Q-векторами, сводится к получению обобщенного кубит-вектора путем декартова выполнения логической операции над разрядами кубитных векторов. Декартова процедура для двух четырехразрядных кубитов, которые суперпозиционируются логической операцией or (and, xor), представлена в следующей таблице:
, , b(0) b(1) b(2) b(3)
a(0) c(0) a(0) b(0) c(1) a(0) b(1) c(2) a(0) b(2) c(3) a(0) b(3)
a(1) c(4) a(1) b(0) c(5) a(1) b(1) c(6) a(1) b(2) c(7) a(1) b(3)
a(2) c(8) a(2) b(0) c(9) a(2) b(1) c(10) a(2) b(2) c(11) a(2) b(3)
a(3) c(12) a(3) b(0) c(13) a(3) b(1) c(14) a(3) b(2) c(15) a(3) b(3)
Примеры, использующие логические суперпозиции двух кубитов для получения Q-векторов схемных структур
С1 ( (а1 ( а2) ( (Ь1( Ь2)' с2 ( (а1 ( а2) ( (Ь1 ( Ь2X с3 ( (а1( а2) ( (Ь1 ( Ь2), представлены следующей таблицей:
a(and) 0001
b(or) 0111
ci a(and) b(or) 01110111 01111111
c2 a(and) b(or) 0000 0000 0000 0111
c3 a(and) b(or) 0111 0111 0111 1000
Здесь построены Q-покрытия трех схем, состоящих из трех элементов каждая, где два логических примитива суперпозиционно объединяются третьим элементом (or, and, xor). В результате получаются три вектора, каждый из которых имеет размерность в 16 бит. Вычислительная сложность процедуры синтеза Q-покрытия комбинационной схемы равна
Р
произведению длин Q-векторов p примитивов, входящих в нее: (( ( card(Qi).
i( 1
Более сложной представляется проблема синтеза Q-покрытия схемы, входные линии (сходящиеся разветвления) которой имеют гальванические или проводные соединения (здесь по переменной a2): c ( (ai ( a2) ( (a2 ( a3). В данном случае после синтеза Q-покры-тия схемы необходимо выполнить его верификацию относительно существования противоречивых адресов на переменных a2 в целях минимизации Q-вектора путем последующего исключения упомянутых адресов из рассмотрения, что уменьшает размерность Q-покры-
тия до card(Q) ( 2q координат, где q - общее число входных переменных схемы:
Q 0111 0111 0111 1111
ai 0000 0000 11111111
a 2 0000 1111 0000 1111
a 2 0011 0011 0011 0011
a3 0101 0101 0101 0101
Q 0111 0111 0111 1111
a1 0000 0000 11111111
a2 00xx xx11 00xx xx11
a2 00xx xx11 00xx xx11
a3 0101 0101 0101 0101
Q 0111 0111
a1 0000 1111
a 2 0011 0011
a2 0011 0011
a3 0101 0101
Q 0111 0111
a1 0000 1111
a2 0011 0011
a3 0101 0101
Процедура синтеза Q-покрытия: 1) строится таблица соответствия адресов разрядам Q-вектора схемы; 2) далее противоречивые координаты по двум строкам а2 отмечаются символами х; 3) затем все столбцы с данными символами исключаются из таблицы; 4) после этого получаются две идентичные строки а2, которые объединяются в одну; 5) это дает в результате Q-вектор комбинационной схемы, но уже существенно меньшей размерности. Преимущества предложенного Q-метода синтеза вычислительных устройств заключаются в компактности их описания Q-векторами и в высоком быстродействии адресного моделирования логических элементов, также создают условия для рыночно привлекательной «квантовой» теории проектирования цифровых систем на кристаллах, использующей векторно-кубитную форму задания структурных компонентов.
4. Минимизация квант-вектора схемы
Синтез квант-вектора схемы по Q-покрытиям компонентов связан с минимизацией или уменьшением размерности Q-вектора путем исключения несущественных переменных. Как правило, существенность зависит от гальванических соединений входных и внутренних линий цифрового устройства, которые накладывают ограничения, связанные с противоречивостью сигналов на линиях связи. Поэтому правило минимизации адресного пространства заключается в устранении адресных кодов, которые создают противоречия по соединенным переменным. Пусть имеется Q-вектор схемы и его адресное пространство, где переменные Ь,с^ (а,Ь,с) соединены гальванически. Ниже приведены таблицы преобразования или минимизации адресного пространства в целях получения уменьшенного Q-вектора:
Q 0111 0111 01111111 Q 0xxx xxxl 0xxx xxxl
a 0000 0000 1111 1111 a 0000 0000 11111111
b 0000 1111 0000 1111 b 0xxx xxx1 0xxx xxx1
c 0011 0011 0011 0011 c 0xxx xxx1 0xxx xxx1
d 0101 0101 0101 0101 d 0xxx xxx1 0xxx xxx1
Q 0101
a 0011
b 0101
Q 0111 0111 0111 1111
a 00xx xxxx xxxx xx11
b 00xx xxxx xxxx xx11
c 00xx xxxx xxxx xx11
d 0101 0101 0101 0101
Q 0111
a 0011
d 0101
Во-первых, здесь следует отметить, что в таблицах наблюдается зеркальная осевая симметрия с инверсией сигналов на координатах адресного пространства, которая создает
свойство, описываемое следующим выражением: L ( R ( 1 ( Lij ( Rij ( 1. Данное обстоятельство нужно использовать для уменьшения размерности анализируемого пространства в два раза и соответствующего снижения вычислительной сложности задачи синтеза квантовой вектор-функциональности цифровой схемы. Во-вторых, количество различных вариантов взаимодействий на q входных переменных, связанных с гальваническим соединением различных сочетаний входных линий, определяется функциональной зависимостью,
граничные значения которой находятся в интервале: саМ(Р) ( [24 ( 34]. Тем не менее, имеется эффективная процедура для минимизации размерности Q-вектора путем выявления противоречий в кодах-столбцах, на координатах (Ау), соответствующих гальванически связанным w-переменным по (-параметру. Такую процедуру достаточно выполнить на
половине адресного пространства саМ(Р) ( 2 4/2, а остальная часть противоречивых столбцов удаляется в соответствии с зеркальным отображением номеров тех столбцов, которые были удалены из первой половины таблицы кодов адресов:
w w
(■} ( ( ( (( А() ( (( А() ( 1, 1 ( 24/2 2 (1 Я1 Я1
Если в столбце А1 на группе из w связанных переменных зафиксировано, что конъюнкция их состояний равна нулю, а дизъюнкция имеет значение единицы, то 1-столбец и его
зеркальное отображение 2^ ( 1 удаляются из адресного пространства А. Это автоматически приводит к исключению из Q-вектора двух полученных ( -координат (в таблицах обозначены символами х), соответствующих данным столбцам.
Естественно, что также наблюдается симметрия пространства векторов-расстояний по Хэммингу, полученных путем хог-взаимодействия между соседними строками таблицы адресного пространства, для которых суперпозиция левой и правой частей дает результат L ( R ( 0 ( ( Rij ( 0:
Q Q 0111 0111 01111111
a Q b b Q c c Q d d Q a 0000 1111 1111 0000 0011 1100 0011 1100 0110 0110 0110 0110 0101 0101 1010 1010
Q (L,R); (LQ R)Q
Q Q 0111 0111 01111111
a Q b 0000 0000
b Q c 0000 0000
c Q d 0000 0000
d Q a 0000 0000
П (L Q R)
Целесообразно ли минимизировать логическую функцию, описанную квант-вектором? Ответ: минимизация Q-векторов для получения нормальных или скобочных форм не имеет практического значения, существенно только уменьшение размерности вектора функционального описания, что может быть лишь следствием определения несущественности некоторых входных (адресных) переменных. Тем не менее, существует проблема разбиения квант-вектора на составляющие части меньшей размерности, что связано с имплемен-тацией функциональности в конструктивные компоненты LUT FPGA. В этом случае выполняется разбиение Q-вектора на два равных подвектора Q=(L,R), которые соединяются в структурно-адресную организацию функциональности с помощью мультиплексора О 0 (а О Ь)0 (аО Я). Если переменная мультиплексирования а=0, то функциональность Q формируется с помощью ячеек левого Ь-вектора, в противном случае, когда а=1, значение функции О формируется битами правого Я-вектора. Алгоритмы разбиения и имплемента-ции сложных логических функций имеются в каждой промышленной системе синтеза, моделирования и верификации компонентов SoC.
5. Модель квантового процессора
Квантовый процессор может быть любой конечной размерности: вектор, матрица, куб. Для структуры, содержащей два измерения, он представлен матрицей столбцов или 0-векторов, которые формируют соответствующие им ячейки М-вектора моделирования (рис. 1, а). Вектор М совместно с Х-вектором кортежей входных переменных примитивов создает структуру взаимных связей между столбцами-элементами. Адрес ячейки О-покрытия, формирующей состояние невходного 1-разряда М-вектора, определяется содержимым ячеек М-вектора, найденным по адресам, заданным 1-кортежем вектора входных переменных. Каждый вектор 01, равно как и кортеж Xi вектора номеров входных линий, имеет адресную связь с М1-ячейкой вектора моделирования. Квантовый процессор может входить компонентом в состав более сложной системы. Квантовая модель процессора имеет следующую структуру:
w оо о, м, х о ,
О0 (01,02,...,0,,...^), 0 (011,р12,...,р1г..,р1к1);
МО (М1,М2,...,М1,...,МП); X0 (Х1,Х2,...,Х1,...,Хп),
X10 (Х11,Х12,...,Ху,...,Х1т1);
М1О 01[М(Х1)]; к10 2т
В аналитической модели W представлены: 1) Упорядоченная адресно-доступная 0-совокупность квантовых примитивов, формирующих функциональность системы. 2) Вектор моделирования М, связывающий все примитивы в единую систему на основе идентификации эквипотенциальных линий, создающих формат из существенных переменных: входных, внутренних и выходных. 3) Вектор Х кортежей упорядоченных номеров входных переменных для каждого квантового примитива, которые формируют адреса доступа к ячейкам 0-векторов примитивов (рис. 1, а). Вектор количества входных переменных примитива |х| формирует адресное пространство или длину каждого О-покрытия. Его можно представить в виде таблицы кортежей входных переменных, которые формируют номера линий вектора моделирования для вычисления адресов доступа к квантовым покрытиям (рис. 1, б). Таблицу кортежей можно также представить в виде матрицы масок входов, определенных в формате вектора моделирования, для параллельного формирования адресов и одновременного считывания выходных состояний примитивов из матрицы О-покрытий (рис. 1, в). Из структуры Х-матрицы входных линий видно, что кванты, формирующие выходы: (8, 9, 10), (11, 12) и (13, 14), можно обрабатывать параллельно. 4) Характеристическое уравнение, задающее алгоритм функционирования квантового процессора на основе использования только операций транзакции (считывание-запись) между О-вектора-ми примитивов и вектором моделирования.
Рис. 1. Кубитные структуры данных квантового процессора
б
Схема цифрового устройства, соответствующая приведенному выше описанию структур данных: М-вектор моделирования, Х-матрица входов, Q-матрица покрытий, представлена на рис. 2. Она содержит 9 примитивов, каждый из которых имеет Q-покрытие в форме квант-вектора, реализующего некоторую функциональность. Особенность квантовых структур данных, представляющих модель цифровой схемы, заключается в полной адресуемости всех компонентов устройства без гальванических проводных соединений.
Рис. 2. Схемная модель цифрового устройства
Аксиомы квантового (only memory-based) процессора: 1) В квантовом процессоре нет ничего, кроме адресуемой памяти. 2) Вычислительный процесс представлен единственной универсальной транзакцией между адресуемыми компонентами памяти Mi = Qi[M(Xi)]. 3) Транзакция есть универсальная процедура считывания-записи данных на непустом множестве адресуемых элементов памяти. 4) Все компоненты памяти являются online-repaired, благодаря их псевдогальванической адресной (address-connected) связности. 5) Комбинационные логические элементы (reusable logic), равно как и последовательностью (sequential components), исполняются на элементах памяти. 6) Связывание всех компонентов в вычислительную систему осуществляется посредством (цифровой) идентификации псевдо-галь-ванических соединений вход-выходных переменных компонентов схемы, формирующих вектор моделирования, который хранит состояния всех существенных линий цифровой системы. 7) Все компоненты квантовой модели цифровой системы: W=<Q,M,X>, включая функциональные модули, вектор моделирования, вектор адресов входных переменных, являются online перепрограммируемыми, а значит - online ремонтопригодными. 8) Примитив цифровой системы имеет формат W=<Q,Y,X>, поскольку отдельный элемент не имеет связей и вектора М, создающих из отдельных компонентов систему.
Согласно введенной квантовой модели, описания последовательностных примитивов (триггеры, регистры, счетчики) можно представлять Q-покрытиями или кубитными векторами, которые имеют псевдопеременные для задания внутреннего состояния. Например, функциональное описание SR-триггера трансформируется в квантовый примитив, заданный Q-покрытием, а затем реализуется на адресуемом элементе памяти FPGA с диаграммами проверки, что представлено на рис. 3.
S R Qx Q
0 0 0 1
0 0 1 1
0 1 0 1
0 1 1 1
1 0 0 0
1 0 1 0
1 1 0 0
1 1 1 1
S
R |1 1 1 1 0 0 0 1| Q
Qx
Signal name Value Stimulator 20 4.0 60
яг С 1 ...I | |
■ а 1 Formula I I I
[>b 1 Formula I I I
С- elk 0 Formula ............
-of 1 ...I | |
Рис. 3. Реализация SR-триггера на элементе памяти
Таблица истинности триггера представлена в форме вектора выходных состояний
Q(S, R Qx) D (11110001), который записывается в элемент постоянной памяти, имеющий три адресных входа, сигнал синхронизации, а также обратную связь, которая соединяет выход элемента памяти с одним адресным входом. HDL-реализация в системе проектирования Active HDL 9.1 (Aldec Inc.), а также результаты верификации синтезированного SR-триггера подтверждают корректность схемотехнического решения.
Другой пример связан с синтезом на элементе постоянной памяти синхронного DV-триггера. Таблица истинности триггера трансформирована в вектор выходных состояний
Q(D, V,Qx) D (01000111), который записывается в элемент памяти, имеющий три адресных входа, сигнал синхронизации, а также обратную связь, которая соединяет выход примитива памяти с одним адресным входом. Все упомянутые компоненты, включая временные диаграммы верификации HDL-кода модели DV-триггера, представлены на рис. 4.
D V Qx Q
0 0 0 0
0 0 1 1
0 1 0 0
0 1 1 0
1 0 0 0
1 0 1 1
1 1 0 1
1 1 1 1
D
V |0 1 0 0 0 1 1 1| Q
Qx
Signal name Value Stimulator 20 10 M
ju-c 1 I I I
■ a 1 Formula I I I
d-Ь 1 Formula I I I
□-elk 1 to 0 Formula I I I I I I I I I I I
-Df 1 I I I
Рис. 4. Реализация DV-триггера на элементе памяти На рис. 5 представлены модели двух последовательностных примитивов: двухразрядных регистра и счетчика. Их отличие заключается в задании двух выходов, состояния которых формируются одним и тем же множеством входных переменных.
C D
Q1 Q2
Y1 Y2
0000000011111111 0000111100001111 0011001 1001 10011 0101010101010101
0011001100001111 0101010100110011
R C Q1 Q2 0000000011111111 0000111100001111 0011001100110011 0101010101010101
Y1 Y2 00000000001 101 10 0000000001011010
Рис. 5. Memory-based модели регистра и счетчика
Регистр на переменных выполняет функцию сдвига вправо информа-
ции от входа D по разрядам: при R=1 и сохранение данных при С=0. Счетчик,
определенный на переменных (К,С^1 1,Y2), реализует функцию инкремента по разрядам ^1^2) при RC = (11), а также режим хранения информации при ^ ог С = 0). Таким образом, для реализации двухразрядного регистра или счетчика необходимо два 16-битовых элемента пямяти, работающих синхронно от одних и тех же входов:
Здесь каждая квантовая модель представлена двумя векторами, где каждый из них формирует функцию разряда регистра или счетчика, как состояние ячейки вектора, получаемое при формировании адреса A входными переменными: {Y1, Y2} = A(C, D, Q1, Q2), {Y1, Y2} = A(R, C, Q1, Q2) соответственно. Моделирование примитива сводится к тривиальной процедуре формирования адреса, по которому находится состояние выхода примитива, как содержимое ячейки квантового вектора.
6. Алгоритм моделирования квантовых покрытий цифровых компонентов
Использует memory-based only модели для адресного анализа цифровых систем в целях их верификации. Реализация таких структур связана с ячейками памяти (LUT (Look Up Table) FPGA), которые способны хранить информацию в виде Q-вектора, где каждый бит или разряд имеет свой адрес, отождествляемый с входным словом. Программная реализация алгоритма моделирования таких структур становится конкурентоспособной по быстродействию на рынке проектирования цифровых систем на кристаллах благодаря адресации функциональных примитивов.
Одномерный Q-вектор описания функциональности можно привязать к выходной (внутренней) линии устройства, состояние которой формируется в процессе моделирования рассматриваемого Q-покрытия. Тогда регистровая реализация комбинационного устройства может быть представлена вектором моделирования М, невходные линии которого непосредственно связаны с выходами функциональных элементов. Упорядоченные значения входных переменных задают адрес бита Q-вектора, формирующего состояние рассматриваемой невходной линии. Если функциональности описываются одновыходовыми примитивами, то каждый из них можно отождествить с номером или координатой невходной линии, на которую нагружен данный элемент. Если функциональность многовыходовая, то Q-покрытие представляется матрицей с числом строк, равным числу выходов. Эффект от такого примитива заключается в параллелизме одновременного вычисления состояний нескольких выходов за одно обращение к матрице по текущему адресу. Данное обстоятельство является существенным аргументом в пользу синтеза обобщенных кубитов для фрагментов цифрового устройства или всей схемы в целях их параллельной обработки на одном временном такте. Модель функционирования цифровой структуры упрощается до
вычисления двух адресов при формировании вектора моделирования M i = Qi[M(X i)] путем исключения сложного адреса выхода примитива в процессе записи состояний выходов в координаты М-вектора.
Алгоритм моделирования квантовых примитивов цифровой системы использует аналитическую структуру (k - число входных переменных i-примитива, * - операция конкатенации битов, А - адрес бита Q-вектора):
Данному аналитическому выражению можно поставить в соответствие следующие пункты алгоритма формирования двоичных состояний М-вектора моделирования цифровой схемы, изображенные на рис. 6:
Рис. 6. Алгоритм моделирования квантовых покрытий цифровой системы
0) Инициирование начальных условий и параметров. 1) Задание очередного набора двоичных состояний на входных координатах вектора моделирования. 2) Определение > номера очередного обрабатываемого примитива путем выполнения операции инкременти-рования. 3) Выполнение процедуры конкатенации состояний битов М-вектора, соответствующих номерам вектора входных переменных Хг Считывание соответствующего бита из функционального кубит-покрытия Qi по двоичному вектор-адресу сконкатенированных битов М-вектора. Занесение считанного из кубита бита в вектор моделирования М по адресу г (М-вектор может иметь координаты с символами X, что дает возможность выполнять троичное моделирование цифровых устройств для решения задач тестирования и верификации.) 4) Если не все примитивы обработаны Кп, выполняется переход к пункту 2 алгоритма. 5) Если не все входные наборы обработаны ^т, выполняется переход к пункту 1. 6) Конец моделирования.
Исходя из характеристического уравнения квантовой модели цифровой системы можно сделать вывод, что современный <MQT> (Метогу^иаШ;-Тга^асйоп) процессор следует представлять как адресную организацию структуры функциональных примитивов памяти без гальванических или проводных связей, на которых определены адресные транзакции данных во времени и пространстве для достижения поставленной цели.
На рис. 7 представлена схема с триггерами и комбинационной логикой, которая также описана в виде элементов памяти, куда занесены выходные состояния таблицы истинности каждого логического элемента. Структуры данных, необходимые для моделирования цифрового устройства, сведены в таблицу, где основными компонентами являются: М - вектор моделирования или состояния занумерованных линий, имеющий в данном случае 5 входных, 6 внутренних и выходных линий, состояния которых подлежат определению; Х -вектор кортежей номеров входных линий примитивов, необходимых для формирования адреса в целях извлечения по нему состояния выхода элемента Qi, функциональность которого задается Q-вектором.
L 1 2 3 4 5 6 7 8 9 10 11
M 0 0 111 10 111 1
X 2 1 6 7 10 11 3 6 4 8 7 9 .... 9 8
Q 0 0 0 0 1 0 10 0 11 1 10 0 11 0 0 1111 0 .... 0 0 .... 0 1 .... 0 1 .... 1 1
Рис. 7. Memory-based комбинационная схема с триггерами
Пример выполнения алгоритма моделирования схемной квантовой структуры. Все примитивы должны быть упорядочены по принципу: очередной элемент анализируется, если все предшественники для него были обработаны. В процессе моделирования адресно извлеченное состояние ячейки текущего Q-покрытия заносится в разряд Mi вектора моделирования. Результаты последовательной обработки всех Q-векторов схемной структуры формируют состояния линий М-вектора для приведенного выше примера ячейки (6 - 11). Первоначальные состояния неопределенностей на псевдовходах функциональных примитивов доопределяются сигналами нуля или единицы в зависимости от внутренней технологической культуры компании, предоставляющей промышленные средства моделирования и верификации. Количество входных переменных примитива q связано с длиной Q-вектора
соотношением: card(Q) 2q. Правильность работы алгоритма моделирования была верифицирована на тестовых и реальных схемах с привлечением средств Active HDL 9.1 (Aldec Inc.). Особенность структурно-функционального задания цифровой системы заключается в представлении всех примитивов элементами памяти, куда записываются Q-векторы выходных состояний.
Выводы: 1) Любые структурные компоненты вычислительных устройств, комбинационные и/или последовательностью, а также системы в целом можно описывать кубитными Q-векторами и реализовывать в элементах памяти FPGA, CPLD или VLSI. Это предоставляет рынку электронных технологий возможность не использовать комбинационную reusable логику при синтезе вычислительных устройств, которая доставляет разработчикам серьезные проблемы, связанные с тестированием, верификацией и ремонтом жесткой проводной реализации цифровых изделий. 2) Memory-based интерпретативное адресно-ориентированное моделирование комбинационных и последовательностных примитивов цифровых устройств становится соизмеримым по быстродействию с компилятивным анализом дискретных объектов. Кроме того, становится возможным реализовывать на программируемых логических устройствах аппаратное моделирование цифровых систем, где комбинационные и последовательностные функциональные примитивы будут представлены стандартными элементами памяти, в которые зашиваются Q-векторы.
7. Моделирование синхронных цифровых схем
Сигналы синхронизации доставляют определенные неудобства для описания моделей последовательностных компонентов (триггеры, регистры, счетчики) и реализации алгоритмов анализа. Это связано со схемотехническим исполнением управления по переднему или заднему фронту, которые разрешают выполнение транзакций между master-slave компонентами. Другими словами, синхронные примитивы имеют два последовательно соединенных элемента, ориентированных на низкий и высокий уровни сигналов записи данных в первую и вторую ступени соответственно. Однако для логического моделирования учет подробностей, связанных со схемотехническими решениями, может существенно замедлить время анализа цифровых схем. Поэтому здесь необходимы логически адекватные модели реальных процессов, приводящие к повышению быстродействия алгоритмов обработки компонентов. При этом накладывается ограничение, связанное только с адресным характером анализа всех компонентов схемы. Для обеспечения возможности рассмотрения синхровхода как логической переменной, формирующей адрес квантового вектора, предлагается модель разбиения последовательностного примитива на два элемента: 1) Логический квант выдачи разрешающего сигнала при формировании переднего (заднего) фронта в двух временных модельных тактах. 2) Квант реализации штатной функциональности (триггера регистра, счетчика) последовательностного компонента. Таким образом, модель синхронного D-триггера может быть описана в форме двух Q-покрытий, адресно вычисляющих состояния выходов:
0ZE0|C(t)|
Q(t D1)
D(t) 10 0 0 1 0 0 1 1| Q(t)
C(t)
CLK(t Di) CLK(t)
С учетом изложенного выше модель цифровой схемы с двумя сигналами синхронизации, представленная на рис. 8, будет иметь структуры данных, состоящие из совокупности 0-покрытий, которые формируют текущий вектор моделирования М, но с учетом значений координат данного вектора в предыдущий момент времени М(1-1). Увеличение числа переменных за счет введения двух элементов синхронизации уменьшает совокупную размерность таблицы квантовых векторов, которая при 7 переменных будет иметь 56 координат.
L А С1 В С2 К1 01 02 Y к 2 0з 04
М1 81 10 10 0 0 0 0 0 0 0
М1 1111 1 1 1 1 1 1 1
X С181 0181 о281 01 с281 0з81 0481
С,1 А В 01 с,2 Y 0з
К1 К1 К2 к 2
0 0 0 0 0 0 0 0
1 0 0 0 1 0 0
0 0 0 0 0 0 0
0 1 1 1 1 1 1
0 0 0 0
0 0 0 0
1 1 1 1
1 1 1 1
Рис. 8. Схема с D-триггерами и элементами синхронизации Если не вводить две дополнительные переменные (элементы синхронизации), то объем памяти для Q-покрытий будет равен 80 ячейкам (рис. 9). Данная схемная реализация максимально ориентирована на структуры данных промышленных средств моделирования и верификации. Однако квантовые векторы для задания функциональностей триггеров создают необходимые условия для повышения быстродействия интерпретативного анализа, тестирования и диагностирования схемных компонентов.
L А С1 В С 2 01 0 2 У 0з 04
М1" 1 1 0 1 0 0 0 0 0 0
М1 1 1 1 1 1 1 1 1 1
X 011 02й 1 01 03й 1 04 1
А В 02 У 0з
с11 с,п 1 С21 с2П1
С1 с, с2 с12
0 0 0 0 0 0
0 0 0 0 0
0 0 0 0 0
0 0 1 0 0
0 0 0 0
1 1 1 1
0 0 0 0
0 0 0 0
1 1 1 1
0 0 0 0
1 1 1 1
1 1 1 1
1 1 1 1
1 1 1 1
1 1 1 1
1 1 1 1
Рис. 9. Схема с D-триггерами на основе внутренней синхронизации Проблема уменьшения совокупного объема Q-покрытий схемы связана с количеством переменных, формирующих адреса координат Q-вектора. Естественно, что любое разбиение числа переменных на два равных упорядоченных подмножества дает возможность существенно уменьшить размерность памяти для записи уже двух Q-векторов. В общем
случае функциональная зависимость уменьшения размерности исходного Q-вектора, определенного на п-переменных, при делении на 2 подсхемы с равным числом результирующих переменных (п/2) имеет следующий вид:
д 8 / /2 8 2" 8 8 2п8(п/281) 8 2п/281.
2 п/2 8 2 2 8 2 2 81 Например, разбиение вектора из восьми переменных на два д-покрытия из 4 переменных уменьшает объем памяти в 8 раз. Однако следует иметь в виду, что каждое разбиение функционального модуля на к подсхем относительно внешних входов потребует к дополнительных d-циклов для вычисления состояния выхода всей схемы Т У^к VI). Снижение быстродействия разбиенной функциональности является платой за существенное уменьшение объема памяти для хранения структур данных цифровой системы. В общем случае разбиение функциональности на к одинаковых частей приводит к получению следующей зависимости выигрыша объема памяти от числа разбиений на подмножества вектора входных переменных:
о 8 2п„ 818 2п8п/к. к 8 2 к
Здесь параметр разбиения к принимает значения, кратные степени двойки: 2, 4, 8, 16. Однако значение к не должно быть более, чем п/2. Следует заметить, что необязательно количество разбиений должно принимать значения, кратные степени двойки. В общем случае, на векторе входных переменных может существовать т разбиений, каждое из которых имеет более одной переменной. При этом выполняется условие разбиения, что сумма всех переменных, участвующих в разбиениях, не может быть больше п:
2п
дП -к-Г", к1П к2 П ...П к П ...П кт П п
2к1 П 2к2 П... П 2к1 П... П 2кт Формула показывает выигрыш от разбиения функциональности в виде отношения размерности исходного квант-вектора к совокупному объему д-векторов, полученных после разбиения. Чтобы оценить эффективность разбиения функциональности на схемные фрагменты, необходимо учитывать не только уменьшение объема памяти для хранения структур данных, но и негативные последствия, связанные со стоимостью анализа увеличенного количества схемных компонентов, которая регламентируется в каждом конкретном случае коэффициентом d:
2п
о 8
d8 m8 (2kl 8 2k2 8... 8 2ki 8... 8 2km)'
Подводя итог в части модификации теории исправного моделирования (fault-free) цифровых систем, можно отметить следующие факты. Автомат моделирования синхронных цифровых устройств, как правило, представлен моделью Мура:
S(t) Vf[X(t), S(tV1)];
Y(t) Vf[X(t),S(t)].
Здесь фигурируют входные (Х) и внутренние состояния автомата в двух соседних временных фреймах S(t), S(t-1), а также правила определения выходных значений Y(t) для инициирования вычислительных процедур. Предлагается модификация упомянутой модели автомата Мура для анализа цифровых систем, суть которой заключается в замене функциональных отношений адресными (A) операциями:
S(t) ( A[X(t),S(t ( 1)];
Y(t)( A[X(t),S(t)].
Адресный или квантовый автомат, определенный выше, позволяет: 1) Избежать жестких гальванических межсоединений между элементами комбинационных и последователь-ностных схем при их аппаратной имплементации только в элементы памяти. 2) Получить свойство гибкой заменяемости компонентов цифровой системы в режиме online, благодаря их адресуемости. 3) Существенно упростить все процессы моделирования, верификации и тестирования путем использования только процедур вычисления адреса компонента схемы
или ячейки его памяти. 4) Унифицировать процессы проектирования цифровых изделий путем их сведения к формированию функциональностей на основе вычисления адресов или к транзакциям на элементах памяти. 5) Повысить эффективность процедур моделирования цифровых схем путем уменьшения объема интерпретативных моделей и упрощения способа их обработки, когда вместо исчерпывающего анализа таблиц предлагается вычисление адреса ячейки квантового вектора. 6) Выполнять все вычислительные процедуры на основе использования квантовых покрытий и вектора моделирования, заданного в двух соседних автоматных тактах, согласно определению квантового автомата. 7) Технологически проще становится использовать инфраструктуру [6-7] стандартов тестопригодного проектирования (IEEE 1500, 1149) для покомпонентного тестирования, диагностирования и восстановления работоспособности адресно доступных функциональных блоков в режиме online.
8. Заключение
Предложен новый подход к проектированию цифровых устройств, который характеризуется: 1) Использованием элементов памяти для реализации транзакционного взаимодействия всех компонентов операционного и управляющего автоматов. 2) Методами синтеза и анализа, основанными на суперпозиции кубит-векторных примитивов задания всех типов функциональностей, имплементируемых в элементы памяти, что дает возможность существенно повысить быстродействие средств моделирования, тестирования и верификации, а также значительно упростить процедуры создания реальных и виртуальных компьютерных систем. 3) Оригинальными структурами данных для моделирования и верификации цифровых систем, которые дают возможность существенно упростить алгоритмы реализации и повысить их быстродействие за счет адресуемости функциональных квантов и параллельности обработки компонентов. 4) Реализацией всех вычислительных структур и процессов на основе использования введенного квантового адресного автомата, который дает возможность непосредственно использовать инфраструктуру стандартов тестопригодного проектирования для повышения выхода годной продукции благодаря online ремонту функциональных примитивов.
Практическая значимость нового подхода синтеза и анализа цифровых систем заключается в следующем: 1) Реализация процессора только на основе применения элементов памяти делает его однородным по структуре и типам функциональных примитивов, что доставляет очевидные технологические удобства процессам проектирования, производства и эксплуатации, включая верификацию, встроенные тестирование и диагностирование, а главное - ремонт в режиме online в результате использования на кристалле универсальных адресуемых spare-компонентов памяти. 2) Моделирование в процессе верификации проектируемых вычислителей на основе адресных моделей компонентов делает данную процедуру технологически простой из-за регулярных структур данных и применения единственной операции транзакции на элементах памяти, а также более быстродействующей за счет возможности параллельной квантоподобной обработки больших массивов однотипной памяти. 3) Имплементация квантовых only memory-based моделей описания цифровых компонентов и систем непосредственно связана с увеличением выхода годной продукции, повышением надежности вычислительных изделий, снижением стоимости проектирования и изготовления, а также автономным восстановлением работоспособности в режиме remote & online, без участия человека.
Список литературы: 1. Metodi T., Chong F. Quantum Computing for Computer Architects. Synthesis Lectures on Computer Architecture. Morgan & Claypool. 2006. 154 p. 2. Stenholm Stig, Kalle-Antti Suominen. Quantum approach to informatics. John Wiley & Sons, Inc. 2005. 249 p. 3. Hahanov V.I., Wajeb Gharibi, Litvinova E.I., ShkilA.S. Qubit data structure of computing devices // Electronic modeling. .№ 1. 2015. P.76-99. 4. Vladimir Hahanov, Tamer Bani Amer, Ivan Hahanov. MQT-model for Virtual Computer Design // Proc. of Microtechnology and Thermal Problems in Electronics (Microtherm) 23-25 June 2015. P. 182-185. 5. Hahanov V.I., LitvinovaE.I., ChumachenkoS.V. et al. Qubit Model for solving the coverage problem // Proc. of IEEE East-West Design and Test Symposium. Kharkov. 14-17 September 2012. P.142 - 144. 6. Zorian Y. Shoukourian S. Test solutions for nanoscale Systems-on-Chip: Algorithms, methods and test infrastructure. Computer Science and Information Technologies (CSIT), 2013. P. 1 - 3. 7. Zorian Y., Shoukourian S. Embedded-memory test and repair: infrastructure IP for SoC yield. Design & Test of Computers, IEEE
(Volume: 20, Issue: 3). P. 58 - 66. 8. DugganapallyI.P., WatkinsS.E., CooperB. Multi-level, Memory-Based Logic Using CMOS Technology. VLSI (ISVLSI), 2014 IEEE Computer Society Annual Symposium on. Tampa, FL. P. 583-588. 9. Yueh W., Chatterjee S., Zia M., Bhunia S., Mukhopadhyay S. A Memory-Based Logic Block With Optimized-for-Read SRAm for Energy-Efficient Reconfigurable Computing Fabric. Circuits and Systems II: Express Briefs, IEEE Transactions on. Volume: 62 Issue: 6. P. 593-597. 10. Matsunaga S., Hayakawa J., Ikeda S., Miura K., Endoh T., Ohno H., Hanyu T. MTJ-based nonvolatile logic-in-memory circuit, future prospects and issues. Design, Automation & Test in Europe Conference & Exhibition, 2009. DATE '09.P. 433 - 435. 11. Harada S., Xu Bai, Kameyama M., Fujioka Y. Design of a Logic-in-Memory Multiple-Valued Reconfigurable VLSI Based on a Bit-Serial Packet Data Transfer Scheme. Multiple-Valued Logic (ISMVL), 2014 IEEE 44th International Symposium on. P. 214 - 219. 12. Hahanov V.I., Tamer Bani Amer, Chumachenko S.V., Litvinova E.I. Qubit technology analysis and diagnosis of digital devices // Electronic modeling. Vol. 37, № 3. 2015. P. 17-40. 13. Melikyan V.Sh. A method of eliminating false paths during statistical static analysis of timing delays of digital circuits // Elektronica i svyaz, Vol. 2-3, No. 1, 2009. P. 93-96. 14. Melikyan V.Sh., Vatyan A.O. Interconnections model delays for the logic analysis of ECL circuits // SUAB, Vol. 2, Computer Engineering, Moscow, 1997. P. 187-194.
Поступила в редколлегию 15.09.2015 Хаханов Иван Владимирович, студент факультета компьютерной инженерии и управления ХНУРЭ. Научные интересы: техническая диагностика цифровых систем, программирование. Увлечения: горные лыжи, английский язык. Адрес: Украина, 61166, Харьков, пр. Ленина, 14, тел. +380 57 70-21-326.
Литвинова Евгения Ивановна, д-р техн. наук, профессор кафедры АПВТ ХНУРЭ. Научные интересы: техническая диагностика цифровых систем, сетей и программных продуктов. Адрес: Украина, 61166, Харьков, пр. Ленина, 14, тел. +380 57 70-21-326. E-mail: [email protected].