get rid of ChainControls
[fleet.git] / src / edu / berkeley / fleet / marina / InstructionStopper.java
1 package edu.berkeley.fleet.marina;
2
3 import java.util.ArrayList;
4 import java.util.List;
5
6 import com.sun.electric.tool.simulation.test.*;
7
8 import edu.berkeley.fleet.api.Dock;
9 import edu.berkeley.fleet.api.Instruction;
10 import edu.berkeley.fleet.marina.MarinaFleet;
11
12 import static edu.berkeley.fleet.marina.Marina.INSTRUCTION_LENGTH;
13
14 /**
15  * InstructionStopper is a scaffold that lets us create a 36 bit propperStopper
16  * by using a 52 bit propperStopper and throwing away the unused bits.
17  */
18 public class InstructionStopper extends ProperStopper {
19
20     public InstructionStopper(String name,
21                               String propInst,
22                               ChainControl controlChain,
23                               ChainControl dataChain,
24                               ChainControl reportChain,
25                               ChipModel model,
26                               boolean clockHack,
27                               Indenter indenter, String counterPath) {
28         super(name, propInst, controlChain, dataChain, reportChain, model, clockHack, indenter, counterPath);
29     }
30
31     /** put one Instruction into InstructionStopper */
32     public void fill(Instruction inst) {
33         MarinaPacket mp = new MarinaPacket(inst);
34         MarinaTest.indenter.prln("  inserting instruction: " +
35                                  inst.toString().substring(inst.toString().indexOf(':')+1)
36                                  +"\n      "+mp);
37         super.fill(mp);
38     }
39
40     /* put a torpedo into the InstructionStopper */
41     public void fillTorpedo() {
42         MarinaTest.indenter.prln("  inserting torpedo");
43         super.fill(new MarinaPacket(MarinaPacket.null_word, true, MarinaPacket.null_path));
44     }
45 }