public InstructionStopper(String name,
String propInst,
- String controlChain, String dataChain,
- String reportChain,
ChainControls cc, ChipModel model,
boolean clockHack,
Indenter indenter, String counterPath) {
- super(name, propInst, controlChain, dataChain, reportChain, cc, model, clockHack, indenter, counterPath);
+ super(name, propInst, cc, model, clockHack, indenter, counterPath);
}
/** put one Instruction into InstructionStopper */
cc.shift(DATA_CHAIN, readEnable, writeEnable);
}
+ /** Shift the data scan chain */
+ public void shiftDuke(boolean readEnable, boolean writeEnable) {
+ cc.shift(DUKE_CHAIN, readEnable, writeEnable);
+ }
+
public Marina(ChainControls cc, ChipModel model, boolean clockHack, Indenter indenter) {
this.cc = cc;
this.model = model;
this.indenter = indenter;
data = new ProperStopper("north fifo",
prefix+"northFif@1.fillDrai@1.properSt@1",
- CONTROL_CHAIN,
- DATA_CHAIN,
- REPORT_CHAIN,
cc, model, clockHack, indenter,
prefix+"northFif@1.fillDrai@1.instruct@0.cntScnTh@1.cntScnOn@1");
instrIn = new InstructionStopper("south fifo",
prefix+"southFif@1.tapPropS@1.properSt@1",
- CONTROL_CHAIN,
- DATA_CHAIN,
- REPORT_CHAIN,
cc, model, clockHack, indenter,
prefix+"southFif@1.tapPropS@1.instruct@0.cntScnTh@1.cntScnOn@1");
}
private boolean traceFill = false;
private boolean traceDrain = false;
- private final String controlChain, controlPath,
- dataChain, dataPath,
- reportChain, reportPath;
+ private final String
+ controlChain = Marina.CONTROL_CHAIN,
+ controlPath,
+ dataChain = Marina.DATA_CHAIN,
+ dataPath,
+ reportChain = Marina.REPORT_CHAIN,
+ reportPath;
private final String captureClock;
private final ChainControls cc;
private final ChipModel model;
/** construct a ProperStopper */
public ProperStopper(String name,
String propInst,
- String controlChain, String dataChain,
- String reportChain,
ChainControls cc, ChipModel model,
boolean clockHack,
Indenter indenter,
String pathToCounter) {
this.name = name;
- this.controlChain = controlChain;
this.controlPath = controlChain+'.'+propInst;
- this.dataChain = dataChain;
this.dataPath = dataChain+'.'+propInst;
- this.reportChain = reportChain;
this.reportPath = reportChain+'.'+propInst;
this.model = model;
this.captureClock =