- EDIF
-
Electronic Design Interchange Format (EDIF) ist ein maschinenlesbares Format zum elektronischen Austausch von Netzlisten und Schaltplänen zwischen Electronic Design Automation-Systemen (EDA-Systemen);
Es wird von der Electronic Industries Alliance (EIA) herausgegeben, ist hierarchisch aufgebaut und benutzt Klammern zur Abgrenzung von Daten.
Das EDIF wurde durch die EIA und in den Versionen 3 0 0 (September 1993) und 4 0 0 (August 1996) durch den International Electrotechnical Commission (IEC) und in Europa (durch EN 61690-1 und EN 61690-2) standardisiert.
Im Y-Modell ist EDIF zwischen physikalischer und struktureller Sicht und zwischen Schalterebene und Register-Transfer-Ebene angesiedelt.
Inhaltsverzeichnis
Vorgeschichte
Aufgrund der Konkurrenz in der Electronic-Design-Industrie wurden Anfang der 80er Jahre vielfach hochgradig proprietäre Design-Datenbanken genutzt. Als Folge hiervon war es für jeden Datenaustausch zwischen verschiedenen Systemen notwendig, zuvor einen Konverter zu schreiben. Mit zunehmender Anzahl an Formaten wurde hieraus ein Problem quadratischer Größenordnung.
Um diese Problematik anzugehen, wurde EDIF als gemeinsames und neutrales Format entworfen, aus dem alle anderen Formate abgeleitet werden können. Im November 1983 entstand aus diesen Bemühungen das EDIF Steering Committee, welches aus Repräsentanten von Cadence, Daisy Systems, Mentor Graphics, Motorola, National Semiconductor, Tektronix, Texas Instruments und der University of California, Berkeley bestand.
Syntax
Das Grundformat von EDIF beinhaltet die Trennung von Datendefinitionen mit Klammern, wodurch es syntaktisch an LISP angelehnt ist. Die elementaren Tokens von EDIF 2 0 0 waren Schlüsselworte (wie library, cell, instance), mit Anführungszeichen abgetrennte Zeichenketten, ganze Zahlen und symbolische Konstanten (z. B. GENERIC, TIE, RIPPER für Zellentypen), sowie "Bezeichner". Bei Letzteren handelt es sich um symbolische Referenzen, die aus einer sehr eingeschränkten Menge von Zeichen konstruiert werden.
In EDIF 3 0 0 und 4 0 0 wurden symbolische Konstanten vollständig fallengelassen und durch Schlüsselworte ersetzt.
Versionsgeschichte
- EDIF 1 0 0 wurde 1985 erstellt.
- Das erste öffentliche EDIF-Release war EDIF 2 0 0, welches 1988 als ANSI/EIA-548-1988 standardisiert wurde.
- Nach mehrjährigen Tests in der Industrie und zahlreichen Analysen der Schwächen, wurde 1993 EDIF 3 0 0 herausgegeben, welches die Designation als EIA standard EIA-618 bekam. Später bekam EDIF 3 0 0 auch ANSI und ISO Designationen.
- EDIF 4 0 0 wurde 1996 hauptsächlich zu dem Zweck herausgegeben, 3 0 0 um Leiterplatten und multichip modules (MCMs), Fertigungszeichnungen und Technologievorschriften zu erweitern.
Entwicklung
Probleme mit 2 0 0
Um die von Anwendern und Herstellern angetroffenen Probleme mit EDIF 2 0 0 zu verstehen, muss man zunächst alle Elemente und die Dynamik der Elektronikindustrie betrachten. Die Hauptnutznießer des Standards waren hauptsächlich Design-Ingenieure, in Firmen, welche buchstäblich das gesamte Spektrum von Garagenfirmen bis zum Imperien mit tausenden Ingenieuren umfassten. Diese Ingenieure arbeiteten überwiegend mit Schaltbildern und Netzplänen, wobei Letztere in den späten 1980ern automatisch aus den Schaltbildern generiert werden sollten.
Die ersten Zulieferer für Software (beispielsweise Daisy, Mentor und Valid) kämpften hart um ihren Marktanteil. Eine der hierbei eingesetzten Taktiken war das "Festsetzen" von Kunden mittels proprietärer Datenbanken. Jede dieser Datenbanken hatte einzigartige Funktionen, die die Systeme von der Konkurrenz unterschieden. Hierdurch drohte dem Kunden bei Systemwechsel eine kostspielige Migration, bei der ein Großteil der Daten von Hand neu eingegeben werden musste. Zudem stiegen die Migrationskosten durch den fortlaufenden Einsatz der Software kontinuierlich an. Da sich die Qualität der einzelnen Designmodule jedoch von Software zu Software oft drastisch unterschied, wurden schnell Rufe nach einer neutralen Lösung laut, die einen Datenaustausch zwischen den einzelnen Produkten ermöglichte.
EDIF 2 0 0 wurde jedoch hauptsächlich von den Endkunden der Designbranche unterstützt, während das hauptsächliche Interesse der Softwarehersteller in leistungsfähigen Import-Filtern bestand und Export-Filter oft nur nach massiven Drohungen großer Kunden implementiert wurden. Als Resultat existierte kaum ein EDIF 2 0 0 Exportfilter, der nicht in eklatanter Weise gegen den Standard verstieß. Dies wurde unter Anderem dadurch unterstützt, dass die EDIF 2 0 0-Semantiken mehrere Wege zur Datendeklaration erlaubten. Im Endeffekt wurde es hierdurch sehr arbeits- (und damit auch kosten-)intensiv, einen qualitativ hochwertigen EDIF-Konverter zu schreiben.
Beim Design von EDIF 3 0 0 waren diese Probleme wohlbekannt. Um die Sprache zu formalisieren und die Redundanzen der Semantik zu beseitigen, wurde der geradezu revolutionäre Ansatz eines Informationsmodells genutzt, welcher in der Informationsmodellierungssprache EXPRESS mündete. Dennoch wurde EXPRESS eher rückblickend integriert, da die Überarbeitung der Syntax unabhängig vom Modell durchgeführt wurde, statt aus diesem generiert zu werden. Ebenso ist die Forderung des Standards, bei Widersprüchen zwischen Syntax und Modell das Letztere zu bevorzugen, in der Praxis irrelevant. Ein weiteres Problem des Modells ist seine Allgemeinheit, es ist keine ideale Lösung, um EDIF zu beschreiben. So lassen sich weder Konzepte wie Namensräume, noch Unterschiede zwischen Deklarationen und Referenzen mithilfe des Modells adequat beschreiben. Zudem sind die EXPRESS-Konstrukte zur Beschreibung von Bedingungen zwar formal, aber dennoch teilweise komplex und kompliziert. Hierdurch wurden Bedingungen zumeist in Form von Kommentaren beschrieben. Aus Anderen wurden formale Beschreibungen, deren epische Breite die meisten Leser schlicht überfordert. Dennoch stellt EDIF 3 0 0 eine immense Verbesserung und gute Grundlage für weiterführende Arbeiten dar.
Lösungen von EDIF 2 0 0 Problemen
Als Folge der Syntaxverschärfungen in EDIF 3 0 0 wurde die Entwicklung von Importfiltern geradezu trivial, wohingegen sich die Entwicklung von Exportfiltern deutlich schwieriger gestaltete.
Als Lösung des Interessenskonfliktes der Softwarehersteller dienen neutrale Drittherstellern, welche anhand der Softwareschnittstellen EDIF-Produkte entwickeln konnten. Diese Trennung der EDIF-Produkte von der direkten Kontrolle der Hersteller erwies sich als zwingend notwendig, um die Ingenieure mit gut funktionierenden Werkzeugen zu versorgen. Im Jahre 2000, verwendete nahezu kein Hersteller seine eigenen EDIF-Werkzeuge mehr, sondern benutzte Werkzeuge von Drittherstellern.
Seit der Veröffentlichung von EDIF 4 0 0 hat sich die EDIF-Standard-Organisation essentiell aufgelöst. Nahezu alle beteiligten Personen sind zu anderen Firmen oder Bestrebungen gewechselt. EDIF 3 0 0 und 4 0 0 sind nun ANSI,IEC und Europäische EN Standards. EDIF Version 3 0 0 ist IEC/EN 61690-1 und EDIF Version 4 0 0 IEC/EN 61690-2.
Wikimedia Foundation.