EDIF è l'acronimo di Electronic Design Interchange Format, ed è stato usato in modo predominante come formato neutro per la memorizzazione e l'interscambio di netlist e schemi elettrici. È stato uno dei primi tentativi di stabilire un formato neutro per lo scambio dei dati per il settore industriale dell'Electronic Design Automation (EDA). L'obiettivo era stabilire un formato comune dal quale potessero derivare i formati proprietari dei sistemi EDA. Quando gli utenti avevano bisogno di trasferire dati da un sistema ad un altro, era necessario scrivere dei traduttori da un formato all'altro. Mano a mano che il numero di formati si moltiplicava, aumentavano le problematiche dei traduttori. L'aspettativa era che grazie all'EDIF il numero di traduttori si potesse ridurre al numero dei sistemi coinvolti.

Rappresentanti delle società che sviluppavano EDA Daisy Systems, Mentor Graphics, Motorola, National Semiconductor, Tektronix, Texas Instruments e University of California, Berkeley formarono l''EDIF Steering Committee nel novembre 1983. Più tardi si unì al team il Professor Hilary Kahn (1943-2007) della University of Manchester e guidò lo sviluppo dalla versione EDIF 2 0 0 fino alla versione finale 4 0 0.

Sintassi modifica

Il formato generale di EDIF utilizza parentesi per delimitare definizioni di dati, in questo modo assomiglia superficialmente al linguaggio Lisp. I token di base di EDIF 2.0.0 erano parole chiave (come library, cell, instance, ecc..), stringhe (delimitate da " "), numeri interi. costanti simboliche (es. GENERIC, TIE, RIPPER per i tipi di celle) e "Identifiers", che sono etichette di riferimento create a partire da un set molto ristretto di caratteri.

EDIF 3.0.0 e 4.0.0 hanno abbandonato completamente le costanti simboliche, sostituite da parole chiave. Quindi la sintassi di EDIF ha delle basi abbastanza semplici. Un tipico file EDIF appare così:

(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))))
    ...

Versioni modifica

EDIF 1 0 0 modifica

La versione 1 0 0 di EDIF fu distribuita nel 1985.

EDIF 2 0 0 modifica

La prima "vera" release pubblica di EDIF fu la versione 2 0 0, approvata nel marzo 1988 come standard ANSI/EIA-548-1988 e pubblicata come singolo volume.

EDIF 3 0 0 modifica

Versione del September 1993 che cerca di rimediare ad alcune debolezze strutturali della versione 2 0 0, e con questa non compatibile. Designata come EIA standard EIA-618. Ha ottenuto successivamente la designazione ANSI e ISO. Pubblicata in 4 volumi. EDIF 3 0 0 è disponibile presso l'International Electrotechnical Commission come IEC 61690-1

EDIF 4 0 0 modifica

EDIF 4 0 0 fu distribuita nell'agosto 1996, principalmente per aggiungere ad EDIF 3 0 0 estensioni per supportare circuiti stampati. Questo raddoppiò le dimensioni dello standard che viene pubblicato in formato HTML su CD.

EDIF 4 0 0 è disponibile presso l'International Electrotechnical Commission come IEC 61690-2

Discendenti di EDIF modifica

  • LKSoft prese concetti da EDIF 2 0 0 per creare un formato dati proprietario con estensione default ".cam" per il proprio sistema CircuitCAM offerto da LPKF Laser & Electronics AG. Per operare in modo efficiente su formati tipo EDIF LKSoft ha sviluppato EDIF Procedural Interface, una API per il Linguaggio C.
  • Zuken, formalmente Racal-Redac Ltd., prese concetti dallo sviluppo iniziale di EDIF 4 0 0 per creare un nuovo formato proprietario chiamato CADIF per il proprio sistema

PCB-CAD Visula. Questo formato è anche ampiamente usato da terze parti.

  • STEP-AP210, parte di ISO 10303, ha praticamente ereditato tutte le funzionalità di EDIF 4 0 0 tranne che per gli schemi elettrici.

Collegamenti esterni modifica