com.sun.electric.tool.generator
Class ROMGenerator

java.lang.Object
  extended by com.sun.electric.tool.generator.ROMGenerator

public class ROMGenerator
extends java.lang.Object

Class to build ROMs from personality tables.


Constructor Summary
ROMGenerator()
           
 
Method Summary
static void generateROM()
          Main entry point for ROM generation.
static void generateROM(Library destLib, java.lang.String romFile)
          Method to generate a ROM from a given ROM file.
static Cell makeAROM(Library destLib, java.lang.String romfile, java.lang.String romcell)
          Main method to build a ROM.
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Constructor Detail

ROMGenerator

public ROMGenerator()
Method Detail

generateROM

public static void generateROM()
Main entry point for ROM generation. The method creates layout for a pseudo-nMOS ROM array. The personality file has this format: The first line lists the degree of folding. For example, a 256-word x 10-bit ROM with a folding degree of 4 will be implemented as a 64 x 40 array with 4:1 column multiplexers to return 10 bits of data while occupying more of a square form factor. The number of words and degree of folding should be powers of 2. The remaining lines of the file list the contents of each word. The parser is pretty picky. There should be a carriage return after the list word, but no other blank lines in the file. Here is a sample personality file: 1 010101 011001 100101 101010 4 00000000 10000000 01000000 11000000 The tool may be slow, especially for large ROMs. When done, there may be some extraneous and bad pins left over; using "Edit / Cleanup Cell / Cleanup Pins Everywhere" will fix these (though this isn't strictly necessary). The ROMs produced should pass DRC and ERC and simulate with IRSIM. One was successfully fabricated Spring of 2002 by Genevieve Breed and Matthew Erler in the MOSIS 0.6 micron AMI process.


generateROM

public static void generateROM(Library destLib,
                               java.lang.String romFile)
Method to generate a ROM from a given ROM file.

Parameters:
destLib - destination library.
romFile - the file to use.

makeAROM

public static Cell makeAROM(Library destLib,
                            java.lang.String romfile,
                            java.lang.String romcell)
Main method to build a ROM.

Parameters:
destLib - destination library.
romfile - the disk file with the ROM personality.
romcell - the root name of all ROM cells.
Returns:
the top-level cell.