ЭДИФ
EDIF ( формат обмена электронными проектами ) — это независимый от поставщика формат, основанный на S-выражениях , в котором хранятся электронные списки соединений и схемы. Это была одна из первых попыток создать нейтральный формат обмена данными для индустрии автоматизации электронного проектирования (EDA). Цель заключалась в том, чтобы установить общий формат, на основе которого можно было бы получить собственные форматы систем EDA. Когда заказчикам требовалось перенести данные из одной системы в другую, приходилось писать трансляторы из одного формата в другой. По мере увеличения количества форматов ( N ) проблема переводчика стала проблемой N -квадрата. Ожидалось, что с помощью EDIF количество переводчиков можно будет сократить до количества задействованных систем.
Представители компаний EDA Daisy Systems , Mentor Graphics , Motorola , National Semiconductor , Tektronix , Texas Instruments и Калифорнийского университета в Беркли создали Руководящий комитет EDIF. в ноябре 1983 года Позже Хилари Кан , профессор информатики Манчестерского университета , присоединился к команде и руководил разработкой от версии EDIF 2 0 0 до финальной версии 4 0 0.
Синтаксис
[ редактировать ]Общий формат EDIF предполагает использование круглых скобок для разделения определений данных, и в этом он внешне напоминает Lisp . Основными токенами EDIF 2.0.0 были ключевые слова (например, библиотека , ячейка , экземпляр и т. д.), строки (разделенные двойными кавычками), целые числа, символические константы (например, GENERIC , TIE , RIPPER для типов ячеек) и «Идентификаторы». , которые представляют собой ссылочные метки, состоящие из очень ограниченного набора символов. В версиях EDIF 3.0.0 и 4.0.0 символические константы полностью исключены, вместо них используются ключевые слова. Итак, синтаксис EDIF имеет довольно простую основу. Типичный файл EDIF выглядит так:
(edif fibex (edifVersion 2 0 0)
(edifLevel 0) (keywordMap (keywordLevel 0))
(status (written (timeStamp 1995 1 1 1 1 1) (program "xxx" (version "v1"))))
(library xxx (edifLevel 0)
(technology (numberDefinition (scale 1 (e 1 -6) (unit distance))))
(cell dff_4 (cellType generic)
(view view1 (viewType netlist)
(interface
(port aset (direction INPUT))
(port clok (direction INPUT))
...
(cell yyy (cellType generic)
(view schematic_ (viewType netlist)
(interface
(port CLEAR (direction INPUT))
(port CLOCK (direction INPUT)) ... )
(contents
(instance I_36_1 (viewRef view1 (cellRef dff_4)))
(instance (rename I_36_3 "I$3") (viewRef view1 (cellRef addsub_4)))
...
(net CLEAR
(joined
(portRef CLEAR)
(portRef aset (instanceRef I_36_1))
(portRef aset (instanceRef I_36_3))))
...
История изменений
[ редактировать ]Версия EDIF 1 0 0 в 1985 г.
Версия EDIF 1 1 0 в 1986 г.
ЭДИФ 2 0 0
[ редактировать ]Первой «настоящей» публичной версией EDIF была версия 2000, утвержденная в марте 1988 года как стандарт ANSI/EIA-548-1988. Издается в одном томе. Эта версия не имеет формального определения области действия , но то, что она пытается захватить, покрывается определенными viewType s:
- ПОВЕДЕНИЕ для описания поведения клетки.
- ДОКУМЕНТ для описания документации ячейки
- ГРАФИКА для описания тупого графического и текстового представления отображаемой или печатной информации.
- LOGICMODEL для описания логико-имитационной модели клетки.
- MASKLAYOUT для описания компоновки интегральной схемы.
- NETLIST для описания списка соединений
- PCBLAYOUT для описания печатной платы.
- СХЕМА для описания схематического представления и возможности подключения ячейки.
- НЕЗНАКОМЫЙ для описания пока неизвестного представления клетки.
- СИМВОЛИЧНЫЙ для описания символического расположения.
Промышленность тестировала эту версию в течение нескольких лет, но, в конечном итоге, широко использовалось только представление NETLIST, и некоторые инструменты EDA до сих пор поддерживают его для EDIF 2 0 0.
Чтобы преодолеть проблемы с основным стандартом 2000, было выпущено несколько дополнительных документов:
- Ассоциация электронной промышленности
- Серия монографий 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 г.
ЭДИФ 2 9 0
[ редактировать ]Выпущен 15 сентября 1992 года.
ЭДИФ 3 0 0
[ редактировать ]Из-за некоторых фундаментальных недостатков версии 2 0 0 в сентябре 1993 года была выпущена новая несовместимая версия 3 0 0, получившая обозначение стандарта EIA EIA-618. Позже он получил обозначения ANSI и ISO . Издается в 4 томах. Основное внимание в этой версии уделялось представлениям NETLIST и SCHEMATIC из 2 0 0. MASKLAYOUT, PCBLAYOUT и некоторые другие представления были исключены из этой версии и перенесены в более поздние версии, поскольку работа над этими представлениями не была полностью завершена.
EDIF 3 0 0 доступен в Международной электротехнической комиссии как IEC 61690-1.
ЭДИФ 4 0 0
[ редактировать ]EDIF 4 0 0 был выпущен в конце августа 1996 года, главным образом для добавления расширений «Печатная плата» (исходное представление PCBLAYOUT) к EDIF 3 0 0. Это увеличило размер EDIF 3 0 0 более чем вдвое и публикуется в формате HTML. на компакт-диске.
EDIF 4 0 0 доступен в Международной электротехнической комиссии как IEC 61690-2.
Эволюция
[ редактировать ]Проблемы с 2 0 0
[ редактировать ]Чтобы понять проблемы, с которыми сталкиваются пользователи и поставщики при использовании EDIF 2 0 0, сначала необходимо представить все элементы и динамику электронной промышленности. Людьми, которым нужен был этот стандарт, были в основном инженеры-конструкторы, работавшие в компаниях, размер которых варьировался от гаража дома до многомиллиардных предприятий с тысячами инженеров. В конце 1980-х годов эти инженеры работали в основном со схемами и списками соединений, и большим толчком было автоматическое создание списков соединений на основе схем. Первыми поставщиками были поставщики средств автоматизации проектирования электроники (например, Daisy, Mentor и Valid сформировали самую раннюю преобладающую группу). Эти компании активно боролись за свою долю на этом рынке.
Одной из тактик, используемых этими компаниями для «захвата» своих клиентов, были собственные базы данных. У каждого были свои особенности, которых не было у других. Как только было принято решение использовать программное обеспечение конкретного поставщика для ввода проекта, клиент с тех пор не был вынужден использовать какое-либо другое программное обеспечение. Переход от системы поставщика А к системе поставщика Б обычно означал очень дорогостоящий повторный ввод почти всех проектных данных вручную в новую систему. Эти затраты на «миграцию» были основным фактором, заставившим инженеров-проектировщиков использовать одного поставщика.
Но у «заказчиков» было другое желание. Они сразу поняли, что хотя у поставщика А может быть действительно хорошая среда аналогового моделирования, у поставщика Б есть гораздо лучший автотрассировщик печатных плат или полупроводниковых микросхем. И им хотелось иметь возможность выбирать среди разных поставщиков.
EDIF в основном поддерживался конечными пользователями, занимающимися разработкой электроники, и их компаниями. Поставщики EDA также были вовлечены, но их мотивация была больше связана с желанием не оттолкнуть своих клиентов. Большинство поставщиков EDA выпустили переводчики EDIF 2000, но они определенно были больше заинтересованы в создании высококачественных считывателей EDIF, и у них не было абсолютно никакой мотивации писать какое-либо программное обеспечение, генерирующее EDIF (устройство записи EDIF), помимо угроз со стороны заказчики массового перехода на ПО другого вендора.
Результат оказался довольно интересным. Едва ли какой-либо поставщик программного обеспечения написал выходные данные EDIF 2 0 0 без серьезных нарушений синтаксиса или семантики. Семантика была настолько свободной, что существовало несколько способов описания одних и тех же данных. Это стало называться «ароматом» EDIF. Компании-поставщики не всегда считали важным выделять много ресурсов на продукты EDIF, даже если они продавали их большое количество. Было несколько историй об активных продуктах, которые практически никто не обслуживал в течение многих лет. Жалобы пользователей просто собирались и расставлялись по приоритетам. Чем сложнее становилось экспортировать данные о клиентах в EDIF, тем больше это нравилось поставщикам. Те, кто писал трансляторы EDIF, обнаружили, что потратили огромное количество времени и усилий на создание достаточно мощных, прощающих ошибок и искусственного интеллекта считывателей, которые могли бы обрабатывать и собирать воедино некачественный код, созданный существующими авторами EDIF того времени. .
При разработке EDIF 3 0 0 комитеты хорошо осознавали недостатки языка, клевету, обрушившуюся на EDIF 2 0 0 со стороны поставщиков, и разочарование конечных пользователей. Итак, чтобы ужесточить семантику языка и обеспечить более формальное описание стандарта, был использован революционный подход для предоставления информационной модели для EDIF на языке информационного моделирования EXPRESS . Это помогло лучше документировать стандарт, но было сделано скорее как второстепенная мысль, поскольку создание синтаксиса выполнялось независимо от модели, а не генерировалось на основе модели. Кроме того, хотя в стандарте указано, что если синтаксис и модель не совпадают, модель является стандартом, на практике это не так. Описание синтаксиса BNF является основой языка, поскольку программное обеспечение, выполняющее повседневную работу по созданию описаний проектов, основано на фиксированном синтаксисе. Информационная модель также пострадала от того, что она не идеально подходила (и не подходит) для описания EDIF. Он вообще не очень хорошо описывает такие понятия, как пространства имен, а различия между определением и ссылкой также не поддаются четкому описанию. Кроме того, конструкции в EXPRESS для описания ограничений могут быть формальными, но описание ограничений иногда представляет собой довольно сложную задачу. Таким образом, большинство ограничений в конечном итоге были описаны просто как комментарии. Большинство других превратились в сложные формальные описания, которые большинство читателей никогда не смогут расшифровать и, следовательно, могут не выдержать автоматической отладки/компиляции, точно так же, как программа может хорошо выглядеть при обзоре, но компилятор может обнаружить несколько интересных ошибок, и фактический запуск написанной программы может обнаружить еще более интересные ошибки. (Кроме того, аналогичные компиляторы/исполнители EXPRESS не существовали на момент написания стандарта и, возможно, не существуют сегодня!)
Решения проблем EDIF 2 0 0
[ редактировать ]Решением проблемы «аромата» EDIF 2 0 0 было разработать более конкретное семантическое описание в EDIF 3 0 0 (1993). Действительно, согласно сообщениям людей, создавших 300 переводчиков EDIF, с авторами стало гораздо труднее разобраться из-за большого количества семантических ограничений, а читатели сравнительно легко развивать.
Решением «конфликта интересов» поставщиков были нейтральные сторонние компании, которые могли предоставлять продукты EDIF на основе интерфейсов поставщиков. Такое отделение продуктов EDIF от прямого контроля со стороны поставщиков имело решающее значение для обеспечения сообщества конечных пользователей хорошо работающими инструментами. Оно сформировалось естественно и без комментариев. Engineering DataXpress была, пожалуй, первой такой компанией в этой области: Electronic Tools Company, похоже, захватила рынок в середине-конце 1990-х годов. Еще одной движущей силой в этой отрасли является сам EDIF. Поскольку они выросли до довольно больших размеров, привлечение читателей и писателей стало очень дорогостоящим мероприятием. Обычно сторонние компании собрали необходимых специалистов и могут использовать этот опыт для более эффективной разработки программного обеспечения. Они также могут использовать совместное использование кода и другие методы, недоступные отдельному поставщику. К 2000 году почти ни один крупный поставщик не выпускал собственные инструменты EDIF, предпочитая вместо этого производителей инструменты сторонних .
С момента выпуска 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 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 400 для создания нового собственного формата под названием CADIF для своей системы Visula PCB-CAD. Этот формат также широко используется сторонними поставщиками.
- STEP-AP210, являющийся частью ISO 10303 , практически унаследовал всю функциональность EDIF 4 0 0, за исключением схем.
См. также
[ редактировать ]- STEP (формат файла) — широко используемый формат файла обмена 3D-данными САПР.
- Формат Gerber — стандартный формат файла, используемый для проектирования печатных плат.
- Форматы ЧПУ печатных плат
Внешние ссылки
[ редактировать ]- Инструменты BYU EDIF. Архивировано 5 декабря 2006 г. на Wayback Machine. Платформа Java для анализа и управления файлами EDIF, разработанная и поддерживаемая . лабораторией конфигурируемых вычислений BYU
- API C++ с открытым исходным кодом Torc для реконфигурируемых вычислений, включая анализ и манипулирование EDIF 2 0 0, от . группы реконфигурируемых вычислений ISI
- Обзор EDIF от Elgris Technologies, Inc.
- www.edif.org в Интернет-архиве. Архив www.edif.org (ныне несуществующий), содержащий введение в формат EDIF.
- Компьютерные средства для проектирования СБИС - Приложение D: Формат обмена электронными проектами, Стивен М. Рубин
- Профессор Хилари Кан (1943–2007)