Из (9) и (22) с учетом (28) получим
g(') =
¡1/T, 0<t <Т; О, /< 0; /> Г.
То есть получим среднеинтегральный алгоритм усреднения, приводящий, как известно [7], к оптимальному результату в случае "белого шума", моделью которого в данном примере описывается сглаживаемый процесс о(/), получаемый дифференцированием ф(Г).
Заметим, что полученный алгоритм синтеза оптимальной весовой функции усредняющего фильтра инвариантен относительно типа дискриминатора, один из примеров которого приведен вданной статье.
На основе проведенного исследования разработано цифровое устройство [8], позволяющее получать высокоточные оценки малых отклонений частоты, не прибегая к преобразователям, которые повышают разрешающую способность.
но существенно искажают информацию об оцениваемом параметре исследуемого сигнала.
С использованием вариационного подхода получен алгоритм синтеза оптимальной (по критерию минимума среднего квадрата ошибки) весовой функции усредняющего фильтра для оценки малых отклонений частоты сигналов задающих высокостабильных генераторов. Показано, что оценки на выходе синтезированных фильтров имеют наивысшую точность, совпадающую с точностью оценок, получаемых с помощью классической теории нелинейной фильтрации, но требуют для своей реализации гораздо меньше аппаратных и протраммныхсредств.
Рассмотренная методика синтеза усредняющих фильтров с целью получения конструктивных результатов не требует предположения о некоррелированности помехи, так как в выражения для параметров оптимальной весовой функции в явном виде входит коэффициент корреляции паразитных фазовых флуктуаций.
СПИСОК ЛИТЕРАТУРЫ
1. Вилснкин С.Я. Статистические методы исследования стационарных поцессов и систем автоматического регулирования. М.: Советское радио, 1967. 120 с.
2. Аппаратура для частотных и временных измерений / Под ред. А.П. Горшкова. М.: Советское радио, 1971.
3. Тйхонов В.И. Оптимальный прием сигналов. М.: Радио и связь, 1983. 320 с.
4. Цифровые радиоприемные системы: Справочник / М.И. Жоддишский и др.; Под. ред. М.И. Жод-дишского. М.: Радио и связь, 1990. 208 с.
5. Пестряков В.Б. Фазовые радиотехнические системы (основы статистической теории) М.: Советское радио, 1968. 468 с.
6. Кошер MG Шум топа 1/Г//ТИИЭР 1982. Т 70, № 2
7. Тихонов В.И. Статистическая радиотехника. 2-е изд. М.: Радио и связь, 1982.
УДК 519.714.23
В.Н. Коновалов, И. В. Коновалов
подход к многоуровневой оптимизации
комбинационных логических схем
Один из завершающих этапов логического проектирования цифровых схем - покрытие или технологическое отображение (technology mapping), т. е. преобразование технологически независимой схемы, полученной в результате многоуровневой декомпозиции идетализации и состоящей из различных двухвходовых логичес-
ких блоков, в эквивалентную схему в целевом технологическом базисе [3,5,6]. В современных интегральных схемах таким технологическим базисом могут служить двухвходовые элементы И-НЕлибо ИЛИ-НЕ, реализованные в виде базовых матричных кристаллов или программируемых пользователем вентильных матриц (ППВМ
или FPGA — Field Programmable Gâte Arrays). Один из вариантов конфигурируемых логических блоков ГТПВМ представляет собой регулярные топологические структуры на основе последовательно соединённых МОП-транзисторов с каналами п- ир-типа (SLC — Simple Logic Cells). Между цепочками таких транзисторов расположены трассировочные каналы, в которых реализуются необходимые межсоединения транзисторов [8].
Основными критериями оптимизации при многоуровневом синтезе являются:
1) длина критического пути при прохождении сигнала от входа к выходу схемы (максимальная задержка сигнала);
2) площадь кристалла, занимаемая логической сетью. От указанной площади в конечном итоге зависит стоимость проектируемой схемы. Причём при определении площади сети часто учитывается не только площадь логических элементов, ной площадь межсоединений [1,2]. Это условие ставит не только задачу минимизации количества узлов логической сети (équivalent gâte), но и количества связей между ними (slices).
Как правило, оптимизацию комбинационных схем связывают с минимизацией систем булевых функций. Методы решения указанной задачи классические и заключаются в нахождении ДНФ, минимальной по числу литералов (минимальной ДНФ), либо по числу конъюнкций (кратчайшей ДНФ) [2,4, 7].
Рассматриваемый ниже алгоритм оптимизации ориентирован на многоуровневые логические схемы и инвариантен по отношению к логическому базису. Процесс оптимизации включает выполнение двух этапов:
1 ) исключение из схемы очевидных избыточных элементов;
2) анализ схемы с учётом логической недо-определённости.
Рассмотрим более подробно выполнение ука-занных этапов.
Предварительная оптимизация схемы
На первом (предварительном) этапе оптимизации производится исключение из схемы цепочек последовательно соединенных инверторов и элементов, выполняющих одинаковые логические функции.
Цепочки инверторов могут образовываться «схемахпри покрытии элементами 2И-НЕлибо
2ИЛИ-НЕ, поскольку для совпадения числовых последовательностей при формальном замещении покрываемых блоков требуется инвертирование входных или выходных последовательностей покрывающих элементов [6].
Элементы, выполняющие одинаковые логические функции, как правило, оказываются подключенными к одноимённым входам схемы. В таком случае на их выходах формируются одинаковые логические последовательности, и один из рассматриваемых элементов может быть удалён, а выходной сигнал оставшегося элемента используется для подачи на оба узла синтезируемой схемы.
Указанные алгоритмы первого этапа оптимизации достаточно очевидны и не требуют строгих доказательств и пояснений.
Диализ схемы с учётом логической недоопределённости
В начале второго этапа оптимизации проводится полный анализ схемы. Он позволяет получить числовые последовательности на выходах всех элементов и ещё раз убедиться в правильности предшествующих процедур синтеза и первого этапа оптимизации. Далее от выхода к входу выполняется анализ отдельных элементов с учётом возможной логической недоопределённости их входных числовых последовательностей. При таком анализе в поступающие на входы логических элементов числовые последовательности искусственно вводится неопределённость (звёздочки). Если, например, на входы элемента 2 ИЛ И поступают две какие-либо последовательности, то одну из них можно фиксировать, а во вторую ввести звёздочки на тех местах, на которых в первой последовательности стоят логические единицы. Ведь если на один из входов элемента 2ИЛИ подаётся единица, то на его выходе будет присутствовать единица независимо от состояния на втором входе.
Далее полученная таким образом последовательность со звёздочками сравнивается со всеми числовыми последовательностями, реализуемыми на выходах других логических элементов схемы. Может оказаться так, что рассматриваемая недоопределённая последовательность не противоречит какой-либо из них. В этом случае выход найденного элемента соединяется с рассматриваемым входом анали-
зируемого элемента. Кроме того, при проведении сравнения можно осуществлять поиск и непротиворечивых инверсных последовательностей. В данном случае на соответствующий вход анализируемого элемента найденная последовательность будет подаваться через инвертор.
Оказавшиеся теперь лишними логические элементы, которые раньше участвовали в формировании анализируемой входной последовательности, могут быть исключены из логической схемы.
Если подходящая числовая последовательность не найдена, то последовательность проанализированного входа фиксируется и неопределённость вводится в последовательность другого входа.
При анализе входов элемента 2И всё делается точно так же, но звёздочки в анализируемой последовательности вводятся на тех местах, на которых фиксированная последовательность принимает нулевое значение. Аналогичные правила формирования недоопределённых входных последовательностей можно сформулировать и для других логических элементов (2И-НЕ, 2ИЛИ-НЕ и т. д.).
Однако следует заметить, что при выполнении рассмотренных выше операций, связанных с изменением топологии схемы, нельзя допускать образования петель обратной связи, которые могут превратить комбинационное устройство в конечный автомат с памятью. То есть если найдена непротиворечивая последовательность у далее стоящего элемента и он подчинён исследуемому, то эти элементы соединять нельзя.
Основные идеи описанной выше методики оптимизации комбинационных логических схем были сформулированы более 30 лет назаддоцен-том кафедры ЭВМ Калужского филиала МВТУ им. Н.Э. Баумана Юрием Павловичем Голубевым. После смерти автора в 1990 году значительная часть материалов его исследований оказалась утраченной и неопубликованной. Предлагаемый алгоритм многоуровневой оптимизации представляет собой дальнейшее развитие и усовершенствование идей Ю.П. Голубева.
Многоуровневая оптимизация логических схем
Во многих случаях, особенно мри анализе сложных разветвлённых схем, целесообразно
проводить многоуровневую оптимизацию, которая позволяет увеличить количество возможных недоопределённых элементов в анализируемых последовательностях. Это в конечном итоге значительно расширяет возможности подбора непротиворечивых последовательностей. При этом анализируемые последовательности можно сравнивать ещё и с входными переменными, их инверсиями или логическими константами.
Процедуру многоуровневой оптимизации удобно рассмотреть на примере схемы мультиплексора 2/1, характеризуемого числовой последовательностью 0011 0101 и представляющего собой наиболее общий вариант трёхвходового логического блока, выделяемого из схемы в процессе детализации [3]. Один из вариантов схемы рассматриваемого мультиплексора представлен на рис. 1.
Выполнения первого этапа оптимизации для рассматриваемой схемы не требуется, поэтому перейдём сразу ко второму этапу и проведём её полный анализ [5]:
40 0000 1111 40 0000 1111
»0 0101 0101 1о 0101 0101
А 0000 0101 в 1111 0101
20 ООП 0011 А 0000 0101
В 1111 0101 с 001 1 0001
С ООП 0001 о 001 1 0101
Последовательность на выходе блока Б совпадает с заданной последовательностью (0011 0101), что говорит о правильности работы синтезированной схемы. Проведём повторный анализ блока Д но на этот раз зафиксируем последовательность. поступающую с выхода блока А,
Рис. 1. Вариант схемы мультиплексора 2/1
поскольку она формируется непосредственно из входных сигналов, и построим последовательность С*, которая не нарушит выходную после-довател ьность схем ы.
Поскольку блок /) выполняет операцию ИЛИ, то наличие двух логических единиц в последовательности А позволяет соответствующие элементы последовательности С* заменить на звёздочки. Выходная последовательность схемы при этом не изменится:
А 0000 0101 с,ч/оо11 0*0*
й ООН 0101
Обнаружить С* среди последовательностей, формируемых на выходах элементов рассматриваемой схемы, не удалось, поэтому по методике К).П. Голубева оптимизация схемы невозможна. Однако проведём повторный анализ, теперь уже для блока С, с учётом введённых в схему изменений. Для этого зафиксируем поступающую на его вход последовательность 20 и попытаемся подобрать последовательность В**, которая не нарушит построенной выше последовательности С*. При выполнении указанной процедуры следует учесть, что блок С выполняет операцию И, и наличие логических нулей в последовательности 20 позволяет соответствующие элементы последовательности В** заменить на звёздочки. Кроме того, звёздочкой можно заменить и восьмой элемент рассматриваемой последовательности, поскольку на этом месте в последовательности С* также находится символ "*":
¿о ООП ООП В **11 **0*
с' ООН 0*0*
Полученная таким образом числовая последовательность В** не противоречит инверсии входной переменной 40 (1111 0000). Следовательно, блок В из схемы можно исключить, а на нижний (младший) вход блока С подать инвертированную входную переменную 40. Чтобы не вводить в схему лишний инвертор, можно соответствующим образом преобразовать числовую последовательность блока С - 0010. Такое преобразование соот-
ветствует инвертированию его младшей входной переменной [6]. Оптимизированная схема мультиплексора 2/1 представлена на рис. 2. Повторный анализ полученной схемы позволяет сделать вы вод о том, что процедура двухуровневой оптимизации не нарушила логику работы синтезируемой схемы.
На рис. 3 приведён пример покрытия детали-зированной и оптимизированной схемы рис. 2 элементами 2И-НЕ. Указанная процедура заключается в формальном замещении каждого из блоков его реализацией на заданных логических элементах [6].
Дальнейшая оптимизация заключается в удалении из схемы цепочек последовательно соединённых инверторов. Окончательная оптимизированная схема мультиплексора 2/1, реализованная на элементах 2И-НЕ, представлена на рис. 4.
Рассмотренные выше алгоритмы для более сложных схем можно распространить на большее количество уровней оптимизации с целью увеличения недоопределённости рассматриваемых числовых последовательностей.
Многоуровневая оптимизация логических схем может выполняться в несколько проходов и проводиться на различных эта-
Рис. 2. Оптимизированная схема мультиплексора 2/1
X
X N
туп
Г-!
х <~С
/ ч 1-
&
Рис. 3. Пример покрытия схемы рис. 2 элементами 2И-НЕ
•о
Рис. 4. Окончательно оптимизированная схема мультиплексора 2/1
пах синтеза (например, до и после этапа покрытия), что позволяет исключить из схемы значительное количество двухвходовых блоков и упростить дальнейшую реализацию процедур синтеза.
В [3) было показано, что любую комбинационную схему можно разделить на блоки, содержащие в общем случае не более трёх входов и относящиеся к одному из пяти типов. Можно предварительно провести оптимизацию указанных блоков и выполнять покрытие уже оптимизированными схемами. Такую процедуру можно назвать локальной оптимизацией, в отличие от процедуры глобальной оптимизации, рассмотренной выше.
Предлагаемый алгоритм многоуровневой оптимизации имеет несколько преимуществ по сравнению с существующими. Опишем вкратце особенности рассматриваемого алгоритма, а также отметим все его преимущества:
алгоритм не привязан к конкретному логическому базису. Это даёт возможность проводить процедуру оптимизации на различных этапах синтеза: на этапе детализации (предварительная оптимизация), а затем на этапе покрытия (окончательная оптимизация);
процедура оптимизации — многоуровневая, что значительно расширяет возможности поиска непротиворечивых последовательностей;
удаление элементов с одинаковыми входами и цепочек последовательно соединённых инверторов может рассматриваться как частный случай многоуровневой оптимизации, что позволяет говорить об универсальности рассматриваемого алгоритма;
процедура оптимизации на каждом этапе синтеза может проводиться неоднократно с учётом вносимых изменений до тех пор, пока в схеме находятся непротиворечивые последовательности;
при многоуровневой оптимизации необходимо избегать появления петель обратной связи внутри схемы, которые могут привести к нарушению логики функционирования схемы.
СПИСОК ЛИТЕРАТУРЫ
1. Бибило П.Н., Леончнк П.В. Исследование эффективности логической минимизации в процессе синтеза комбинационных схем // Информатика. 2007. № 1. С. 22-29.
2. Закревский А.Д., Торонов Н.Р. Минимизация булевых функций многих переменных в классе ДНФ — итеративный метод и программная реализация // Прикладная дискретная математика. 2009. № 1. С. 5-14.
3. Коновалов В.Н., Белов А.А., Коновалов И.В. и др. Детализация комбинационных логических схем для покрытия простыми логическими элементами // Труды МГТУ 594. Методы исследования и проектирования сложных технических систем: Сб. ст. М.: Изд-во МГТУ им. Н.Э. Баумана, 2007. С. 103-113.
4. Леончик П.В. Минимизация систем булевых функций в классе дизъюнктивных нормальных форм // Информатика. 2006. № 1. С. 88-%.
5. Коновалов В.Н., Коновалов И.В., Белов A.A. и др. Логический синтез комбинационных схем на основе методов декомпозиции // Изв. ТулГУ. Сер. Вычислительная техника. Информационные технологии. Системы управления. Тула: Изд-во ТулГУ, 2006. Вып. 3. Системы управления. Т. 1. С. 231—233.
6. Коновалов В.Н., Коновалов И.В., Белов A.A. и др. Подход к покрытию комбинационных схем двухвходовыми логическими элементами // Труды МГТУ 594. Методы исследования и проектирования сложных технических систем: Сб. ст. М.: Изд-во МГТУ им. Н.Э. Баумана, 2007. С. 114-122.
7. Потгосин Ю.В., Торонов Н.Р., Шестаков Е.А. Метод минимизации системы полностью определённых булевых функций // Информатика. 2008. № 2. С. 102-110.
8. Угрюмов Е.П. Цифровая схемотехника: Учеб. пособие для вузов 2-е изд., перераб. и доп. СПб.: БХВ-Петербург, 2004. 800 с.