at.dms.kjc.spacetime
Class SwitchCodeStore

java.lang.Object
  extended by at.dms.kjc.spacetime.SwitchCodeStore

public class SwitchCodeStore
extends Object


Field Summary
protected  RawTile parent
           
 
Constructor Summary
SwitchCodeStore(RawTile parent)
           
 
Method Summary
 void appendCommAddrIns(SwitchIns ins)
           
 void appendComment(boolean init, String str)
           
 void appendIns(int i, SwitchIns ins, boolean init)
           
 void appendIns(SwitchIns ins, boolean init)
           
 int commAddrSize()
           
static void disregardIncoming(IODevice dev, int words, boolean init)
          Generate code on the switch neigboring
static void dummyOutgoing(IODevice dev, int words, boolean init)
          Generate code on the switch neighboring
static void generateSwitchCode(Router router, RawComputeNode source, RawComputeNode[] dests, int stage)
          Given a source and an array of dests, generate the code to route an item from the source to the dests and place the place the switch instruction in the appropriate stage's instruction vector based on the
 SwitchIns getCommAddrIns(int i)
           
 Label getFreshLabel()
           
 SwitchIns getIns(int i, boolean init)
           
static HashSet<RawComputeNode> getTilesInRoutes(Router router, RawComputeNode source, RawComputeNode[] dests)
           
 int size(boolean init)
           
static HashMap<RawTile,Label> switchLoopHeader(HashSet<RawComputeNode> tiles, int mult, boolean init, boolean primePump)
           
static void switchLoopTrailer(HashMap<RawTile,Label> labels, boolean init, boolean primePump)
           
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Field Detail

parent

protected RawTile parent
Constructor Detail

SwitchCodeStore

public SwitchCodeStore(RawTile parent)
Method Detail

appendCommAddrIns

public void appendCommAddrIns(SwitchIns ins)

appendIns

public void appendIns(SwitchIns ins,
                      boolean init)

appendIns

public void appendIns(int i,
                      SwitchIns ins,
                      boolean init)

size

public int size(boolean init)

getIns

public SwitchIns getIns(int i,
                        boolean init)

getFreshLabel

public Label getFreshLabel()

getCommAddrIns

public SwitchIns getCommAddrIns(int i)

commAddrSize

public int commAddrSize()

switchLoopHeader

public static HashMap<RawTile,Label> switchLoopHeader(HashSet<RawComputeNode> tiles,
                                                      int mult,
                                                      boolean init,
                                                      boolean primePump)

switchLoopTrailer

public static void switchLoopTrailer(HashMap<RawTile,Label> labels,
                                     boolean init,
                                     boolean primePump)

getTilesInRoutes

public static HashSet<RawComputeNode> getTilesInRoutes(Router router,
                                                       RawComputeNode source,
                                                       RawComputeNode[] dests)

generateSwitchCode

public static void generateSwitchCode(Router router,
                                      RawComputeNode source,
                                      RawComputeNode[] dests,
                                      int stage)
Given a source and an array of dests, generate the code to route an item from the source to the dests and place the place the switch instruction in the appropriate stage's instruction vector based on the
stage
argument.

Parameters:
source -
dests - the dests for this item, if multiple, duplicate
stage - 0 is communicate address stage, 1 is init or primepump, 2 is steady-state

disregardIncoming

public static void disregardIncoming(IODevice dev,
                                     int words,
                                     boolean init)
Generate code on the switch neigboring
dev
to disregard the input from the dev for
words
words.

Parameters:
dev -
words -
init -

dummyOutgoing

public static void dummyOutgoing(IODevice dev,
                                 int words,
                                 boolean init)
Generate code on the switch neighboring
dev
to send dummy values to
dev
for
words
words.

Parameters:
dev -
words -
init -

appendComment

public void appendComment(boolean init,
                          String str)