# Electronic Design Interchange Format

Electronic Design Interchange Format (EDIF) ist ein Datenformat 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.

## Vorgeschichte

Aufgrund der Konkurrenz in der Electronic-Design-Industrie wurden Anfang der 1980er-Jahre vielfach proprietäre 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 wuchs die Zahl der notwendigen Konvertierungen.
Daher 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, das 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 trennt die Datendefinitionen mit Klammern, wodurch es syntaktisch an Lisp angelehnt ist. Die elementaren Tokens von EDIF 2 0 0 waren Schlüsselwörter (wie library, cell, instance), mit Anführungszeichen abgetrennte Zeichenketten, ganze Zahlen, symbolische Konstanten (z. B. GENERIC, TIE, RIPPER für Zellentypen) sowie Bezeichner.
In EDIF 3 0 0 und 4 0 0 wurden symbolische Konstanten vollständig fallen gelassen und durch Schlüsselwörter ersetzt.

## Versionsgeschichte

* EDIF 1 0 0 wurde 1985 erstellt.
* Das erste öffentliche EDIF-Release war EDIF 2 0 0, das 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, das 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 Multi-Chip-Modulen (MCMs), Fertigungszeichnungen und Technologievorschriften zu erweitern.

## Entwicklung
### Probleme mit 2 0 0

Um die 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 Design-Ingenieure in Firmen aller Größen. Diese Ingenieure arbeiteten überwiegend mit Schaltbildern und Netzplänen. Letztere sollten in den späten 1980er Jahren automatisch aus den Schaltbildern generiert werden.
Die ersten Zulieferer für Software (beispielsweise Daisy, Mentor und Valid) kämpften hart um ihren Marktanteil. Eine der hier eingesetzten Taktiken war die Kundenbindung durch proprietäre 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 möglich, dass die EDIF 2 0 0-Semantik mehrere Wege zur Datendeklaration erlaubte. Im Endeffekt wurde es hierdurch sehr arbeits- (und damit auch kosten-)intensiv, einen qualitativ hochwertigen EDIF-Konverter zu schreiben.

### 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 Interessenskonflikts der Softwarehersteller treten neutrale Dritthersteller auf, die 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 anderer Hersteller.
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.