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