byucc.jhdl.netlisters
Class EDIFNetlister

java.lang.Object
  extended bybyucc.jhdl.netlisters.Netlister
      extended bybyucc.jhdl.netlisters.EDIFNetlister

public class EDIFNetlister
extends Netlister

This class provides a netlist of a given cell and its descendants in EDIF 2.0 format. By default, the netlist is hierarchical, and multi-bit ports are listed in array notation.

Author:
Peter Bellows, Eric Blake

Field Summary
 
Fields inherited from class byucc.jhdl.netlisters.Netlister
flat_netlist, jout, printTimestamp, topcell
 
Constructor Summary
EDIFNetlister()
          Construct an EDIFNetlister with default of no top level ports and a hierarchical netlist.
EDIFNetlister(boolean insert_ports)
          Construct an EDIFNetlister with specified top-level port insertion behavior, and a hierarchical netlist.
EDIFNetlister(boolean insert_ports, boolean flat_netlist)
          Construct an EDIFNetlister with specified top-level port insertion behavior and specified hierarchical or flat behavior.
 
Method Summary
protected  void expand(Cell c, NetlistWriter output)
          Netlists the given cell to the given output writer
protected  void footer(Cell top, NetlistWriter output)
          Generates the tail of the netlist file.
 java.lang.String generateFilename(Cell c)
          Creates the default filename for edif generated for the given cell
 boolean getInsertTechMapHints()
          Deprecated. use getInsertTechMapHints() of the techmapper
 boolean getInsertTopLevelPorts()
          Returns the current value of whether EDIF will insert top-level ports.
protected  void header(Cell c, NetlistWriter output)
          Generates the file header for the netlist.
 void netlist(Cell c, java.lang.String file)
          Netlists the given cell to the named file
 void print()
          here for debugging purposes - prints a screen version of the JHDL netlist
 void setInsertPads(boolean b)
          Deprecated. use setInsertPads() of the techmapper
 void setInsertTechMapHints(boolean b)
          Deprecated. use setInsertTechMapHints() of the techmapper
 void setInsertTopLevelPorts(boolean b)
          Sets whether or not the EDIF Netlister should include ports on the top-level design.
 
Methods inherited from class byucc.jhdl.netlisters.Netlister
getFlatNetlistFlag, getPrintTimestamp, netlist, netlist, netlist, netlist, setFlatNetlistFlag, setPrintTimestamp
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Constructor Detail

EDIFNetlister

public EDIFNetlister()
Construct an EDIFNetlister with default of no top level ports and a hierarchical netlist.


EDIFNetlister

public EDIFNetlister(boolean insert_ports)
Construct an EDIFNetlister with specified top-level port insertion behavior, and a hierarchical netlist.

Parameters:
insert_ports - Passed to setInsertTopLevelPorts(boolean)

EDIFNetlister

public EDIFNetlister(boolean insert_ports,
                     boolean flat_netlist)
Construct an EDIFNetlister with specified top-level port insertion behavior and specified hierarchical or flat behavior. hierarchical netlist.

Parameters:
insert_ports - Passed to setInsertTopLevelPorts(boolean)
flat_netlist - Passed to Netlister.setFlatNetlistFlag(boolean)
Method Detail

setInsertTopLevelPorts

public void setInsertTopLevelPorts(boolean b)
Sets whether or not the EDIF Netlister should include ports on the top-level design. In general, if the design is a "black-box" drop-in to another, larger design, it needs ports, but if it is the top-level design for putting on a chip, it should not have ports. The default value is false.

Parameters:
b - the new value of the flag (true inserts the top level ports)
See Also:
getInsertTopLevelPorts()

getInsertTopLevelPorts

public final boolean getInsertTopLevelPorts()
Returns the current value of whether EDIF will insert top-level ports. In general, if the design is a "black-box" drop-in to another, larger design, it needs ports, but if it is the top-level design for putting on a chip, it should not have ports. The default value is false.

Returns:
the value of the flag (true inserts the top level ports)

setInsertPads

public void setInsertPads(boolean b)
Deprecated. use setInsertPads() of the techmapper


setInsertTechMapHints

public void setInsertTechMapHints(boolean b)
Deprecated. use setInsertTechMapHints() of the techmapper


getInsertTechMapHints

public boolean getInsertTechMapHints()
Deprecated. use getInsertTechMapHints() of the techmapper


generateFilename

public java.lang.String generateFilename(Cell c)
Creates the default filename for edif generated for the given cell

Specified by:
generateFilename in class Netlister
Parameters:
c - the cell at the root of the netlist
Returns:
the default filename for the netlist, if none is explicitly provided otherwise

netlist

public void netlist(Cell c,
                    java.lang.String file)
Netlists the given cell to the named file

Overrides:
netlist in class Netlister
Parameters:
c - the cell (and descendents) to netlist
file - the file to put the results to (overwrites any existing file)

expand

protected void expand(Cell c,
                      NetlistWriter output)
Netlists the given cell to the given output writer

Specified by:
expand in class Netlister
Parameters:
c - the cell (and descendents) to netlist
output - where to send the output.

print

public void print()
here for debugging purposes - prints a screen version of the JHDL netlist


header

protected void header(Cell c,
                      NetlistWriter output)
Generates the file header for the netlist.

Specified by:
header in class Netlister
Parameters:
c - the root cell of the netlist
output - where to direct the output

footer

protected void footer(Cell top,
                      NetlistWriter output)
Generates the tail of the netlist file.

Specified by:
footer in class Netlister
Parameters:
top - the root of the netlist
output - where to direct the output


Copyright ? 2006 Brigham Young University, Configurable Computing Laboratory. All Rights Reserved.