edu.byu.ece.edif.tools.replicate.nmr
Class CutsetComputation

java.lang.Object
  extended by edu.byu.ece.edif.tools.replicate.nmr.CutsetComputation

public class CutsetComputation
extends java.lang.Object


Constructor Summary
CutsetComputation()
           
 
Method Summary
protected static java.util.Collection<EdifPortRef> getPortRefsToCutFromEdges(java.util.List<Edge> cutSet, EdifCellInstanceGraph graph, NMRArchitecture nmrArch)
           
static java.util.Collection<EdifPortRef> getValidCutset(com.martiansoftware.jsap.JSAPResult result, EdifCell flatCell, CircuitDescription cDesc, java.io.PrintStream out)
          Determines a valid cutset to remove all feedback, using various algorithms The JSAPResult object passed into this method should have been obtained from a command parser using the CutFeedbackCommandGroup.
private static void removeClockFeedback(AbstractEdifGraph graph)
          Takes a EdifCollectionGraph or a EdifOutputPortRefGraph and removes any SinkEPRs named "CLKFB" (the clock feedback port on a DCM
private static void removeIOBFeedback(CircuitDescription cDesc, AbstractEdifGraph graph)
           
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Constructor Detail

CutsetComputation

public CutsetComputation()
Method Detail

getValidCutset

public static java.util.Collection<EdifPortRef> getValidCutset(com.martiansoftware.jsap.JSAPResult result,
                                                               EdifCell flatCell,
                                                               CircuitDescription cDesc,
                                                               java.io.PrintStream out)
Determines a valid cutset to remove all feedback, using various algorithms The JSAPResult object passed into this method should have been obtained from a command parser using the CutFeedbackCommandGroup.

Returns:
Collection(EdifPortRef) to be cut

getPortRefsToCutFromEdges

protected static java.util.Collection<EdifPortRef> getPortRefsToCutFromEdges(java.util.List<Edge> cutSet,
                                                                             EdifCellInstanceGraph graph,
                                                                             NMRArchitecture nmrArch)
Parameters:
cutSet - List of EdifEdges to convert
graph: - EdifCellInstanceGraph
nmrArch: - Architecture to determine bad cuts
Returns:
EdifPortRef collection of PortRefs to cut

removeClockFeedback

private static void removeClockFeedback(AbstractEdifGraph graph)
Takes a EdifCollectionGraph or a EdifOutputPortRefGraph and removes any SinkEPRs named "CLKFB" (the clock feedback port on a DCM

Parameters:
EdifCollectionGraph - or a EdifOutputPortRefGraph

removeIOBFeedback

private static void removeIOBFeedback(CircuitDescription cDesc,
                                      AbstractEdifGraph graph)