Equivalent inner components now exchangeable. Fixed in/output pin order.
[Mograsim.git] / net.mograsim.logic.ui / components / am2901 / GUIAm2901ALUFuncDecode.json
1 mograsim version: 0.1.1
2 {
3   "type": "SimpleRectangularSubmodelComponent",
4   "name": "GUIAm2901ALUFuncDecode",
5   "width": 35.0,
6   "height": 60.0,
7   "interfacePins": [
8     {
9       "location": {
10         "x": 35.0,
11         "y": 35.0
12       },
13       "name": "SBE",
14       "logicWidth": 1
15     },
16     {
17       "location": {
18         "x": 35.0,
19         "y": 45.0
20       },
21       "name": "FN",
22       "logicWidth": 1
23     },
24     {
25       "location": {
26         "x": 0.0,
27         "y": 25.0
28       },
29       "name": "I3",
30       "logicWidth": 1
31     },
32     {
33       "location": {
34         "x": 0.0,
35         "y": 15.0
36       },
37       "name": "I4",
38       "logicWidth": 1
39     },
40     {
41       "location": {
42         "x": 35.0,
43         "y": 25.0
44       },
45       "name": "SN",
46       "logicWidth": 1
47     },
48     {
49       "location": {
50         "x": 0.0,
51         "y": 5.0
52       },
53       "name": "I5",
54       "logicWidth": 1
55     },
56     {
57       "location": {
58         "x": 35.0,
59         "y": 15.0
60       },
61       "name": "L",
62       "logicWidth": 1
63     },
64     {
65       "location": {
66         "x": 35.0,
67         "y": 55.0
68       },
69       "name": "RN",
70       "logicWidth": 1
71     },
72     {
73       "location": {
74         "x": 35.0,
75         "y": 5.0
76       },
77       "name": "CinE",
78       "logicWidth": 1
79     }
80   ],
81   "composition": {
82     "innerScale": 0.25,
83     "subComps": [
84       {
85         "pos": {
86           "x": 15.0,
87           "y": 10.0
88         },
89         "name": "GUINandGate",
90         "params": {
91           "logicWidth": 1
92         }
93       },
94       {
95         "pos": {
96           "x": 15.0,
97           "y": 50.0
98         },
99         "name": "GUINandGate",
100         "params": {
101           "logicWidth": 1
102         }
103       },
104       {
105         "pos": {
106           "x": 55.0,
107           "y": 10.0
108         },
109         "name": "GUInand3",
110         "params": {}
111       },
112       {
113         "pos": {
114           "x": 55.0,
115           "y": 45.0
116         },
117         "name": "GUINandGate",
118         "params": {
119           "logicWidth": 1
120         }
121       },
122       {
123         "pos": {
124           "x": 55.0,
125           "y": 70.0
126         },
127         "name": "GUINandGate",
128         "params": {
129           "logicWidth": 1
130         }
131       },
132       {
133         "pos": {
134           "x": 100.0,
135           "y": 50.0
136         },
137         "name": "GUINandGate",
138         "params": {
139           "logicWidth": 1
140         }
141       },
142       {
143         "pos": {
144           "x": 100.0,
145           "y": 135.0
146         },
147         "name": "GUIand",
148         "params": {}
149       },
150       {
151         "pos": {
152           "x": 4.0,
153           "y": 19.0
154         },
155         "name": "WireCrossPoint",
156         "params": {
157           "logicWidth": 1
158         }
159       },
160       {
161         "pos": {
162           "x": 4.0,
163           "y": 24.0
164         },
165         "name": "WireCrossPoint",
166         "params": {
167           "logicWidth": 1
168         }
169       },
170       {
171         "pos": {
172           "x": 4.0,
173           "y": 44.0
174         },
175         "name": "WireCrossPoint",
176         "params": {
177           "logicWidth": 1
178         }
179       },
180       {
181         "pos": {
182           "x": 9.0,
183           "y": 59.0
184         },
185         "name": "WireCrossPoint",
186         "params": {
187           "logicWidth": 1
188         }
189       },
190       {
191         "pos": {
192           "x": 9.0,
193           "y": 54.0
194         },
195         "name": "WireCrossPoint",
196         "params": {
197           "logicWidth": 1
198         }
199       },
200       {
201         "pos": {
202           "x": 9.0,
203           "y": 64.0
204         },
205         "name": "WireCrossPoint",
206         "params": {
207           "logicWidth": 1
208         }
209       },
210       {
211         "pos": {
212           "x": 9.0,
213           "y": 84.0
214         },
215         "name": "WireCrossPoint",
216         "params": {
217           "logicWidth": 1
218         }
219       },
220       {
221         "pos": {
222           "x": 49.0,
223           "y": 99.0
224         },
225         "name": "WireCrossPoint",
226         "params": {
227           "logicWidth": 1
228         }
229       },
230       {
231         "pos": {
232           "x": 49.0,
233           "y": 74.0
234         },
235         "name": "WireCrossPoint",
236         "params": {
237           "logicWidth": 1
238         }
239       },
240       {
241         "pos": {
242           "x": 39.0,
243           "y": 19.0
244         },
245         "name": "WireCrossPoint",
246         "params": {
247           "logicWidth": 1
248         }
249       },
250       {
251         "pos": {
252           "x": 39.0,
253           "y": 34.0
254         },
255         "name": "WireCrossPoint",
256         "params": {
257           "logicWidth": 1
258         }
259       }
260     ],
261     "innerWires": [
262       {
263         "pin1": {
264           "compId": 0,
265           "pinName": "I5"
266         },
267         "pin2": {
268           "compId": 8,
269           "pinName": ""
270         },
271         "path": []
272       },
273       {
274         "pin1": {
275           "compId": 8,
276           "pinName": ""
277         },
278         "pin2": {
279           "compId": 1,
280           "pinName": "A"
281         },
282         "path": [
283           {
284             "x": 5.0,
285             "y": 15.0
286           }
287         ]
288       },
289       {
290         "pin1": {
291           "compId": 8,
292           "pinName": ""
293         },
294         "pin2": {
295           "compId": 9,
296           "pinName": ""
297         },
298         "path": []
299       },
300       {
301         "pin1": {
302           "compId": 9,
303           "pinName": ""
304         },
305         "pin2": {
306           "compId": 1,
307           "pinName": "B"
308         },
309         "path": []
310       },
311       {
312         "pin1": {
313           "compId": 9,
314           "pinName": ""
315         },
316         "pin2": {
317           "compId": 10,
318           "pinName": ""
319         },
320         "path": []
321       },
322       {
323         "pin1": {
324           "compId": 10,
325           "pinName": ""
326         },
327         "pin2": {
328           "compId": 4,
329           "pinName": "A"
330         },
331         "path": [
332           {
333             "x": 45.0,
334             "y": 45.0
335           },
336           {
337             "x": 45.0,
338             "y": 50.0
339           }
340         ]
341       },
342       {
343         "pin1": {
344           "compId": 10,
345           "pinName": ""
346         },
347         "pin2": {
348           "compId": 0,
349           "pinName": "FN"
350         },
351         "path": [
352           {
353             "x": 5.0,
354             "y": 180.0
355           }
356         ]
357       },
358       {
359         "pin1": {
360           "compId": 0,
361           "pinName": "I4"
362         },
363         "pin2": {
364           "compId": 11,
365           "pinName": ""
366         },
367         "path": []
368       },
369       {
370         "pin1": {
371           "compId": 11,
372           "pinName": ""
373         },
374         "pin2": {
375           "compId": 12,
376           "pinName": ""
377         },
378         "path": []
379       },
380       {
381         "pin1": {
382           "compId": 12,
383           "pinName": ""
384         },
385         "pin2": {
386           "compId": 3,
387           "pinName": "A"
388         },
389         "path": [
390           {
391             "x": 10.0,
392             "y": 40.0
393           },
394           {
395             "x": 45.0,
396             "y": 40.0
397           },
398           {
399             "x": 45.0,
400             "y": 15.0
401           }
402         ]
403       },
404       {
405         "pin1": {
406           "compId": 12,
407           "pinName": ""
408         },
409         "pin2": {
410           "compId": 2,
411           "pinName": "A"
412         },
413         "path": []
414       },
415       {
416         "pin1": {
417           "compId": 11,
418           "pinName": ""
419         },
420         "pin2": {
421           "compId": 13,
422           "pinName": ""
423         },
424         "path": []
425       },
426       {
427         "pin1": {
428           "compId": 13,
429           "pinName": ""
430         },
431         "pin2": {
432           "compId": 2,
433           "pinName": "B"
434         },
435         "path": []
436       },
437       {
438         "pin1": {
439           "compId": 13,
440           "pinName": ""
441         },
442         "pin2": {
443           "compId": 14,
444           "pinName": ""
445         },
446         "path": []
447       },
448       {
449         "pin1": {
450           "compId": 14,
451           "pinName": ""
452         },
453         "pin2": {
454           "compId": 5,
455           "pinName": "B"
456         },
457         "path": []
458       },
459       {
460         "pin1": {
461           "compId": 14,
462           "pinName": ""
463         },
464         "pin2": {
465           "compId": 0,
466           "pinName": "SN"
467         },
468         "path": [
469           {
470             "x": 10.0,
471             "y": 105.0
472           },
473           {
474             "x": 135.0,
475             "y": 105.0
476           },
477           {
478             "x": 135.0,
479             "y": 100.0
480           }
481         ]
482       },
483       {
484         "pin1": {
485           "compId": 0,
486           "pinName": "I3"
487         },
488         "pin2": {
489           "compId": 15,
490           "pinName": ""
491         },
492         "path": [
493           {
494             "x": 50.0,
495             "y": 100.0
496           }
497         ]
498       },
499       {
500         "pin1": {
501           "compId": 15,
502           "pinName": ""
503         },
504         "pin2": {
505           "compId": 0,
506           "pinName": "RN"
507         },
508         "path": [
509           {
510             "x": 50.0,
511             "y": 220.0
512           }
513         ]
514       },
515       {
516         "pin1": {
517           "compId": 15,
518           "pinName": ""
519         },
520         "pin2": {
521           "compId": 16,
522           "pinName": ""
523         },
524         "path": []
525       },
526       {
527         "pin1": {
528           "compId": 16,
529           "pinName": ""
530         },
531         "pin2": {
532           "compId": 3,
533           "pinName": "B"
534         },
535         "path": [
536           {
537             "x": 50.0,
538             "y": 25.0
539           }
540         ]
541       },
542       {
543         "pin1": {
544           "compId": 16,
545           "pinName": ""
546         },
547         "pin2": {
548           "compId": 5,
549           "pinName": "A"
550         },
551         "path": []
552       },
553       {
554         "pin1": {
555           "compId": 1,
556           "pinName": "Y"
557         },
558         "pin2": {
559           "compId": 17,
560           "pinName": ""
561         },
562         "path": []
563       },
564       {
565         "pin1": {
566           "compId": 17,
567           "pinName": ""
568         },
569         "pin2": {
570           "compId": 0,
571           "pinName": "CinE"
572         },
573         "path": [
574           {
575             "x": 40.0,
576             "y": 5.0
577           },
578           {
579             "x": 115.0,
580             "y": 5.0
581           },
582           {
583             "x": 115.0,
584             "y": 20.0
585           }
586         ]
587       },
588       {
589         "pin1": {
590           "compId": 17,
591           "pinName": ""
592         },
593         "pin2": {
594           "compId": 18,
595           "pinName": ""
596         },
597         "path": []
598       },
599       {
600         "pin1": {
601           "compId": 18,
602           "pinName": ""
603         },
604         "pin2": {
605           "compId": 3,
606           "pinName": "C"
607         },
608         "path": []
609       },
610       {
611         "pin1": {
612           "compId": 18,
613           "pinName": ""
614         },
615         "pin2": {
616           "compId": 7,
617           "pinName": "B"
618         },
619         "path": [
620           {
621             "x": 40.0,
622             "y": 150.0
623           }
624         ]
625       },
626       {
627         "pin1": {
628           "compId": 2,
629           "pinName": "Y"
630         },
631         "pin2": {
632           "compId": 4,
633           "pinName": "B"
634         },
635         "path": []
636       },
637       {
638         "pin1": {
639           "compId": 3,
640           "pinName": "Y"
641         },
642         "pin2": {
643           "compId": 6,
644           "pinName": "A"
645         }
646       },
647       {
648         "pin1": {
649           "compId": 4,
650           "pinName": "Y"
651         },
652         "pin2": {
653           "compId": 6,
654           "pinName": "B"
655         }
656       },
657       {
658         "pin1": {
659           "compId": 5,
660           "pinName": "Y"
661         },
662         "pin2": {
663           "compId": 7,
664           "pinName": "A"
665         }
666       },
667       {
668         "pin1": {
669           "compId": 6,
670           "pinName": "Y"
671         },
672         "pin2": {
673           "compId": 0,
674           "pinName": "L"
675         },
676         "path": []
677       },
678       {
679         "pin1": {
680           "compId": 7,
681           "pinName": "Y"
682         },
683         "pin2": {
684           "compId": 0,
685           "pinName": "SBE"
686         },
687         "path": []
688       }
689     ]
690   },
691   "specialized": {
692     "input_count": [
693       "I5",
694       "I4",
695       "I3"
696     ],
697     "label": "GUIAm2901ALUFuncDecode",
698     "logic_width": 1,
699     "output_count": [
700       "CinE",
701       "L",
702       "SN",
703       "SBE",
704       "FN",
705       "RN"
706     ]
707   }
708 }