автореферат диссертации по информатике, вычислительной технике и управлению, 05.13.12, диссертация на тему:Исследование и разработка математического алгоритмического и программного обеспечения входных многоязыковых трансляторов для САПР СБИС

кандидата технических наук
Жуков, Антон Вячеславович
город
Москва
год
2006
специальность ВАК РФ
05.13.12
цена
450 рублей
Диссертация по информатике, вычислительной технике и управлению на тему «Исследование и разработка математического алгоритмического и программного обеспечения входных многоязыковых трансляторов для САПР СБИС»

Автореферат диссертации по теме "Исследование и разработка математического алгоритмического и программного обеспечения входных многоязыковых трансляторов для САПР СБИС"

На правах рукописи

ЖУКОВ АНТОН ВЯЧЕСЛАВОВИЧ

ИССЛЕДОВАНИЕ И РАЗРАБОТКА МАТЕМАТИЧЕСКОГО АЛГОРИТМИЧЕСКОГО И ПРОГРАММНОГО ОБЕСПЕЧЕНИЯ ВХОДНЫХ МНОГОЯЗЫКОВЫХ ТРАНСЛЯТОРОВ ДЛЯ САПР СБИС

Специальность: 05.13.12 - Системы автоматизации проектирования

АВТОРЕФЕРАТ Диссертации на соискание ученой степени кандидата технических наук

Москва-2006 г.

Работа выполнена на кафедре «ПКИМС» Московского государственного института электронной техники (технического университета)

Научный руководитель: д.т.н., профессор, МИЭТ

Казеннов Г.Г.

Официальные оппоненты: д.т.н., профессор, МГТУ им

Н.Э. Баумана Норенков И.П.

к.т.н., доцент Московского технического университета связи и информатики Долин Г. А.

Ведущая организация: Гос. НИИ ФП им.Ф.В.Лукина

Защита диссертации состоится « » Ш-ОН$ 2006 г. на заседании диссертационного совета Д 212.134.01 при Московском государственном институте электронной техники 124498 Москва, Зеленоград МИЭТ.

С диссертацией можно ознакомиться в библиотеке Московского государственного института электронной техники.

Автореферат разослан « Ц » М& Я 2006 года.

Ученый секретарь д.т.н., профессор,

Яоо£А

S3 S3

Общая характеристика работы

В течение последнего десятилетия развитие микроэлектроники определяется, прежде всего, эффективностью применения сквозных автоматизированных систем проектирования (САПР) сверхбольших интегральных схем (СБИС). В условиях жесткой конкуренции сильно возрастает необходимость в постоянной модернизации этих систем, быстрого внедрения новых, все более совершенных модулей сквозных САПР. Этим и определяется необходимость в разработке средств совместимости модулей различных САПР, увеличивающих возможности в проектировании СБИС и конкурентоспособность САПР на рынке.

Актуальность проблемы. В настоящее время существует сравнительное небольшое число фирм, разрабатывающих автоматизированные системы, позволяющие полностью провести сквозной маршрут проектирования СБИС. Это обусловлено высокой сложностью задачи, и как следствие большой длительностью и стоимостью разработки. Поэтому только крупные компании, такие как Cadence, Synopsys, Mentor Graphics, смогли добиться значимых результатов в этой области. Однако, несмотря на значительные затраты на разработку, крупным компаниям не удается получить систему полностью удовлетворяющую все возрастающим требованиям современной разработки СБИС.

Высокая сложность задачи проектирования СБИС обуславливает необходимость совместной работы модулей различных САПР. Кроме того, для сохранения ключевых позиций на рынке крупные фирмы-разработчики САПР СБИС стремятся разработать стандартизованную технологию, упрощающую замену и совместное использование модулей различных САПР. Длительное преобладание обратной ситуации, а именно отсутствие стандартизации языков САПР замедляет и усложняет процесс разработки средств внешней интеграции сегодня.

Поэтому разработка средств, позволяющих сократить время осуществления совместимости модулей различных САПР СБИС, является актуальной задачей.

Цель работы. Целью диссертации является исследование и разработка математического, алгоритмического и программного обеспечения входных многоязыковых трансляторов (МТ) для САПР СБИС. Для достижения поставленной цели необходимо решить следующие научно-технические задачи:

РОС. НАЦИОНА.

БИБЛИОТЕ СПетербу? ОЭ

1. Провести исследование методов построения трансляторов для интеграции модулей схемотехнического моделирования различных САПР СБИС в сквозной маршрут проектирования.

2. Разработать методы построения архитектуры и алгоритмов многоязыкового транслятора языков описания принципиальных электрических схем.

3. Разработать метод построения архитектуры многоязыкового транслятора, обеспечивающей гибкую модернизацию программы, быстрое наращивание функциональности для поддержки дополнительных входных языков, а также обеспечивающую достаточную общность для унификации процесса разработки многоязыковых трансляторов САПР СБИС.

4. Разработать на основе предложенных методов алгоритмы, архитектуру, грамматики входных языков, структуру внутреннего языка многоязыкового транслятора языков описания принципиальных электрических схем.

5. Провести апробацию результатов функционирования разработанного многоязыкового транслятора языков описания принципиальных электрических схем.

Личный вклад. Все основные научные результаты, изложенные в диссертации, получены автором лично.

Внедрение результатов работы. Результаты работы в виде МТ внедрены в программу схемотехнического моделирования AVOsim, используются в качестве дополнительного модуля в САПР AVOCAD (ООО «Юник Ай Сиз»), Использование МТ позволило увеличить конкурентоспособность САПР AVOCAD.

Апробация работы. Основные положения диссертации обсуждались и получили положительную оценку на следующих конференциях и семинарах: Всероссийских межвузовских научно-технических конференциях студентов и аспирантов МИЭТ, Научных конференциях МФТИ «Современные проблемы фундаментальных и прикладных наук», а также на ежегодной Научной сессии МИФИ и Международной научно-технической конференции «Электроника и информатика», 2003-2006.

Публикации по работе. По результатам диссертации опубликовано 10 печатных работ, из них 2 статьи в журналах, 1 авторское свидетельство о регистрации программ и 7 тезисов докладов на международных конференциях, всероссийских научных сессиях и межвузовских научно-технических конференциях.

Научная новизна. В диссертации получены следующие новые

научные результаты:

1. Предложен метод обеспечения совместимости по внешним данным модулей схемотехнического моделирования различных САПР СБИС. Метод состоит в замене трансляторов и конверторов семантически-близких языков на многоязыковые трансляторы. Метод позволяет решить проблему роста числа независимых программ трансляции, исключить фазу предварительной конвертации языков и упростить поддержку проектов, описанных на различных языках САПР.

2. Предложен метод переключения потока данных между блоками анализа языков описания принципиальных электрических схем. Метод основан на разработанной модели управления процессом предварительной обработки и процессом анализа входных языков. Метод позволяет совмещать решение задачи предварительной обработки входных данных, определения точек смены языка и перенаправления потока данных между блоками анализа языков.

3. Разработана модель унифицированной «цепочки фильтров» для препроцессора входных трансляторов САПР СБИС. Модель предлагает новый подход к предварительной обработке во входных трансляторах. Достаточно высокая общность модели делает приемлемым применение ее для решения широкой номенклатуры задач, приводимых к концепции фильтров.

4. Впервые предложен подход к разработке многоязыковых трансляторов языков описание принципиальных электрических схем на основе каркаса. Каркас разделяет задачи многоязыковой и одноязыковой трансляции, что позволяет отказаться от классических подходов к построению многоязыковых трансляторов. Впервые предложен метод построения каркаса многоязыкового транслятора САПР СБИС. Метод устанавливает связь между предметной областью и программной реализацией, что упрощает задачу выделения общей и изменяемой части каркаса, сокращается время его разработки.

5. Разработана доменная модель эрюе-подобных языков. Модель позволяет установить закономерности в организации и связь синтаксиса с семантикой набора эрке-языков. Модель позволяет упростить разработку каркаса и базовых алгоритмов многоязыкового транслятора врке-языков.

