ca65a4451025d206bba84ce7a032080ec8b8af1f
[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                               ChainControls cc, ChipModel model,
23                               boolean clockHack,
24                               Indenter indenter, String counterPath) {
25         super(name, propInst, cc, model, clockHack, indenter, counterPath);
26     }
27
28     /** put one Instruction into InstructionStopper */
29     public void fill(Instruction inst) {
30         MarinaPacket mp = new MarinaPacket(inst);
31         MarinaTest.indenter.prln("  inserting instruction: " +
32                                  inst.toString().substring(inst.toString().indexOf(':')+1)
33                                  +"\n      "+mp);
34         super.fill(mp);
35     }
36
37     /* put a torpedo into the InstructionStopper */
38     public void fillTorpedo() {
39         MarinaTest.indenter.prln("  inserting torpedo");
40         super.fill(new MarinaPacket(MarinaPacket.null_word, true, MarinaPacket.null_path));
41     }
42 }