NET CHANGER : フォーマット

EDIF200

EDIFの構文は、LispのS式です。
EDIF 2.0.0の基本的なトークンは、キーワード(library, cell, instance等)、文字列(ダブルクォートで囲まれたもの)、整数、記号定数(GENERIC、TIE、RIPPER等)で構成されています。
またラベルとして使用可能なのは予約されている文字列を除いた文字列の集合です。
典型的な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))))
    ...