6. Разработана модель архитектуры и алгоритмов многоязыкового транслятора языков описания принципиальных электрических схем, являющейся базовой для построения многоязыковых трансляторов с произвольным набором входных spice-языков. Поскольку модель основана на новых методах, предложенных в диссертации, целевая архитектура и алгоритмы, построенные на основе модели, отличаются организацией внутреннего языка, анализирующей и обрабатывающей части от ранее известных трансляторов. Практическая ценность. Получены следующие практические

результаты, используемые при проектировании СБИС.

1. Программная реализация методов построения многоязыковых трансляторов языков описания принципиальных электрических схем в составе многоязыкового транслятора spice-языков. Это позволило сократить разработку многоязыкового транслятора на 60% при двух и более входных языках.

2. Программная реализация многоязыкового транслятора spice- языков обеспечивает интеграцию модуля схемотехнического моделирования САПР AVOCAD с модулями других САПР, позволяя тем самым проводить различные маршруты проектирования. Отличительной особенностью транслятора является: возможность быстрого наращивания и замены функций для поддержки дополнительных входных языков и поддержки проектов, описанных на различных языках.

3. Файл синтаксических шаблонов параметров моделей элементов, адаптированный для использования, как напрямую программой моделирования AVOCAD, так и разработанным многоязыковым транслятором spice-подобных языков.

4. Модель динамического препроцессора многоязыкового транслятора spice-подобных языков, обладающая достаточной общностью для применения ее в других, в том числе и одноязыковых трансляторах.

5. Грамматики spice-языков могут быть использованы для построения независимых входных одноязыковых трансляторов spice-языков.

Представляется к защите:

1. Метод интеграции модулей схемотехнического моделирования САПР СБИС на основе многоязыковых трансляторах.

2. Метод переключения потока данных между блоками анализа языков описания принципиальных электрических схем.

3. Модель унифицированной «цепочки фильтров» для препроцессора входных трансляторов САПР СБИС.

4. Новый подход построения многоязыкового транслятора принципиальных электрических схем на основе каркаса. Новый метод построения каркаса многоязыкового транслятора принципиальных электрических схем.

5. Доменная модель ярюе-языков САПР СБИС.

6. Модель входного многоязыкового транслятора языков описания принципиальных электрических схем.

Объем и структура работы. Диссертация состоит из введения, четырех глав, заключения, приложения, содержащего акты внедрения результатов работы, списка использованных источников из 60 наименований.

Во введении раскрывается проблематика диссертационной работы и обосновывается ее актуальность. Показана новизна и значимость полученных в ходе работы результатов. Приводится список положений, выносимых на защиту, описывается структура диссертационной работы.

В первой главе диссертации приводится анализ методов разработки САПР СБИС. Показано, что современные подходы к проектированию САПР СБИС предусматривают интеграцию модулей САПР. Отсутствие подобной возможности обычно сужает область применения модуля, учитывая, что вне маршрута проектирования для разработчиков СБИС он имеет значительно меньшее значение. Существующие на сегодняшний день средства одного из видов интеграции, а именно внешней интеграции означающей совместимость модулей по входным/выходным данным, основываются на использовании открытых языков САПР. Однако отсутствие стандартизации языков вначале разработки основных на сегодняшний день САПР СБИС, привело к появлению множества их диалектов и версий. Действительно, языки САПР, такие как Брюе-языки являются средством описания входных данных, и, как известно, каждая фирма-разработчик, предлагающая свои модули на рынке, стремится расширить и разработать свой диалект Брюе-языка для поддержки собственных функций системы. Кроме того, открытость языков САПР, не означает, что доступны грамматики и программный код. Вследствие чего, каждой фирме-разработчику приходится тратить значительное время для разработки собственных трансляторов. Следовательно,

каждый такой транслятор поддерживает один из диалектов врюе-языка и за смет жесткой связи с модулем САПР не может отдельно от него использоваться. В результате для обеспечения совместимости или взаимозаменяемости модулей схемотехнического моделирования различных САПР СБИС требует значительное время, что недопустимо в условиях жесткой рыночной конкуренции.

Исследования существующих средств внешней интеграции, а именно одноязыковых конверторов и трансляторов, позволили выявить ряд основных их недостатков: невозможность поддержки нескольких языков в рамках одного проекта без затрат на дополнительные преобразования, вероятность нарушения целостности данных при их конвертации, сложность поддержки и сопровождения, длительное время разработки. Кроме того, большинство современных методов и средств автоматизации построения трансляторов малоэффективны при разработке большого числа независимых средств интеграции.

Степень интегрируемости модулей САПР влияет на удобство и качество проектирования СБИС. В рамках диссертации разработка средств внешней интеграции рассматривается с учетом наличия доступа к внутренним структурам модулей. В противном случае достигаемая интегрируемость модулей была бы значительно ниже.

Произведен анализ задачи интеграции модулей различных САПР СБИС. Приведена классификация уровней интеграции и их сравнение. Рассмотрены подходы к обеспечению внешней интеграции модулей САПР. Определены ограничения методов автоматизации построения одноязыковых трансляторов. Получена оценка возможного сокращения времени разработки при комбинированном использовании компонентов нескольких одноязыковых трансляторов в рамках одного МТ. Показана возможность исключения фазы предварительной конвертации данных на основе МТ, снижая тем самым вероятность нарушения целостности данных.

Несмотря на простоту идеи построения МТ, реальный процесс их разработки оказался значительно сложнее ожидаемого. Зависимость архитектуры и алгоритмов программы от отличий в семантике и синтаксисе входных языков, оставляет открытыми вопросы разработки эффективных и универсальных методов построения МТ. Таким образом, если разделить задачи одноязыковой и многоязыковой трансляции при построении МТ, то можно упростить разработку уже сегодня за счет применения существующих средств автоматизации построения оодноязыковых трансляторов.

Таким образом, цель диссертационной работы состоит в исследовании и разработке математического, алгоритмического и программного обеспечения входных МТ для САПР СБИС.

Для достижения указанной цели необходимо решить следующие научно-технические задачи:

— Провести сравнение синтаксиса и семантики spice-языков для установления класса входных языков транслятора. Дать теоретическую оценку возможного сокращения времени разработки для четырех входных языков. Провести анализ основных подходов представления проектной информации в рамках spice-языков.

— Разработать струюуру внутреннего языка, основываясь на результатах анализа требуемых преобразований входных языков к выходному. Решить проблему ограничения числа элементов во входном проекте СБИС из-за роста числа параметров у элементов при уменьшении нормы проектирования.

— Разработать грамматики набора входных spice-языков.

— Сформулировать задачу поддержки проектов, оформленных на различных spice-языков. Разработать алгоритмы и архитектуры программы, эффективно решающие проблему совмещения различных языков в рамках одного проекта.

— Разработать методы построения МТ, отличающегося следующими преимуществами: под держкой проектов оформленных на разных spice-языках, более быстрой поддержкой новых входных языков, полным исключением процесса предварительной конвертации данных и ограничений в организации синтаксиса входных языков.

— Разработать программную реализацию архитектуры и алгоритмов МТ spice-языков.

— Провести практическую апробацию разработанного МТ в составе САПР СБИС AVOCAD. Сравнить характеристики полученной системы с существующими аналогами.

Во второй главе рассмотрены основные методы построения МТ. Приведены ограничения и рассмотрен предлагаемый метод построения входного МТ языков описания принципиальных электрических схем.

Проведен анализ семантики spice-подобных языков. Определены критерии образования класса входных языков МТ. Определено влияние семантики языков на структуру программы. Обоснована целесообразность разработки МТ.

Проведен анализ синтаксиса входных языков. Определены основные подходы организации синтаксиса. Показана связь семантики и

синтаксиса в врке-языках. Обоснована невозможность построения единой унифицированной грамматики для набора зрке-языков.

