com.sun.electric.tool.io.input
Class EDIF

java.lang.Object
  extended by com.sun.electric.tool.io.input.Input
      extended by com.sun.electric.tool.io.input.EDIF

public class EDIF
extends Input

This class reads EDIF files.
Notes: Does not fully support portbundles Multiple ports of the same name are named port_x (x is 1 to n duplicate) Keywords such as ARRAY have unnamed parameters, ie (array (name..) 5 6) this is handled in the processInteger function called by getKeyword, this is a hack to fix this problem, a real table driven parser should be used. Use circle arcs instead of splines. Support text justifications and text height Better NAME/RENAME/STRINGDISPLAY/ANNOTATE text handling. ANSI prototypes Changed arcs to simple polygons plus ARC attribute
Some examples that can be handled: ------------------------- LAYOUT ------------------------- (cell XXXXX (cellType GENERIC) (view layout (viewType MASKLAYOUT) (interface (protectionFrame) ) (contents ========== (LAYOUT DESCRIPTION) ) ) ) ------------------------- AN ICON ------------------------- (cell XXXXX (cellType GENERIC) (view INTERFACE (viewType NETLIST) (interface (port A) ) ) ) ------------------------- AN ICON ------------------------- (cell XXXXX (cellType GENERIC) (view symbol (viewType SCHEMATIC) (interface (port A) (symbol ========== (ICON DESCRIPTION) ) ) ) ) ------------------------- AN ICON ------------------------- (cell XXXXX (cellType GENERIC) (view VLSI_Symbol (viewType SCHEMATIC) (interface (port A) (symbol ========== (ICON DESCRIPTION) ) ) ) ) ------------------------- AN ICON ------------------------- (cell XXXXX (cellType GENERIC) (view symbol (viewType GRAPHIC) (interface) (contents ========== (ICON DESCRIPTION) ) ) ) ------------------------- AN ICON AND SCHEMATIC ------------------------- (cell XXXXX (cellType GENERIC) (view symbol (viewType SCHEMATIC) (interface (port A) (symbol ========== (ICON DESCRIPTION) ) ) (contents (page SH1 ========== (SCHEMATIC DESCRIPTION) ) ) ) ) ------------------------- AN ICON AND SCHEMATIC ------------------------- (cell XXXXX (cellType GENERIC) (view NETLIST (viewType NETLIST) (interface (port A) ) (contents ========== (SCHEMATIC DESCRIPTION) ) ) ) ------------------------- AN ICON, SCHEMATIC, AND LAYOUT ------------------------- (cell XXXXX (cellType GENERIC) (view layout (viewType MASKLAYOUT) (interface (port A) (protectionFrame) (contents ========== (LAYOUT DESCRIPTION) ) ) (view schematic (viewType SCHEMATIC) (interface (port A) (contents (page SH1 ========== (SCHEMATIC DESCRIPTION) ) ) ) (view symbol (viewType SCHEMATIC) (interface (port A) (symbol ========== (ICON DESCRIPTION) ) ) (contents (page SH1 ========== (SCHEMATIC DESCRIPTION AGAIN!!!) ) ) ) )


Nested Class Summary
static class EDIF.EDIFPreferences
           
 
Nested classes/interfaces inherited from class com.sun.electric.tool.io.input.Input
Input.InputPreferences
 
Field Summary
 
Fields inherited from class com.sun.electric.tool.io.input.Input
byteCount, dataInputStream, ep, errorLogger, fileLength, filePath, inputStream, lineReader, READ_BUFFER_SIZE
 
Method Summary
protected  Library importALibrary(Library lib, Technology tech, java.util.Map<Library,Cell> currentCells)
          Method to import a library from disk.
 
Methods inherited from class com.sun.electric.tool.io.input.Input
changesQuiet, closeInput, eofDuring, getAKeyword, getInputPreferences, getLine, getLineFromBinary, getProgressNote, getRestOfLine, importLibrary, initKeywordParsing, isBreakCharacter, isChangeQuiet, isNewLibraryCreated, openBinaryInput, openStringsInput, openTextInput, preprocessLine, readWholeLine, setProgressNote, setProgressValue, startProgressDialog, stopProgressDialog, updateProgressDialog
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Method Detail

importALibrary

protected Library importALibrary(Library lib,
                                 Technology tech,
                                 java.util.Map<Library,Cell> currentCells)
Method to import a library from disk.

Overrides:
importALibrary in class Input
Parameters:
lib - the library to fill
currentCells - this map will be filled with currentCells in Libraries found in library file
Returns:
the created library (null on error).