5290c5a6dcd757a7235caf7470d51684bfb3e9b2
[Mograsim.git] / net.mograsim.logic.model.am2900 / test / net / mograsim / logic / model / am2900 / am2910 / TestableAm2910.java
1 package net.mograsim.logic.model.am2900.am2910;
2
3 import java.util.Arrays;
4 import java.util.stream.Stream;
5
6 import net.mograsim.logic.model.am2900.TestableCircuit;
7
8 public interface TestableAm2910 extends TestableCircuit
9 {
10
11         void setInstruction(Am2910_Inst inst);
12
13         void set_CCEN(String val_1_bit);
14
15         void setD(String val_12_bit);
16
17         void set_CC(String val_1_bit);
18
19         void setCI(String val_1_bit);
20
21         void set_RLD(String val_1_bit);
22
23         void set_OE(String val_1_bit);
24
25         void setDirectly(Register r, String val_X_bit);
26
27         String getY();
28
29         String get_FULL();
30
31         String get_PL();
32
33         String get_MAP();
34
35         String get_VECT();
36
37         String getDirectly(Register r);
38
39         enum Am2910_Inst
40         {
41                 JZ, CJS, JMAP, CJP, PUSH, JSRP, CJV, JRP, RFCT, RPCT, CRTN, CJPP, LDCT, LOOP, CONT, TWB;
42         }
43
44         enum Register
45         {
46                 S_0, S_1, S_2, S_3, S_4, SP, PC, REG_COUNT;
47
48                 public static Stream<Register> stream()
49                 {
50                         return Arrays.stream(values());
51                 }
52
53                 public int size()
54                 {
55                         if (this == SP)
56                                 return 3;
57                         return 12;
58                 }
59         }
60 }