Проведен анализ технологии построения одноязыковых трансляторов. Приведены основные этапы процесса разработки трансляторов. Показана зависимость итоговой функциональности транслятора от числа (и полноты) необходимых фаз трансляции. Исходя из требуемой функциональности, определены фазы трансляции, необходимые для построения МТ языков описания принципиальных электрических схем и обозначены их основные отличия от фаз одноязыковых трансляторов.

Анализ входных одноязыковых трансляторов САПР позволил выявить их обобщенную структуру (рис. 1), удовлетворяющую типовым требованиям к подобным системам. Основные недостатки данной структуры состоят в высокой связности блоков и в высокой сложности их повторного применения.

1| J

'/""Струкгура>\ Li

Анализатор | 3 входного

v данных ) _

потока Алгоритмы

преобразования

Front end Back end

выходной язык

Рисунок 1. Обобщенная структура входных трансляторов САПР

Сильная зависимость алгоритмов трансляции от числа различий в семантике и синтаксисе входных языков делает разработку МТ предметно зависимой. Поэтому отсутствуют универсальные методы и технологии их разработки. Тем не менее, анализ основных подходов к построению средств многоязыковой трансляции (таблица 1) показал возможность создания универсальной (на основе каркаса) технологии построения МТ.

Разработка МТ основана на концепции внутреннего языка. Основная задача которого, состоит в обеспечении единого представления входных данных для унифицированной обработки. Это приводит к принципиальному отличию структуры МТ (рис. 2).

Таблица 1. Сравнительный анализ подходов к построению средств многоязыковой трансляции

Подход Хар-ка Унифицированная грамматика (БЕТА) Трансляторы + конверторы (Spectre) Пакет из одноязыковых трансляторов МТ на основе каркаса (NetlistReader)

Ограничения на класс входных языков Синтаксис и семантика Не более 2-х языков - Семантика

Ограничения на классы выходных языков Семантика - - Семантика

Возможность поддержки МТ-проектов + + - +

Сравнительная сложность разработки Высокая Низкая Низкая Средняя

Повторное использование - - - +

Сравнительное время разработки Среднее Максимальное Высокое Минимальное

Для построения внутреннего языка был предложен общий подход, основанный на операциях «дробления» и «добавления». Дробление позволяет выделить базовые сущности, разделенные между значимыми элементами входных языков. Добавление подразумевает неделимые сущности добавлять во внутренний язык без изменений.

Входной язык 1

н

, Входной J язык к

Входной язык М

Класс входных языков

front end 1 Li

front end k ll

:

front end M 11

Front end

Backend

J backend 1 |_§

Ядро back end k L®

I i

back end N L®

выходной язык 1

Выходной язык к

Выходной язык N Класс выходных

ЯЗЫКОВ

Рисунок 2. Обобщенная структура МТ

Предлагаемый подход к построению МТ языков описания схем основывается на применении каркасов. В рамках диссертации под каркасом (framework) понимается множество классов, реализованных в виде абстрактной модели для решения семейства связанных проблем. Каркас предоставляет общую модель системы для ее дальнейшего расширения. Возможности каркаса позволяют выделить архитектурный дополнительный уровень (фазу) трансляции. Таким образом, можно контролировать рост сложности через четкое распределение задач между фазами и отказаться от частных и ограниченных методов МТ (таблица 1).

Добавление архитектурного уровня также позволяет эффективно решить проблему поддержки многоязыковых проектов (рис. 3).

Развернутое описание схемы

Класс выходных языков

Рисунок 3. Общая структура МТ spice-подобных языков

Дополнительный блок (рис. 3, блок 8) был разработан на основе предложенного метода переключения потока данных между блоками анализа языков. Метод основывается на концепции «фильтров» и различных стратегий их обработки. Механизм переключения совмещает решение задачи динамически создаваемых препроцессоров для каждого блока анализа и задачу идентификации входного языка. Тем самым происходит динамическое переключение потока данных между блоками анализа. Таким образом, достигается обобщение решения сложной задачи поддержки нескольких языков в рамках одного проекта.

Каркасы образуют новое направление в разработке программ. Кроме того, методы их построения сильно зависят от предметной области. Это и объясняет отсутствие общих и универсальных методов их построения. Поэтому разработанный метод построения каркаса без адаптации справедливо применять только для построения каркаса МТ языков описания принципиальных схем.

Показано, что задача методов инженерии знаний для построения программной архитектуры трансляторов сводится к решению основной задачи проектирования - снижению сложности проектирования. Сложность снижается за счет удобного представления знаний о системе, отражающего понятийную модель человека о предметной области, а также за счет определения последовательности обработки построенной модели.

Исследование вопросов построения и сопровождения каркасов позволило определить основные требования, предъявляемые к каркасу многоязыковых проектов- предоставление средств расширения, быстрая адаптация к изменчивости в предметной области и в требованиях к системе. Поскольку предметная область МТ сосредоточена вокруг синтаксиса и семантики входных языков, то и основная доля изменчивости приходится на них.

Исследования показали, что высокая сложность построения МТ заключена в отсутствии средства, отражающего зависимости между существованием задачи в виде различного рода ее описаний и конкретной реализацией. Кроме того, ведение проекта становится крайне затруднительным при возникновении динамических изменений в формулировках задачи, приводящим к длительным перестройкам его реализации.

Разработанный метод (рис. 4) затрагивает особенности человеческого восприятия задачи и позволяет формировать модель предметной области (доменную модель), предоставляющую

разработчику необходимую информацию для эффективной реализации каркаса МТ.

Кроме того, метод может применяться для построения обычной архитектуры, повторное использование которой не предусматривается. Поэтому на ее основе можно организовывать, как последовательный, так и итерационный процесс проектирования, понятность и целостность которого будет более полной по сравнению с общепринятыми методами проектирования.

Процесс анализа и моделирования знаний в методе происходит через модель предметной области - доменную модель, основным компонентом которой является характеристическая модель (таблица 2).

Данная модель позволяет в удобной форме представлять знания о предметной области. Дополнительные обозначения узлов и дуг позволяют эффективно проводить анализ изменчивости, общности, установление числа экземпляров понятий, связей между ними и т.д.

Технические Синтаксис и Семантика требования семантика выходного

к системе входных языков языка

Доменная модель

Характеристическая модель

Новые / Поведение знания

Неизменная Изменяемая

часть часть

Понятийная модель

т

Структура

Анализ и Моделирова ние

Уровни группового взаимодействия

Ответственности Независимые Структура классов классы каркаса

_____., ., ______Проектирование

Г Уровни I

