EDIF - EDIF - Wikipedia
EDIF (Формат обмена электронным дизайном) - формат, не зависящий от производителя, основанный на S-выражения в котором хранить электронные списки соединений и схемы. Это была одна из первых попыток установить нейтральный формат обмена данными для автоматизация проектирования электроники (EDA) промышленность. Цель состояла в том, чтобы установить общий формат, из которого можно было бы извлечь собственные форматы систем EDA. Когда клиентам требовалось перенести данные из одной системы в другую, приходилось писать переводчики из одного формата в другой. По количеству форматов (N) умножилась, проблема с переводчиком стала N-квадратная задача. Ожидалось, что с помощью EDIF количество переводчиков может быть сокращено до количества задействованных систем.
Представители компаний EDA Daisy Systems, Наставник Графика, Motorola, National Semiconductor, Tektronix, Инструменты Техаса и Калифорнийский университет в Беркли учредил Руководящий комитет EDIF в ноябре 1983 г. Позже Хилари Кан, профессор информатики в Манчестерский университет, присоединился к команде и руководил разработкой от версии EDIF 2 0 0 до финальной версии 4 0 0.
Синтаксис
Общий формат EDIF включает использование круглых скобок для разделения определений данных, и в этом смысле он внешне напоминает Лисп. Базовыми токенами EDIF 2.0.0 были ключевые слова (например, библиотека, клетка, примери т. д.), строки (разделенные двойными кавычками), целые числа, символьные константы (например, GENERIC, ГАЛСТУК, Рыхлитель для типов ячеек) и «Идентификаторы», которые являются ссылочными метками, сформированными из очень ограниченного набора символов. В EDIF 3.0.0 и 4.0.0 символические константы полностью исключены, вместо них используются ключевые слова. Таким образом, синтаксис EDIF имеет довольно простую основу. Типичный файл EDIF выглядит так:
(edif фибекс (edifVersion 2 0 0) (edifLevel 0) (keywordMap (keywordLevel 0)) (положение дел (написано (отметка времени 1995 1 1 1 1 1) (программа «ххх» (версия "v1")))) (библиотека ххх (edifLevel 0) (технологии (numberDefinition (шкала 1 (е 1 -6) (единица измерения расстояние)))) (клетка dff_4 (cellType общий) (Посмотреть view1 (viewType список соединений) (интерфейс (порт множество (направление ВХОД)) (порт часы (направление ВХОД)) ... (клетка ггг (cellType общий) (Посмотреть схема_ (viewType список соединений) (интерфейс (порт ЧИСТО (направление ВХОД)) (порт ЧАСЫ (направление ВХОД)) ... ) (содержание (пример I_36_1 (viewRef view1 (cellRef dff_4))) (пример (переименовать I_36_3 «I $ 3») (viewRef view1 (cellRef добавляетub_4))) ... (сеть ЧИСТО (присоединился (portRef ЧИСТО) (portRef множество (instanceRef I_36_1)) (portRef множество (instanceRef I_36_3)))) ...
Версии
10 выпуск EDIF был выпущен в 1985 году.
EDIF 2 0 0
Первым «настоящим» общедоступным выпуском EDIF была версия 20 0, которая была утверждена в марте 1988 г. как стандарт ANSI / EIA-548-1988. Издается в единственном томе. Эта версия не имеет формального заявление о сфере действия но то, что он пытается захватить, покрывается определенными viewTypes:
- BEHAVIOR для описания поведения клетки.
- ДОКУМЕНТ для описания документации ячейки
- ГРАФИКА для описания тупой графическое и текстовое представление отображаемой или печатаемой информации
- LOGICMODEL для описания логико-имитационной модели ячейки
- МАСКАРТ для описания макета интегральной схемы
- NETLIST для описания списка соединений
- PCBLAYOUT для описания печатной платы
- SCHEMATIC для описания схематического представления и связности ячейки
- ЧУЖОЙ, чтобы описать пока неизвестное представление клетки
- СИМВОЛИКА для описания символического макета
Промышленность тестировала этот выпуск в течение нескольких лет, но, наконец, широко использовалось только представление NETLIST, и некоторые инструменты EDA все еще поддерживают его сегодня для EDIF 2 0 0.
Для решения проблем с основным стандартом 20 0 были выпущены несколько дополнительных документов:
- Ассоциация электронной промышленности
- Серия монографий EDIF, Том 1, Введение в EDIF, EIA / EDIF-1, сентябрь 1988 г.
- Серия монографий EDIF, Том 2, Связь с EDIF, EIA / EDIF-2, июнь 1989 г.
- Использование EDIF 2 0 0 для передачи схем, EIA / EDIF / AG-1, июль 1989 г.
- Документация от Хилари Дж. Кан, факультет компьютерных наук, Манчестерский университет
- EDIF 2 0 0, Введение », сентябрь 1989 г.
- EDIF Вопросы и ответы, том первый, Ноябрь 1988 г.
- EDIF Вопросы и ответы, том второй, Февраль 1989 г.
- EDIF Вопросы и ответы, том третий, Июль 1989 г.
- EDIF Вопросы и ответы, том четвертый, Ноябрь 1989 г.
- EDIF Вопросы и ответы, том пятый, Июнь 1991 г.
EDIF 3 0 0
Из-за некоторых фундаментальных недостатков в выпуске 2 0 0 в сентябре 1993 г. был выпущен новый несовместимый выпуск 3 0 0, получивший обозначение ОВОС стандарт EIA-618. Позже он достиг ANSI и ISO обозначения. Издается в 4-х томах. Основное внимание в этой версии уделялось типам представлений NETLIST и SCHEMATIC из 20 0. MASKLAYOUT, PCBLAYOUT и некоторые другие представления были исключены из этого выпуска и перенесены на более поздние выпуски, поскольку работа над этими представлениями не была полностью завершена.
EDIF 3 0 0 доступен из Международная электротехническая комиссия как IEC 61690-1
EDIF 4 0 0
EDIF 4 0 0 был выпущен в конце августа 1996 года, главным образом для добавления расширений «Печатная плата» (исходное представление PCBLAYOUT) в EDIF 3 0 0. Это более чем удвоило размер EDIF 3 0 0 и опубликовано в формате HTML. на CD.
EDIF 4 0 0 доступен в Международной электротехнической комиссии как IEC 61690-2
Эволюция
Проблемы с 2 0 0
Чтобы понять проблемы, с которыми пользователи и поставщики сталкиваются с EDIF 2 0 0, нужно сначала представить себе все элементы и динамику электронной промышленности. В этом стандарте нуждались в основном инженеры-проектировщики, работавшие в компаниях, размер которых варьировался от гаража до многомиллиардных предприятий с тысячами инженеров. Эти инженеры работали в основном со схемами и списками соединений в конце 1980-х, и большой толчок заключалась в том, чтобы автоматически генерировать списки соединений из схем. Первыми поставщиками были поставщики средств автоматизации электронного проектирования (например, Daisy, Mentor и Valid сформировали самую раннюю преобладающую группу). Эти компании активно боролись за свои доли на этом рынке.
Одной из тактик, используемых этими компаниями для «поимки» своих клиентов, были их собственные базы данных. У каждого были особенности, которых нет у других. После того, как было принято решение использовать программное обеспечение конкретного поставщика для ввода в проект, заказчик никогда не был вынужден использовать никакое другое программное обеспечение. Переход от систем поставщика A к системам поставщика B обычно означал очень затратный повторный ввод почти всех проектных данных вручную в новую систему. Расходы на «миграцию» были основным фактором, который заставил инженеров-проектировщиков использовать одного поставщика.
Но у «заказчиков» было иное желание. Они сразу увидели, что в то время как поставщик A может иметь действительно хорошую среду аналогового моделирования, поставщик B имеет гораздо лучший автоматический маршрутизатор для печатной платы или кремниевой схемы. И им хотелось, чтобы у них была возможность выбирать среди различных поставщиков.
EDIF в основном поддерживался конечными пользователями электроники и их компаниями. Поставщики EDA также были вовлечены, но их мотивация была больше похожа на желание не оттолкнуть своих клиентов. Большинство поставщиков EDA производили переводчики EDIF 2 0 0, но они определенно были больше заинтересованы в создании высококачественных считывателей EDIF, и у них не было абсолютно никакой мотивации писать какое-либо программное обеспечение, генерирующее EDIF (устройство записи EDIF), помимо угроз со стороны заказчики массового перехода на ПО другого производителя.
Результат получился довольно интересным. Вряд ли какой-либо поставщик программного обеспечения написал вывод EDIF 2 0 0 без серьезных нарушений синтаксиса или семантики. Семантика была достаточно свободной, чтобы можно было описать одни и те же данные несколькими способами. Это стали называть «ароматизаторами» EDIF. Компании-поставщики не всегда считали важным выделять много ресурсов на продукты EDIF, даже если они продавали их большое количество. Было несколько историй об активных продуктах, когда практически никто не обслуживал их в течение многих лет. Жалобы пользователей просто собирались и определялись по приоритетам. Чем сложнее становилось экспортировать данные клиентов в EDIF, тем больше это нравилось поставщикам. Те, кто действительно писал переводчики EDIF, обнаружили, что они потратили огромное количество времени и усилий на создание достаточно мощных, прощающих ошибок, считывателей с искусственным интеллектом, которые могли бы обрабатывать и собирать воедино некачественный код, созданный существующими авторами EDIF 20 0 того времени. .
При разработке EDIF 3 0 0 комитеты хорошо осознавали недостатки языка, клевету, обрушившуюся на EDIF 2 0 0 со стороны поставщиков, и разочарование конечных пользователей. Таким образом, чтобы ужесточить семантику языка и обеспечить более формальное описание стандарта, был применен революционный подход к предоставлению информационной модели для EDIF на языке информационного моделирования. ВЫРАЖАТЬ. Это помогло лучше задокументировать стандарт, но было сделано в большей степени с опозданием, так как создание синтаксиса выполнялось независимо от модели, а не создавалось из модели. Кроме того, несмотря на то, что в стандарте говорится, что если синтаксис и модель не совпадают, модель является стандартной, на практике это не так. В BNF Описание синтаксиса является основой языка, поскольку программное обеспечение, которое выполняет повседневную работу по созданию описаний проекта, основано на фиксированном синтаксисе. Информационная модель также страдала от того, что она не была (и не подходит) идеально для описания EDIF. Он вообще не очень хорошо описывает такие концепции, как пространства имен, и различия между определением и ссылкой также не поддаются четкому описанию. Кроме того, конструкции в EXPRESS для описания ограничений могут быть формальными, но описание ограничений иногда бывает довольно сложным. Таким образом, большинство ограничений было просто описано как комментарии. Большинство других превратились в тщательно продуманные формальные описания, которые большинство читателей никогда не смогут расшифровать и, следовательно, могут не выдержать автоматической отладки / компиляции, точно так же, как программа может хорошо выглядеть в обзоре, но компилятор может обнаружить некоторые интересные ошибки и на самом деле запуск написанной программы может обнаружить еще более интересные ошибки. (Кроме того, аналогичные компиляторы / исполнители EXPRESS не существовали, когда стандарт был написан, и могут не существовать до сих пор!)
Решения проблем EDIF 2 0 0
Решение проблемы «вкуса» EDIF 2 0 0 заключалось в разработке более конкретного семантического описания в EDIF 3 0 0 (1993). Действительно, сообщенные результаты людей, генерирующих переводчиков EDIF 3 0 0, показали, что писатели теперь много труднее понять из-за большого количества семантических ограничений, а читатели сравнительно тривиальны для освоения.
Решением «конфликта интересов» поставщиков были нейтральные сторонние компании, которые могли предоставлять продукты EDIF на основе интерфейсов поставщиков. Такое отделение продуктов EDIF от прямого контроля со стороны поставщиков было критически важно для обеспечения сообщества конечных пользователей инструментами, которые хорошо работают. Он сложился естественно и без комментариев. Engineering DataXpress была, пожалуй, первой такой компанией в этой сфере, с Компания электронных инструментов казалось, что они захватили рынок в середине-конце 1990-х годов. Еще одна динамика в этой отрасли - это сам EDIF. Поскольку они выросли до довольно больших размеров, создание читателей и писателей стало очень дорогим делом. Обычно сторонние компании собирают необходимых специалистов и могут использовать эти знания для более эффективного создания программного обеспечения. Они также могут использовать совместное использование кода и другие методы, недоступные отдельным поставщикам. К 2000 году почти ни один крупный поставщик не производил собственные инструменты EDIF, предпочитая вместо этого OEM сторонние инструменты.
С момента выпуска EDIF 4 0 0 вся организация стандартизации EDIF практически распалась. Не было опубликовано ни одного заседания технических подкомитетов, группы экспертов EDIF и т. Д. Большинство вовлеченных лиц перешли в другие компании или в другие компании. Рассылка новостей была прекращена, и группа пользователей больше не проводит ежегодные собрания. EDIF 3 0 0 и 4 0 0 сейчас ANSI, IEC и европейские (EN) стандарты. EDIF версии 3 0 0 - это IEC / EN 61690-1, а EDIF Version 4 0 0 - это IEC / EN 61690-2.
Потомки EDIF
- LKSoft взяли основные концепции из EDIF 2 0 0, чтобы создать собственный формат данных с расширением по умолчанию «.cam» для своих CircuitCAM система, первоначально предложенная LPKF Laser & Electronics AG в Гарбсен / Ганновер, Германия, и сегодня принадлежит DCT Co., Ltd. в Тяньцзине, Китай. Для эффективной работы с форматами типа EDIF LKSoft разработала Процедурный интерфейс EDIF, API для Язык программирования C.
- Zuken, ранее называвшаяся Racal-Redac Ltd., взяла концепции из ранней разработки EDIF 4 0 0, чтобы создать новый частный формат под названием CADIF для своих Visula Система PCB-CAD. Этот формат также широко используется сторонними поставщиками.
- STEP-AP210, часть ISO 10303, практически унаследовал всю функциональность EDIF 4 0 0, кроме схем.
внешняя ссылка
- Инструменты BYU EDIF Фреймворк Java для анализа / управления файлами EDIF, разработанный и поддерживаемый BYU Лаборатория конфигурируемых вычислений
- Torc C ++ API с открытым исходным кодом для реконфигурируемых вычислений, включая синтаксический анализ и обработку EDIF 2 0 0, от ISI Группа реконфигурируемых вычислений
- Обзор EDIF от Elgris Technologies, Inc.
- www.edif.org в Интернет-архиве Архив www.edif.org (ныне несуществующего), содержащий введение в формат EDIF
- Компьютерные средства для проектирования СБИС - Приложение D: Формат обмена электронными проектами Стивена М. Рубина
- Профессор Хилари Кан (1943-2007)