X-Git-Url: http://git.megacz.com/?p=fleet.git;a=blobdiff_plain;f=src%2Fedu%2Fberkeley%2Ffleet%2Fmarina%2FProperStopper.java;fp=src%2Fedu%2Fberkeley%2Ffleet%2Fmarina%2FProperStopper.java;h=b97d491c113cbd771b19c312dad3648ff35a8bf4;hp=7c78fd5ed66ae5c74df6c76723e4df176550ed90;hb=aee85d3dd0435554e14e03b97f268752843a441f;hpb=2b9b7973e65961a16e69a4819939d4c5781ce372 diff --git a/src/edu/berkeley/fleet/marina/ProperStopper.java b/src/edu/berkeley/fleet/marina/ProperStopper.java index 7c78fd5..b97d491 100644 --- a/src/edu/berkeley/fleet/marina/ProperStopper.java +++ b/src/edu/berkeley/fleet/marina/ProperStopper.java @@ -34,15 +34,11 @@ public class ProperStopper { private boolean traceFill = false; private boolean traceDrain = false; - private final String - controlChain = Marina.CONTROL_CHAIN, - controlPath, - dataChain = Marina.DATA_CHAIN, - dataPath, - reportChain = Marina.REPORT_CHAIN, - reportPath; + private final String controlPath, dataPath, reportPath; + private final ChainControl controlChain; + private final ChainControl dataChain; + private final ChainControl reportChain; private final String captureClock; - private final ChainControls cc; private final ChipModel model; private final Indenter indenter; @@ -69,13 +65,10 @@ public class ProperStopper { } private void shiftControl(boolean readEnable, boolean writeEnable) { - //System.out.println("start shiftcontrol"); - cc.shift(controlChain, readEnable, writeEnable); - //System.out.println(" end shiftcontrol"); + controlChain.shift(Marina.CONTROL_CHAIN, readEnable, writeEnable); } private void shiftData(boolean readEnable, boolean writeEnable) { - //System.out.println("start shiftdata"); - cc.shift(dataChain, readEnable, writeEnable); + dataChain.shift(Marina.DATA_CHAIN, readEnable, writeEnable); if (writeEnable) { if (clockHack && model instanceof NanosimModel) { NanosimModel nanoModel = (NanosimModel) model; @@ -89,12 +82,9 @@ public class ProperStopper { nanoModel.setNodeState(captureClock, 0); } } - //System.out.println(" end shiftdata"); } private void shiftReport(boolean readEnable, boolean writeEnable) { - //System.out.println("start shiftreport"); - cc.shift(reportChain, readEnable, writeEnable); - //System.out.println(" end shiftreport"); + reportChain.shift(Marina.REPORT_CHAIN, readEnable, writeEnable); } private StateWireState boolToState(boolean b) { @@ -109,7 +99,7 @@ public class ProperStopper { } public void setCounterValue(int val) { - SubchainNode chainNode = (SubchainNode) cc.getChainControlFromPath(dataChain).findNode(pathToCounter); + SubchainNode chainNode = (SubchainNode) dataChain.findNode(pathToCounter); int bitIndex = chainNode.getBitIndex(); ChainNode root = chainNode.getParentChain(); for(int i=0; i<31; i++) @@ -119,7 +109,7 @@ public class ProperStopper { // DOES NOT SHIFT THE CHAIN!!!! public int getCounterValue() { - SubchainNode chainNode = (SubchainNode) cc.getChainControlFromPath(dataChain).findNode(pathToCounter); + SubchainNode chainNode = (SubchainNode) dataChain.findNode(pathToCounter); int bitIndex = chainNode.getBitIndex(); ChainNode root = chainNode.getParentChain(); return (int)root.getOutBits().get(bitIndex, 30).bitReverse().toLong(); @@ -130,17 +120,17 @@ public class ProperStopper { BitVector fdCtl = ccc.bits(extra); fdcstate = ccc; fatal(fdCtl.getNumBits()!=6, "expect 6 proper stopper control bits"); - BitVector val = cc.getInBits(controlPath); + BitVector val = controlChain.getInBits(controlPath); for (int i=0; i