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