Содержание к диссертации
Введение
ГЛАВА 1 Средства совместимости модулей различных САПР СБИС 13
1.1. Совместимость модулей САПР СБИС 13
1.2. Средства разработки по для совместимости модулей САПР СБИС 17
Выводы 29
Постановка задачи исследования 30
ГЛАВА 2 Методы построения многоязыкового транслятора языков описания принципиальных электрических схем 33
2.1. Структура мт языков описания принципиальных электрических схем 33
2.2. Анализ набора spice-языков 34
2.3. Подход к построению внутреннего языка мт spice-языков 45
2.4. Анализ подходов к построению средств многоязыковой трансляции 47
2.5. Предлагаемый подход к построению мт на основе каркаса 50
2.6. Метод переключения потока данных между блоками анализа языков 51
2.7. Метод построения каркаса мт принципиальных электрических схем 54
2.8. Формальное описание характеристической модели 59
Выводы 71
ГЛАВА 3 Разработка алгоритмического и программного обеспечения многоязыкового транслятора spice-языков САПР СБИС 73
3.1. Применение МТ в САПР СБИС 73
3.2. Структура многоязыкового транслятора spice-языков 78
3.3. Разработка back end транслятора 87
3.4. Разработка front end транслятора 97
Выводы 122
ГЛАВА 4 Совместимость САПР СБИС на основе разработанного входного многоязыкового транслятора spice-языков 124
4.1. Сравнение времени разработки средств совместимости модулей 124
4.2. Маршруты проектирования сбис на основе netlistreader 126
4.3. Пример проекта схемы на двух входных spice-языках 142
Выводы 149
Заключение 150
Литература
- Совместимость модулей САПР СБИС
- Структура мт языков описания принципиальных электрических схем
- Применение МТ в САПР СБИС
- Сравнение времени разработки средств совместимости модулей
Введение к работе
В течение последнего десятилетия развитие микроэлектроники определяется, прежде всего, эффективностью применения сквозных автоматизированных систем проектирования (САПР) сверхбольших интегральных схем (СБИС). В условиях жесткой конкуренции сильно возрастает необходимость в постоянной модернизации этих систем, быстрого внедрения новых, все более совершенных модулей сквозных САПР. Этим и определяется необходимость в разработке средств совместимости модулей различных САПР, увеличивающих возможности в проектировании СБИС и конкурентоспособности САПР на рынке.
Актуальность проблемы. В настоящее время существует сравнительное небольшое число фирм разрабатывающих автоматизированные системы, позволяющие полностью провести сквозной маршрут проектирования СБИС. Это обусловлено высокой сложностью задачи, и как следствие большой длительностью и стоимостью разработки. Поэтому только крупные компании, такие как Cadence, Synopsys, Mentor Graphics, смогли добиться значимых результатов в этой области. Однако, несмотря на значительные затраты на разработку, крупным компаниям не удается получить систему полностью удовлетворяющую все возрастающим требованиям современной разработки СБИС.
Высокая сложность задачи проектирования СБИС обуславливает неизбежность совместной работы модулей различных САПР. Кроме того, для сохранения ключевых позиций на рынке крупные фирмы-разработчики САПР СБИС стремятся разработать стандартизованную технологию, упрощающую замену и совместное использование модулей различных САПР. Длительное преобладание обратной
-5-ситуации, а именно отсутствие стандартизации языков САПР замедляет и усложняет процесс разработки средств внешней интеграции сегодня.
Поэтому разработка средств, позволяющих сократить время осуществления совместимости модулей различных САПР СБИС, является актуальной задачей.
Цель работы. Целью диссертации является исследование и разработка математического, алгоритмического и программного обеспечения входных многоязыковых трансляторов (МТ) для САПР СБИС. Для достижения поставленной цели необходимо решить следующие научно-технические задачи:
1.Провести исследование методов построения трансляторов для интеграции модулей схемотехнического моделирования различных САПР СБИС в сквозной маршрут проектирования. 2.Разработать методы построения архитектуры и алгоритмов многоязыкового транслятора языков описания принципиальных электрических схем. 3.Разработать метод построения архитектуры многоязыкового транслятора, обеспечивающей гибкую модернизацию программы, быстрое наращивание функциональности для поддержки дополнительных входных языков, а также обеспечивающую достаточную общность для унификации процесса разработки многоязыковых трансляторов САПР СБИС. 4.Разработать на основе предложенных методов алгоритмы, архитектуру, грамматики входных языков, структуру внутреннего языка многоязыкового транслятора языков описания принципиальных электрических схем.
5.Провести апробацию результатов функционирования разработанного многоязыкового транслятора языков описания принципиальных электрических схем.
Личный вклад. Все основные научные результаты, изложенные в диссертации, получены автором лично.
Методы исследования. При решении поставленных задач применены элементы теории вероятностей, теории графов, теория множеств, теория комбинаторики, нотация Бэкуса-Наура, представление знаний на основе доменной модели, язык программирования C++, язык описания грамматики VisuaParse, методы задания регулярных выражений.
Внедрение результатов работы. Результаты работы в виде МТ внедрены в программу схемотехнического моделирования AVOsim, используются в качестве дополнительного модуля в САПР AVOCAD (000 «Юник Ай Сиз»). Использование МТ позволило увеличить конкурентоспособность САПР AVOCAD.
Апробация работы. Основные положения диссертации обсуждались и получили положительную оценку на следующих конференциях и семинарах: Всероссийских межвузовских научно-технических конференциях студентов и аспирантов МИЭТ, Научных конференциях МФТИ «Современные проблемы фундаментальных и прикладных наук», а также на ежегодной Научной сессии МИФИ и Международной научно-технической конференции «Электроника и информатика», 2003-2006.
Публикации по работе. По результатам диссертации опубликовано 10 печатных работ, из них 2 статьи в журналах, 1 авторское свидетельство о регистрации программ и 7 тезисов докладов на международных конференциях, всероссийских научных сессиях и межвузовских научно-технических конференциях.
Научная новизна. В диссертации получены следующие новые научные результаты:
1.Предложен метод обеспечения совместимости по внешним данным модулей схемотехнического моделирования различных САПР СБИС. Метод состоит в замене трансляторов и конверторов семантически-близких языков на многоязыковые трансляторы. Метод позволяет решить проблему роста числа независимых программ трансляции, исключить фазу предварительной конвертации языков и упростить поддержку проектов, описанных на различных языках САПР.
2. Предложен метод переключения потока данных между блоками анализа языков описания принципиальных электрических схем. Метод основан на разработанной модели управления процессом предварительной обработки и процессом анализа входных языков. Метод позволяет совмещать решение задачи предварительной обработки входных данных, определения точек смены языка и перенаправления потока данных между блоками анализа языков.
3.Разработана модель унифицированной «цепочки фильтров» для препроцессора входных трансляторов САПР СБИС. Модель предлагает новый подход к предварительной обработке во входных трансляторах. Достаточно высокая общность модели делает приемлемым применение ее для решения широкой номенклатуры задач, приводимых к концепции фильтров.
4.Впервые предложен подход к разработке многоязыковых трансляторов языков описание принципиальных электрических схем на основе каркаса. Каркас разделяет задачи многоязыковой и одноязыковой трансляции, что позволяет отказаться от классических подходов к построению многоязыковых трансляторов. Впервые предложен метод построения каркаса
многоязыкового транслятора САПР СБИС. Метод устанавливает связь между предметной областью и программной реализацией, что упрощает задачу выделения общей и изменяемой части каркаса, сокращается время его разработки.
5.Разработана доменная модель spice-подобных языков. Модель позволяет установить закономерности в организации и связь синтаксиса с семантикой набора spice-языков. Модель позволяет упростить разработку каркаса и базовых алгоритмов многоязыкового транслятора spice-языков.
б.Разработана модель архитектуры и алгоритмов многоязыкового транслятора языков описания принципиальных электрических схем, являющейся базовой для построения многоязыковых трансляторов с произвольным набором входных spice-языков. Поскольку модель основана на новых методах, предложенных в диссертации, целевая архитектура и алгоритмы, построенные на основе модели, отличаются организацией внутреннего языка, анализирующей и обрабатывающей части от ранее известных трансляторов. Практическая ценность. Получен ряд научных результатов, которые используются при проектировании СБИС.
1. Программная реализация методов построения многоязыковых трансляторов языков описания принципиальных электрических схем в составе многоязыкового транслятора spice-языков. Это позволило сократить разработку многоязыкового транслятора на 60% при двух и более входных языках.
2.Программная реализация многоязыкового транслятора spice- языков обеспечивает интеграцию модуля
схемотехнического моделирования САПР AVOCAD с модулями других САПР, позволяя тем самым проводить различные маршруты проектирования. Отличительной особенностью транслятора является: возможность быстрого наращивания и замены функций для поддержки дополнительных входных языков и поддержки проектов, описанных на различных языках.
Файл синтаксических шаблонов параметров моделей элементов, адаптированный для использования, как напрямую программой моделирования AVOCAD, так и разработанным многоязыковым транслятором spice-подобных языков.
Модель динамического препроцессора многоязыкового транслятора spice-подобных языков, обладающая достаточной общностью для применения ее в других, в том числе и одноязыковых трансляторах.
Грамматики spice-языков могут быть использованы для построения независимых входных одноязыковых трансляторов spice-языков.
Представляется к защите:
Метод интеграции модулей схемотехнического моделирования САПР СБИС на основе многоязыковых трансляторах.
Метод переключения потока данных между блоками анализа языков описания принципиальных электрических схем.
Модель унифицированной «цепочки фильтров» для препроцессора входных трансляторов САПР СБИС.
4.Новый подход построения многоязыкового транслятора принципиальных электрических схем на основе каркаса. Новый метод построения каркаса многоязыкового транслятора принципиальных электрических схем.
5. Доменная модель spice-языков САПР СБИС.
б.Модель входного многоязыкового транслятора языков
описания принципиальных электрических схем. Объем и структура работы.
Диссертация состоит из введения, четырех глав, заключения, приложения, содержащего акты внедрения результатов работы, списка использованных источников из 60 наименований.
Во введении раскрывается проблематика диссертационной работы и обосновывается ее актуальность. Показана новизна и значимость полученных в ходе работы результатов. Приводится список положений, выносимых на защиту, описывается структура диссертационной работы.
В первой главе рассмотрены основные задачи интеграции модулей различных САПР СБИС. Классифицированы уровни интеграции и проведено их сравнение. Рассмотрены возможные подходы обеспечения внешней интеграции модулей. Описаны методы автоматизации построения трансляторов. Обозначены их достоинства и принципиальные ограничения по достигаемой степени автоматизации. Представлены преимущества и ограничения подхода, обеспечивающего внешнюю интеграцию модулей на основе МТ. Сформулированы нерешенные научные задачи построения подобных систем. Перечислен ряд задач, решение которых позволит осуществить внешнюю интеграцию модуля схемотехнического моделирования AVOCAD с модулями других САПР СБИС.
Во второй главе рассмотрены основные методы построения МТ. Приведены ограничения и рассмотрена предлагаемая методика и методы построения входного МТ языков описания принципиальных электрических схем.
Проведено сравнение spice-языков на основе доменной модели. Установлен класс входных языков. Обоснована целесообразность разработки МТ spice-языков.
Предложен метод переключения потока данных. Рассмотрены модели «управления считыванием и анализом» и «цепочки фильтров», являющиеся основными составляющими метода. Приведен метод построения каркаса МТ языков описания принципиальных электрических схем. Разработано математическое обеспечение, позволяющее упростить основные этапы метода: анализ и моделирования предметной области.
В главе представлен новой подход к построению МТ языков описания принципиальных электрических схем и определен процесс его применения, основанный на достижениях искусственного интеллекта в области методов инженерии предметной области.
В третьей главе описано алгоритмическое и программное обеспечения на основе разработанной методики и методов построения каркаса МТ языков описания принципиальных электрических схем.
Разработаны основные алгоритмы анализирующей и обрабатывающей части. Разработан внутренний язык, позволяющий единым образом представлять входные spice-языки для общих алгоритмов ядра транслятора. Приведены основные алгоритмы дополнительных (независимых) блоков транслятора. Обоснована их высокая практическая ценность, а также общий вклад повышение эффективности транслятора.
Внедрение МТ в систему схемотехнического моделирования AVOCAD обеспечивает расширение ее функций и тем самым в комплексе повышает ее конкурентоспособность по сравнению с другими САПР СБИС.
В четвертой главе описываются результаты функционирования разработанного МТ spice-языков. В качестве входных языков выступают следующие spice-подобные языки: HSpice, PSpice, Spectre, DivaLVS. В качестве выходного языка выступают внутренние структуры модуля схемотехнического моделирования. Внедрение и апробация программы осуществлено в рамках САПР СБИС AVOCAD. Рассмотрены различные маршруты проектирования СБИС на основе модуля схемотехнического моделирования и разработанного транслятора.
В заключении приведены основные результаты выполненной работы.
В приложении приведены акты внедрения результатов диссертационной работы в различных организациях.
Результаты работы нашли применение при проектировании ряда принципиальных электрических схем в САПР AVOCAD, полученных из различных САПР СБИС, что подтверждается соответствующими актами, которые приведены в приложении.
Совместимость модулей САПР СБИС
Основным объектом интеграции в рамках САПР СБИС является модуль системы. Под модулем будем понимать отдельную программу, выполняющую одну из вычислительных задач САПР СБИС, которая принимает на вход данные для обработки в виде файла. Эквивалентом модуля в контексте данной задачи также могут выступать несколько объединенных модулей, решающих общую задачу. Для обозначения подобного набора модулей целесообразно использовать термин «компонент».
В зависимости от степени взаимодействия модулей могут применяться различные методы интеграции. Кроме того, величина степени взаимодействия может быть качественно определена из уровня совместимости (интеграции) модулей. Можно выделить следующие уровни интеграции:
1.Уровень внешних данных. Обычно с помощью этого уровня передается входная информация для обработки и выходная для передачи результата обработки следующему модулю, стоящему в цепочке модулей маршрута проектирования. Для обеспечения данного уровня интеграции разрабатываются входные/выходные языки. Пример: результаты моделирования передаются из модуля схемотехнического моделирования в модуль вывода результатов. 2.Уровень унифицированных данных. К унифицированным данным модулей САПР СБИС может относиться ряд данных, представленный в общей форме между отдельными модулями различных производителей систем, формирующими исходные данные и модулями принимающим эти данные. Для передачи подобного рода информации предназначены унифицированные языки обмена данными, такие как EDIF. Пример: передача проекта из графической оболочки схемотехнического модуля САПР СБИС Cadence в аналогичный модуль САПР СБИС AVOCAD [57] . 3. Уровень внутренних данных. К внутренним данным относятся данные, возникающие внутри модуля САПР СБИС в процессе его выполнения. Подобного рода информация необходима для организации совместной (параллельной или попеременной) работы модулей. Для передачи внутренней информации целесообразно использовать базы данных. Пример: смешанное (цифроаналоговое) моделирование позволяет существенно сократить время моделирования за счет распределения внутренних данных проекта между аналоговым и цифровым модулем расчета. Каждый из перечисленных уровней фактически разделяет данные модулей по степени доступности друг к другу. На первом и второй уровне используются только внешние данные, передаваемые через входные/выходные языки. Только третий уровень подразумевает максимальную доступность по данным, предоставляя прямой доступ к данным. Безусловно, диапазон открытых данных, а также возможность прямого доступа к ним во время выполнения модуля позволяет максимально контролировать совместную работу модулей. Однако это не всегда бывает правильно и эффективно.
С точки зрения пользователя, автоматизированная система реагирует на действия проектировщика, скрыто выполняя заложенные коды программы. Таким образом, важным является лишь критерий правильности и времени выполнения. Методы интеграции модулей в данном случае не важны. Их значение для пользователя может стать заметным лишь при решении вопросов внешней интеграции с модулями сторонних производителей, обеспечивая тем самым дополнительную функциональность системы и новые маршруты проектирования.
С точки зрения инженеров-проектировщиков, систему можно представить в виде сложных механизмов преобразования данных, реализованных с помощью алгоритмических языков программирования. Принадлежность модуля к фирме-разработчику САПР обычно предполагает доступность или закрытость кода. Открытость кода не предполагается предоставлять сторонним производителям САПР из-за коммерческой направленности продукта, а именно дороговизной и скрытостью внедренных в нее методов и алгоритмов. Таким образом, основным сдерживающим фактором проведения внутренней интеграции модулей различных производителей является закрытость кода.
Именно коммерческая направленность продукта является основной причиной при планировании времени разработки системы. Безусловно, своевременное появление продукта на рынке может сыграть решающую роль при определении его конечной стоимости. Таким образом, необходимо применять все возможные методы для сокращения этапа разработки системы.
Следует отметить, что разработка любого крупного программного комплекса состоит из двух основных этапов: предварительного проектирования системы и формирования (реализации) кода. Анализ показал, что общее время разработки, а также конечное качество программного продукта определяется всесторонним использованием результатов, полученных на этапе проектирования. Основная проблема проектирования программного обеспечения (ПО) сопряжена с решением комплекса сложно формализуемых (творческих) задач.
Структура мт языков описания принципиальных электрических схем
Основные отличия процесса разработки МТ от процесса разработки одноязыковых трансляторов обусловлены отличием их структур.
Анализ входных одноязыковых трансляторов САПР позволил выявить их обобщенную структуру (рис. 2.1), удовлетворяющую типовым требованиям к подобным системам.
Основные недостатки структуры состоят в высокой связности блоков и высокой сложности их повторного применения.
Особенности внутренних блоков МТ состоят в их взаимной функциональной независимости и низкой связности, что позволяет наращивать функциональность по поддержке входных языков. Независимость Front End от Back End достигается за счет применения внутреннего языка. Его функция состоит в едином представлении данных из набора входных языков в общие алгоритмы ядра.
Поскольку общих методов и технологии построения МТ на момент написания диссертации в доступной литературе не представлено, то исходя их задач и особенностей МТ spice-языков, необходимо решить следующие специализированные для МТ spice-языков задачи: определить класс входных языков, предложить способ поддержки нескольких языков в рамках одного spice-проекта, предложить подходы к построению ВЯ.
Анализ набора spice-языков
Важное отличие МТ от одноязыковых трансляторов состоит в сильной зависимости архитектуры и алгоритмов программы от входных и выходных языков. Поэтому целесообразность построения любого МТ определяется -установлением класса входных и выходных языков. Класс устанавливает множество языков, семантика и синтаксис которых не приводит к длительной переработке основной программы. Кроме того, семантика входных языков оказывает влияние на внутренний язык, архитектуру и базовые алгоритмы ядра транслятора. Таким образом, класс входных языков определяется семантической близостью языков.
Для установления семантической близости автором предложен критерий оценки: «семантика каждого входного языка должна быть выводима через семантику другого языка».
Кроме семантики следует установить зависимости между семантикой и синтаксисом. Как известно, синтаксис служит для выражения семантики предмета описания - схемы, однако кроме этого сам может нести дополнительную семантику. Анализ синтаксиса необходим для определения пересечений синтаксиса нескольких языков с различной семантикой.
Доменная модель представляет собой модель предметную область. Поскольку spice-языки описывают электрическую принципиальную схему, то предметная область spice-языков ограничивается проектной информацией схемы, т.е. всей необходимой информацией для выполнения схемотехнического моделирования схемы.
Разделение на групповые и индивидуальные представляет собой условное разделение на уровне обработки. На уровне же конструкций входных языков подобное различие никакими способами не выражается.
Рассмотрев основные понятия предмета описания spice-языков, рассмотрим отличия синтаксиса и семантики языков. Spice-языки САПР относятся к категории формальных языков. Формальным языком L над словарем V будем называть произвольное множество цепочек над этим словарем [23] . Конечное множество объектов будем называть «словарем». Элементы словаря будем называть «символами». «Цепочкой» (символов) будем называть произвольную конечную последовательность символов словаря.
Аббревиатура SPICE (Simulation Program with Integrated Circuit Emphasis) была принята для обозначения программы схемотехнического моделирования, разработанной в начале 70 годов в университете Беркли (США, Калифорния). Совпадение имен программы моделирования и входных языков в последствии получило широкое распространение.
Рост числа методов построения программ моделирования (PSpice, HSpice, Spectre, SpiceE3A, IS_Spice, ViewSpice, ESpice, NSpice, TSpice, Eldo и др.), а также отсутствие стандартизации входных spice-языков привели к проблеме несовместимости текстовых проектов схем. Ситуация дополнительно усложняется из-за наличия множества версий существующих программ и языков.
Применение мт в сапр сбис
Сквозной маршрут проектирования СБИС может содержать следующую этапы проектирования: схемотехническое, логическое, топологическое. Исходя из этого, каждая из САПР СБИС сквозного проектирования должна содержать программные компоненты, позволяющие автоматизировать процесс разработки на каждом из перечисленных этапов проектирования. Тем не менее, несмотря на общие задачи, организация каждой системы сквозного проектирования часто различается. Помимо уникальных вычислительных алгоритмов компонент системы, может различаться способ организации архитектуры системы. Можно выделить два крайних способа организации архитектуры систем: на основе объектно-ориентированной базы данных (ООБД) (рис. 3.1) и на основе одноязыковых трансляторов (рис. 3.2).
Первый способ предусматривает тесную интеграцию компонент системы. А именно, обмен данными между компонентами происходит через общую базу данных (БД), обеспечивая тем самым довольно удобный способ работы с данными. Однако зависимость структуры данных БД от реализации компонент системы, ограничивает использование данного способа построения архитектуры САПР СБИС только для компонент с открытой реализацией.
Второй способ предусматривает передачу данных между компонентами через входные и выходные трансляторы (рис. 3.2 блок «трансляторы» объединяет входные и выходные трансляторы, номерами обозначено направление трансляции). В этом случае внутренние данные модулей инкапсулированы друг для друга. За счет этого система проектирования может быть собрана из модулей различных САПР СБИС.
Рассматривая одноязыковые трансляторы, как основное средство совместимости модулей различных САПР СБИС можно предположить следующую ситуацию при трех САПР (рис. 3.3).
Производя синтез из произвольных компонент различных САПР в единую систему проектирования, и происходит рост числа необходимых трансляторов. Устранение роста числа трансляторов в системе при интеграции компонент различных САПР может быть достигнуто при привлечении ряда входных и выходных многоязыковых трансляторов (МТ) (рис. 3.4) . Как видно из рисунка, поддержка различных компонент локализуется в отдельных МТ. В результате увеличивается качество системы и сокращается общее время ее разработки. Таким образом, решение проблемы интеграции компонент различных на основе МТ позволяет сократить общее время разработки и сократить число требуемых программ.
Предложенные в предыдущей главе подходы и методы построения МТ spice-подобных языков могут быть применены для построения и других МТ, представленных на рисунке 3.3. Однако оценка их эффективности и степени применимости требует проведения ряда дополнительных исследований, выходящих за рамки данной диссертации. Разработанный МТ spice-языков (выделен серым цветом) позволяет эффективно решить задачу совместимости модулей схемотехнического моделирования различных САПР СБИС.
Кроме того, он обеспечивает поддержку еще ряда задач, внутри системы проектирования. Дополнительные задачи обуславливаются спецификой архитектуры и задачами модулей системы. Поскольку они представляют высокую практическую значимость, то их целесообразно рассмотреть подробнее.
На рисунке представлена общая архитектура системы схемотехнического моделирования. Следует отметить, что стрелки используются для обозначения направления запросов между подсистемами.
Основными компонентами принято считать подсистемы, выполняющие следующие функции: редактирование проекта, моделирование, визуализацию результатов. Тем самым они образуют базовый набор компонентов, необходимый для самостоятельного использования системы. Использование подсистем в отрыве от других является малоэффективным. Внедрение в систему МТ spice-языков значительно расширяет функции системы.
Сравнение времени разработки средств совместимости модулей
Внедрение разработанного МТ NetlistReader в систему схемотехнического моделирования AVOCAD обеспечивает расширение ее функций и повышает конкурентоспособность. Рассмотрим подробнее результаты внедрения МТ.
Поддержка spice-подобных языков в рамках МТ NetlistReader производилась в следующем порядке: PSpice, HSpice, Spectre, DivaLVS, HSpice+Spectre. Порядок был определен исходя из требований к системе схемотехнического моделирования AVOCAD. Последовательная поддержка входных языков повлияла на порядок разработки транслятора. Основные этапы разработки: 1) разработка грамматики; 2) разработка препроцессора; 3) разработка контейнеров промежуточного хранения; 4) конкретизация анализирующего блока; 5) разработка обрабатывающего блока. Использование разработанного каркаса в качестве основы транслятора объясняет значительное сокращение времени разработки перечисленных этапов, кроме этапов 1 и 4, при реализации поддержки очередного входного языка. Произведем количественную оценку необходимого времени для поддержки spice-языков в рамках разработанной архитектуры многоязыкового транслятора (таблица 4.2), в сравнении со временем, требуемым для построения набора одноязыковых трансляторов (таблица 4.3).
Необходимо отметить, что применение фильтров существенно сокращает разработку препроцессора для последующих поддерживаемых входных языков (таблица 4.2, этап 2) . А также разработанные фильтры могут быть использованы и для построения отдельных одноязыковых трансляторов.
Общее время, затраченное на разработку многоязыкового транслятора, составляет 39,5 [месяц/человек]. Время необходимое для реализации пакета независимых трансляторов составляет 63,2 [месяц/человек]. Разница во времени в процентном отношении составляет 60,6%. Учитывая высокую общую длительность разработки, разница в 2 года для современного программного обеспечения является весьма существенной. Несмотря на сравнительно большую сложность первого подхода по сравнению со вторым, первый, несомненно, себя оправдывает за счет значительного конечного временного выигрыша.
Таблица 4.2 не содержит сведений о поддержке проектов оформленных на нескольких spice-языка, поскольку сложность реализации данной функциональности на основе отдельных трансляторах очень высокая. Предположив, что как минимум потребуется разработка промежуточных программ-конверторов и отдельных программ синхронизации конвертора и входного транслятора, суммарное время разработки резко возрастет и может стать несравнимым со временем первого подхода. Если рассматривать ручной перевод различных языков к одному из поддерживаемых в заданной САПР, то время при использовании МТ может быть сокращено от нескольких часов до нескольких дней. В этом случае также исключается вероятность привнесения ошибок в исходный проект. Таким образом, МТ имеет качественное преимущество при поддержке проектов оформленных на нескольких входных языках
Поскольку рассматриваемое архитектурное решение важно только для разработчика ПО, конечному пользователю важно только качество предоставляемых сервисов конечным продуктом. Реализованный МТ в рамках САПР AVOCAD обеспечивает значительное расширение функций системы. Целесообразно рассмотреть вклад транслятора в систему на примере некоторых маршрутов проектирования.
Как уже отмечалось в предыдущих главах данной работы, основная задача транслятора состоит в обеспечении внешней интеграции с другими САПР СБИС. Прежде чем переходить к рассмотрению маршрутов, рассмотрим отличия входных и выходных языков современных САПР СБИС.
Рассмотрим широко используемые в настоящее время САПР СБИС, такие как: OrCAD, AVOCAD, Cadence, Synopsys. Среди перечисленных систем OrCAD и AVOCAD являются системами схемотехнического моделирования. Иными словами обе системы обеспечивают поддержку только схемотехнический этап сквозного маршрута проектирования. В отличие от них, Cadence и Synopsys предоставляют пакет программ, обеспечивающих сквозной маршрут проектирования. Тем не менее, использование перечисленных систем расширено за счет организации на их основе дополнительных маршрутов проектирования. В качестве основного средства интеграции будем рассматривать входные и выходные языки систем. Проведем сравнение поддерживаемых языков данных систем (таблица 4.3, таблица 4.4).