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