УДК 681.5: 681.3(075.8)
Н.И. Чернов
ЛИНЕЙНАЯ АЛГЕБРА - АЛЬТЕРНАТИВНЫЙ МАТЕМАТИЧЕСКИЙ АППАРАТ ЛОГИЧЕСКОГО СИНТЕЗА ЦИФРОВЫХ СТРУКТУР
Современное состояние развития теории и методов логического проектирования характеризуется «патовой» ситуацией: рост сложности проектируемых ИС увеличивает затраты и ухудшает качество проектирования цифровых узлов.
Одной из ведущих алгебраических причин возникновения этой ситуации является несовершенство булевой алгебры как математического аппарата логического синтеза: различные основанные на ней методы логического синтеза дают лучшие решения на различных типах цифровых узлов [1].
Другой причиной указанной ситуации является отрицательное влияние булевой схемотехники на технологию [2]:
- до 80% полезной площади кристалла занимают соединения между элементами принципиальной схемы цифрового узла;
- до 75% потребляемой кристаллом мощности расходуется на перезаряд емкостей межсоединений.
Третьей причиной является непригодность булевой алгебры для логического проектирования структур типа «система-на-кристалле» [3], являющихся одной из ведущих современных тенденций в развитии аналоговых и цифровых микроэлектронных структур, поскольку проектирование такого объединения цифровых и аналоговых компонентов требует применения различных методов логического проектирования для его аналоговой и цифровой частей.
Проблема улучшения качественных показателей БИС может быть представлена совокупностью следующих задач:
- уменьшение количества активных и пассивных элементов;
- уменьшение количества связей;
- повышение технологичности;
- повышение эксплуатационной надежности.
Возможными решениями этих задач могут быть соответственно:
- исключение либо уменьшение количества вспомогательных преобразований сигналов внутри БИС, т.е. устранение функциональной избыточности цифровых и цифроаналоговых узлов БИС;
- многозначное внутреннее представление информации;
- уменьшение числа нетехнологичных компонентов;
- использование представлений логических функций, повышающих надежность функционирования БИС.
Средства решения перечисленных проблем могут, вероятно, быть различными. В настоящей работе выбраны следующие средства:
- гибридный (т.е. состоящий не только из логических операций) базис логического проектирования;
- разомкнутость алгебраической структуры, положенной в основу разработки методов логического проектирования;
- замена пассивных компонентов БИС активными;
- разностное представление логических функций.
Гибридный базис. «Способности» функциональных элементов к преобразованию информации задаются соответствием между набором операций функционального (элементного) и логического базисов, положенных в основу технической реализации БИС. Для повышения эффективности преобразования информации алгебраическая составляющая эти средства должна описывать:
- логические свойства функциональных элементов, т.е. их способность реализовать логические операции (тт, тах и др.);
- арифметические свойства функциональных элементов, т.е. их способность реализовать арифметические операции (сложение, вычитание и умножение на постоянный коэффициент);
- пороговые свойства функциональных элементов, т.е. их способность сравнивать текущее значение параметра с уставкой.
Средством уменьшения аппаратных затрат на реализацию логических операций является также их безэлементная («монтажная») реализация.
Разомкнутость алгебраической структуры. Количество информации N которое может быть передано по п линиям связи при использовании к-уровневого представления сигналов определяется, как известно, выражением
N = кп,
откуда следует, что увеличение объема информации без увеличения аппаратных затрат возможно только за счет повышения значности передаваемого сигнала к. С математической точки зрения проблема повышения значности представления сигналов внутри БИС состоит в формировании алгебраической системы, позволяющей описывать одновременно двузначное внешнее и многозначное внутреннее представления сигналов. Как следует из предыдущего анализа, в такой алгебраической системе не должно выполняться свойство идемпотентности: х*х= х.
Замена пассивных компонентов активными. Пассивные компоненты БИС (резисторы, конденсаторы) занимают большую площадь и снижают уровень технологичности БИС, требуя для своей реализации отдельных этапов технологического процесса создания БИС. Представляется целесообразной замена пассивных элементов активными, создаваемыми в рамках единого технологического процесса. Например, резисторы можно заменить генераторами тока, при этом необходимое значение номинала тока через компонент может быть задано соответствующей площадью коллектора.
Разностное представление логических функций. Используемые в настоящее время для целей логического синтеза алгебраические системы обеспечивают представление логической функции/(х1, хь... х1,) путем логического объединения набора термов. Для улучшения эксплуатационных характеристик БИС представляется более выгодным представление логической функции в виде Ах1, х2,. хп,) = ф1(х1, х2,... хп,) - ф2(хь х2,... хп,), где ф1 и ф2 - логические функции некоторого класса. По мнению авторов, такое представление позволит уменьшить влияние всех внешних дестабилизирующих воздействий, поскольку они будут действовать на обе составляющие представления функции, сохраняя значение функции неизменным.
Как показал анализ известных алгебраических структур свойствами, позволяющими использовать перечисленные средства решения проблем повышения эффективности элементной базы, обладает линейная алгебра.
Пусть Р=(Р; +, •, 0,1,..., к-1)- поле, (А; +, •, в)- алгебра с одной нульарной и двумя бинарными операциями, при этом для каждого элемента к е Р на мно-
жестве А задана унарная операция ак, такая, что для всякого а є А ка = а ка. Тогда система
А = ^А; +, •, в, {а>к |к є р} , для которой выполняются условия:
- А = ^А; +, в, {а>к |к є Р}^ - векторное пространство над полем Р;
- "(а, Ь, с є А ) (а + Ь ) <= ас + Ьс л с (а + Ь ) = са + сЬ ;
- "(а, Ь є А)л"(к є Р) ак (аЬ) (ака= Ь а (акЬ) ; есть линейная алгебра над полем Р [4].
Определив алгебру (А;+, •, в) как ^А;тіп(х1 ,х2),тах(х1 ,х2), ^, получим
вариант реализации исходной алгебраической структуры для использования в качестве алгебраической основы логического синтеза цифровых и цифроаналоговых структур в виде
А = {А,+,-,,0,1,...,к - 1,тіп(х1 ,х2),тах(х1 ,х2), } .
В этом определении А - множество логических переменных значности к,
х1 ,х2 є А , 0,1,...,к -1 - константы, {А,тіп (х1 ,х2),тах(х1 ,х2)} - булева алгебра.
В двузначном случае эта алгебра упрощается за счет сокращения количества используемых констант. Далее рассматривается только двузначный вариант рассматриваемой линейной алгебры.
Поскольку "(х1, х2 є А)
х1 + х2 тіп (х1==х2) + тах(х1 ,х2) , то одну из операций тіп(х1 ,х2) или тах(х1 ,х2) можно заменить другой. Кроме того, поскольку
х = 1 - х ,
то операцию инверсии также можно заменить операциями линейного пространства.
Тогда можно предложить два варианта структуры рассматриваемой линейной алгебры
А& = {А, +, -, •, 0,1, тіп (х1 ,х2
и
Av ={А,+, -,%0,\,тах (х1 ,х2)}.
Заметим, что в приведенных определениях операции тіп( х1 ,х2) и тах( х1 ,х2) можно заменить любой бинарной булевой операцией, обладающей
аналогичными свойствами.
Свойства рассматриваемой линейной алгебры описываются в [5].
Поскольку представление вектора (т.е. реализуемой логической функции) в линейном пространстве есть представление ее в некотором базисе, то основной задачей синтеза является надлежащий выбор базиса. Установление морфизмов между логическими системами и линейными пространствами требует определения связей между базисами линейного пространства и логическими базисами.
Для представления вектора в линейном пространстве необходимо решить две задачи:
- разработать базисы для представления векторов данного линейного пространства;
- разработать правила представления логических функций в заданном базисе.
Для построения базисов в рассматриваемой линейной алгебре используются так называемые циклические векторы линейного пространства [5].
Унарные базисы. Пусть вначале п = 1. Тогда 2т = 2 - множество 2-мерных векторов с компонентами, принимающими значения из 2. Очевидно также, что этому множеству принадлежит ровно один циклический вектор X.
Исходные структуры имеют вид:
- верхние срезы 1-го уровня
Х0 = X&0 = [0,0]= 0,
:1=[0,1] =
- нижние срезы 1-го уровня
х^(0) = х V 0 = [0,1] = х, ■Чо = х V1 =[1,1] =1
- верхние срезы 2-го уровня
„10
- нижние срезы 2-го уровня
Х(10 ) = Х(1)- Х'(0) = [1>°] =1- Х.
Ниже приведены конъюнктивные базисные матрицы (прямые и обратные) для к = 2 построенные с помощью:
- верхних срезов 1-го уровня
Л 21 =
Ав1
- нижних срезов 1-го уровня
А2} =
А н1 _
- верхних срезов 2-го уровня
1 1 1 1
х1 х 0 1
1 1 1 1
х0 X 0 1
А 21 =
Ав 2
(а 21 )-1 -(а 21).
(А 22)-1
- с нижних срезов 2-го уровня
Л22 =
1 1 1 1
х10 х 0 1
А
1
Таким образом, при к = 2 и п = 1 существуют только два различных конъюнктивных базиса.
Многоместные базисы. Для формирования базисов при п > 2 исходным материалом для них являются приведенные выше унарные базисы. Путем комбинирования векторов этих базисов можно получать базисные векторы для различных значений п. Из всего множества возможных конъюнктивных базисов для п = 2 и к = 2 в качестве примера приведены базисы:
- на основе верхних срезов 1-го уровня
х
х
= х;
1
1
х
1
А
22
в1-в1
1 &1 1 1 1 ! 1 1
1 & х} х1 0 1 ! 0 1
х2 &1 х 2 0 0 ! 1 1
х2 & х} х 2 & х1 0 0 0 1
(А 22-в1)-1 =
-1 ! -1 1 і 0 Т|Т 0 ! 0
- комбинация «нижний срез 1-го уровня - нижний срез 2-го уровня»
1 *1
1 &Х,,
А
22
н1-н2
_1 1 1 ! 1 1
х1 1 0 11 0
х2 0 0 ! 1 1
Х2 &Х1 0 0 1 0
0 1 0 -1
1 "1 -1 1
0 0 0 1
0 0 1 -1
1(10) х 2(0) &1 х 2(0) &х1(10)
(Ан1-н2 )-1 =
Возможны и другие сочетания срезов. С ростом п число различных базисов возрастает, а принципы их формирования аналогичны рассмотренным выше. Принципиально формирование дизъюнктивных двоичных базисов на основе унарных базисов производится аналогично. Отличия состоят только в порядке записи базисных векторов. Ниже в качестве примера приведены дизъюнктивные базисы:
- на основе верхних срезов 1-го уровня
А2
(п22 V1
\De1-e1'
1 1 11 1 1
х2 V х} 0 1 і 1 1
х2 0 0 ! 1 1
х1 0 1 0 1
1 -1 0 0
-1 _ 0 1 1 -1 0
— 0 1 1 0 -1 ’
0 -1 1 1
- комбинация «нижний 1-го уровня - нижний срез 2-го уровня»
1 1 1 ! 1 1
х2(0) V х1(10) 1 0 11 1
х 2(0) 0 0 і 1 1
х1(10) 1 0 1 0
(о22 Vі
Он1-н2/
0 1
1 -1
0 -1
01
-1 1
0 -1
1 0
00
и т.д.
Теперь рассмотрим вопрос о представлении логической функции в заданном базисе. Базис - система из т линейно независимых векторов
{Р} = К, Ч>1,—, фт1 }, позволяющая описать любой вектор а є А линейной
формой
т-1
а = ^ аі ф1 і=0
относительно этих векторов.
Каждый вектор базиса {Б} = {ф0,ф1,к,фт_1} однозначно определяется
набором координат: ф1 = {ф10 , ф11,..., ф1,т-1}, используя которые можно составить квадратную матрицу порядка т:
ф о ф О о ф 1 ф0, т-1
р = ф1 = ф10 ф„ " ф1,т-1
чфт-1 0 чфт-1,0 фт-1,1 фт-1,т-1 у
соответствующую данному базису {Р}.
Два базиса {Р} = {ф0, ф1,..., фт-1} и {7} = (у0, у1,..., ут-1), матрицы которых Р и 7 являются обратными друг другу, являются взаимными (дуальными). При этом
Р • 7 = Е,
где Е - диагональная матрица порядка т с Єу = 1 при і = у и Єу = 0 при і ф у, представляющая собой ортонормированный базис {Е}.
Поскольку разложение произвольного вектора а по базису {Р} имеет вид а = а0ф0 + а1 ф1 + ••• +ат-1 фт-1, то, умножая обе части этого разложения на у1, 1 = [0, т-1], получим:
аі = а-у! = а-(7-є,) = а^р'-є,).
Тогда процедура представления (т.е. получения значений коэффициентов разложения) произвольного вектора а в данном базисе {Р} сводится к выполнению следующих операций:
- построения базисной матрицы Р;
- построения обратной базисной матрицы Р1;
- умножения вектор-строки а на вектор-столбцы матрицы Р1 и вычисление коэффициентов разложения вектора а по базису {Р};
- записи выражения вектора а в виде линейной формы (3.6) относительно базиса {Р}.
БИБЛИОГРАФИЧЕСКИЙ СПИСОК
1. Гранкин М.В., Гуров С.И., Фатхутдинов И.Н. Определение областей компетентности алгоритмов синтеза комбинационно-логических схем. Сборник трудов II Всероссийской научно-технической конференции “Проблемы разработки перспективных микроэлектронных систем - 2006” (МЭС-2006).
2. Андреев А.С., Щука А.А. Возможности преодоления барьера межсоединений в микроэлектронике / Андреев А.С., Щука А.А. //Зарубежная радиоэлектроника. - 1986. - №10. -С. 3 - 19.
3. Немудров В.Г., Мартин Г.Г. Системы на кристалле. Проектирование и развитие. - М.: Техносфера, 2004. - 210 с.
4. НечаевВ.И. Числовые системы. - М.: Просвещение, 1975. - 199 с.
5. Чернов Н.И. Линейный синтез цифровых структур АСОиУ: Учебное пособие / Н.И. Чернов. - Таганрог: Изд-во ТРТУ, 2004. - 118 с.
УДК 512.64:621.37
Н.И. Чернов
МЕТОДЫ ЛОГИЧЕСКОГО СИНТЕЗА ЦИФРОВЫХ СТРУКТУР В ЛИНЕЙНОЙ АЛГЕБРЕ
Результаты проведенных исследований, изложенные в предыдущей статье [1], позволяют предложить методы логического синтеза цифровых структур, основанные на свойствах описанной алгебраической структуры - линейного пространства над полем вещественных чисел [2]. К их числу относятся матричный, табличный и аналитический методы.
Матричный метод основан на получении представления логических функций в виде векторов линейного пространства. Поэтому его содержанием является получение логического выражения реализуемой логической функции в данном базисе. Его можно сформулировать в виде следующей последовательности этапов:
1. Получить вектор значений реализуемой функции.
2. Выбрать количество и типы срезов аргументов для построения базиса линейного пространства необходимой размерности и построить его базисную матрицу.
3. Вычислить обратную базисную матрицу.
4. Умножить вектор значений реализуемой функции на столбцы обратной базисной матрицы, получив тем самым коэффициенты разложения реализуемой функции по данному базису.
5. Записать логическое выражение реализуемой логической функции в данном базисе в виде суммы базисных векторов, взвешенных с помощью коэффициентов разложения по базису.
6. При необходимости выполнить требуемые отображения полученного выражения.
Табличный метод логического синтеза аналогичен методу логического синтеза в существующих булевых алгебрах, поскольку предполагает рассмотрение предлагаемой алгебраической структуры в виде булевой алгебры, на рабочем множестве которой дополнительно определены операции линейного пространства. Его можно сформулировать в виде следующей последовательности этапов:
1. Получить вектор значений реализуемой функции и подставить его в таблицу наборов.
2. Составить логическое выражение реализуемой функции в виде взвешенной суммы арифметических произведений характеристических наборов аргументов.