587e280ce6815a3c24980ef19f21d4ecf29e1b6d
[Mograsim.git] / net.mograsim.logic.ui / src / net / mograsim / logic / ui / model / components / mi / nandbased / am2901 / GUIAm2901.java
1 package net.mograsim.logic.ui.model.components.mi.nandbased.am2901;
2
3 import net.haspamelodica.swt.helper.swtobjectwrappers.Point;
4 import net.mograsim.logic.ui.model.ViewModelModifiable;
5 import net.mograsim.logic.ui.model.components.GUINandGate;
6 import net.mograsim.logic.ui.model.components.SimpleRectangularSubmodelComponent;
7 import net.mograsim.logic.ui.model.components.mi.nandbased.GUIand;
8 import net.mograsim.logic.ui.model.components.mi.nandbased.GUIdlatch4;
9 import net.mograsim.logic.ui.model.components.mi.nandbased.GUImux1_4;
10 import net.mograsim.logic.ui.model.components.mi.nandbased.GUIor4;
11 import net.mograsim.logic.ui.model.components.mi.nandbased.GUIram4;
12 import net.mograsim.logic.ui.model.components.mi.nandbased.GUIsel3_4;
13 import net.mograsim.logic.ui.model.wires.GUIWire;
14 import net.mograsim.logic.ui.model.wires.Pin;
15 import net.mograsim.logic.ui.model.wires.WireCrossPoint;
16
17 public class GUIAm2901 extends SimpleRectangularSubmodelComponent
18 {
19         public GUIAm2901(ViewModelModifiable model)
20         {
21                 super(model, 1, "GUIAm2901");
22                 setSubmodelScale(.1);
23                 setInputPins("I8", "I7", "I6", "I5", "I4", "I3", "I2", "I1", "I0", "C", "Cn", "D1", "D2", "D3", "D4", "A0", "A1", "A2", "A3", "B0",
24                                 "B1", "B2", "B3", "IRAMn", "IRAMn+3", "IQn", "IQn+3");
25                 setOutputPins("Y1", "Y2", "Y3", "Y4", "F=0", "Cn+4", "OVR", "F3", "ORAMn", "ORAMn+3", "OQn", "OQn+3");
26                 initSubmodelComponents();
27         }
28
29         @SuppressWarnings("unused") // for GUIWires being created
30         private void initSubmodelComponents()
31         {
32                 Pin I8 = getSubmodelPin("I8");
33                 Pin I7 = getSubmodelPin("I7");
34                 Pin I6 = getSubmodelPin("I6");
35                 Pin I5 = getSubmodelPin("I5");
36                 Pin I4 = getSubmodelPin("I4");
37                 Pin I3 = getSubmodelPin("I3");
38                 Pin I2 = getSubmodelPin("I2");
39                 Pin I1 = getSubmodelPin("I1");
40                 Pin I0 = getSubmodelPin("I0");
41                 Pin C = getSubmodelPin("C");
42                 Pin Cn = getSubmodelPin("Cn");
43                 Pin D1 = getSubmodelPin("D1");
44                 Pin D2 = getSubmodelPin("D2");
45                 Pin D3 = getSubmodelPin("D3");
46                 Pin D4 = getSubmodelPin("D4");
47                 Pin A0 = getSubmodelPin("A0");
48                 Pin A1 = getSubmodelPin("A1");
49                 Pin A2 = getSubmodelPin("A2");
50                 Pin A3 = getSubmodelPin("A3");
51                 Pin B0 = getSubmodelPin("B0");
52                 Pin B1 = getSubmodelPin("B1");
53                 Pin B2 = getSubmodelPin("B2");
54                 Pin B3 = getSubmodelPin("B3");
55                 Pin IRAMn = getSubmodelPin("IRAMn");
56                 Pin IRAMnplus3 = getSubmodelPin("IRAMn+3");
57                 Pin IQn = getSubmodelPin("IQn");
58                 Pin IQnplus3 = getSubmodelPin("IQn+3");
59                 Pin Y1 = getSubmodelPin("Y1");
60                 Pin Y2 = getSubmodelPin("Y2");
61                 Pin Y3 = getSubmodelPin("Y3");
62                 Pin Y4 = getSubmodelPin("Y4");
63                 Pin Feq0 = getSubmodelPin("F=0");
64                 Pin Cnplus4 = getSubmodelPin("Cn+4");
65                 Pin OVR = getSubmodelPin("OVR");
66                 Pin F3 = getSubmodelPin("F3");
67                 Pin ORAMn = getSubmodelPin("ORAMn");
68                 Pin ORAMnplus3 = getSubmodelPin("ORAMn+3");
69                 Pin OQn = getSubmodelPin("OQn");
70                 Pin OQnplus3 = getSubmodelPin("OQn+3");
71
72                 GUIAm2901DestDecode destDecode = new GUIAm2901DestDecode(submodelModifiable);
73                 GUImux1_4 Ymux = new GUImux1_4(submodelModifiable);
74                 GUIand ramweAnd = new GUIand(submodelModifiable);
75                 GUINandGate notC = new GUINandGate(submodelModifiable, 1);
76                 GUIAm2901ALUInclSourceDecodeInclFunctionDecode alu = new GUIAm2901ALUInclSourceDecodeInclFunctionDecode(submodelModifiable);
77                 GUIor4 Fneq0 = new GUIor4(submodelModifiable);
78                 GUINandGate notFneq0 = new GUINandGate(submodelModifiable, 1);
79                 GUIram4 ram = new GUIram4(submodelModifiable);
80                 GUIdlatch4 QAlatch = new GUIdlatch4(submodelModifiable);
81                 GUIdlatch4 QBlatch = new GUIdlatch4(submodelModifiable);
82                 GUIsel3_4 ramDsel = new GUIsel3_4(submodelModifiable);
83                 GUIsel3_4 qregDsel = new GUIsel3_4(submodelModifiable);
84                 GUIAm2901QReg qreg = new GUIAm2901QReg(submodelModifiable);
85
86                 WireCrossPoint cpC1 = new WireCrossPoint(submodelModifiable, 1);
87                 WireCrossPoint cpC2 = new WireCrossPoint(submodelModifiable, 1);
88                 WireCrossPoint cpC3 = new WireCrossPoint(submodelModifiable, 1);
89                 WireCrossPoint cpC4 = new WireCrossPoint(submodelModifiable, 1);
90                 WireCrossPoint cpLSH = new WireCrossPoint(submodelModifiable, 1);
91                 WireCrossPoint cpNSH = new WireCrossPoint(submodelModifiable, 1);
92                 WireCrossPoint cpRSH = new WireCrossPoint(submodelModifiable, 1);
93                 WireCrossPoint cpQA1 = new WireCrossPoint(submodelModifiable, 1);
94                 WireCrossPoint cpQA2 = new WireCrossPoint(submodelModifiable, 1);
95                 WireCrossPoint cpQA3 = new WireCrossPoint(submodelModifiable, 1);
96                 WireCrossPoint cpQA4 = new WireCrossPoint(submodelModifiable, 1);
97                 WireCrossPoint cpQ1 = new WireCrossPoint(submodelModifiable, 1);
98                 WireCrossPoint cpQ2 = new WireCrossPoint(submodelModifiable, 1);
99                 WireCrossPoint cpQ3 = new WireCrossPoint(submodelModifiable, 1);
100                 WireCrossPoint cpQ4 = new WireCrossPoint(submodelModifiable, 1);
101                 WireCrossPoint cpQ2Rsh = new WireCrossPoint(submodelModifiable, 1);
102                 WireCrossPoint cpQ3Rsh = new WireCrossPoint(submodelModifiable, 1);
103                 WireCrossPoint cpF11 = new WireCrossPoint(submodelModifiable, 1);
104                 WireCrossPoint cpF21 = new WireCrossPoint(submodelModifiable, 1);
105                 WireCrossPoint cpF31 = new WireCrossPoint(submodelModifiable, 1);
106                 WireCrossPoint cpF41 = new WireCrossPoint(submodelModifiable, 1);
107                 WireCrossPoint cpORAMn = new WireCrossPoint(submodelModifiable, 1);
108                 WireCrossPoint cpORAMnplus3 = new WireCrossPoint(submodelModifiable, 1);
109                 WireCrossPoint cpF3 = new WireCrossPoint(submodelModifiable, 1);
110                 WireCrossPoint cpF12 = new WireCrossPoint(submodelModifiable, 1);
111                 WireCrossPoint cpF22 = new WireCrossPoint(submodelModifiable, 1);
112                 WireCrossPoint cpF32 = new WireCrossPoint(submodelModifiable, 1);
113                 WireCrossPoint cpF42 = new WireCrossPoint(submodelModifiable, 1);
114                 WireCrossPoint cpF13 = new WireCrossPoint(submodelModifiable, 1);
115                 WireCrossPoint cpF23 = new WireCrossPoint(submodelModifiable, 1);
116                 WireCrossPoint cpF33 = new WireCrossPoint(submodelModifiable, 1);
117                 WireCrossPoint cpF43 = new WireCrossPoint(submodelModifiable, 1);
118                 WireCrossPoint cpF1Lsh = new WireCrossPoint(submodelModifiable, 1);
119                 WireCrossPoint cpF2Lsh = new WireCrossPoint(submodelModifiable, 1);
120                 WireCrossPoint cpF3Lsh = new WireCrossPoint(submodelModifiable, 1);
121                 WireCrossPoint cpF2Rsh = new WireCrossPoint(submodelModifiable, 1);
122                 WireCrossPoint cpF3Rsh = new WireCrossPoint(submodelModifiable, 1);
123                 WireCrossPoint cpF4Rsh = new WireCrossPoint(submodelModifiable, 1);
124
125                 new GUIWire(submodelModifiable, I8, destDecode.getPin("I8"), new Point[0]);
126                 new GUIWire(submodelModifiable, I7, destDecode.getPin("I7"), new Point[0]);
127                 new GUIWire(submodelModifiable, I6, destDecode.getPin("I6"), new Point[0]);
128                 new GUIWire(submodelModifiable, I5, alu.getPin("I5"), new Point[0]);
129                 new GUIWire(submodelModifiable, I4, alu.getPin("I4"), new Point[0]);
130                 new GUIWire(submodelModifiable, I3, alu.getPin("I3"), new Point[0]);
131                 new GUIWire(submodelModifiable, I2, alu.getPin("I2"), new Point[0]);
132                 new GUIWire(submodelModifiable, I1, alu.getPin("I1"), new Point[0]);
133                 new GUIWire(submodelModifiable, I0, alu.getPin("I0"), new Point[0]);
134                 new GUIWire(submodelModifiable, C, cpC1, new Point[0]);
135                 new GUIWire(submodelModifiable, cpC1, cpC2, new Point[0]);
136                 new GUIWire(submodelModifiable, cpC2, notC.getPin("A"), new Point[0]);
137                 new GUIWire(submodelModifiable, cpC2, notC.getPin("B"), new Point[0]);
138                 new GUIWire(submodelModifiable, cpC1, cpC3, new Point[0]);
139                 new GUIWire(submodelModifiable, cpC3, QAlatch.getPin("C"), new Point[0]);
140                 new GUIWire(submodelModifiable, cpC3, cpC4, new Point[0]);
141                 new GUIWire(submodelModifiable, cpC4, QBlatch.getPin("C"), new Point[0]);
142                 new GUIWire(submodelModifiable, cpC4, qreg.getPin("C"), new Point[0]);
143                 new GUIWire(submodelModifiable, destDecode.getPin("LSH"), cpLSH, new Point[0]);
144                 new GUIWire(submodelModifiable, destDecode.getPin("NSH"), cpNSH, new Point[0]);
145                 new GUIWire(submodelModifiable, destDecode.getPin("RSH"), cpRSH, new Point[0]);
146                 new GUIWire(submodelModifiable, cpLSH, ramDsel.getPin("SA"), new Point[0]);
147                 new GUIWire(submodelModifiable, cpNSH, ramDsel.getPin("SB"), new Point[0]);
148                 new GUIWire(submodelModifiable, cpRSH, ramDsel.getPin("SC"), new Point[0]);
149                 new GUIWire(submodelModifiable, cpLSH, qregDsel.getPin("SA"), new Point[0]);
150                 new GUIWire(submodelModifiable, cpNSH, qregDsel.getPin("SB"), new Point[0]);
151                 new GUIWire(submodelModifiable, cpRSH, qregDsel.getPin("SC"), new Point[0]);
152                 new GUIWire(submodelModifiable, A0, ram.getPin("A0"), new Point[0]);
153                 new GUIWire(submodelModifiable, A1, ram.getPin("A1"), new Point[0]);
154                 new GUIWire(submodelModifiable, A2, ram.getPin("A2"), new Point[0]);
155                 new GUIWire(submodelModifiable, A3, ram.getPin("A3"), new Point[0]);
156                 new GUIWire(submodelModifiable, B0, ram.getPin("B0"), new Point[0]);
157                 new GUIWire(submodelModifiable, B1, ram.getPin("B1"), new Point[0]);
158                 new GUIWire(submodelModifiable, B2, ram.getPin("B2"), new Point[0]);
159                 new GUIWire(submodelModifiable, B3, ram.getPin("B3"), new Point[0]);
160                 new GUIWire(submodelModifiable, ram.getPin("QA1"), cpQA1, new Point[0]);
161                 new GUIWire(submodelModifiable, ram.getPin("QA2"), cpQA2, new Point[0]);
162                 new GUIWire(submodelModifiable, ram.getPin("QA3"), cpQA3, new Point[0]);
163                 new GUIWire(submodelModifiable, ram.getPin("QA4"), cpQA4, new Point[0]);
164                 new GUIWire(submodelModifiable, cpQA1, Ymux.getPin("I0_1"), new Point[0]);
165                 new GUIWire(submodelModifiable, cpQA2, Ymux.getPin("I0_2"), new Point[0]);
166                 new GUIWire(submodelModifiable, cpQA3, Ymux.getPin("I0_3"), new Point[0]);
167                 new GUIWire(submodelModifiable, cpQA4, Ymux.getPin("I0_4"), new Point[0]);
168                 new GUIWire(submodelModifiable, cpQA1, QAlatch.getPin("D1"), new Point[0]);
169                 new GUIWire(submodelModifiable, cpQA2, QAlatch.getPin("D2"), new Point[0]);
170                 new GUIWire(submodelModifiable, cpQA3, QAlatch.getPin("D3"), new Point[0]);
171                 new GUIWire(submodelModifiable, cpQA4, QAlatch.getPin("D4"), new Point[0]);
172                 new GUIWire(submodelModifiable, ram.getPin("QB1"), QBlatch.getPin("D1"), new Point[0]);
173                 new GUIWire(submodelModifiable, ram.getPin("QB2"), QBlatch.getPin("D2"), new Point[0]);
174                 new GUIWire(submodelModifiable, ram.getPin("QB3"), QBlatch.getPin("D3"), new Point[0]);
175                 new GUIWire(submodelModifiable, ram.getPin("QB4"), QBlatch.getPin("D4"), new Point[0]);
176                 new GUIWire(submodelModifiable, Cn, alu.getPin("Cn"), new Point[0]);
177                 new GUIWire(submodelModifiable, D1, alu.getPin("D1"), new Point[0]);
178                 new GUIWire(submodelModifiable, D2, alu.getPin("D2"), new Point[0]);
179                 new GUIWire(submodelModifiable, D3, alu.getPin("D3"), new Point[0]);
180                 new GUIWire(submodelModifiable, D4, alu.getPin("D4"), new Point[0]);
181                 new GUIWire(submodelModifiable, QAlatch.getPin("Q1"), alu.getPin("A1"), new Point[0]);
182                 new GUIWire(submodelModifiable, QAlatch.getPin("Q2"), alu.getPin("A2"), new Point[0]);
183                 new GUIWire(submodelModifiable, QAlatch.getPin("Q3"), alu.getPin("A3"), new Point[0]);
184                 new GUIWire(submodelModifiable, QAlatch.getPin("Q4"), alu.getPin("A4"), new Point[0]);
185                 new GUIWire(submodelModifiable, QBlatch.getPin("Q1"), alu.getPin("B1"), new Point[0]);
186                 new GUIWire(submodelModifiable, QBlatch.getPin("Q2"), alu.getPin("B2"), new Point[0]);
187                 new GUIWire(submodelModifiable, QBlatch.getPin("Q3"), alu.getPin("B3"), new Point[0]);
188                 new GUIWire(submodelModifiable, QBlatch.getPin("Q4"), alu.getPin("B4"), new Point[0]);
189                 new GUIWire(submodelModifiable, qreg.getPin("Q1"), cpQ1, new Point[0]);
190                 new GUIWire(submodelModifiable, qreg.getPin("Q2"), cpQ2, new Point[0]);
191                 new GUIWire(submodelModifiable, qreg.getPin("Q3"), cpQ3, new Point[0]);
192                 new GUIWire(submodelModifiable, qreg.getPin("Q4"), cpQ4, new Point[0]);
193                 new GUIWire(submodelModifiable, cpQ1, alu.getPin("Q1"), new Point[0]);
194                 new GUIWire(submodelModifiable, cpQ2, alu.getPin("Q2"), new Point[0]);
195                 new GUIWire(submodelModifiable, cpQ3, alu.getPin("Q3"), new Point[0]);
196                 new GUIWire(submodelModifiable, cpQ4, alu.getPin("Q4"), new Point[0]);
197                 new GUIWire(submodelModifiable, cpQ1, OQn, new Point[0]);
198                 new GUIWire(submodelModifiable, cpQ4, OQnplus3, new Point[0]);
199                 new GUIWire(submodelModifiable, cpQ2, cpQ2Rsh, new Point[0]);
200                 new GUIWire(submodelModifiable, cpQ3, cpQ3Rsh, new Point[0]);
201                 new GUIWire(submodelModifiable, cpQ2Rsh, qregDsel.getPin("C1"), new Point[0]);
202                 new GUIWire(submodelModifiable, cpQ3Rsh, qregDsel.getPin("C2"), new Point[0]);
203                 new GUIWire(submodelModifiable, cpQ4, qregDsel.getPin("C3"), new Point[0]);
204                 new GUIWire(submodelModifiable, IQnplus3, qregDsel.getPin("C4"), new Point[0]);
205                 new GUIWire(submodelModifiable, IQn, qregDsel.getPin("A1"), new Point[0]);
206                 new GUIWire(submodelModifiable, cpQ1, qregDsel.getPin("A2"), new Point[0]);
207                 new GUIWire(submodelModifiable, cpQ2Rsh, qregDsel.getPin("A3"), new Point[0]);
208                 new GUIWire(submodelModifiable, cpQ3Rsh, qregDsel.getPin("A4"), new Point[0]);
209                 new GUIWire(submodelModifiable, qregDsel.getPin("Y1"), qreg.getPin("D1"), new Point[0]);
210                 new GUIWire(submodelModifiable, qregDsel.getPin("Y2"), qreg.getPin("D2"), new Point[0]);
211                 new GUIWire(submodelModifiable, qregDsel.getPin("Y3"), qreg.getPin("D3"), new Point[0]);
212                 new GUIWire(submodelModifiable, qregDsel.getPin("Y4"), qreg.getPin("D4"), new Point[0]);
213                 new GUIWire(submodelModifiable, alu.getPin("Cn+4"), Cnplus4, new Point[0]);
214                 new GUIWire(submodelModifiable, alu.getPin("OVR"), OVR, new Point[0]);
215                 new GUIWire(submodelModifiable, alu.getPin("F1"), cpF11, new Point[0]);
216                 new GUIWire(submodelModifiable, alu.getPin("F2"), cpF21, new Point[0]);
217                 new GUIWire(submodelModifiable, alu.getPin("F3"), cpF31, new Point[0]);
218                 new GUIWire(submodelModifiable, alu.getPin("F4"), cpF41, new Point[0]);
219                 new GUIWire(submodelModifiable, cpF11, cpORAMn, new Point[0]);
220                 new GUIWire(submodelModifiable, cpF41, cpORAMnplus3, new Point[0]);
221                 new GUIWire(submodelModifiable, cpORAMn, ORAMn, new Point[0]);
222                 new GUIWire(submodelModifiable, cpORAMnplus3, ORAMnplus3, new Point[0]);
223                 new GUIWire(submodelModifiable, cpORAMnplus3, cpF3, new Point[0]);
224                 new GUIWire(submodelModifiable, cpF3, F3, new Point[0]);
225                 new GUIWire(submodelModifiable, cpORAMn, qregDsel.getPin("B1"), new Point[0]);
226                 new GUIWire(submodelModifiable, cpF21, qregDsel.getPin("B2"), new Point[0]);
227                 new GUIWire(submodelModifiable, cpF31, qregDsel.getPin("B3"), new Point[0]);
228                 new GUIWire(submodelModifiable, cpF3, qregDsel.getPin("B4"), new Point[0]);
229                 new GUIWire(submodelModifiable, cpF11, cpF12, new Point[0]);
230                 new GUIWire(submodelModifiable, cpF21, cpF22, new Point[0]);
231                 new GUIWire(submodelModifiable, cpF31, cpF32, new Point[0]);
232                 new GUIWire(submodelModifiable, cpF41, cpF42, new Point[0]);
233                 new GUIWire(submodelModifiable, cpF12, Fneq0.getPin("A1"), new Point[0]);
234                 new GUIWire(submodelModifiable, cpF22, Fneq0.getPin("A2"), new Point[0]);
235                 new GUIWire(submodelModifiable, cpF32, Fneq0.getPin("A3"), new Point[0]);
236                 new GUIWire(submodelModifiable, cpF42, Fneq0.getPin("A4"), new Point[0]);
237                 new GUIWire(submodelModifiable, cpF12, cpF13, new Point[0]);
238                 new GUIWire(submodelModifiable, cpF22, cpF23, new Point[0]);
239                 new GUIWire(submodelModifiable, cpF32, cpF33, new Point[0]);
240                 new GUIWire(submodelModifiable, cpF42, cpF43, new Point[0]);
241                 new GUIWire(submodelModifiable, cpF13, Ymux.getPin("I1_1"), new Point[0]);
242                 new GUIWire(submodelModifiable, cpF23, Ymux.getPin("I1_2"), new Point[0]);
243                 new GUIWire(submodelModifiable, cpF33, Ymux.getPin("I1_3"), new Point[0]);
244                 new GUIWire(submodelModifiable, cpF43, Ymux.getPin("I1_4"), new Point[0]);
245                 new GUIWire(submodelModifiable, cpF13, cpF1Lsh, new Point[0]);
246                 new GUIWire(submodelModifiable, cpF23, cpF2Lsh, new Point[0]);
247                 new GUIWire(submodelModifiable, cpF33, cpF3Lsh, new Point[0]);
248                 new GUIWire(submodelModifiable, IRAMn, ramDsel.getPin("A1"), new Point[0]);
249                 new GUIWire(submodelModifiable, cpF1Lsh, ramDsel.getPin("A2"), new Point[0]);
250                 new GUIWire(submodelModifiable, cpF2Lsh, ramDsel.getPin("A3"), new Point[0]);
251                 new GUIWire(submodelModifiable, cpF3Lsh, ramDsel.getPin("A4"), new Point[0]);
252                 new GUIWire(submodelModifiable, cpF2Lsh, cpF2Rsh, new Point[0]);
253                 new GUIWire(submodelModifiable, cpF3Lsh, cpF3Rsh, new Point[0]);
254                 new GUIWire(submodelModifiable, cpF43, cpF4Rsh, new Point[0]);
255                 new GUIWire(submodelModifiable, cpF1Lsh, ramDsel.getPin("B1"), new Point[0]);
256                 new GUIWire(submodelModifiable, cpF2Rsh, ramDsel.getPin("B2"), new Point[0]);
257                 new GUIWire(submodelModifiable, cpF3Rsh, ramDsel.getPin("B3"), new Point[0]);
258                 new GUIWire(submodelModifiable, cpF4Rsh, ramDsel.getPin("B4"), new Point[0]);
259                 new GUIWire(submodelModifiable, cpF2Rsh, ramDsel.getPin("C1"), new Point[0]);
260                 new GUIWire(submodelModifiable, cpF3Rsh, ramDsel.getPin("C2"), new Point[0]);
261                 new GUIWire(submodelModifiable, cpF4Rsh, ramDsel.getPin("C3"), new Point[0]);
262                 new GUIWire(submodelModifiable, IRAMnplus3, ramDsel.getPin("C4"), new Point[0]);
263                 new GUIWire(submodelModifiable, destDecode.getPin("RAMWE"), ramweAnd.getPin("A"), new Point[0]);
264                 new GUIWire(submodelModifiable, notC.getPin("Y"), ramweAnd.getPin("B"), new Point[0]);
265                 new GUIWire(submodelModifiable, ramweAnd.getPin("Y"), ram.getPin("WE"), new Point[0]);
266                 new GUIWire(submodelModifiable, destDecode.getPin("QWE"), qreg.getPin("WE"), new Point[0]);
267                 new GUIWire(submodelModifiable, destDecode.getPin("YF"), Ymux.getPin("S0"), new Point[0]);
268                 new GUIWire(submodelModifiable, Ymux.getPin("Y1"), Y1, new Point[0]);
269                 new GUIWire(submodelModifiable, Ymux.getPin("Y2"), Y2, new Point[0]);
270                 new GUIWire(submodelModifiable, Ymux.getPin("Y3"), Y3, new Point[0]);
271                 new GUIWire(submodelModifiable, Ymux.getPin("Y4"), Y4, new Point[0]);
272         }
273 }