byucc.jhdl.DRC.Rules
Class MultipleDrivers

java.lang.Object
  extended bybyucc.jhdl.DRC.DesignRule
      extended bybyucc.jhdl.DRC.Rules.MultipleDrivers
All Implemented Interfaces:
DesignRuleConstants
Direct Known Subclasses:
MultipleDriversXC4000

public abstract class MultipleDrivers
extends DesignRule

This is a Design Rule. If there are multiple cells driving one wire, those cells must be instances of a tristate buffer.

Author:
Michael Halcrow

Field Summary
protected  WireList wires
          Wires to check for multiple drivers.
 
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
MultipleDrivers()
          Contructor.
 
Method Summary
 boolean doCheck()
          Checks all source cells of all wires.
protected abstract  boolean isTriStateBuffer(Cell cell)
          Must be implemented for each architecture.
 void sortCell(Cell cell)
          Grabs all the input wires for all the cells.
 
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

wires

protected WireList wires
Wires to check for multiple drivers.

Constructor Detail

MultipleDrivers

public MultipleDrivers()
Contructor.

Method Detail

doCheck

public boolean doCheck()
Checks all source cells of all wires. If there are multiple source cells and if at least one of those cells is not a tri-state buffer, then this rule fails.

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

isTriStateBuffer

protected abstract boolean isTriStateBuffer(Cell cell)
Must be implemented for each architecture.


sortCell

public void sortCell(Cell cell)
Grabs all the input wires for all the cells.

Specified by:
sortCell in class DesignRule
Parameters:
cell - The Cell from which this rule extracts the input wires.


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