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