b7b85a9dcf4e62e0b0e4511f504ce13d008f4c96
[Mograsim.git] /
1 {
2   "width": 35.0,
3   "height": 30.0,
4   "interfacePins": [
5     {
6       "location": {
7         "x": 0.0,
8         "y": 25.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": 5.0
36       },
37       "name": "WE",
38       "logicWidth": 1,
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": 155.0,
50           "y": 60.0
51         },
52         "params": {
53           "logicWidth": 4,
54           "orientation": "LEFT"
55         }
56       },
57       {
58         "id": "Splitter",
59         "name": "Splitter#1",
60         "pos": {
61           "x": 70.0,
62           "y": 25.0
63         },
64         "params": {
65           "logicWidth": 4,
66           "orientation": "RIGHT"
67         }
68       },
69       {
70         "id": "WireCrossPoint",
71         "name": "WireCrossPoint#0",
72         "pos": {
73           "x": 99.0,
74           "y": 109.0
75         },
76         "params": 1
77       },
78       {
79         "id": "WireCrossPoint",
80         "name": "WireCrossPoint#1",
81         "pos": {
82           "x": 99.0,
83           "y": 59.0
84         },
85         "params": 1
86       },
87       {
88         "id": "WireCrossPoint",
89         "name": "WireCrossPoint#2",
90         "pos": {
91           "x": 99.0,
92           "y": 84.0
93         },
94         "params": 1
95       },
96       {
97         "id": "WireCrossPoint",
98         "name": "WireCrossPoint#3",
99         "pos": {
100           "x": 169.0,
101           "y": 74.0
102         },
103         "params": 4
104       },
105       {
106         "id": "dff",
107         "name": "dff#0",
108         "pos": {
109           "x": 105.0,
110           "y": 20.0
111         }
112       },
113       {
114         "id": "dff",
115         "name": "dff#1",
116         "pos": {
117           "x": 105.0,
118           "y": 45.0
119         }
120       },
121       {
122         "id": "dff",
123         "name": "dff#2",
124         "pos": {
125           "x": 105.0,
126           "y": 70.0
127         }
128       },
129       {
130         "id": "dff",
131         "name": "dff#3",
132         "pos": {
133           "x": 105.0,
134           "y": 95.0
135         }
136       },
137       {
138         "id": "mux1_4",
139         "name": "mux1_4#0",
140         "pos": {
141           "x": 15.0,
142           "y": 20.0
143         }
144       }
145     ],
146     "wires": [
147       {
148         "pin1": {
149           "compName": "WireCrossPoint#1",
150           "pinName": ""
151         },
152         "pin2": {
153           "compName": "dff#0",
154           "pinName": "C"
155         },
156         "name": "unnamedWire#0",
157         "path": [
158           {
159             "x": 100.0,
160             "y": 35.0
161           }
162         ]
163       },
164       {
165         "pin1": {
166           "compName": "Splitter#1",
167           "pinName": "O3"
168         },
169         "pin2": {
170           "compName": "dff#0",
171           "pinName": "D"
172         },
173         "name": "unnamedWire#1",
174         "path": []
175       },
176       {
177         "pin1": {
178           "compName": "Splitter#1",
179           "pinName": "O2"
180         },
181         "pin2": {
182           "compName": "dff#1",
183           "pinName": "D"
184         },
185         "name": "unnamedWire#2",
186         "path": [
187           {
188             "x": 95.0,
189             "y": 35.0
190           },
191           {
192             "x": 95.0,
193             "y": 50.0
194           }
195         ]
196       },
197       {
198         "pin1": {
199           "compName": "WireCrossPoint#0",
200           "pinName": ""
201         },
202         "pin2": {
203           "compName": "dff#3",
204           "pinName": "C"
205         },
206         "name": "unnamedWire#3",
207         "path": []
208       },
209       {
210         "pin1": {
211           "compName": "WireCrossPoint#0",
212           "pinName": ""
213         },
214         "pin2": {
215           "compName": "WireCrossPoint#2",
216           "pinName": ""
217         },
218         "name": "unnamedWire#4",
219         "path": []
220       },
221       {
222         "pin1": {
223           "compName": "WireCrossPoint#1",
224           "pinName": ""
225         },
226         "pin2": {
227           "compName": "dff#1",
228           "pinName": "C"
229         },
230         "name": "unnamedWire#5",
231         "path": []
232       },
233       {
234         "pin1": {
235           "compName": "WireCrossPoint#1",
236           "pinName": ""
237         },
238         "pin2": {
239           "compName": "WireCrossPoint#2",
240           "pinName": ""
241         },
242         "name": "unnamedWire#6",
243         "path": []
244       },
245       {
246         "pin1": {
247           "compName": "WireCrossPoint#2",
248           "pinName": ""
249         },
250         "pin2": {
251           "compName": "dff#2",
252           "pinName": "C"
253         },
254         "name": "unnamedWire#7",
255         "path": []
256       },
257       {
258         "pin1": {
259           "compName": "_submodelinterface",
260           "pinName": "C"
261         },
262         "pin2": {
263           "compName": "WireCrossPoint#0",
264           "pinName": ""
265         },
266         "name": "unnamedWire#8",
267         "path": [
268           {
269             "x": 100.0,
270             "y": 125.0
271           }
272         ]
273       },
274       {
275         "pin1": {
276           "compName": "_submodelinterface",
277           "pinName": "WE"
278         },
279         "pin2": {
280           "compName": "mux1_4#0",
281           "pinName": "S0"
282         },
283         "name": "unnamedWire#9",
284         "path": []
285       },
286       {
287         "pin1": {
288           "compName": "_submodelinterface",
289           "pinName": "D"
290         },
291         "pin2": {
292           "compName": "mux1_4#0",
293           "pinName": "I1"
294         },
295         "name": "unnamedWire#10",
296         "path": [
297           {
298             "x": 5.0,
299             "y": 75.0
300           },
301           {
302             "x": 5.0,
303             "y": 70.0
304           }
305         ]
306       },
307       {
308         "pin1": {
309           "compName": "WireCrossPoint#3",
310           "pinName": ""
311         },
312         "pin2": {
313           "compName": "Splitter#0",
314           "pinName": "I"
315         },
316         "name": "unnamedWire#11",
317         "path": []
318       },
319       {
320         "pin1": {
321           "compName": "WireCrossPoint#3",
322           "pinName": ""
323         },
324         "pin2": {
325           "compName": "_submodelinterface",
326           "pinName": "Q"
327         },
328         "name": "unnamedWire#12",
329         "path": []
330       },
331       {
332         "pin1": {
333           "compName": "WireCrossPoint#3",
334           "pinName": ""
335         },
336         "pin2": {
337           "compName": "mux1_4#0",
338           "pinName": "I0"
339         },
340         "name": "unnamedWire#13",
341         "path": [
342           {
343             "x": 170.0,
344             "y": 140.0
345           },
346           {
347             "x": 10.0,
348             "y": 140.0
349           },
350           {
351             "x": 10.0,
352             "y": 40.0
353           }
354         ]
355       },
356       {
357         "pin1": {
358           "compName": "dff#2",
359           "pinName": "D"
360         },
361         "pin2": {
362           "compName": "Splitter#1",
363           "pinName": "O1"
364         },
365         "name": "unnamedWire#14",
366         "path": [
367           {
368             "x": 90.0,
369             "y": 75.0
370           },
371           {
372             "x": 90.0,
373             "y": 45.0
374           }
375         ]
376       },
377       {
378         "pin1": {
379           "compName": "Splitter#1",
380           "pinName": "O0"
381         },
382         "pin2": {
383           "compName": "dff#3",
384           "pinName": "D"
385         },
386         "name": "unnamedWire#15",
387         "path": [
388           {
389             "x": 85.0,
390             "y": 55.0
391           },
392           {
393             "x": 85.0,
394             "y": 100.0
395           }
396         ]
397       },
398       {
399         "pin1": {
400           "compName": "dff#0",
401           "pinName": "Q"
402         },
403         "pin2": {
404           "compName": "Splitter#0",
405           "pinName": "O3"
406         },
407         "name": "unnamedWire#16",
408         "path": [
409           {
410             "x": 150.0,
411             "y": 25.0
412           },
413           {
414             "x": 150.0,
415             "y": 60.0
416           }
417         ]
418       },
419       {
420         "pin1": {
421           "compName": "Splitter#0",
422           "pinName": "O2"
423         },
424         "pin2": {
425           "compName": "dff#1",
426           "pinName": "Q"
427         },
428         "name": "unnamedWire#17",
429         "path": [
430           {
431             "x": 145.0,
432             "y": 70.0
433           },
434           {
435             "x": 145.0,
436             "y": 50.0
437           }
438         ]
439       },
440       {
441         "pin1": {
442           "compName": "dff#2",
443           "pinName": "Q"
444         },
445         "pin2": {
446           "compName": "Splitter#0",
447           "pinName": "O1"
448         },
449         "name": "unnamedWire#18",
450         "path": [
451           {
452             "x": 145.0,
453             "y": 75.0
454           },
455           {
456             "x": 145.0,
457             "y": 80.0
458           }
459         ]
460       },
461       {
462         "pin1": {
463           "compName": "Splitter#0",
464           "pinName": "O0"
465         },
466         "pin2": {
467           "compName": "dff#3",
468           "pinName": "Q"
469         },
470         "name": "unnamedWire#19",
471         "path": [
472           {
473             "x": 145.0,
474             "y": 90.0
475           },
476           {
477             "x": 145.0,
478             "y": 100.0
479           }
480         ]
481       },
482       {
483         "pin1": {
484           "compName": "Splitter#1",
485           "pinName": "I"
486         },
487         "pin2": {
488           "compName": "mux1_4#0",
489           "pinName": "Y"
490         },
491         "name": "unnamedWire#20",
492         "path": []
493       }
494     ],
495     "version": "0.1.1"
496   },
497   "symbolRendererSnippetID": "simpleRectangularLike",
498   "symbolRendererParams": {
499     "centerText": "D flip flop\n4 bit",
500     "centerTextHeight": 5.0,
501     "horizontalComponentCenter": 17.5,
502     "pinLabelHeight": 3.5,
503     "pinLabelMargin": 0.5
504   },
505   "outlineRendererSnippetID": "default",
506   "highLevelStateHandlerSnippetID": "standard",
507   "highLevelStateHandlerParams": {
508     "subcomponentHighLevelStates": {},
509     "atomicHighLevelStates": {
510       "q": {
511         "id": "bitVectorSplitting",
512         "params": {
513           "vectorPartTargets": [
514             "q4",
515             "q3",
516             "q2",
517             "q1"
518           ],
519           "vectorPartLengthes": [
520             1,
521             1,
522             1,
523             1
524           ]
525         }
526       },
527       "q1": {
528         "id": "delegating",
529         "params": {
530           "delegateTarget": "dff#3",
531           "subStateID": "q"
532         }
533       },
534       "q2": {
535         "id": "delegating",
536         "params": {
537           "delegateTarget": "dff#2",
538           "subStateID": "q"
539         }
540       },
541       "q3": {
542         "id": "delegating",
543         "params": {
544           "delegateTarget": "dff#1",
545           "subStateID": "q"
546         }
547       },
548       "q4": {
549         "id": "delegating",
550         "params": {
551           "delegateTarget": "dff#0",
552           "subStateID": "q"
553         }
554       }
555     }
556   },
557   "version": "0.1.5"
558 }