Введение Проектирование цифровых систем на элементной базе СБИС (сверхбольших интегральных схем) и систем на кристаллах включает много этапов, целью которых является преобразование исходного описания поведения цифровой системы в топологические описания слоев кристалла проектируемой интегральной схемы. Центральным является этап логического проектирования, на котором по функционально-структурным описаниям проектируемых цифровых систем, полученным после этапа высокоуровневого проектирования, синтезируются логические схемы в технологических базисах проектирования СБИС. Логическое проектирование включает технологически независимую оптимизацию и технологическое отображение – выделение и замену фрагментов оптимизированных логических описаний элементами технологических библиотек проектирования СБИС. Бинарные диаграммы решений (англ. Binary Decision Diagrams, BDD) – это компактная и эффективная форма задания булевых (логических) функций и систем булевых функций в виде ориентированных бесконтурных графов, применяемая на этапе технологически независимой оптимизации функциональных описаний логических схем, реализуемых как в составе цифровых заказных СБИС, так и в составе ПЛИС (программируемых логических интегральных схем). В русскоязычной литературе BDD называют также диаграммами двоичных решений, диаграммами двоичного выбора, двоичными решающими диаграммами и т. д. Представления булевых функций в виде BDD соответствуют многоуровневым представлениям на базе разложения Шеннона и во многих случаях являются гораздо более компактными, чем представления тех же функций в матричных формах, под которыми понимаются матричные задания дизъюнктивных нормальных форм и таблиц истинности. Кроме того, компактность BDD и использование специальных структур данных при программной реализации алгоритмов обработки BDD позволили получить эффективные программы выполнения операций над BDD. Аппарат BDD широко используется при решении различных задач, возникающих при проектировании цифровых систем: верификации алгоритмических описаний цифровых систем, синтезе логических схем, поиске тестов для логических схем и др. В книге рассматриваются классические бинарные диаграммы решений – сокращенные упорядоченные BDD (англ. Reduced Ordered BDD, ROBDD). Среди русскоязычной научной литературы и книг, посвящен ных различным применениям BDD, следует выделить четвертый том серии «Искусство программирования» Д. Кнута [32], в котором описываются структуры данных для представления ROBDD в компьютерах и подробно излагаются разнообразные вычислительные алгоритмы обработки ROBDD для полностью определенных булевых функций и систем. Книга посвящена использованию аппарата BDD при решении задач синтеза логических схем в технологических базисах заказных СБИС и ПЛИС типа FPGA (Field-Programmable Gate Array), при этом рассматриваются системы полностью и не полностью определенных булевых функций. Синтез логических схем, наряду с верификацией, является одним из важнейших применений BDD, где аппарат BDD применяется на этапе технологически независимой оптимизации, после которого осуществляется покрытие оптимизированных BDD представлений функциональными описаниями базовых логических элементов. Для систем полностью определенных булевых функций вычислительной основой методов минимизации BDD являются операции сравнения булевых функций на равенство. Для систем не полностью определенных (частичных) булевых функций при минимизации BDD осуществляются проверки выполнения отношений реализации между частичными подфункциями, получающимися в процессе построения BDD, и выполняется процесс доопределения частичных функций до полностью определенных. Все это усложняет задачу нахождения минимизированных BDD, реализующих исходные системы частичных функций, требует решения новых оптимизационных логико-комбинаторных задач и разработки новой вычислительной базы. Проводится сравнение BDD с матричными представлениями булевых функций и показывается, что BDD соответствуют ортогонализованным матричным представлениям булевых функций, для которых эффективно решаются многие задачи логического проектирования. Постоянное внимание уделяется переходу от графовых к различным аналитическим (формульным) представлениям оптимизированных систем булевых функций. Основные проблемы, которые рассматриваются в книге: - представления систем булевых функций в виде графов BDD, матричных и скобочных алгебраических форм; - минимизация сложности BDD представлений (и их модификаций) для систем полностью и не полностью определенных булевых функций; - дополнительная логическая оптимизация многоуровневых представлений систем булевых функций после выполнения BDD минимизации; - декомпозиция систем булевых функций, представленных в виде BDD, применяемая как для уменьшения размерностей задач логической оптимизации, так и при синтезе логических схем на этапе технологического отображения; - использование языка VHDL, являющегося входным языком САПР (систем автоматизированного проектирования), для представления различных форм булевых функций, в том числе и BDD; - экспериментальные исследования и анализ эффективности предложенных (и ориентированных на решение задач практической размерности) методов, алгоритмов и программ технологически независимой оптимизации при последующем синтезе схем заказных СБИС и синтезе структур FPGA в промышленных САПР цифровых схем. Автор выражает благодарность П. В. Леончику за программную реализацию некоторых алгоритмов, а также О. В. Клачко за помощь в подготовке иллюстраций. Номера рисунков, таблиц, листингов, формул «привязаны» к номеру соответствующего раздела книги.
Бибило Петр Николаевич Доктор технических наук, профессор. Его основные научные работы относятся к теории дискретных устройств и автоматизации проектирования дискретных устройств и цифровых сверхбольших интегральных схем (СБИС), применению методов искусственного интеллекта в системах автоматизированного проектирования (САПР). Считает, что успешное развитие микроэлектроники связано с разработкой и внедрением в практику проектирования новых архитектур САПР, использующих экспертные знания о маршрутах и объектах проектирования. Уделяет большое внимание подготовке студентов и специалистов-разработчиков, читает курсы лекций в Белорусском государственном университете информатики и радиоэлектроники, является инициатором создания русскоязычного Интернет-сайта по языку VHDL.
|