Cleaned dff4_finewe
[Mograsim.git] / plugins / net.mograsim.logic.model.am2900 / components / net / mograsim / logic / model / am2900 / components / dff4_finewe.json
1 {
2   "width": 35.0,
3   "height": 35.0,
4   "interfacePins": [
5     {
6       "location": {
7         "x": 0.0,
8         "y": 5.0
9       },
10       "name": "C",
11       "logicWidth": 1,
12       "usage": "INPUT"
13     },
14     {
15       "location": {
16         "x": 0.0,
17         "y": 15.0
18       },
19       "name": "D",
20       "logicWidth": 4,
21       "usage": "INPUT"
22     },
23     {
24       "location": {
25         "x": 35.0,
26         "y": 15.0
27       },
28       "name": "Q",
29       "logicWidth": 4,
30       "usage": "OUTPUT"
31     },
32     {
33       "location": {
34         "x": 0.0,
35         "y": 25.0
36       },
37       "name": "_WE",
38       "logicWidth": 4,
39       "usage": "INPUT"
40     }
41   ],
42   "innerScale": 0.2,
43   "submodel": {
44     "components": [
45       {
46         "id": "Splitter",
47         "name": "Splitter#0",
48         "pos": {
49           "x": 5.0,
50           "y": 110.0
51         },
52         "params": {
53           "logicWidth": 4,
54           "orientation": "RIGHT"
55         }
56       },
57       {
58         "id": "Splitter",
59         "name": "Splitter#1",
60         "pos": {
61           "x": 160.0,
62           "y": 60.0
63         },
64         "params": {
65           "logicWidth": 4,
66           "orientation": "LEFT"
67         }
68       },
69       {
70         "id": "Splitter",
71         "name": "Splitter#2",
72         "pos": {
73           "x": 5.0,
74           "y": 60.0
75         },
76         "params": {
77           "logicWidth": 4,
78           "orientation": "RIGHT"
79         }
80       },
81       {
82         "id": "WireCrossPoint",
83         "name": "WireCrossPoint#0",
84         "pos": {
85           "x": 99.0,
86           "y": 24.0
87         },
88         "params": 1
89       },
90       {
91         "id": "WireCrossPoint",
92         "name": "WireCrossPoint#1",
93         "pos": {
94           "x": 99.0,
95           "y": 64.0
96         },
97         "params": 1
98       },
99       {
100         "id": "WireCrossPoint",
101         "name": "WireCrossPoint#2",
102         "pos": {
103           "x": 99.0,
104           "y": 104.0
105         },
106         "params": 1
107       },
108       {
109         "id": "WireCrossPoint",
110         "name": "WireCrossPoint#3",
111         "pos": {
112           "x": 144.0,
113           "y": 14.0
114         },
115         "params": 1
116       },
117       {
118         "id": "WireCrossPoint",
119         "name": "WireCrossPoint#4",
120         "pos": {
121           "x": 144.0,
122           "y": 54.0
123         },
124         "params": 1
125       },
126       {
127         "id": "WireCrossPoint",
128         "name": "WireCrossPoint#5",
129         "pos": {
130           "x": 144.0,
131           "y": 94.0
132         },
133         "params": 1
134       },
135       {
136         "id": "WireCrossPoint",
137         "name": "WireCrossPoint#6",
138         "pos": {
139           "x": 144.0,
140           "y": 134.0
141         },
142         "params": 1
143       },
144       {
145         "id": "dff",
146         "name": "dff#0",
147         "pos": {
148           "x": 105.0,
149           "y": 10.0
150         }
151       },
152       {
153         "id": "dff",
154         "name": "dff#1",
155         "pos": {
156           "x": 105.0,
157           "y": 50.0
158         }
159       },
160       {
161         "id": "dff",
162         "name": "dff#2",
163         "pos": {
164           "x": 105.0,
165           "y": 90.0
166         }
167       },
168       {
169         "id": "dff",
170         "name": "dff#3",
171         "pos": {
172           "x": 105.0,
173           "y": 130.0
174         }
175       },
176       {
177         "id": "mux1",
178         "name": "mux1#0",
179         "pos": {
180           "x": 60.0,
181           "y": 10.0
182         }
183       },
184       {
185         "id": "mux1",
186         "name": "mux1#1",
187         "pos": {
188           "x": 60.0,
189           "y": 50.0
190         }
191       },
192       {
193         "id": "mux1",
194         "name": "mux1#2",
195         "pos": {
196           "x": 60.0,
197           "y": 90.0
198         }
199       },
200       {
201         "id": "mux1",
202         "name": "mux1#3",
203         "pos": {
204           "x": 60.0,
205           "y": 130.0
206         }
207       }
208     ],
209     "wires": [
210       {
211         "pin1": {
212           "compName": "WireCrossPoint#0",
213           "pinName": ""
214         },
215         "pin2": {
216           "compName": "dff#0",
217           "pinName": "C"
218         },
219         "name": "unnamedWire#0",
220         "path": []
221       },
222       {
223         "pin1": {
224           "compName": "mux1#0",
225           "pinName": "Y"
226         },
227         "pin2": {
228           "compName": "dff#0",
229           "pinName": "D"
230         },
231         "name": "unnamedWire#1",
232         "path": []
233       },
234       {
235         "pin1": {
236           "compName": "dff#1",
237           "pinName": "D"
238         },
239         "pin2": {
240           "compName": "mux1#1",
241           "pinName": "Y"
242         },
243         "name": "unnamedWire#2",
244         "path": []
245       },
246       {
247         "pin1": {
248           "compName": "WireCrossPoint#2",
249           "pinName": ""
250         },
251         "pin2": {
252           "compName": "dff#3",
253           "pinName": "C"
254         },
255         "name": "unnamedWire#3",
256         "path": [
257           {
258             "x": 100.0,
259             "y": 145.0
260           }
261         ]
262       },
263       {
264         "pin1": {
265           "compName": "WireCrossPoint#0",
266           "pinName": ""
267         },
268         "pin2": {
269           "compName": "WireCrossPoint#1",
270           "pinName": ""
271         },
272         "name": "unnamedWire#4",
273         "path": []
274       },
275       {
276         "pin1": {
277           "compName": "WireCrossPoint#1",
278           "pinName": ""
279         },
280         "pin2": {
281           "compName": "dff#1",
282           "pinName": "C"
283         },
284         "name": "unnamedWire#5",
285         "path": []
286       },
287       {
288         "pin1": {
289           "compName": "WireCrossPoint#1",
290           "pinName": ""
291         },
292         "pin2": {
293           "compName": "WireCrossPoint#2",
294           "pinName": ""
295         },
296         "name": "unnamedWire#6",
297         "path": []
298       },
299       {
300         "pin1": {
301           "compName": "WireCrossPoint#2",
302           "pinName": ""
303         },
304         "pin2": {
305           "compName": "dff#2",
306           "pinName": "C"
307         },
308         "name": "unnamedWire#7",
309         "path": []
310       },
311       {
312         "pin1": {
313           "compName": "_submodelinterface",
314           "pinName": "C"
315         },
316         "pin2": {
317           "compName": "WireCrossPoint#0",
318           "pinName": ""
319         },
320         "name": "unnamedWire#8",
321         "path": [
322           {
323             "x": 10.0,
324             "y": 25.0
325           },
326           {
327             "x": 10.0,
328             "y": 5.0
329           },
330           {
331             "x": 100.0,
332             "y": 5.0
333           }
334         ]
335       },
336       {
337         "pin1": {
338           "compName": "mux1#2",
339           "pinName": "Y"
340         },
341         "pin2": {
342           "compName": "dff#2",
343           "pinName": "D"
344         },
345         "name": "unnamedWire#9",
346         "path": []
347       },
348       {
349         "pin1": {
350           "compName": "dff#3",
351           "pinName": "D"
352         },
353         "pin2": {
354           "compName": "mux1#3",
355           "pinName": "Y"
356         },
357         "name": "unnamedWire#10",
358         "path": []
359       },
360       {
361         "pin1": {
362           "compName": "mux1#1",
363           "pinName": "I1"
364         },
365         "pin2": {
366           "compName": "WireCrossPoint#4",
367           "pinName": ""
368         },
369         "name": "unnamedWire#11",
370         "path": [
371           {
372             "x": 55.0,
373             "y": 75.0
374           },
375           {
376             "x": 55.0,
377             "y": 85.0
378           },
379           {
380             "x": 145.0,
381             "y": 85.0
382           }
383         ]
384       },
385       {
386         "pin1": {
387           "compName": "WireCrossPoint#3",
388           "pinName": ""
389         },
390         "pin2": {
391           "compName": "mux1#0",
392           "pinName": "I1"
393         },
394         "name": "unnamedWire#12",
395         "path": [
396           {
397             "x": 145.0,
398             "y": 45.0
399           },
400           {
401             "x": 55.0,
402             "y": 45.0
403           },
404           {
405             "x": 55.0,
406             "y": 35.0
407           }
408         ]
409       },
410       {
411         "pin1": {
412           "compName": "dff#0",
413           "pinName": "Q"
414         },
415         "pin2": {
416           "compName": "WireCrossPoint#3",
417           "pinName": ""
418         },
419         "name": "unnamedWire#13",
420         "path": []
421       },
422       {
423         "pin1": {
424           "compName": "_submodelinterface",
425           "pinName": "Q"
426         },
427         "pin2": {
428           "compName": "Splitter#1",
429           "pinName": "I"
430         },
431         "name": "unnamedWire#14",
432         "path": []
433       },
434       {
435         "pin1": {
436           "compName": "Splitter#1",
437           "pinName": "O3"
438         },
439         "pin2": {
440           "compName": "WireCrossPoint#3",
441           "pinName": ""
442         },
443         "name": "unnamedWire#15",
444         "path": [
445           {
446             "x": 155.0,
447             "y": 60.0
448           },
449           {
450             "x": 155.0,
451             "y": 15.0
452           }
453         ]
454       },
455       {
456         "pin1": {
457           "compName": "WireCrossPoint#4",
458           "pinName": ""
459         },
460         "pin2": {
461           "compName": "dff#1",
462           "pinName": "Q"
463         },
464         "name": "unnamedWire#16",
465         "path": []
466       },
467       {
468         "pin1": {
469           "compName": "WireCrossPoint#5",
470           "pinName": ""
471         },
472         "pin2": {
473           "compName": "mux1#2",
474           "pinName": "I1"
475         },
476         "name": "unnamedWire#17",
477         "path": [
478           {
479             "x": 145.0,
480             "y": 125.0
481           },
482           {
483             "x": 55.0,
484             "y": 125.0
485           },
486           {
487             "x": 55.0,
488             "y": 115.0
489           }
490         ]
491       },
492       {
493         "pin1": {
494           "compName": "dff#2",
495           "pinName": "Q"
496         },
497         "pin2": {
498           "compName": "WireCrossPoint#5",
499           "pinName": ""
500         },
501         "name": "unnamedWire#18",
502         "path": []
503       },
504       {
505         "pin1": {
506           "compName": "WireCrossPoint#4",
507           "pinName": ""
508         },
509         "pin2": {
510           "compName": "Splitter#1",
511           "pinName": "O2"
512         },
513         "name": "unnamedWire#19",
514         "path": [
515           {
516             "x": 150.0,
517             "y": 55.0
518           },
519           {
520             "x": 150.0,
521             "y": 70.0
522           }
523         ]
524       },
525       {
526         "pin1": {
527           "compName": "Splitter#1",
528           "pinName": "O1"
529         },
530         "pin2": {
531           "compName": "WireCrossPoint#5",
532           "pinName": ""
533         },
534         "name": "unnamedWire#20",
535         "path": [
536           {
537             "x": 150.0,
538             "y": 80.0
539           },
540           {
541             "x": 150.0,
542             "y": 95.0
543           }
544         ]
545       },
546       {
547         "pin1": {
548           "compName": "WireCrossPoint#6",
549           "pinName": ""
550         },
551         "pin2": {
552           "compName": "dff#3",
553           "pinName": "Q"
554         },
555         "name": "unnamedWire#21",
556         "path": []
557       },
558       {
559         "pin1": {
560           "compName": "WireCrossPoint#6",
561           "pinName": ""
562         },
563         "pin2": {
564           "compName": "mux1#3",
565           "pinName": "I1"
566         },
567         "name": "unnamedWire#22",
568         "path": [
569           {
570             "x": 145.0,
571             "y": 165.0
572           },
573           {
574             "x": 55.0,
575             "y": 165.0
576           },
577           {
578             "x": 55.0,
579             "y": 155.0
580           }
581         ]
582       },
583       {
584         "pin1": {
585           "compName": "_submodelinterface",
586           "pinName": "_WE"
587         },
588         "pin2": {
589           "compName": "Splitter#0",
590           "pinName": "I"
591         },
592         "name": "unnamedWire#23",
593         "path": []
594       },
595       {
596         "pin1": {
597           "compName": "_submodelinterface",
598           "pinName": "D"
599         },
600         "pin2": {
601           "compName": "Splitter#2",
602           "pinName": "I"
603         },
604         "name": "unnamedWire#24",
605         "path": []
606       },
607       {
608         "pin1": {
609           "compName": "Splitter#2",
610           "pinName": "O3"
611         },
612         "pin2": {
613           "compName": "mux1#0",
614           "pinName": "I0"
615         },
616         "name": "unnamedWire#25",
617         "path": [
618           {
619             "x": 20.0,
620             "y": 60.0
621           },
622           {
623             "x": 20.0,
624             "y": 25.0
625           }
626         ]
627       },
628       {
629         "pin1": {
630           "compName": "Splitter#2",
631           "pinName": "O2"
632         },
633         "pin2": {
634           "compName": "mux1#1",
635           "pinName": "I0"
636         },
637         "name": "unnamedWire#26",
638         "path": [
639           {
640             "x": 20.0,
641             "y": 70.0
642           },
643           {
644             "x": 20.0,
645             "y": 65.0
646           }
647         ]
648       },
649       {
650         "pin1": {
651           "compName": "Splitter#2",
652           "pinName": "O1"
653         },
654         "pin2": {
655           "compName": "mux1#2",
656           "pinName": "I0"
657         },
658         "name": "unnamedWire#27",
659         "path": [
660           {
661             "x": 25.0,
662             "y": 80.0
663           },
664           {
665             "x": 25.0,
666             "y": 105.0
667           }
668         ]
669       },
670       {
671         "pin1": {
672           "compName": "Splitter#0",
673           "pinName": "O3"
674         },
675         "pin2": {
676           "compName": "mux1#0",
677           "pinName": "S0"
678         },
679         "name": "unnamedWire#28",
680         "path": [
681           {
682             "x": 35.0,
683             "y": 110.0
684           },
685           {
686             "x": 35.0,
687             "y": 15.0
688           }
689         ]
690       },
691       {
692         "pin1": {
693           "compName": "WireCrossPoint#6",
694           "pinName": ""
695         },
696         "pin2": {
697           "compName": "Splitter#1",
698           "pinName": "O0"
699         },
700         "name": "unnamedWire#29",
701         "path": [
702           {
703             "x": 155.0,
704             "y": 135.0
705           },
706           {
707             "x": 155.0,
708             "y": 90.0
709           }
710         ]
711       },
712       {
713         "pin1": {
714           "compName": "mux1#1",
715           "pinName": "S0"
716         },
717         "pin2": {
718           "compName": "Splitter#0",
719           "pinName": "O2"
720         },
721         "name": "unnamedWire#30",
722         "path": [
723           {
724             "x": 40.0,
725             "y": 55.0
726           },
727           {
728             "x": 40.0,
729             "y": 120.0
730           }
731         ]
732       },
733       {
734         "pin1": {
735           "compName": "Splitter#0",
736           "pinName": "O1"
737         },
738         "pin2": {
739           "compName": "mux1#2",
740           "pinName": "S0"
741         },
742         "name": "unnamedWire#31",
743         "path": [
744           {
745             "x": 45.0,
746             "y": 130.0
747           },
748           {
749             "x": 45.0,
750             "y": 95.0
751           }
752         ]
753       },
754       {
755         "pin1": {
756           "compName": "mux1#3",
757           "pinName": "S0"
758         },
759         "pin2": {
760           "compName": "Splitter#0",
761           "pinName": "O0"
762         },
763         "name": "unnamedWire#32",
764         "path": [
765           {
766             "x": 45.0,
767             "y": 135.0
768           },
769           {
770             "x": 45.0,
771             "y": 140.0
772           }
773         ]
774       },
775       {
776         "pin1": {
777           "compName": "Splitter#2",
778           "pinName": "O0"
779         },
780         "pin2": {
781           "compName": "mux1#3",
782           "pinName": "I0"
783         },
784         "name": "unnamedWire#33",
785         "path": [
786           {
787             "x": 20.0,
788             "y": 90.0
789           },
790           {
791             "x": 20.0,
792             "y": 145.0
793           }
794         ]
795       }
796     ],
797     "version": "0.1.1"
798   },
799   "symbolRendererSnippetID": "simpleRectangularLike",
800   "symbolRendererParams": {
801     "centerText": "D flip flop\n4 bit",
802     "centerTextHeight": 5.0,
803     "horizontalComponentCenter": 17.5,
804     "pinLabelHeight": 3.5,
805     "pinLabelMargin": 0.5
806   },
807   "outlineRendererSnippetID": "default",
808   "highLevelStateHandlerSnippetID": "standard",
809   "highLevelStateHandlerParams": {
810     "subcomponentHighLevelStates": {},
811     "atomicHighLevelStates": {
812       "q": {
813         "id": "bitVectorSplitting",
814         "params": {
815           "vectorPartTargets": [
816             "q4",
817             "q3",
818             "q2",
819             "q1"
820           ],
821           "vectorPartLengthes": [
822             1,
823             1,
824             1,
825             1
826           ]
827         }
828       },
829       "q1": {
830         "id": "delegating",
831         "params": {
832           "delegateTarget": "dff#3",
833           "subStateID": "q"
834         }
835       },
836       "q2": {
837         "id": "delegating",
838         "params": {
839           "delegateTarget": "dff#2",
840           "subStateID": "q"
841         }
842       },
843       "q3": {
844         "id": "delegating",
845         "params": {
846           "delegateTarget": "dff#1",
847           "subStateID": "q"
848         }
849       },
850       "q4": {
851         "id": "delegating",
852         "params": {
853           "delegateTarget": "dff#0",
854           "subStateID": "q"
855         }
856       }
857     }
858   },
859   "version": "0.1.5"
860 }