(__ абстракции \

Оптима^^ая^^настраиваемая Неизменная структура часть часть

Каркас

-------1----------------

Конкретизация Реализация

каркаса ♦

Транслятор

Рисунок 4. Метод построения каркаса МТ

Таблица 2. Основные компоненты характеристической модели

1

Изображение

Формальное описание

Ж1 = аД д а^.где = а2 = 1, тогда =

0 V если а = О

а£ =

I если а = 1

-е-

Г2 = аД V а^где а, = 0 ,а1 = 1, тогда Гг = 0 V Ц, где = 0

П II

г> - Л<«л> =

где

£1 и

£ а, = N =>

1-1

а1 = 1 а . = 1

а. = 1

, где

г4 =

1-1

1-1

= 0 V 1 И

у

ах = П, ...,

Предложенная формализация описания диаграмм характеристик позволяет упростить выполнение оптимизации диаграммы, вычисления числа экземпляров понятия и других задач анализа диаграмм.

Понятийная модель описывается, как и характеристическая, в узлах которой помещены понятия. Задача модели состоит в связывании в единую систему понятий предметной области, выделяя тем самым зависимости понятий, основные и вспомогательные понятия.

Уровни группового взаимодействия и абстракции используются на этапе проектирования и образуются из данных полученных на этапах анализа и моделирования предметной области. Уровни группового взаимодействия описывают ортогональные действия, распределенные между отдельными классами. В свою очередь уровни абстракции объединяют сущности одного уровня абстракции.

Таким образом, в главе представлен новой подход к построению МТ языков описания принципиальных электрических схем и определен процесс его применения, основанный на достижениях искусственного интеллекта в области методов инженерии предметной области.

В третьей главе описано алгоритмическое и программное обеспечения на основе разработанного метода и методов построения каркаса МТ языков описания принципиальных электрических схем.

Показаны основные отличия организации архитектуры САПР СБИС на основе ООБД (рис. 5) и на основе одноязыковых трансляторов (рис. 6).

Рисунок 5. Организация архитектуры САПР СБИС на основе ООБД

Тр-ры 1-2-J

^Схемотехническое проектирование 2j Логическое проектирование

Тр-ры 1-3-1

тр-ры 2-3-2

3 |Гопологическое проектирование

V

Рисунок 6. Организация архитектуры САПР СБИС на основе трансляторов

Рассмотрена проблема роста числа одноязыковых трансляторов при интеграции модулей схемотехнического моделирования различных САПР СБИС, таких как Cadence, Synopsys, Mentor Graphics, OrCAD, AVOCAD и других. Перечислены преимущества решения данной

проблемы на основе МТ. Обозначен вклад разработанного МТ Брке-языков в интеграцию модулей схемотехнического моделирования различных САПР СБИС.

Описана общая архитектура системы схемотехнического моделирования с применением МТ (рис. 7).

Обозначены связи и цели сотрудничества транслятора с другими подсистемами. Показаны схемы использования программы внутри системы. Рассмотрено расширение функций системы проектирования, качественно отличающее ее от других возможностью поддержки многоязыковых проектов.

Рассмотрена структура разработанного транслятора (рис. 8). Показаны основные и дополнительные блоки, дополняющие функции программы. Представлены алгоритмы работы дополнительных блоков. Обосновано преимущество вынесения некоторых независимых задач трансляции в отдельные и независимые блоки.

Рисунок 7. Общая архитектура системы схемотехнического моделирования с применением МТ

Определен процесс построения МТ языков описания принципиальных электрических схем на основе предложенного в предыдущей главе методе. Показаны принципиальные отличия данного процесса от процесса построения одноязыковых трансляторов.

Исходя из структуры и предложенного процесса построения транслятора, подробно рассмотрена разработка транслятора. Отдельно разработаны доменные модели для Back End и Front End. Показано, каким образом происходит их отображение на архитектуру и алгоритмы программы.

HSfMCe N I PSpfca -I Spadre 1 DtvaLVS

Класс входных

/

Динамический препроцессор Анализатор 1 HSptce 1

Анализатор 1 PSptce 1

Анализатор Spectre

t DivaLVS

Блок шифрований таблиц раэбора

rS

Блок доопределения параметров моделей

Синтезатор

Ядро ВЫХОДНЫХ

конструкций

Блок вычисления выражений параметров

Развернуто«

Класс выходных языков

Рисунок 8. Структура МТ spice-языков

Подробно раскрыты особенности свойств полученного каркаса. Выделена общая и настраиваемая части каркаса. Приведены разработанные базовые алгоритмы каркаса.

Раскрыта задача разделения функций между ядром и Back End. Приведены обоснования целесообразности совмещения ядра и внутреннего языка для задачи трансляции при одном выходном языке. Обозначена структура разработанного внутреннего языка. Показана связь структур внутреннего языка со структурами стековых элементов промежуточного хранения входных данных. Разработанный внутренний язык обеспечивает единое представление входных данных для алгоритмов обработки ядра программы.

Данные на этапе анализа и моделирования предметной области позволили разработать высокоэффективные алгоритмы ядра. Реализованы следующие алгоритмы: алгоритмы раннего и позднего связывания описания подсхем, параметров, моделей, алгоритм инстанцирования моделей, алгоритм инстанцирования подсхем и примитивов. Дано пояснение алгоритмов инстанцирования на основе отличительных особенностей иерархического представления схемы в spice-языках (рис. 9). Алгоритмы ядра обеспечивают единообразную обработку данных всего набора входных языков в выходной язык.

Доменная модель Front End за счет своей сложности потребовала установление рамок предметной области. Исходя из структуры внутреннего языка и результатов анализа предметной области, были разработаны стековые элементы промежуточного хранения данных. Определена общая структура каркаса Front End.

Г Описание | подсхемы

' Гнетлист параметр , г

п^кин

Г Модель | элемента

Содержимое нетлиста

Локальный " параметр

Элемент

j Цепь |

Экземпляр элемента

Контекст элемента

Р £ е

Г

Описание элемента

Параметр экземпляра

1

Описание подсхемы

Г Описание I примитива

Рисунок 9. Диаграмма отношений понятий «Описание подсхемы»

Разработаны грамматики входных языков HSpice, Spectre, PSpice, DivaLVS. На их основе получены таблицы трансляции и разработаны анализирующие блоки входных языков. Структура каркаса Front End обеспечивает независимую работу анализирующих блоков. В результате можно быстро подключать новые анализирующие блоки и производить замену или удаление старых блоков, значительно сокращая и упрощая процесс разработки МТ.

На основе предложенного в рамках второй главы метода переключения потока данных между блоками анализа, а также данных из доменной модели был спроектирован каркас динамического препроцессора. Каркас связывает реализованные механизмы и обеспечивает гибкое их расширение. Показана связь каркаса с механизмами препроцессора. Принципиальное отличие предложенного динамического препроцессора от классических решений состоит в совмещении задач считывания, предварительной обработки и перенаправления потока данных между блоками анализа.

Разработан обобщенный блок считывания данных, позволяющий абстрагироваться от особенностей источника данных. За счет этого исключается проблема учета особенностей хранения данных на уровне

грамматики языка. Таким образом, решена задача единообразного считывания данных.

Принцип работы динамического препроцессора состоит в гибкой и динамической перенастройке всех алгоритмов предварительной обработки при смене входного языка. В момент обнаружения смены языка процесс анализа временно приостанавливается и после перенастройки алгоритмов возобновляется уже в нужном блоке анализа. Поскольку алгоритмы препроцессорной обработки тесно связаны, то для достижения большей общности они объединены в рамках единого механизма.

Алгоритм обнаружения смены языка в проекте также совмещен с алгоритмами препроцессорной обработки. Принятые признаки смены языка соответствуют конвенции смены языка транслятора Spectre. Однако по причине высокой общности механизмов препроцессора добавлено автоматическое переключение языка при обнаружении директив загрузки нетлистов и библиотек.

Каждый цельный блок данных после обработки образует «секцию». Секции последовательно производятся с помощью механизма «формирователя секций» до окончания входных данных проекта. Таким образом, поддержка многоязыковых проектов осуществляется в рамках последовательных процессов одноязыковой трансляции.

Гибкость алгоритмов обеспечивается за счет «цепочек фильтров», где «фильтр» (рис. 10) выполняет одну примитивную операцию идентификации состояния. Приведено сравнение «активных» и «пассивных» фильтров. Обозначены основные преимущества push-модели от pull-модели управления фильтрами. Обоснован выбор push-модели, как наиболее общей и гибкой модели для задачи формирования секций в рамках МТ. Рассмотрена архитектура модели «цепочки фильтров», обладающей высокой общностью, что позволяет применять ее для задач, решение которых может быть сведено к концепции фильтров.

Обозначены особенности основных фильтров, разработанных для каждого входного языка. Подробно рассмотрены основные алгоритмы динамического препроцессора, такие как: алгоритмы склеивания строк, алгоритм определения входного языка, алгоритм обработки директив загрузки нетлистов и библиотек, алгоритм перенаправления потока данных между блоками анализа, алгоритм формирования цепочек фильтров, алгоритм формирования анализирующего блока и др.

По порядку нахождения в цепочке

[ ПооЛсЬСу I депеш ровамия отетввтствен-ности

По виду j сотрудничества

г b • • *

Значимый i "Активные" | . "Пассивные"1 1 Конечный

Промежуточный

По виду деятельности

По виду деятельности

ПроЯежу-"] | УпраХмние ] ' точное | i другими | j хранение , ' фильтрами , L

I

Иденти-

[ 1 фикация

Преобра-

Удаление

Рисунок 10. Диаграмма характеристик понятия «Фильтр»

Достаточно высокая общность и гибкость динамического препроцессора обуславливает эффективность его применения и для построения одноязыковых трансляторов.

Рассмотренные вопросы построения системы ориентированы, прежде всего, на удобство ее разработки и дальнейшее расширение программистом. Тем не менее, этим не ограничиваются достоинства построенной системы.

Внедрение модуля интеграции в систему схемотехнического моделирования AVOCAD обеспечивает расширение ее функций и тем самым в комплексе повышает ее конкурентоспособность по сравнению с другими САПР СБИС.

В четвертой главе описывается результаты использования разработанного алгоритмического и программного обеспечения каркаса МТ spice-подобных языков. В качестве входных языков выступают следующие spice-подобные языки: HSpice, PSpice, Spectre, DivaLVS. В качестве выходного языка выступают внутренние структуры модуля схемотехнического моделирования. Внедрение и апробация программы осуществлено в рамках САПР СБИС AVOCAD.

Внедрение в AVOCAD разработанного МТ позволяет расширять функциональность системы за счет интеграции с модулями различных САПР СБИС. В главе приведены доступные маршруты и схемы взаимодействия МТ с другими модулями системы.

В качестве результатов внедрения программы в систему схемотехнического моделирования AVOCAD были представлены примеры возможных маршрутов использования системы (Рис. 11 и Рис. 12). Кроме этого, приведен пример проекта описанного на двух spice-языках: HSpice, Spectre.

HSpice PSptce

Spectre

EDIF

200

| Многоязыкоеый Г <[ транслятор

8 входных языков

......

Подсистема 12 редактирования

проекта

* |з|

Подсистема I ° моделирования

■ Т ......,,.....

Подсистема 4

вывода результатов

Трансляторы | 5' выходных языков

01*СА0

Трансляторы I 5

выходных языков ♦ ~

Подсистема I 4

вывода результатов

Подсистема I 3

моделирования +

Подсистема | 2 редактирования проекта 3

Трансляторы I входных языков

PSptce

EDIF 200

EDIF 2 00 i

Рисунок 11. Схема маршрута совместной работы AVOCAD и OrCAD

HSpice интерфейс

Подсистема редактирования проекта

Подсистема задания параметров моделирования

Spectra интерфейс

X

I

Avosm

Итарф*йс1

Симулятор"?

Подсистема

вывода результатов

САПР Cadence

Интерфейсы

СнмупяторМ

I-

Рисунок 12. Схема внедрения AVOSIM в сквозной маршрут САПР Cadence

Реализованный МТ позволяет полностью исключить участие разработчика СБИС в задаче конвертации проектов принципиальных электрических схем к одному из языков системы. Так для конвертации одних только описания моделей вручную обычно требуется от нескольких часов до нескольких дней. При этом неизбежно растет вероятность появления привносимых ошибок. Транслятор же сохраняет целостность проектов и в течение нескольких минут (-16000 элементов в минуту на Pentium 4) выполняет загрузку проектов СБИС. Кроме того, на разработку транслятора было затрачено 39,5 [месяц/человек], что на 60% меньше требуемого времени разработки пакета независимых входных трансляторов. Таким образом, при двух и более входных языках разработка МТ экономически выгодна.

Практическое применение разработанного алгоритмического и программного обеспечение показало сокращение времени разработки средств внешней интеграции.

Каркас транслятора разработан на основе выявления закономерностей в предметной области spice-подобных языков. Таким образом, ограничения по его расширению состоят в сложности поддержки противоречивых отличий семантик spice-подобных языков.

Таким образом, может достигаться существенное расширение функциональности системы за счет возможности взаимодействия с модулями других производителей САПР СБИС, в том числе и сквозной маршрут проектирования.

В заключении приведены основные результаты выполненной работы:

1. Разработан многоязыковой транслятор spice-языков: HSpice, PSpice, Spectre, DivaLVS. Основные преимущества транслятора состоят в возможности быстрого наращивания поддерживаемых входных языков и поддержке проектов, описанных на различных языках. При двух и более входных языках преимущество во времени может достигать 60% по сравнению с классическим решением трансляции, на основе одноязыковых трансляторов и конверторов.

2. Внедрение разработанного транслятора в САПР AVOCAD позволило интегрировать отдельные модули системы с модулями различных САПР СБИС, организовывая тем самым различные маршруты проектирования СБИС, в том числе и сквозной маршрут проектирования.

3. Предложен унифицированный процесс разработки многоязыковых трансляторов САПР СБИС, который в дальнейшем может быть развит до технологии построения многоязыковых трансляторов. Это позволит отказаться от разработки частных и ограниченных методов построения многоязыковых трансляторов. Основное отличие предложенного процесса состоит в необходимости разработки каркаса программы, позволяющего упростить остальные этапы трансляции.

4. Предложен метод построения каркаса входного многоязыкового транслятора языков описания принципиальных электрических схем. Была проведена апробация метода на примере разработки каркаса многоязыкового транслятора Брюе-подобных языков. Адаптация метода в дальнейшем может позволить применять ее для построения каркасов, используемых в дополнительных предметных областях.

5. Предложен метод переключения потока между блоками анализа входных языков САПР. На основе метода построения каркаса была разработана модель динамического препроцессора многоязыкового транслятора вргсе-языков. Основное отличие модели состоит в совмещении задачи предварительной обработки входных данных, определения точек смены языка и перенаправления потока данных между анализирующими блоками. Достаточная общность модели динамического препроцессора позволяет применять ее в дальнейшем для построения динамических препроцессоров других трансляторов, в том числе и одноязыковых трансляторов САПР.

В диссертационной работе разработано математическое, алгоритмическое и программное обеспечения входных многоязыковых трансляторов для САПР СБИС. Таким образом, задача, поставленная в диссертационной работе, полностью выполнена.

В приложении приведены акты внедрения результатов диссертационной работы в различных организациях.

Основные результаты диссертации опубликованы в следующих работах:

1. Жуков А. В. Особенности хранения результатов схемотехнического моделирования СБИС // «Микроэлектроника и информатика -2003». 10-ая Всероссийская межвузовская научно-техническая конференция студентов и аспирантов. Тезисы докладов, Москва : МИЭТ, 2003, с. 81.

2. Жуков А. В., Перминов В. Н., Кокин С. А. и др. Свидетельство об официальной регистрации программ для ЭВМ №2003612520. Российское агентство по патентам и товарным знакам (РОСПАТЕНТ), 2003.

3. Жуков А. В. Решение проблемы совместимости модулей различных САПР БИС на примере модулей схемотехнического проектирования // «XLVII научная конференция МФТИ». Тезисы докладов, Москва : МФТИ, 2004, с. 107.

4. Жуков А. В. Способы хранения знаний для задачи компиляции схемотехнических решений // «Микроэлектроника и информатика -2004». 11-ая Всероссийская межвузовская научно-техническая конференции студентов и аспирантов. Тезисы докладов, Москва : МИЭТ, 2004, с. 80.

5. Жуков А. В. Основные аспекты построения каркаса универсального модуля трансляции данных САПР БИС AVOCAD на основе паттернов проектирования // «Микроэлектроника и информатика -2005». 12-ая Всероссийская межвузовская научно-техническая конференция студентов и аспирантов. Тезисы докладов, Москва : МИЭТ, 2005, с. 100.

6. Жуков А. В. Совместимость модулей схемотехнического моделирования различных САПР БИС «Информационные технологии», 2005 -№10-С. 7-13.

7. Жуков А. В., Перминов В.Н., Дубровин С. А., Макаров C.B. Совместное использование системы AVOCAD и средств САПР СБИС компаний Cadence и Synopsys. «ЭЛЕКТРОНИКА: Наука, Технология, Бизнес», 2005 - №4 - С. 68-69.

8. Жуков А. В. Применения каркасов приложений для эффективного построения САПР СБИС // «Электроника и информатика - 2005». V Международная научно-техническая конференция. Тезисы докладов, Москва : МИЭТ, 2005, Часть 1, с. 187.

9. Жуков А. В. Построение архитектуры многоязыковых трансляторов САПР СБИС на основе методов инженерии предметной области // «XLVIII научная конференция МФТИ». Тезисы докладов, Москва : МФТИ, 2005, с. 119.

10. Жуков А. В. Реализация сквозных маршрутов проектирования в современных САПР СБИС на примере САПР AVOCAD // «Научная сессия МИФИ - 2006». Тезисы докладов, Москва : МИФИ, 2006, с. 116-117.

Подписано в печать

Заказ Тираж 100 экз. Уч.-изд. л. 1,3 Формат60x84 1/16.

Отпечатано в типографии МИЭТ.

124498, Москва, Зеленоград, проезд 4806, д.5. МИЭТ.

аоов А

з

93 89

Оглавление автор диссертации — кандидата технических наук Жуков, Антон Вячеславович

ОГЛАВЛЕНИЕ.

СПИСОК ПРИНЯТЫХ СОКРАЩЕНИЙ.

ВВЕДЕНИЕ.

ГЛАВА 1 СРЕДСТВА СОВМЕСТИМОСТИ МОДУЛЕЙ РАЗЛИЧНЫХ САПР СБИС.

1.1. Совместимость модулей САПР СБИС.

1.2. Средства разработки ПО для совместимости модулей САПР СБИС. выводы. постановка задачи исследования.

ГЛАВА 2 МЕТОДЫ ПОСТРОЕНИЯ МНОГОЯЗЫКОВОГО ТРАНСЛЯТОРА ЯЗЫКОВ ОПИСАНИЯ

ПРИНЦИПИАЛЬНЫХ ЭЛЕКТРИЧЕСКИХ СХЕМ.

2.1. Структура МТ языков описания принципиальных электрических схем.

2.2. Анализ i iaeopa spice-языков.

2.3. подход к построению внутреннего языка мт spice-языков.

2.4. al 1ализ подходов к построению средств многоязыковой tpaj1сляции.

2.5. предлагаемый подход к построению мт на основе каркаса.

2.6. Метод переключения потока данных между блоками анализа языков.

2.7. метод построения каркаса МТ принципиальных электрических схем.

2.8. формалы юе описа11ие характеристической модели.

Выводы.

ГЛАВА 3 РАЗРАБОТКА АЛГОРИТМИЧЕСКОГО И ПРОГРАММНОГО ОБЕСПЕЧЕНИЯ

МНОГОЯЗЫКОВОГО ТРАНСЛЯТОРА SPICE-ЯЗЫКОВ САПР СБИС.

3.1. Применение мтвСАПРСБИС.

3.2. Структура miюгоязыкового транслятора spice-языков.

3.3. Разработка Back End транслятора.

3.4. Разработка Front End транслятора.

Выводы.

ГЛАВА 4 СОВМЕСТИМОСТЬ САПР СБИС ПА ОСНОВЕ РАЗРАБОТАННОГО ВХОДНОГО

МНОГОЯЗЫКОВОГО ТРАНСЛЯТОРА SPICE-ЯЗЫКОВ.

4.1. Сравнение времени разработки средств совместимости модулей.

4.2. Маршруты проектирования СБИС на основе NetlistReader.

4.3. Пример проекта схемы на двух входных spice-языках.

Выводы.

Введение 2006 год, диссертация по информатике, вычислительной технике и управлению, Жуков, Антон Вячеславович

В течение последнего десятилетия развитие микроэлектроники определяется, прежде всего, эффективностью применения сквозных автоматизированных систем проектирования (САПР) сверхбольших интегральных схем (СБИС). В условиях жесткой конкуренции сильно возрастает необходимость в постоянной модернизации этих систем, быстрого внедрения новых, все более совершенных модулей сквозных САПР. Этим и определяется необходимость в разработке средств совместимости модулей различных САПР, увеличивающих возможности в проектировании СБИС и конкурентоспособности САПР на рынке.

Актуальность проблемы. В настоящее время существует сравнительное небольшое число фирм разрабатывающих автоматизированные системы, позволяющие полностью провести сквозной маршрут проектирования СБИС. Это обусловлено высокой сложностью задачи, и как следствие большой длительностью и стоимостью разработки. Поэтому только крупные компании, такие как Cadence, Synopsys, Mentor Graphics, смогли добиться значимых результатов в этой области. Однако, несмотря на значительные затраты на разработку, крупным компаниям не удается получить систему полностью удовлетворяющую все возрастающим требованиям современной разработки СБИС.

Высокая сложность задачи проектирования СБИС обуславливает неизбежность совместной работы модулей различных САПР. Кроме того, для сохранения ключевых позиций на рынке крупные фирмы-разработчики САПР СБИС стремятся разработать стандартизованную технологию, упрощающую замену и совместное использование модулей различных САПР. Длительное преобладание обратной ситуации, а именно отсутствие стандартизации языков САПР замедляет и усложняет процесс разработки средств внешней интеграции сегодня.

Поэтому разработка средств, позволяющих сократить время осуществления совместимости модулей различных САПР СБИС, является актуальной задачей.

Цель работы. Целью диссертации является исследование и разработка математического, алгоритмического и программного обеспечения входных многоязыковых трансляторов (МТ) для САПР СБИС. Для достижения поставленной цели необходимо решить следующие научно-технические задачи:

1.Провести исследование методов построения трансляторов для интеграции модулей схемотехнического моделирования различных САПР СБИС в сквозной маршрут проектирования.

2. Разработать методы построения архитектуры и алгоритмов многоязыкового транслятора языков описания принципиальных электрических схем.

3.Разработать метод построения архитектуры многоязыкового транслятора, обеспечивающей гибкую модернизацию программы, быстрое наращивание функциональности для поддержки дополнительных входных языков, а также обеспечивающую достаточную общность для унификации процесса разработки многоязыковых трансляторов САПР СБИС.

4.Разработать на основе предложенных методов алгоритмы, архитектуру, грамматики входных языков, структуру внутреннего языка многоязыкового транслятора языков описания принципиальных электрических схем.

5.Провести апробацию результатов функционирования разработанного многоязыкового транслятора языков описания принципиальных электрических схем.

Личный вклад. Все основные научные результаты, изложенные в диссертации, получены автором лично.

Методы исследования. При решении поставленных задач применены элементы теории вероятностей, теории графов, теория множеств, теория комбинаторики, нотация Бэкуса-Наура, представление знаний на основе доменной модели, язык программирования С++, язык описания грамматики VisuaParse, методы задания регулярных выражений.

Внедрение результатов работы. Результаты работы в виде МТ внедрены в программу схемотехнического моделирования AVOsim, используются в качестве дополнительного модуля в САПР AVOCAD (ООО «Юник Ай Сиз»). Использование МТ позволило увеличить конкурентоспособность САПР AVOCAD.

Апробация работы. Основные положения диссертации обсуждались и получили положительную оценку на следующих конференциях и семинарах: Всероссийских межвузовских научно-технических конференциях студентов и аспирантов МИЭТ, Научных конференциях МФТИ «Современные проблемы фундаментальных и прикладных наук», а также на ежегодной Научной сессии МИФИ и Международной научно-технической конференции «Электроника и информатика», 2003-2006.

Публикации по работе. По результатам диссертации опубликовано 10 печатных работ, из них 2 статьи в журналах, 1 авторское свидетельство о регистрации программ и 7 тезисов докладов на международных конференциях, всероссийских научных сессиях и межвузовских научно-технических конференциях.

Научная новизна. В диссертации получены следующие новые научные результаты:

1.Предложен метод обеспечения совместимости по внешним данным модулей схемотехнического моделирования различных САПР СБИС. Метод состоит в замене трансляторов и конверторов семантически-близких языков на многоязыковые трансляторы. Метод позволяет решить проблему роста числа независимых программ трансляции, исключить фазу предварительной конвертации языков и упростить поддержку проектов, описанных на различных языках САПР.

2. Предложен метод переключения потока данных между блоками анализа языков описания принципиальных электрических схем. Метод основан на разработанной модели управления процессом предварительной обработки и процессом анализа входных языков. Метод позволяет совмещать решение задачи предварительной обработки входных данных, определения точек смены языка и перенаправления потока данных между блоками анализа языков.

3. Разработана модель унифицированной «цепочки фильтров» для препроцессора входных трансляторов САПР СБИС. Модель предлагает новый подход к предварительной обработке во входных трансляторах. Достаточно высокая общность модели делает приемлемым применение ее для решения широкой номенклатуры задач, приводимых к концепции фильтров.

4.Впервые предложен подход к разработке многоязыковых трансляторов языков описание принципиальных электрических схем на основе каркаса. Каркас разделяет задачи многоязыковой и одноязыковой трансляции, что позволяет отказаться от классических подходов к построению многоязыковых трансляторов. Впервые предложен метод построения каркаса многоязыкового транслятора САПР СБИС. Метод устанавливает связь между предметной областью и программной реализацией, что упрощает задачу выделения общей и изменяемой части каркаса, сокращается время его разработки.

5.Разработана доменная модель spice-подобных языков. Модель позволяет установить закономерности в организации и связь синтаксиса с семантикой набора spice-языков. Модель позволяет упростить разработку каркаса и базовых алгоритмов многоязыкового транслятора spice-языков.

6. Разработана модель архитектуры и алгоритмов многоязыкового транслятора языков описания принципиальных электрических схем, являющейся базовой для построения многоязыковых трансляторов с произвольным набором входных spice-языков. Поскольку модель основана на новых методах, предложенных в диссертации, целевая архитектура и алгоритмы, построенные на основе модели, отличаются организацией внутреннего языка, анализирующей и обрабатывающей части от ранее известных трансляторов.

Практическая ценность. Получен ряд научных результатов, которые используются при проектировании СБИС.

1.Программная реализация методов построения многоязыковых трансляторов языков описания принципиальных электрических схем в составе многоязыкового транслятора spice-языков. Это позволило сократить разработку многоязыкового транслятора на 60% при двух и более входных языках.

2. Программная реализация многоязыкового транслятора spice- языков обеспечивает интеграцию модуля схемотехнического моделирования САПР AVOCAD с модулями других САПР, позволяя тем самым проводить различные маршруты проектирования. Отличительной особенностью транслятора является: возможность быстрого наращивания и замены функций для поддержки дополнительных входных языков и поддержки проектов, описанных на различных языках.

3. Файл синтаксических шаблонов параметров моделей элементов, адаптированный для использования, как напрямую программой моделирования AVOCAD, так и разработанным многоязыковым транслятором spice-подобных языков.

4. Модель динамического препроцессора многоязыкового транслятора spice-подобных языков, обладающая достаточной общностью для применения ее в других, в том числе и одноязыковых трансляторах.

5.Грамматики spice-языков могут быть использованы для построения независимых входных одноязыковых трансляторов spice-языков.

Представляется к защите:

1. Метод интеграции модулей схемотехнического моделирования САПР СБИС на основе многоязыковых трансляторах.

2. Метод переключения потока данных между блоками анализа языков описания принципиальных электрических схем.

3. Модель унифицированной «цепочки фильтров» для препроцессора входных трансляторов САПР СБИС.

4.Новый подход построения многоязыкового транслятора принципиальных электрических схем на основе каркаса. Новый метод построения каркаса многоязыкового транслятора принципиальных электрических схем.

- 105. Доменная модель spice-языков САПР СБИС, б. Модель входного многоязыкового транслятора языков описания принципиальных электрических схем.

Объем и структура работы. Диссертация состоит из введения, четырех глав, заключения, приложения, содержащего акты внедрения результатов работы, списка использованных источников из 60 наименований.

Заключение диссертация на тему "Исследование и разработка математического алгоритмического и программного обеспечения входных многоязыковых трансляторов для САПР СБИС"

Выводы

Сравнение времени разработки модуля NetlistReader на основе предложенного метода построения многоязыковых трансляторов spice-подобных языков показало существенное его преимущество (до 60% для двух и более языков) над методами построения классических средств внешней интеграции САПР СБИС.

Введение в эксплуатацию многоязыкового транслятора позволило значительно расширить функциональность системы схемотехнического моделирования AVOCAD. Расширение функциональности обеспечивается, как за счет расширения собственных сервисов, так и за счет обеспечения сотрудничества с модулями сторонних производителей САПР СБИС.

Обеспечение возможности совместной работы с модулями сторонних производителей позволило организовывать различные маршруты на основе AVOCAD, в том числе и сквозной маршрут проектирования.

Каркас транслятора разработан на основе выявления закономерностей в предметной области spice-подобных языков. Таким образом, ограничения по его расширению состоят в необходимости соблюдения правил расширения синтаксиса и семантики spice-подобных языков.

Заключение

В диссертационной работе разработано математическое, алгоритмическое, и программное обеспечения входных многоязыковых трансляторов для САПР СБИС. Таким образом, задача, поставленная в диссертационной работе, полностью выполнена.

В заключении выделим основные результаты данной работы:

1.Разработан многоязыковой транслятор spice-языков: HSpice, PSpice, Spectre, DivaLVS. Основные преимущества транслятора состоит в возможности быстрого наращивания поддерживаемых входных языков и поддержке проектов, описанных на различных языках. При двух и более входных языках преимущество во времени может достигать 60% по сравнению с классическим решением трансляции, на основе одноязыковых трансляторов и конверторов.

2.Внедрение разработанного транслятора в САПР AVOCAD позволило интегрировать отдельные модули системы с модулями различных САПР СБИС, организовывая тем самым различные маршруты проектирования СБИС, в том числе и сквозной маршрут проектирования.

3. Предложен унифицированный процесс разработки многоязыковых трансляторов САПР СБИС, который в дальнейшем может быть развит до технологии построения многоязыковых трансляторов. Это позволит отказаться от разработки частных и ограниченных методов построения многоязыковых трансляторов. Основное отличие предложенного процесса состоит в необходимости разработки каркаса программы, позволяющего упростить остальные этапы трансляции.

4. Предложен метод построения каркаса входного многоязыкового транслятора языков описания принципиальных электрических схем. Была проведена апробация метода на примере разработки каркаса многоязыкового транслятора spice-подобных языков. Адаптация метода в дальнейшем может позволить применять ее для построения каркасов, используемых в дополнительных предметных областях.

5. Предложен метод переключения потока между блоками анализа входных языков САПР. На основе метода построения каркаса была разработана модель динамического препроцессора многоязыкового транслятора spice-языков. Основное отличие модели состоит в совмещении задачи предварительной обработки входных данных, определения точек смены языка и перенаправления потока данных между анализирующими блоками. Достаточная общность модели динамического препроцессора позволяет применять ее в дальнейшем для построения динамических препроцессоров других трансляторов, в том числе и одноязыковых трансляторов САПР.

Библиография Жуков, Антон Вячеславович, диссертация по теме Системы автоматизации проектирования (по отраслям)

1. Lakos J. Large-Scale С++ Software Design. Berkeley, California: Addison-Wesley, 1996.

2. Stephen H. Kaisler, "Software paradigms", Wiley-Interscience, New Jersey, 2005.

3. Herrington J. Code Generation in action. Manning, Greenwich, 2003. P. 342.

4. Czarnecki K., Eisenecker U. Generative Programming: Methods, Tools and Applications, Addison-Wesley, 2000, P. 731.

5. Jacobson I., Ng P.-W. Aspect-oriented software development with use cases. Addison Wesley, 2004.

6. Hachani 0., Bardou D. Using Aspect-Oriented Programming for Design Patterns Implementation. In Proc. Workshop Reuse in Object-Oriented Information Systems Design, 2002.

7. Smaragdakis Y., Batory D. Implementing layered design with mixin layers, University of Texas at Austin, 1998 .

8. Stallman R. M. GNU Compiler Collection Internals. Free Software Foundation, Boston, 2003.

9. Graham A. The CAD Framework Initiative Standards Progress Towards First Publication at Year End. IEEE DAT С Newsl. On Design Automation, Sp. 1992, p.13- 21.

10. Griffith A. GCC: The complete reference. McGraw-Hill, Osborne, 2002.

11. Bursky D. Advanced CPLD architectures challenge FPGA, Gas. Electronic Design. 1998 - №22 - P. 78-86.

12. Ershov A. P. Beta System, Encyclopedia of Computer Science. 1976 V.3. - P.272-274.-15313. Star-Hspice LRM, Avant, 1998. - 1870 c.

13. Spectre. Circuit Simulator Reference, Affirma, 2000. - 634 c.

14. Spectre. Circuit Simulator User Guide, Affirma, 2000. - 302 c.

15. Diva LRM, Cadence, 2000. - 658 c.

16. PSpice A/D LRM, MicroSim, 1997. - 365 c.

17. Люгер Дж. Ф. Искусственный интеллект: стратегии и методы решения сложных проблем, 4-е издание.: Пер. с англ.- М.: Издательский дом «Вильяме», 2003. 864 с.

18. Гаврилова Т. А., Хорошевский В. Ф. Базы знаний интеллектуальных систем.- СПб.: Питер, 2001. 384 с.

19. Минский М. Фреймы для представления знаний М.: Энергия, 1979. - 152 с.

20. Ахо А., Сети Р., Ульман Д., Компиляторы: Принципы, технологии, инструменты, М: Изд. дом «Вильяме», 2001.

21. Фридл Дж. Регулярные выражения. Библиотека программиста. СПб.: Питер, 2001. - 352 с.

22. Карпов Ю.Г. Теория и технология программирования. Основы построения трансляторов. СПб.: БХВ -Петербург, 2005. - 272 с.

23. Акимов О. Е. Дискретная математика: логика, группы, графы. 2-е изд., дополн. М.: Лаборатория Базовых Знаний, 2001 - 376 с.

24. Новиков Ф. А. Дискретная математика для программистов. СПб.: Питер, 2002. 304 с.

25. Касьянов В. Н., Евстигнеев В. А. Графы в программировании: обработка, визуализация и применение. СПб.: БХВ - Петербург, 2003. - 1004 с.

26. Фаулер М. Архитектура корпоративных программных приложений. Изд-во: СПб: Вильяме, 2004.

27. Басс JI., Клементе П., Кацман Р. Архитектура программного обеспечения на практике, 2-е издание. -СПб.: Питер, 2006. 575 с.

28. Соммервилл И. Инженерия программного обеспечения, 6-е издание.: Пер. с англ. М. : Издательский дом «Вильяме», 2002. - 624 с.

29. Гамма Э., Хелм Р., Джонсон, Р., Влиссидес Дж. Приемы объектно-ориентированного проектирования. Паттерны проектирования. СПб.: Питер, 2001.

30. Шаллоуей А., Трот Дж. Р. Шаблоны проектирования. Новый подход к объектно-ориентированному анализу и проектированию: Пер. с англ. М.: Издательский дом «Вильяме», 2002. - 288 с.

31. Влиссидес Дж. Применение шаблонов проектирования. Дополнительные штрихи.: Пер. с англ. М.: Издательский дом «Вильяме», 2003. - 144 с.

32. Коплиен Дж. Мультипарадигменное проектирование для С++. Библиотека программиста. СПб.: Питер, 2005 -235 с.

33. Саттер Г. Решение сложных задач на С++. Изд-во: СПб: Вильяме, 2002.

34. Павлов В. Аспектно-ориентированное программирование. Журнал «Технология Клиент-Сервер», 2003, №4.

35. Норенков И.П., Маничев В. Б. Системы автоматизированного проектирования электронной и вычислительной аппаратуры: Учеб.пособие для вузов. -М.: Высш. Школа, 1983.- 272 с.

36. Казеннов Г.Г., Соколов А.Г. Основы построения САПР и АСТПП М.: Высшая школа, 1989 - 200 с.

37. Казеннов Г.Г. Основы проектирования интегральных схем и систем / Г. Г. Казеннов. М.: БИНОМ. Лаборатория знаний, 2005. - 295 с.-15539. Казеннов Г.Г., Соколов А. Г. Принципы и методология построения САПР БИС. М.: Высшая школа, 1990.-142 с.

38. Казеннов Г. Г., Кокин С. А., Макаров С. В., Перминов

39. B. Н., Перминов Д. В. Система схемотехнического моделирования AVOCAD. Проектирование аналого-цифровых систем на кристалле. Электроника : НТБ, 2004 - №31. C. 72- 75

40. Казеннов Г.Г., Соколов А.Г., Автоматизация проектирования БИС / Г. Г. Казеннов, А. Г. Соколов В // Принципы и методология построения САПР БИС б кн. практ. пособие. Кн.1. / М.:Высшая школа 1990.

41. Беляков Ю. Н., Руденко А. А., Топузов И.Г., Егоров Ю.Б., Интеграция данных в САПР БИС. Направления практической реализации, М. : Радио и связь, 1990 -160 с.

42. Третьяков Ю. И. Теоретические вопросы построения системы генерации трансляторов проблемно-ориентированных языков САПР РЭА и их реализация в комплексной САПР. Диссертация на соискание ученой степени кандидата технический наук. М. 1991.

43. Поттосин И. В. Многоязыковая транслирующая система. Новосибирск: Вычислительный центр СО АН СССР. 1987.

44. Поттосин И. В. Препринт. Текущее состояние российских исследований и разработок в области трансляции. Новосибирск. 1995.

45. Поттосин И. В., Захаров В.Н. Методы построения трансляторов. Издательство «Наука». Новосибирск.1986.

46. Ершов А. П., Покровский С. В., Сабельфельд В.К. Внутренний язык в многоязыковой системе программирования, как средство формализации семантики выходных языков. Препринт. Новосибирск, ВЦ СО РАН СССР, 1974.

47. Ершов А. П. Проблемы многоязыковых систем. Новосибирск, ВЦ СО РАН СССР, 1975.

48. Жуков А. В., Перминов В. Н., Кокин С. А. и др. Свидетельство об официальной регистрации программ для ЭВМ №2003612520. Российское агентство по патентам и товарным знакам (РОСПАТЕНТ), 2003.

49. Жуков А. В. Решение проблемы совместимости модулей различных САПР БИС на примере модулей схемотехнического проектирования / А. В. Жуков // Тез. докл. на XLVII научной конференции МФТИ, Москва, 26-27 ноября 2004 г. / М. : МФТИ 2004 - С. 107.

50. Жуков А. В. Совместимость модулей схемотехнического моделирования различных САПР БИС / Информационные технологии 2005 - №10 - С. 7-13.

51. Жуков А. В., Перминов В.Н., Дубровин С. А., Макаров С. В. Совместное использование системы AVOCAD и средств САПР СБИС компаний Cadence и Synopsys / Электроника НТБ 2005 - №4 - С. 68-69.

52. Жуков А. В. Применения каркасов приложений для эффективного построения САПР СБИС / Тез. докл. на V Международной научно-технической конференции «Электроника и информатика 2005», Москва, 23 - 25 ноября 2005 г. / М. : МИЭТ, 2005, Часть 1, С. 187.

53. Жуков А. В. Построение архитектуры многоязыковых трансляторов САПР СБИС на основе методов инженерии предметной области / А. В. Жуков // Тез. докл. на XLVIII научной конференции МФТИ, Москва, 25-2 6 ноября 2005 г. / М. : МФТИ 2005 - С. 119.

54. Жуков А. В. Реализация сквозных маршрутов проектирования в современных САПР СБИС на примере САПР AVOCAD / А. В. Жуков // Тез. докл. на Научной сессии «МИФИ 2006», Москва, 23 - 27 января 2006 г. / М. : МИФИ - 2006 - С. 116-117.