pn2adg.cc: edge_name: allocate enough space for edge name
[ppn.git] / tests / inputs / wlan_dec_pn_adg.yaml
blob865d7633cf2ee3d9ffd2f0379bcfef62d9cf2da4
1 name: wlan_dec
2 context: '{  :  }'
3 iterator_map: '{ [c0, c1] -> [c0] }'
4 iterators: [c0]
5 all_iterators: [c0, c1]
6 nodes:
7 - name: ND_0
8   function:
9     name: 
10     in:
11     - {var: {access: '{ ND_0[i0] -> in_0ND_0[] }', type: int}, type: value}
12     out:
13     - {var: {access: '{ ND_0[i0] -> out_1ND_0[] }', type: int}, type: return}
14     domain:
15       bounds: '{ ND_0[0] }'
16   domain:
17     bounds: '{ ND_0[0] }'
18   schedule: '{ ND_0[0] -> [0, 0] }'
19   output_ports:
20   - name: ND_0OP_ED_6_0_V_1
21     node: ND_0
22     edge: ED_6
23     vars:
24     - {access: '{ ND_0[i0] -> out_1ND_0[] }', type: int}
25     domain:
26       bounds: '{ ND_0[0] }'
27   expressions:
28   - {name: in_0ND_0, expr: '{ ND_0[c0] -> [(0)] : c0 = 0 }'}
29 - name: ND_1
30   function:
31     name: radioFrontend
32     out:
33     - {var: {access: '{ ND_1[i0] -> out_0ND_1[] }', type: int}, type: reference}
34     domain:
35       bounds: '{ ND_1[i0] : i0 >= 1 }'
36   domain:
37     bounds: '{ ND_1[i0] : i0 >= 1 }'
38   schedule: '{ ND_1[i0] -> [i0, 0] : i0 >= 1 }'
39   output_ports:
40   - name: ND_1OP_ED_4_0_V_0
41     node: ND_1
42     edge: ED_4
43     vars:
44     - {access: '{ ND_1[i0] -> out_0ND_1[] }', type: int}
45     domain:
46       bounds: '{ ND_1[i0] : i0 >= 1 }'
47   - name: ND_1OP_ED_5_0_V_0
48     node: ND_1
49     edge: ED_5
50     vars:
51     - {access: '{ ND_1[i0] -> out_0ND_1[] }', type: int}
52     domain:
53       bounds: '{ ND_1[i0] : i0 >= 1 }'
54 - name: ND_2
55   function:
56     name: t
57     in:
58     - {var: {access: '{ ND_2[i0] -> in_0ND_2[] }', type: int}, type: value}
59     out:
60     - {var: {access: '{ ND_2[i0] -> out_1ND_2[] }', type: int}, type: return}
61     domain:
62       bounds: '{ ND_2[i0] : i0 >= 0 }'
63   domain:
64     bounds: '{ ND_2[i0] : i0 >= 0 }'
65   schedule: '{ ND_2[i0] -> [i0, 2] : i0 >= 0 }'
66   input_ports:
67   - name: ND_2IP_ED_6_0_V_0
68     node: ND_2
69     edge: ED_6
70     vars:
71     - {access: '{ [ND_2[i0] -> local[]] -> in_0ND_2[] }', type: int}
72     domain:
73       bounds: '{ [ND_2[0] -> local[]] }'
74   - name: ND_2IP_CED_11_0_V_0
75     node: ND_2
76     edge: CED_11
77     vars:
78     - {access: '{ [ND_2[i0] -> local[]] -> dc0_ND_2_b[] }', type: int}
79     - {access: '{ [ND_2[i0] -> local[]] -> dc0_ND_2_c0[] }', type: int}
80     domain:
81       bounds: '{ [ND_2[i0] -> local[]] : i0 >= 1 }'
82   - name: ND_2IP_CED_12_0_V_0
83     node: ND_2
84     edge: CED_12
85     vars:
86     - {access: '{ [ND_2[i0] -> local[]] -> dc1_ND_2_b[] }', type: int}
87     - {access: '{ [ND_2[i0] -> local[]] -> dc1_ND_2_c0[] }', type: int}
88     domain:
89       bounds: '{ [ND_2[i0] -> local[]] : i0 >= 1 }'
90   - name: ND_2IP_ED_7_0_V_2
91     node: ND_2
92     edge: ED_7
93     vars:
94     - {access: '{ [[ND_2[i0] -> [i1, i2]] -> local[]] -> in_2ND_2[] }', type: int}
95     domain:
96       bounds: '{ [[ND_2[i0] -> [1, -1 + i0]] -> local[]] : i0 >= 1 }'
97       filters:
98       - {access: '[dc0_ND_2_b, dc0_ND_2_c0] -> { ND_2[i0] -> dc0_ND_2_b[] }'}
99       - {access: '[dc0_ND_2_b, dc0_ND_2_c0] -> { ND_2[i0] -> dc0_ND_2_c0[] }'}
100   - name: ND_2IP_ED_8_0_V_0
101     node: ND_2
102     edge: ED_8
103     vars:
104     - {access: '{ [[ND_2[i0] -> [i1, i2]] -> local[]] -> in_0ND_2[] }', type: int}
105     domain:
106       bounds: '{ [[ND_2[i0] -> [1, -1 + i0]] -> local[]] : i0 >= 1 }'
107       filters:
108       - {access: '[dc1_ND_2_b, dc1_ND_2_c0] -> { ND_2[i0] -> dc1_ND_2_b[] }'}
109       - {access: '[dc1_ND_2_b, dc1_ND_2_c0] -> { ND_2[i0] -> dc1_ND_2_c0[] }'}
110   output_ports:
111   - name: ND_2OP_ED_0_0_V_1
112     node: ND_2
113     edge: ED_0
114     vars:
115     - {access: '{ ND_2[i0] -> out_1ND_2[] }', type: int}
116     domain:
117       bounds: '{ ND_2[i0] : i0 >= 0 }'
118   - name: ND_2OP_ED_1_0_V_1
119     node: ND_2
120     edge: ED_1
121     vars:
122     - {access: '{ ND_2[i0] -> out_1ND_2[] }', type: int}
123     domain:
124       bounds: '{ ND_2[i0] : i0 >= 0 }'
125   - name: ND_2OP_ED_2_0_V_1
126     node: ND_2
127     edge: ED_2
128     vars:
129     - {access: '{ ND_2[i0] -> out_1ND_2[] }', type: int}
130     domain:
131       bounds: '{ ND_2[i0] : i0 >= 0 }'
132   - name: ND_2OP_ED_3_0_V_1
133     node: ND_2
134     edge: ED_3
135     vars:
136     - {access: '{ ND_2[i0] -> out_1ND_2[] }', type: int}
137     domain:
138       bounds: '{ ND_2[i0] : i0 >= 0 }'
139   gates:
140   - name: ND_2ID_0
141     node: ND_2
142     in: {access: '[dc1_ND_2_b, dc1_ND_2_c0, dc0_ND_2_b, dc0_ND_2_c0] -> { ND_2[i0]
143         -> in_2ND_2[] }', type: int}
144     out: {access: '[dc1_ND_2_b, dc1_ND_2_c0, dc0_ND_2_b, dc0_ND_2_c0] -> { ND_2[i0]
145         -> in_0ND_2[] }', type: int}
146     domain:
147       bounds: '{ [ND_2[i0] -> [0, i2, 1, -1 + i0]] : i0 >= 1 }'
148       filters:
149       - {access: '[dc1_ND_2_b, dc1_ND_2_c0, dc0_ND_2_b, dc0_ND_2_c0] -> { ND_2[i0]
150           -> dc1_ND_2_b[] }'}
151       - {access: '[dc1_ND_2_b, dc1_ND_2_c0, dc0_ND_2_b, dc0_ND_2_c0] -> { ND_2[i0]
152           -> dc1_ND_2_c0[] }'}
153       - {access: '[dc1_ND_2_b, dc1_ND_2_c0, dc0_ND_2_b, dc0_ND_2_c0] -> { ND_2[i0]
154           -> dc0_ND_2_b[] }'}
155       - {access: '[dc1_ND_2_b, dc1_ND_2_c0, dc0_ND_2_b, dc0_ND_2_c0] -> { ND_2[i0]
156           -> dc0_ND_2_c0[] }'}
157   - name: ND_2ID_1
158     node: ND_2
159     in: {access: '[dc1_ND_2_b, dc1_ND_2_c0, dc0_ND_2_b, dc0_ND_2_c0] -> { ND_2[i0]
160         -> in_2ND_2[] }', type: int}
161     out: {access: '[dc1_ND_2_b, dc1_ND_2_c0, dc0_ND_2_b, dc0_ND_2_c0] -> { ND_2[i0]
162         -> in_0ND_2[] }', type: int}
163     domain:
164       bounds: '{ [ND_2[i0] -> [1, i2, 1, -1 + i0]] : i2 <= -2 + i0 and i2 >= 0 }'
165       filters:
166       - {access: '[dc1_ND_2_b, dc1_ND_2_c0, dc0_ND_2_b, dc0_ND_2_c0] -> { ND_2[i0]
167           -> dc1_ND_2_b[] }'}
168       - {access: '[dc1_ND_2_b, dc1_ND_2_c0, dc0_ND_2_b, dc0_ND_2_c0] -> { ND_2[i0]
169           -> dc1_ND_2_c0[] }'}
170       - {access: '[dc1_ND_2_b, dc1_ND_2_c0, dc0_ND_2_b, dc0_ND_2_c0] -> { ND_2[i0]
171           -> dc0_ND_2_b[] }'}
172       - {access: '[dc1_ND_2_b, dc1_ND_2_c0, dc0_ND_2_b, dc0_ND_2_c0] -> { ND_2[i0]
173           -> dc0_ND_2_c0[] }'}
174 - name: ND_3
175   function:
176     name: detect
177     in:
178     - {var: {access: '{ [ND_3[i0] -> [i1]] -> in_1ND_3[] }', type: int}, type: reference}
179     out:
180     - {var: {access: '{ [ND_3[i0] -> [i1]] -> out_2ND_3[] }', type: int}, type: reference}
181     ctrl:
182     - {name: dc0_ND_3_b, expr: '{ ND_3[c0] -> [(1)] }'}
183     - {name: dc0_ND_3_c0, expr: '{ ND_3[c0] -> [(-1 + c0)] }'}
184     domain:
185       bounds: '{ [ND_3[i0] -> [1]] : i0 >= 1 }'
186       filters:
187       - {access: '{ [ND_3[i0] -> [i1]] -> in_0ND_3[] }', type: int}
188   domain:
189     bounds: '{ ND_3[i0] : i0 >= 1 }'
190   schedule: '{ ND_3[i0] -> [i0, 1] : i0 >= 1 }'
191   input_ports:
192   - name: ND_3IP_ED_0_0_V_0
193     node: ND_3
194     edge: ED_0
195     vars:
196     - {access: '{ [ND_3[i0] -> local[]] -> in_0ND_3[] }', type: int}
197     domain:
198       bounds: '{ [ND_3[i0] -> local[]] : i0 >= 1 }'
199   - name: ND_3IP_ED_4_0_V_1
200     node: ND_3
201     edge: ED_4
202     vars:
203     - {access: '{ [ND_3[i0] -> local[]] -> in_1ND_3[] }', type: int}
204     domain:
205       bounds: '{ [ND_3[i0] -> local[]] : i0 >= 1 }'
206   output_ports:
207   - name: ND_3OP_ED_7_0_V_2
208     node: ND_3
209     edge: ED_7
210     vars:
211     - {access: '{ [ND_3[i0] -> [i1, i2]] -> out_2ND_3[] }', type: int}
212     domain:
213       bounds: '{ [ND_3[i0] -> [1, -1 + i0]] : i0 >= 1 }'
214       filters:
215       - {access: '[dc0_ND_3_b, dc0_ND_3_c0] -> { ND_3[i0] -> dc0_ND_3_b[] }'}
216       - {access: '[dc0_ND_3_b, dc0_ND_3_c0] -> { ND_3[i0] -> dc0_ND_3_c0[] }'}
217   - name: ND_3OP_CED_11_0_V_2
218     node: ND_3
219     edge: CED_11
220     vars:
221     - {access: '{ ND_3[i0] -> dc0_ND_3_b[] }', type: int}
222     - {access: '{ ND_3[i0] -> dc0_ND_3_c0[] }', type: int}
223     domain:
224       bounds: '{ ND_3[i0] : i0 >= 1 }'
225 - name: ND_4
226   function:
227     name: decode
228     in:
229     - {var: {access: '{ [ND_4[i0] -> [i1]] -> in_1ND_4[] }', type: int}, type: reference}
230     out:
231     - {var: {access: '{ [ND_4[i0] -> [i1]] -> out_2ND_4[] }', type: int}, type: reference}
232     - {var: {access: '{ [ND_4[i0] -> [i1]] -> out_3ND_4[] }', type: int}, type: reference}
233     ctrl:
234     - {name: dc0_ND_4_b, expr: '{ ND_4[c0] -> [(1)] }'}
235     - {name: dc0_ND_4_c0, expr: '{ ND_4[c0] -> [(-1 + c0)] }'}
236     domain:
237       bounds: '{ [ND_4[i0] -> [0]] : i0 >= 1 }'
238       filters:
239       - {access: '{ [ND_4[i0] -> [i1]] -> in_0ND_4[] }', type: int}
240   domain:
241     bounds: '{ ND_4[i0] : i0 >= 1 }'
242   schedule: '{ ND_4[i0] -> [i0, 1] : i0 >= 1 }'
243   input_ports:
244   - name: ND_4IP_ED_1_0_V_0
245     node: ND_4
246     edge: ED_1
247     vars:
248     - {access: '{ [ND_4[i0] -> local[]] -> in_0ND_4[] }', type: int}
249     domain:
250       bounds: '{ [ND_4[i0] -> local[]] : i0 >= 1 }'
251   - name: ND_4IP_ED_5_0_V_1
252     node: ND_4
253     edge: ED_5
254     vars:
255     - {access: '{ [ND_4[i0] -> local[]] -> in_1ND_4[] }', type: int}
256     domain:
257       bounds: '{ [ND_4[i0] -> local[]] : i0 >= 1 }'
258   output_ports:
259   - name: ND_4OP_ED_8_0_V_2
260     node: ND_4
261     edge: ED_8
262     vars:
263     - {access: '{ [ND_4[i0] -> [i1, i2]] -> out_2ND_4[] }', type: int}
264     domain:
265       bounds: '{ [ND_4[i0] -> [1, -1 + i0]] : i0 >= 1 }'
266       filters:
267       - {access: '[dc0_ND_4_b, dc0_ND_4_c0] -> { ND_4[i0] -> dc0_ND_4_b[] }'}
268       - {access: '[dc0_ND_4_b, dc0_ND_4_c0] -> { ND_4[i0] -> dc0_ND_4_c0[] }'}
269   - name: ND_4OP_ED_9_0_V_3
270     node: ND_4
271     edge: ED_9
272     vars:
273     - {access: '{ [ND_4[i0] -> [i1]] -> out_3ND_4[] }', type: int}
274     domain:
275       bounds: '{ [ND_4[i0] -> [0]] : i0 >= 1 }'
276       filters:
277       - {access: '{ [ND_4[i0] -> [i1]] -> in_0ND_4[] }', type: int}
278   - name: ND_4OP_CED_12_0_V_2
279     node: ND_4
280     edge: CED_12
281     vars:
282     - {access: '{ ND_4[i0] -> dc0_ND_4_b[] }', type: int}
283     - {access: '{ ND_4[i0] -> dc0_ND_4_c0[] }', type: int}
284     domain:
285       bounds: '{ ND_4[i0] : i0 >= 1 }'
286 - name: ND_5
287   function:
288     name: processSample0
289     in:
290     - {var: {access: '{ [ND_5[i0] -> [i1]] -> in_1ND_5[] }', type: int}, type: reference}
291     out:
292     - {var: {access: '{ [ND_5[i0] -> [i1]] -> out_2ND_5[] }', type: int}, type: reference}
293     domain:
294       bounds: '{ [ND_5[i0] -> [0]] : i0 >= 1 }'
295       filters:
296       - {access: '{ [ND_5[i0] -> [i1]] -> in_0ND_5[] }', type: int}
297   domain:
298     bounds: '{ ND_5[i0] : i0 >= 1 }'
299   schedule: '{ ND_5[i0] -> [i0, 2] : i0 >= 1 }'
300   input_ports:
301   - name: ND_5IP_ED_2_0_V_0
302     node: ND_5
303     edge: ED_2
304     vars:
305     - {access: '{ [ND_5[i0] -> local[]] -> in_0ND_5[] }', type: int}
306     domain:
307       bounds: '{ [ND_5[i0] -> local[]] : i0 >= 1 }'
308   - name: ND_5IP_ED_9_0_V_1
309     node: ND_5
310     edge: ED_9
311     vars:
312     - {access: '{ [[ND_5[i0] -> [i1]] -> local[]] -> in_1ND_5[] }', type: int}
313     domain:
314       bounds: '{ [[ND_5[i0] -> [0]] -> local[]] : i0 >= 1 }'
315       filters:
316       - {access: '{ [ND_5[i0] -> [i1]] -> in_0ND_5[] }', type: int}
317   output_ports:
318   - name: ND_5OP_ED_10_0_V_2
319     node: ND_5
320     edge: ED_10
321     vars:
322     - {access: '{ [ND_5[i0] -> [i1]] -> out_2ND_5[] }', type: int}
323     domain:
324       bounds: '{ [ND_5[i0] -> [0]] : i0 >= 1 }'
325       filters:
326       - {access: '{ [ND_5[i0] -> [i1]] -> in_0ND_5[] }', type: int}
327 - name: ND_6
328   function:
329     name: processSample1
330     in:
331     - {var: {access: '{ [ND_6[i0] -> [i1]] -> in_1ND_6[] }', type: int}, type: reference}
332     domain:
333       bounds: '{ [ND_6[i0] -> [0]] : i0 >= 1 }'
334       filters:
335       - {access: '{ [ND_6[i0] -> [i1]] -> in_0ND_6[] }', type: int}
336   domain:
337     bounds: '{ ND_6[i0] : i0 >= 1 }'
338   schedule: '{ ND_6[i0] -> [i0, 3] : i0 >= 1 }'
339   input_ports:
340   - name: ND_6IP_ED_3_0_V_0
341     node: ND_6
342     edge: ED_3
343     vars:
344     - {access: '{ [ND_6[i0] -> local[]] -> in_0ND_6[] }', type: int}
345     domain:
346       bounds: '{ [ND_6[i0] -> local[]] : i0 >= 1 }'
347   - name: ND_6IP_ED_10_0_V_1
348     node: ND_6
349     edge: ED_10
350     vars:
351     - {access: '{ [[ND_6[i0] -> [i1]] -> local[]] -> in_1ND_6[] }', type: int}
352     domain:
353       bounds: '{ [[ND_6[i0] -> [0]] -> local[]] : i0 >= 1 }'
354       filters:
355       - {access: '{ [ND_6[i0] -> [i1]] -> in_0ND_6[] }', type: int}
356 edges:
357 - name: ED_0
358   type: fifo
359   map: '{ lifted[ND_3[i0] -> local[]] -> ND_2[(-1 + i0)] }'
360   from_node: ND_2
361   from_port: ND_2OP_ED_0_0_V_1
362   to_node: ND_3
363   to_port: ND_3IP_ED_0_0_V_0
364   value_size: 1
365 - name: ED_1
366   type: fifo
367   map: '{ lifted[ND_4[i0] -> local[]] -> ND_2[(-1 + i0)] }'
368   from_node: ND_2
369   from_port: ND_2OP_ED_1_0_V_1
370   to_node: ND_4
371   to_port: ND_4IP_ED_1_0_V_0
372   value_size: 1
373 - name: ED_2
374   type: fifo
375   map: '{ lifted[ND_5[i0] -> local[]] -> ND_2[(-1 + i0)] }'
376   from_node: ND_2
377   from_port: ND_2OP_ED_2_0_V_1
378   to_node: ND_5
379   to_port: ND_5IP_ED_2_0_V_0
380   value_size: 1
381 - name: ED_3
382   type: fifo
383   map: '{ lifted[ND_6[i0] -> local[]] -> ND_2[(-1 + i0)] }'
384   from_node: ND_2
385   from_port: ND_2OP_ED_3_0_V_1
386   to_node: ND_6
387   to_port: ND_6IP_ED_3_0_V_0
388   value_size: 2
389 - name: ED_4
390   type: fifo
391   map: '{ lifted[ND_3[i0] -> local[]] -> ND_1[(i0)] }'
392   from_node: ND_1
393   from_port: ND_1OP_ED_4_0_V_0
394   to_node: ND_3
395   to_port: ND_3IP_ED_4_0_V_1
396   value_size: 1
397 - name: ED_5
398   type: fifo
399   map: '{ lifted[ND_4[i0] -> local[]] -> ND_1[(i0)] }'
400   from_node: ND_1
401   from_port: ND_1OP_ED_5_0_V_0
402   to_node: ND_4
403   to_port: ND_4IP_ED_5_0_V_1
404   value_size: 1
405 - name: ED_6
406   type: fifo
407   map: '{ lifted[ND_2[i0] -> local[]] -> ND_0[(0)] }'
408   from_node: ND_0
409   from_port: ND_0OP_ED_6_0_V_1
410   to_node: ND_2
411   to_port: ND_2IP_ED_6_0_V_0
412   value_size: 1
413 - name: ED_7
414   type: fifo
415   map: '{ lifted[[ND_2[i0] -> [i1, i2]] -> local[]] -> ND_3[(i0)] }'
416   from_node: ND_3
417   from_port: ND_3OP_ED_7_0_V_2
418   to_node: ND_2
419   to_port: ND_2IP_ED_7_0_V_2
420   value_size: 1
421 - name: ED_8
422   type: fifo
423   map: '{ lifted[[ND_2[i0] -> [i1, i2]] -> local[]] -> ND_4[(i0)] }'
424   from_node: ND_4
425   from_port: ND_4OP_ED_8_0_V_2
426   to_node: ND_2
427   to_port: ND_2IP_ED_8_0_V_0
428   value_size: 1
429 - name: ED_9
430   type: fifo
431   map: '{ lifted[[ND_5[i0] -> [i1]] -> local[]] -> ND_4[(i0)] }'
432   from_node: ND_4
433   from_port: ND_4OP_ED_9_0_V_3
434   to_node: ND_5
435   to_port: ND_5IP_ED_9_0_V_1
436   value_size: 1
437 - name: ED_10
438   type: fifo
439   map: '{ lifted[[ND_6[i0] -> [i1]] -> local[]] -> ND_5[(i0)] }'
440   from_node: ND_5
441   from_port: ND_5OP_ED_10_0_V_2
442   to_node: ND_6
443   to_port: ND_6IP_ED_10_0_V_1
444   value_size: 1
445 - name: CED_11
446   type: fifo
447   map: '{ lifted[ND_2[i0] -> local[]] -> ND_3[(i0)] }'
448   from_node: ND_3
449   from_port: ND_3OP_CED_11_0_V_2
450   to_node: ND_2
451   to_port: ND_2IP_CED_11_0_V_0
452   value_size: 1
453 - name: CED_12
454   type: fifo
455   map: '{ lifted[ND_2[i0] -> local[]] -> ND_4[(i0)] }'
456   from_node: ND_4
457   from_port: ND_4OP_CED_12_0_V_2
458   to_node: ND_2
459   to_port: ND_2IP_CED_12_0_V_0
460   value_size: 1