Changed incrementer layout to have the MSB on top
[Mograsim.git] / plugins / net.mograsim.logic.model.am2900 / components / net / mograsim / logic / model / am2900 / components / inc4.json
1 {
2   "width": 20.0,
3   "height": 30.0,
4   "interfacePins": [
5     {
6       "location": {
7         "x": 0.0,
8         "y": 15.0
9       },
10       "name": "A",
11       "logicWidth": 4,
12       "usage": "INPUT"
13     },
14     {
15       "location": {
16         "x": 0.0,
17         "y": 25.0
18       },
19       "name": "CI",
20       "logicWidth": 1,
21       "usage": "INPUT"
22     },
23     {
24       "location": {
25         "x": 20.0,
26         "y": 15.0
27       },
28       "name": "Y",
29       "logicWidth": 4,
30       "usage": "OUTPUT"
31     },
32     {
33       "location": {
34         "x": 0.0,
35         "y": 5.0
36       },
37       "name": "Z",
38       "logicWidth": 1,
39       "usage": "OUTPUT"
40     }
41   ],
42   "innerScale": 0.2,
43   "submodel": {
44     "components": [
45       {
46         "id": "Splitter",
47         "name": "Splitter#0",
48         "pos": {
49           "x": 5.0,
50           "y": 60.0
51         },
52         "params": {
53           "logicWidth": 4,
54           "orientation": "RIGHT"
55         }
56       },
57       {
58         "id": "Splitter",
59         "name": "Splitter#1",
60         "pos": {
61           "x": 85.0,
62           "y": 60.0
63         },
64         "params": {
65           "logicWidth": 4,
66           "orientation": "LEFT"
67         }
68       },
69       {
70         "id": "halfadder",
71         "name": "halfadder#0",
72         "pos": {
73           "x": 40.0,
74           "y": 110.0
75         }
76       },
77       {
78         "id": "halfadder",
79         "name": "halfadder#1",
80         "pos": {
81           "x": 40.0,
82           "y": 75.0
83         }
84       },
85       {
86         "id": "halfadder",
87         "name": "halfadder#2",
88         "pos": {
89           "x": 40.0,
90           "y": 40.0
91         }
92       },
93       {
94         "id": "halfadder",
95         "name": "halfadder#3",
96         "pos": {
97           "x": 40.0,
98           "y": 5.0
99         }
100       }
101     ],
102     "wires": [
103       {
104         "pin1": {
105           "compName": "halfadder#0",
106           "pinName": "Z"
107         },
108         "pin2": {
109           "compName": "halfadder#1",
110           "pinName": "B"
111         },
112         "name": "unnamedWire#0",
113         "path": [
114           {
115             "x": 35.0,
116             "y": 115.0
117           },
118           {
119             "x": 35.0,
120             "y": 100.0
121           }
122         ]
123       },
124       {
125         "pin1": {
126           "compName": "halfadder#1",
127           "pinName": "Z"
128         },
129         "pin2": {
130           "compName": "halfadder#2",
131           "pinName": "B"
132         },
133         "name": "unnamedWire#1",
134         "path": [
135           {
136             "x": 35.0,
137             "y": 80.0
138           },
139           {
140             "x": 35.0,
141             "y": 65.0
142           }
143         ]
144       },
145       {
146         "pin1": {
147           "compName": "halfadder#2",
148           "pinName": "Z"
149         },
150         "pin2": {
151           "compName": "halfadder#3",
152           "pinName": "B"
153         },
154         "name": "unnamedWire#2",
155         "path": [
156           {
157             "x": 35.0,
158             "y": 45.0
159           },
160           {
161             "x": 35.0,
162             "y": 30.0
163           }
164         ]
165       },
166       {
167         "pin1": {
168           "compName": "Splitter#0",
169           "pinName": "O0"
170         },
171         "pin2": {
172           "compName": "halfadder#0",
173           "pinName": "A"
174         },
175         "name": "unnamedWire#3",
176         "path": [
177           {
178             "x": 20.0,
179             "y": 90.0
180           },
181           {
182             "x": 20.0,
183             "y": 125.0
184           }
185         ]
186       },
187       {
188         "pin1": {
189           "compName": "Splitter#0",
190           "pinName": "O1"
191         },
192         "pin2": {
193           "compName": "halfadder#1",
194           "pinName": "A"
195         },
196         "name": "unnamedWire#4",
197         "path": [
198           {
199             "x": 25.0,
200             "y": 80.0
201           },
202           {
203             "x": 25.0,
204             "y": 90.0
205           }
206         ]
207       },
208       {
209         "pin1": {
210           "compName": "Splitter#0",
211           "pinName": "O2"
212         },
213         "pin2": {
214           "compName": "halfadder#2",
215           "pinName": "A"
216         },
217         "name": "unnamedWire#5",
218         "path": [
219           {
220             "x": 25.0,
221             "y": 70.0
222           },
223           {
224             "x": 25.0,
225             "y": 55.0
226           }
227         ]
228       },
229       {
230         "pin1": {
231           "compName": "Splitter#0",
232           "pinName": "O3"
233         },
234         "pin2": {
235           "compName": "halfadder#3",
236           "pinName": "A"
237         },
238         "name": "unnamedWire#6",
239         "path": [
240           {
241             "x": 20.0,
242             "y": 60.0
243           },
244           {
245             "x": 20.0,
246             "y": 20.0
247           }
248         ]
249       },
250       {
251         "pin1": {
252           "compName": "Splitter#1",
253           "pinName": "O0"
254         },
255         "pin2": {
256           "compName": "halfadder#0",
257           "pinName": "Y"
258         },
259         "name": "unnamedWire#7",
260         "path": [
261           {
262             "x": 80.0,
263             "y": 90.0
264           },
265           {
266             "x": 80.0,
267             "y": 115.0
268           }
269         ]
270       },
271       {
272         "pin1": {
273           "compName": "halfadder#1",
274           "pinName": "Y"
275         },
276         "pin2": {
277           "compName": "Splitter#1",
278           "pinName": "O1"
279         },
280         "name": "unnamedWire#8",
281         "path": []
282       },
283       {
284         "pin1": {
285           "compName": "halfadder#2",
286           "pinName": "Y"
287         },
288         "pin2": {
289           "compName": "Splitter#1",
290           "pinName": "O2"
291         },
292         "name": "unnamedWire#9",
293         "path": [
294           {
295             "x": 75.0,
296             "y": 45.0
297           },
298           {
299             "x": 75.0,
300             "y": 70.0
301           }
302         ]
303       },
304       {
305         "pin1": {
306           "compName": "Splitter#1",
307           "pinName": "O3"
308         },
309         "pin2": {
310           "compName": "halfadder#3",
311           "pinName": "Y"
312         },
313         "name": "unnamedWire#10",
314         "path": [
315           {
316             "x": 80.0,
317             "y": 60.0
318           },
319           {
320             "x": 80.0,
321             "y": 10.0
322           }
323         ]
324       },
325       {
326         "pin1": {
327           "compName": "_submodelinterface",
328           "pinName": "A"
329         },
330         "pin2": {
331           "compName": "Splitter#0",
332           "pinName": "I"
333         },
334         "name": "unnamedWire#11",
335         "path": []
336       },
337       {
338         "pin1": {
339           "compName": "_submodelinterface",
340           "pinName": "CI"
341         },
342         "pin2": {
343           "compName": "halfadder#0",
344           "pinName": "B"
345         },
346         "name": "unnamedWire#12",
347         "path": [
348           {
349             "x": 10.0,
350             "y": 125.0
351           },
352           {
353             "x": 10.0,
354             "y": 135.0
355           }
356         ]
357       },
358       {
359         "pin1": {
360           "compName": "Splitter#1",
361           "pinName": "I"
362         },
363         "pin2": {
364           "compName": "_submodelinterface",
365           "pinName": "Y"
366         },
367         "name": "unnamedWire#13",
368         "path": []
369       },
370       {
371         "pin1": {
372           "compName": "halfadder#3",
373           "pinName": "Z"
374         },
375         "pin2": {
376           "compName": "_submodelinterface",
377           "pinName": "Z"
378         },
379         "name": "unnamedWire#14",
380         "path": [
381           {
382             "x": 10.0,
383             "y": 10.0
384           },
385           {
386             "x": 10.0,
387             "y": 25.0
388           }
389         ]
390       }
391     ],
392     "version": "0.1.1"
393   },
394   "symbolRendererSnippetID": "simpleRectangularLike",
395   "symbolRendererParams": {
396     "centerText": "Incrementer\n4 bit",
397     "centerTextHeight": 5.0,
398     "horizontalComponentCenter": 10.0,
399     "pinLabelHeight": 3.5,
400     "pinLabelMargin": 0.5
401   },
402   "outlineRendererSnippetID": "default",
403   "highLevelStateHandlerSnippetID": "default",
404   "version": "0.1.5"
405 }