The & is used to allow identifiers to begin with an _ or a number. Make sure your files are purely structural. EDIF2NGD only supports EDIF 2.0.0. What's worse: the error messages can be off by thousands of lines either direction. What's worse than that: the memory efficiency of the tool is terrible. As far as a "conversion tool" is concerned, get the parser from
(edif Test (edifVersion 2 0 0) (edifLevel 0)(keywordMap (keywordLevel 0))(status(written (timeStamp 2003 5 20 15 25 35)(author "SBS")(program "SBS" (version "Whoopee")))) (library Test (edifLevel 0) (technology (numberDefinition )) (cell GND (cellType GENERIC) (view net (viewType NETLIST) (interface (port G (direction OUTPUT)) (property LEVEL (string "XILINX"))(property LIBVER (string "2.0.0")) ) ) )
(cell VCC (cellType GENERIC) (view net (viewType NETLIST) (interface (port P (direction OUTPUT)) (property LEVEL (string "XILINX"))(property LIBVER (string "2.0.0")) ) ) )
(cell OR2 (cellType GENERIC) (view net (viewType NETLIST) (interface (port I0 (direction INPUT)) (port I1 (direction INPUT)) (port O (direction OUTPUT)) (property LEVEL (string "XILINX"))(property LIBVER (string "2.0.0")) ) ) ) (cell someOr (cellType GENERIC) (view net (viewType NETLIST) (interface (port In1 (direction INPUT)) (port In2 (direction INPUT)) (port Out1 (direction OUTPUT)) ) (contents (instance I234OR2 (viewRef net (cellRef OR2))) (net N1727(joined(portref O(instanceRef I234OR2) ) (portRef Out1))) (net N1728(joined(portref In1 ) (portRef I0(instanceRef I234OR2)))) (net N1729(joined(portref In2 ) (portRef I1(instanceRef I234OR2)))) ) ) ) ) (design Test (cellRef someOr (libraryRef Test))(property PART(string "xc2v6000ff1152-4") (owner "Xilinx"))))
opads