ВВЕДЕНИЕ 5
1.2 Логические схемы 6
1.3 Способы представления логических схем 7
2 Постановка задачи 9
2.1 Обзор графических редакторов для логических схем 9
2.2 Методы преобразования логических схем в текстовый формат 10
2.2.1 Метод №1. Перевод схемы в BLIF с использованием XML файла 10
2.2.2 Метод №2. Перевод схемы в BLIF с использованием структур данных редактора ....15
2.2.3 Сравнение методов преобразования логических схем в текстовый формат 16
2.3 Подробный обзор графического редактора 17
2.3.1 Интерфейс графического редактора 17
2.3.2 Используемые библиотеки языка Java 18
2.3.3 Основные используемые классы редактора 20
3 Особенности программной реализации 23
3.1 Представление данных в добавленных классах 23
3.2 Основные методы добавляемых классов 25
3.3 Методы и изменения, добавленные в классы редактора 27
4. Экспериментальные результаты 30
4.1 Проверка логических схем на эквивалентность 30
4.2 Минимизация логических схем 30
ЗАКЛЮЧЕНИЕ 31
СПИСОК ИСПОЛЬЗОВАННЫХ ИСТОЧНИКОВ 32
ПРИЛОЖЕНИЕ А Алгоритм преобразования XML представления логической схемы в формат BLIF 34
ПРИЛОЖЕНИЕ Б Алгоритмы сохранения и загрузки текстовых файлов формата языка
BLIF 35
ПРИЛОЖЕНИЕ В Эксперименты с логическими схемами 36
ПРИЛОЖЕНИЕ Г Программный код добавленных методов и классов 38
Для логических схем реализовано большое количество автоматизированных методов для задач анализа и синтеза. В частности, широко используется система синтеза и верификации логических схем ABC [1].
Программные системы, содержащие реализации таких методов используют, в основном, текстовый формат описания логических схем. Наиболее распространенными текстовыми форматами описания логических схем являются такие форматы, как BLIF [2], BENCH, EQN.
Одним из наиболее удобных способов разработки описания цифровых схем является проектирование схемы в графическом виде с использованием графических примитивов, представляющих элементарные логические элементы. В открытом доступе существуют программные инструменты, так называемые графические редакторы логических схем, позволяющие создавать описание схем в графическом виде, производить их редактирование и симуляцию. В некоторых случаях может появиться необходимость перевода логической схемы, созданной при помощи графического редактора, в один из текстовых форматов описания схем для автоматического применения методов анализа и синтеза, в частности, в системе ABC.
Графические редакторы, находящиеся в свободном доступе, не предоставляют возможности перевода описания схем в текстовые форматы. Некоторые из них, используют XML описание созданных схем в качестве выходного формата файлов, который можно использовать для перевода в текстовый формат BLIF путем парсинга XML файла. Данный способ подразумевает создание внешнего программного инструмента, реализующего XML парсер. Другим способом реализации перевода схемы в текстовый формат является составление BLIF описания на основе структур данных, представляющих логическую схему в исходном коде графического редактора. Данный способ подразумевает создание собственного графического редактора схем, либо расширение функционала существующих редакторов путем использования части их исходных кодов.
Таким образом, в данной работе ставится задача реализации графического редактора с возможностью вывода описания схем в текстовом формате BLIF.
В ходе выполнения бакалаврской работы были изучены графический и текстовый способы описания логических схем и некоторые свободно распространяемые программные инструменты для работы с этими представлениями. В частности, графические редакторы логических схем QelectroTech и Logic Scheme Editor, текстовый формат описания логических схем BLIF, являющийся основным форматом при описании схем для использования в системе логического синтеза и верификации ABC. Также, были программно реализованы два способа преобразования графического описания комбинационных логических схем в формат BLIF. Показано, что способ, основанный на внесении изменений в исходный код графического редактора, позволяет избежать промежуточных преобразований схемы в формат XML и использования дополнительных программных инструментов для синтаксического анализа XML файлов. Также, была реализована загрузка в редактор Logic Scheme Editor схем, описанных в формате BLIF для возможности их редактирования. Программная реализация графического редактора была опробована в работе на ряде примеров комбинационных логических схем. После реализации загрузки и сохранения был проведен ряд экспериментов по сравнению двух логических схем на эквивалентность и эксперименты по минимизации логических схем, указанные эксперименты были выполнены с помощью системы ABC.