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

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

public class DEF
extends LEFDEF

This class reads files in DEF files.
Note that this reader was built by examining DEF files and reverse-engineering them. It does not claim to be compliant with the DEF specification, but it also does not claim to define a new specification. It is merely incomplete. R. Reese (RBR) - modified Spring 2007 to be able to import a DEF file to a currently opened View. The intended use is for the Views to either be layout or schematic. If the view is layout, then all geometry is input and unrouted net connections are used to maintain connectivity between logical nets and physical geometries. At some point in the future, these unrouted nets need to be cleaned up, but for now, the use of unrouted nets allows the layout to pass DRC and to be simulated. Can also import to a schematic view - this creates a hodgepodge of icons in the schematic view but net connections are correct so NCC can be used to check layout vs schematic. This is useful in a hierarchical design where part of the design is imported DEF (say, a standard cell layout), and the rest of the design is manual layout. Having a schematic view for the imported DEF allows NCC to complain less when checking the design.


Nested Class Summary
static class DEF.DEFPreferences
           
 
Nested classes/interfaces inherited from class com.sun.electric.tool.io.input.LEFDEF
LEFDEF.GetLayerInformation, LEFDEF.ViaDef
 
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.LEFDEF
firstViaDefFromLEF, knownLayers, OVERALLSCALE, PLACEDEFNETS, PLACELEFGEOMETRY, prXkey, prYkey, widthsFromLEF
 
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.LEFDEF
getLayerInformation
 
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).