byucc.jhdl.DRC.Rules
Class IBufsAndOBufs

java.lang.Object
  extended bybyucc.jhdl.DRC.DesignRule
      extended bybyucc.jhdl.DRC.Rules.IBufsAndOBufs
All Implemented Interfaces:
DesignRuleConstants
Direct Known Subclasses:
IBufsAndOBufsVirtex, IBufsAndOBufsXC4000

public abstract class IBufsAndOBufs
extends DesignRule

This class implements a DesignRule for the Xilinx libraries. It checks all ibufs (and their variants) to make sure that they are driven only by ipads or nothing at all. It also checks all obufs to make sure that they drive only opads or nothing at all.

Author:
Anthony L. Slade

Field Summary
protected  CellList ibufList
          Will hold a list of cells of the ibuf type
protected  CellList obufList
          Will hold a list of cells of the obuf type
protected  Cell topCell
          The top-level Cell being checked
 
Fields inherited from class byucc.jhdl.DRC.DesignRule
cellList, checker, checkOk, description, enabled, failureReport, name, oneLineDescription, violatingCells
 
Fields inherited from interface byucc.jhdl.DRC.DesignRuleConstants
MSGHEADER_ERROR, MSGHEADER_NOTICE, MSGHEADER_STATUS, MSGHEADER_WARNING, MSGTYPE_ERR_ALL, MSGTYPE_ERR_EXPERTWARN, MSGTYPE_ERR_NOEXPERT, MSGTYPE_ERROR_BITS, MSGTYPE_MUTE, MSGTYPE_NOTICE, MSGTYPE_NOTICE_BITS, MSGTYPE_NOTICE_NOEXPERT, MSGTYPE_STATUS, MSGTYPE_STATUS_BITS, MSGTYPE_STATUS_NOEXPERT, MSGTYPE_WARN_ALL, MSGTYPE_WARN_NOEXPERT, MSGTYPE_WARNING_BITS, SHOW_NUM_RULES_CHECKED_EVERY
 
Constructor Summary
IBufsAndOBufs()
           
 
Method Summary
protected  boolean checkPadCell(Cell cl)
           
protected  boolean doCheck()
          Initiates the design rule check on topCell.
protected abstract  boolean isIBuf(Cell cl)
          Returns true if cl is an instance of an ibuf-type cell.
protected abstract  boolean isIOPad(Cell cell)
           
protected abstract  boolean isIPad_sim(Cell cell)
           
protected abstract  boolean isIPad(Cell cell)
           
protected abstract  boolean isOBuf(Cell cl)
          Returns true if cl is an instance of an obuf-type cell.
protected abstract  boolean isOPad_sim(Cell cell)
           
protected abstract  boolean isOPad(Cell cell)
           
protected  void sortCell(Cell cl)
          Sorts Cells according to type.
 
Methods inherited from class byucc.jhdl.DRC.DesignRule
addToCellList, addToCellList, addViolatingCell, checkOk, displayMsgHeader, getDescription, getDesignRuleChecker, getName, getOneLineDescription, getReport, getViolatingCells, msg, msg, msg, msg, msgln, msgln, registerViolation, resetState, setCurrentMsgType, setDesignRuleCheckerReference, setName, setReport, toString
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
 

Field Detail

obufList

protected CellList obufList
Will hold a list of cells of the obuf type


ibufList

protected CellList ibufList
Will hold a list of cells of the ibuf type


topCell

protected Cell topCell
The top-level Cell being checked

Constructor Detail

IBufsAndOBufs

public IBufsAndOBufs()
Method Detail

doCheck

protected boolean doCheck()
Initiates the design rule check on topCell.

Specified by:
doCheck in class DesignRule
Returns:
true if the design rules checked are kept, otherwise false.

sortCell

protected void sortCell(Cell cl)
Sorts Cells according to type. ibufs and obufs go into respective lists. This method is called by the DesignRuleChecker for each descendant of the top-level cell. This sorting is done right before the doCheck method is called.

Specified by:
sortCell in class DesignRule
Parameters:
cl - Cell to be sorted

isOBuf

protected abstract boolean isOBuf(Cell cl)
Returns true if cl is an instance of an obuf-type cell.

Parameters:
cl - Cell to check its class to see if is an obuf type
Returns:
true if cl is an obuf-type cell, otherwise false

isIBuf

protected abstract boolean isIBuf(Cell cl)
Returns true if cl is an instance of an ibuf-type cell.

Parameters:
cl - Cell to check its class to see if is an ibuf type
Returns:
true if cl is an ibuf-type cell, otherwise false

isOPad

protected abstract boolean isOPad(Cell cell)

isOPad_sim

protected abstract boolean isOPad_sim(Cell cell)

isIOPad

protected abstract boolean isIOPad(Cell cell)

isIPad

protected abstract boolean isIPad(Cell cell)

isIPad_sim

protected abstract boolean isIPad_sim(Cell cell)

checkPadCell

protected boolean checkPadCell(Cell cl)


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