Project

General

Profile

Statistics
| Branch: | Tag: | Revision:

lustrec-tests / vhdl_json / vhdl_files / 2-exportOK / ghdl / ghdl / testsuite / gna / issue301 / src / reorder.json @ 3fd18385

History | View | Annotate | Download (41.1 KB)

1
{
2
  "DESIGN_FILE" : {
3
    "design_units" : [{
4
      "contexts" : [["LIBRARY_CLAUSE", [["IDENTIFIER", "ieee"]]], ["USE_CLAUSE", [["SELECTED_NAME", [["SIMPLE_NAME", "ieee"], ["SIMPLE_NAME", "std_logic_1164"]]]]], ["USE_CLAUSE", [["SELECTED_NAME", [["SIMPLE_NAME", "ieee"], ["SIMPLE_NAME", "numeric_std"]]]]], ["LIBRARY_CLAUSE", [["IDENTIFIER", "dec_viterbi"]]], ["USE_CLAUSE", [["SELECTED_NAME", [["SIMPLE_NAME", "dec_viterbi"], ["SIMPLE_NAME", "pkg_param"]]]]], ["USE_CLAUSE", [["SELECTED_NAME", [["SIMPLE_NAME", "dec_viterbi"], ["SIMPLE_NAME", "pkg_param_derived"]]]]], ["USE_CLAUSE", [["SELECTED_NAME", [["SIMPLE_NAME", "dec_viterbi"], ["SIMPLE_NAME", "pkg_types"]]]]]], "library" : ["ENTITY_DECLARATION", {
5
        "name" : ["IDENTIFIER", "reorder"], "ports" : [{
6
          "names" : [["IDENTIFIER", "clk"]], "mode" : ["in"], "typ" : {
7
            "name" : ["SIMPLE_NAME", "std_logic"]}
8
          }
9
        , {
10
          "names" : [["IDENTIFIER", "rst"]], "mode" : ["in"], "typ" : {
11
            "name" : ["SIMPLE_NAME", "std_logic"]}
12
          }
13
        , {
14
          "names" : [["IDENTIFIER", "s_axis_input_tvalid"]], "mode" : ["in"], "typ" : {
15
            "name" : ["SIMPLE_NAME", "std_logic"]}
16
          }
17
        , {
18
          "names" : [["IDENTIFIER", "s_axis_input_tdata"]], "mode" : ["in"], "typ" : {
19
            "name" : ["SIMPLE_NAME", "std_logic"]}
20
          }
21
        , {
22
          "names" : [["IDENTIFIER", "s_axis_input_tlast"]], "mode" : ["in"], "typ" : {
23
            "name" : ["SIMPLE_NAME", "std_logic"]}
24
          }
25
        , {
26
          "names" : [["IDENTIFIER", "s_axis_input_last_tuser"]], "mode" : ["in"], "typ" : {
27
            "name" : ["SIMPLE_NAME", "std_logic"]}
28
          }
29
        , {
30
          "names" : [["IDENTIFIER", "s_axis_input_tready"]], "mode" : ["out"], "typ" : {
31
            "name" : ["SIMPLE_NAME", "std_logic"]}
32
          }
33
        , {
34
          "names" : [["IDENTIFIER", "m_axis_output_tvalid"]], "mode" : ["out"], "typ" : {
35
            "name" : ["SIMPLE_NAME", "std_logic"]}
36
          }
37
        , {
38
          "names" : [["IDENTIFIER", "m_axis_output_tdata"]], "mode" : ["out"], "typ" : {
39
            "name" : ["SIMPLE_NAME", "std_logic"]}
40
          }
41
        , {
42
          "names" : [["IDENTIFIER", "m_axis_output_tlast"]], "mode" : ["out"], "typ" : {
43
            "name" : ["SIMPLE_NAME", "std_logic"]}
44
          }
45
        , {
46
          "names" : [["IDENTIFIER", "m_axis_output_last_tuser"]], "mode" : ["out"], "typ" : {
47
            "name" : ["SIMPLE_NAME", "std_logic"]}
48
          }
49
        , {
50
          "names" : [["IDENTIFIER", "m_axis_output_tready"]], "mode" : ["in"], "typ" : {
51
            "name" : ["SIMPLE_NAME", "std_logic"]}
52
          }
53
        ], "ENTITY_DECLARATIVE_PART" : [], "ENTITY_STATEMENT_PART" : []}
54
      ]}
55
    , {
56
      "contexts" : [], "library" : ["ARCHITECTURE_BODY", {
57
        "name" : ["IDENTIFIER", "rtl"], "entity" : ["IDENTIFIER", "reorder"], "ARCHITECTURE_DECLARATIVE_PART" : [{
58
          "declaration" : ["SIGNAL_DECLARATION", {
59
            "names" : [["IDENTIFIER", "buffer_sreg"]], "typ" : {
60
              "name" : ["SIMPLE_NAME", "unsigned"], "const" : ["INDEX_CONSTRAINT", {
61
                "ranges" : [["RANGE_WITH_DIRECTION", {
62
                  "direction" : "downto", "from" : ["EXPRESSION", {
63
                    "args" : [["EXPRESSION", {
64
                      "id" : "-", "args" : [["EXPRESSION", {
65
                        "args" : [["CALL", ["SIMPLE_NAME", "MAX_WINDOW_LENGTH"]]]}
66
                      ], ["EXPRESSION", {
67
                        "args" : [["CONSTANT_VALUE", {
68
                          "value" : ["CST_LITERAL", "1"]}
69
                        ]]}
70
                      ]]}
71
                    ]]}
72
                  ], "_to" : ["EXPRESSION", {
73
                    "args" : [["EXPRESSION", {
74
                      "args" : [["CONSTANT_VALUE", {
75
                        "value" : ["CST_LITERAL", "0"]}
76
                      ]]}
77
                    ]]}
78
                  ]}
79
                ]]}
80
              ]}
81
            }
82
          ]}
83
        , {
84
          "declaration" : ["SIGNAL_DECLARATION", {
85
            "names" : [["IDENTIFIER", "buffer_cnt"]], "typ" : {
86
              "name" : ["SIMPLE_NAME", "unsigned"], "const" : ["INDEX_CONSTRAINT", {
87
                "ranges" : [["RANGE_WITH_DIRECTION", {
88
                  "direction" : "downto", "from" : ["EXPRESSION", {
89
                    "args" : [["EXPRESSION", {
90
                      "id" : "-", "args" : [["EXPRESSION", {
91
                        "args" : [["CALL", ["SIMPLE_NAME", "BW_MAX_WINDOW_LENGTH"]]]}
92
                      ], ["EXPRESSION", {
93
                        "args" : [["CONSTANT_VALUE", {
94
                          "value" : ["CST_LITERAL", "1"]}
95
                        ]]}
96
                      ]]}
97
                    ]]}
98
                  ], "_to" : ["EXPRESSION", {
99
                    "args" : [["EXPRESSION", {
100
                      "args" : [["CONSTANT_VALUE", {
101
                        "value" : ["CST_LITERAL", "0"]}
102
                      ]]}
103
                    ]]}
104
                  ]}
105
                ]]}
106
              ]}
107
            }
108
          ]}
109
        , {
110
          "declaration" : ["SIGNAL_DECLARATION", {
111
            "names" : [["IDENTIFIER", "buffer_end"]], "typ" : {
112
              "name" : ["SIMPLE_NAME", "integer"], "const" : ["RANGE_CONSTRAINT", {
113
                "range" : ["RANGE_WITH_DIRECTION", {
114
                  "direction" : "downto", "from" : ["EXPRESSION", {
115
                    "args" : [["EXPRESSION", {
116
                      "args" : [["CALL", ["SIMPLE_NAME", "ENCODER_MEMORY_DEPTH"]]]}
117
                    ]]}
118
                  ], "_to" : ["EXPRESSION", {
119
                    "args" : [["EXPRESSION", {
120
                      "args" : [["CONSTANT_VALUE", {
121
                        "value" : ["CST_LITERAL", "0"]}
122
                      ]]}
123
                    ]]}
124
                  ]}
125
                ]}
126
              ]}
127
            }
128
          ]}
129
        , {
130
          "declaration" : ["SIGNAL_DECLARATION", {
131
            "names" : [["IDENTIFIER", "send_output"], ["IDENTIFIER", "last_window"]], "typ" : {
132
              "name" : ["SIMPLE_NAME", "boolean"]}
133
            }
134
          ]}
135
        , {
136
          "declaration" : ["SIGNAL_DECLARATION", {
137
            "names" : [["IDENTIFIER", "s_axis_input_tready_int"]], "typ" : {
138
              "name" : ["SIMPLE_NAME", "std_logic"]}
139
            }
140
          ]}
141
        ], "ARCHITECTURE_STATEMENT_PART" : [["CONDITIONAL_SIGNAL_ASSIGNMENT", {
142
          "postponed" : false, "lhs" : ["SIMPLE_NAME", "s_axis_input_tready"], "rhs" : [{
143
            "expr" : [{
144
              "value" : ["EXPRESSION", {
145
                "args" : [["EXPRESSION", {
146
                  "args" : [["EXPRESSION", {
147
                    "args" : [["EXPRESSION", {
148
                      "args" : [["CALL", ["SIMPLE_NAME", "s_axis_input_tready_int"]]]}
149
                    ]]}
150
                  ]]}
151
                ]]}
152
              ]}
153
            ]}
154
          ]}
155
        ], ["CONDITIONAL_SIGNAL_ASSIGNMENT", {
156
          "postponed" : false, "lhs" : ["SIMPLE_NAME", "s_axis_input_tready_int"], "rhs" : [{
157
            "expr" : [{
158
              "value" : ["EXPRESSION", {
159
                "args" : [["EXPRESSION", {
160
                  "args" : [["EXPRESSION", {
161
                    "args" : [["EXPRESSION", {
162
                      "args" : [["CONSTANT_VALUE", {
163
                        "value" : ["CST_LITERAL", "'1'"]}
164
                      ]]}
165
                    ]]}
166
                  ]]}
167
                ]]}
168
              ]}
169
            ], "cond" : ["EXPRESSION", {
170
              "args" : [["EXPRESSION", {
171
                "args" : [["EXPRESSION", {
172
                  "args" : [["EXPRESSION", {
173
                    "id" : "not", "args" : [["EXPRESSION", {
174
                      "args" : [["EXPRESSION", {
175
                        "args" : [["EXPRESSION", {
176
                          "args" : [["EXPRESSION", {
177
                            "args" : [["CALL", ["SIMPLE_NAME", "send_output"]]]}
178
                          ]]}
179
                        ]]}
180
                      ]]}
181
                    ]]}
182
                  ]]}
183
                ]]}
184
              ]]}
185
            ]}
186
          , {
187
            "expr" : [{
188
              "value" : ["EXPRESSION", {
189
                "args" : [["EXPRESSION", {
190
                  "args" : [["EXPRESSION", {
191
                    "args" : [["EXPRESSION", {
192
                      "args" : [["CONSTANT_VALUE", {
193
                        "value" : ["CST_LITERAL", "'0'"]}
194
                      ]]}
195
                    ]]}
196
                  ]]}
197
                ]]}
198
              ]}
199
            ]}
200
          ]}
201
        ], ["CONDITIONAL_SIGNAL_ASSIGNMENT", {
202
          "postponed" : false, "lhs" : ["SIMPLE_NAME", "m_axis_output_tvalid"], "rhs" : [{
203
            "expr" : [{
204
              "value" : ["EXPRESSION", {
205
                "args" : [["EXPRESSION", {
206
                  "args" : [["EXPRESSION", {
207
                    "args" : [["EXPRESSION", {
208
                      "args" : [["CONSTANT_VALUE", {
209
                        "value" : ["CST_LITERAL", "'1'"]}
210
                      ]]}
211
                    ]]}
212
                  ]]}
213
                ]]}
214
              ]}
215
            ], "cond" : ["EXPRESSION", {
216
              "args" : [["EXPRESSION", {
217
                "args" : [["EXPRESSION", {
218
                  "args" : [["EXPRESSION", {
219
                    "args" : [["CALL", ["SIMPLE_NAME", "send_output"]]]}
220
                  ]]}
221
                ]]}
222
              ]]}
223
            ]}
224
          , {
225
            "expr" : [{
226
              "value" : ["EXPRESSION", {
227
                "args" : [["EXPRESSION", {
228
                  "args" : [["EXPRESSION", {
229
                    "args" : [["EXPRESSION", {
230
                      "args" : [["CONSTANT_VALUE", {
231
                        "value" : ["CST_LITERAL", "'0'"]}
232
                      ]]}
233
                    ]]}
234
                  ]]}
235
                ]]}
236
              ]}
237
            ]}
238
          ]}
239
        ], ["CONDITIONAL_SIGNAL_ASSIGNMENT", {
240
          "postponed" : false, "lhs" : ["SIMPLE_NAME", "m_axis_output_tdata"], "rhs" : [{
241
            "expr" : [{
242
              "value" : ["EXPRESSION", {
243
                "args" : [["EXPRESSION", {
244
                  "args" : [["EXPRESSION", {
245
                    "args" : [["EXPRESSION", {
246
                      "args" : [["CALL", ["INDEXED_NAME", {
247
                        "id" : ["SIMPLE_NAME", "buffer_sreg"], "exprs" : [["EXPRESSION", {
248
                          "args" : [["EXPRESSION", {
249
                            "args" : [["EXPRESSION", {
250
                              "args" : [["EXPRESSION", {
251
                                "args" : [["CONSTANT_VALUE", {
252
                                  "value" : ["CST_LITERAL", "0"]}
253
                                ]]}
254
                              ]]}
255
                            ]]}
256
                          ]]}
257
                        ]]}
258
                      ]]]}
259
                    ]]}
260
                  ]]}
261
                ]]}
262
              ]}
263
            ]}
264
          ]}
265
        ], ["CONDITIONAL_SIGNAL_ASSIGNMENT", {
266
          "postponed" : false, "lhs" : ["SIMPLE_NAME", "m_axis_output_tlast"], "rhs" : [{
267
            "expr" : [{
268
              "value" : ["EXPRESSION", {
269
                "args" : [["EXPRESSION", {
270
                  "args" : [["EXPRESSION", {
271
                    "args" : [["EXPRESSION", {
272
                      "args" : [["CONSTANT_VALUE", {
273
                        "value" : ["CST_LITERAL", "'1'"]}
274
                      ]]}
275
                    ]]}
276
                  ]]}
277
                ]]}
278
              ]}
279
            ], "cond" : ["EXPRESSION", {
280
              "id" : "and", "args" : [["EXPRESSION", {
281
                "id" : "=", "args" : [["EXPRESSION", {
282
                  "args" : [["EXPRESSION", {
283
                    "args" : [["EXPRESSION", {
284
                      "args" : [["CALL", ["SIMPLE_NAME", "buffer_cnt"]]]}
285
                    ]]}
286
                  ]]}
287
                ], ["EXPRESSION", {
288
                  "args" : [["EXPRESSION", {
289
                    "args" : [["EXPRESSION", {
290
                      "args" : [["CALL", ["SIMPLE_NAME", "ENCODER_MEMORY_DEPTH"]]]}
291
                    ]]}
292
                  ]]}
293
                ]]}
294
              ], ["EXPRESSION", {
295
                "args" : [["EXPRESSION", {
296
                  "args" : [["EXPRESSION", {
297
                    "args" : [["EXPRESSION", {
298
                      "args" : [["CALL", ["SIMPLE_NAME", "last_window"]]]}
299
                    ]]}
300
                  ]]}
301
                ]]}
302
              ]]}
303
            ]}
304
          , {
305
            "expr" : [{
306
              "value" : ["EXPRESSION", {
307
                "args" : [["EXPRESSION", {
308
                  "args" : [["EXPRESSION", {
309
                    "args" : [["EXPRESSION", {
310
                      "args" : [["CONSTANT_VALUE", {
311
                        "value" : ["CST_LITERAL", "'0'"]}
312
                      ]]}
313
                    ]]}
314
                  ]]}
315
                ]]}
316
              ]}
317
            ]}
318
          ]}
319
        ], ["PROCESS_STATEMENT", {
320
          "id" : ["IDENTIFIER", "pr_reorder"], "active_sigs" : [["SIMPLE_NAME", "clk"]], "PROCESS_STATEMENT_PART" : [["IF_STATEMENT", {
321
            "if_cases" : [{
322
              "if_cond" : ["EXPRESSION", {
323
                "args" : [["EXPRESSION", {
324
                  "args" : [["EXPRESSION", {
325
                    "args" : [["EXPRESSION", {
326
                      "args" : [["CALL", ["INDEXED_NAME", {
327
                        "id" : ["SIMPLE_NAME", "rising_edge"], "exprs" : [["EXPRESSION", {
328
                          "args" : [["EXPRESSION", {
329
                            "args" : [["EXPRESSION", {
330
                              "args" : [["EXPRESSION", {
331
                                "args" : [["CALL", ["SIMPLE_NAME", "clk"]]]}
332
                              ]]}
333
                            ]]}
334
                          ]]}
335
                        ]]}
336
                      ]]]}
337
                    ]]}
338
                  ]]}
339
                ]]}
340
              ], "if_block" : [["IF_STATEMENT", {
341
                "if_cases" : [{
342
                  "if_cond" : ["EXPRESSION", {
343
                    "id" : "=", "args" : [["EXPRESSION", {
344
                      "args" : [["EXPRESSION", {
345
                        "args" : [["EXPRESSION", {
346
                          "args" : [["CALL", ["SIMPLE_NAME", "rst"]]]}
347
                        ]]}
348
                      ]]}
349
                    ], ["EXPRESSION", {
350
                      "args" : [["EXPRESSION", {
351
                        "args" : [["EXPRESSION", {
352
                          "args" : [["CONSTANT_VALUE", {
353
                            "value" : ["CST_LITERAL", "'1'"]}
354
                          ]]}
355
                        ]]}
356
                      ]]}
357
                    ]]}
358
                  ], "if_block" : [["SIGNAL_ASSIGNMENT_STATEMENT", {
359
                    "lhs" : ["SIMPLE_NAME", "buffer_sreg"], "rhs" : [{
360
                      "value" : ["EXPRESSION", {
361
                        "args" : [["EXPRESSION", {
362
                          "args" : [["EXPRESSION", {
363
                            "args" : [["EXPRESSION", {
364
                              "args" : [["AGGREGATE", {
365
                                "elems" : [{
366
                                  "choices" : [["OTHERS"]], "expr" : ["EXPRESSION", {
367
                                    "args" : [["EXPRESSION", {
368
                                      "args" : [["EXPRESSION", {
369
                                        "args" : [["EXPRESSION", {
370
                                          "args" : [["CONSTANT_VALUE", {
371
                                            "value" : ["CST_LITERAL", "'0'"]}
372
                                          ]]}
373
                                        ]]}
374
                                      ]]}
375
                                    ]]}
376
                                  ]}
377
                                ]}
378
                              ]]}
379
                            ]]}
380
                          ]]}
381
                        ]]}
382
                      ]}
383
                    ]}
384
                  ], ["SIGNAL_ASSIGNMENT_STATEMENT", {
385
                    "lhs" : ["SIMPLE_NAME", "buffer_cnt"], "rhs" : [{
386
                      "value" : ["EXPRESSION", {
387
                        "args" : [["EXPRESSION", {
388
                          "args" : [["EXPRESSION", {
389
                            "args" : [["EXPRESSION", {
390
                              "args" : [["AGGREGATE", {
391
                                "elems" : [{
392
                                  "choices" : [["OTHERS"]], "expr" : ["EXPRESSION", {
393
                                    "args" : [["EXPRESSION", {
394
                                      "args" : [["EXPRESSION", {
395
                                        "args" : [["EXPRESSION", {
396
                                          "args" : [["CONSTANT_VALUE", {
397
                                            "value" : ["CST_LITERAL", "'0'"]}
398
                                          ]]}
399
                                        ]]}
400
                                      ]]}
401
                                    ]]}
402
                                  ]}
403
                                ]}
404
                              ]]}
405
                            ]]}
406
                          ]]}
407
                        ]]}
408
                      ]}
409
                    ]}
410
                  ], ["SIGNAL_ASSIGNMENT_STATEMENT", {
411
                    "lhs" : ["SIMPLE_NAME", "send_output"], "rhs" : [{
412
                      "value" : ["EXPRESSION", {
413
                        "args" : [["EXPRESSION", {
414
                          "args" : [["EXPRESSION", {
415
                            "args" : [["EXPRESSION", {
416
                              "args" : [["CALL", ["SIMPLE_NAME", "false"]]]}
417
                            ]]}
418
                          ]]}
419
                        ]]}
420
                      ]}
421
                    ]}
422
                  ], ["SIGNAL_ASSIGNMENT_STATEMENT", {
423
                    "lhs" : ["SIMPLE_NAME", "last_window"], "rhs" : [{
424
                      "value" : ["EXPRESSION", {
425
                        "args" : [["EXPRESSION", {
426
                          "args" : [["EXPRESSION", {
427
                            "args" : [["EXPRESSION", {
428
                              "args" : [["CALL", ["SIMPLE_NAME", "false"]]]}
429
                            ]]}
430
                          ]]}
431
                        ]]}
432
                      ]}
433
                    ]}
434
                  ], ["SIGNAL_ASSIGNMENT_STATEMENT", {
435
                    "lhs" : ["SIMPLE_NAME", "buffer_end"], "rhs" : [{
436
                      "value" : ["EXPRESSION", {
437
                        "args" : [["EXPRESSION", {
438
                          "args" : [["EXPRESSION", {
439
                            "args" : [["EXPRESSION", {
440
                              "args" : [["CONSTANT_VALUE", {
441
                                "value" : ["CST_LITERAL", "0"]}
442
                              ]]}
443
                            ]]}
444
                          ]]}
445
                        ]]}
446
                      ]}
447
                    ]}
448
                  ], ["SIGNAL_ASSIGNMENT_STATEMENT", {
449
                    "lhs" : ["SIMPLE_NAME", "m_axis_output_last_tuser"], "rhs" : [{
450
                      "value" : ["EXPRESSION", {
451
                        "args" : [["EXPRESSION", {
452
                          "args" : [["EXPRESSION", {
453
                            "args" : [["EXPRESSION", {
454
                              "args" : [["CONSTANT_VALUE", {
455
                                "value" : ["CST_LITERAL", "'0'"]}
456
                              ]]}
457
                            ]]}
458
                          ]]}
459
                        ]]}
460
                      ]}
461
                    ]}
462
                  ]]}
463
                ], "default" : [["IF_STATEMENT", {
464
                  "if_cases" : [{
465
                    "if_cond" : ["EXPRESSION", {
466
                      "id" : "and", "args" : [["EXPRESSION", {
467
                        "id" : "=", "args" : [["EXPRESSION", {
468
                          "args" : [["EXPRESSION", {
469
                            "args" : [["EXPRESSION", {
470
                              "args" : [["CALL", ["SIMPLE_NAME", "s_axis_input_tvalid"]]]}
471
                            ]]}
472
                          ]]}
473
                        ], ["EXPRESSION", {
474
                          "args" : [["EXPRESSION", {
475
                            "args" : [["EXPRESSION", {
476
                              "args" : [["CONSTANT_VALUE", {
477
                                "value" : ["CST_LITERAL", "'1'"]}
478
                              ]]}
479
                            ]]}
480
                          ]]}
481
                        ]]}
482
                      ], ["EXPRESSION", {
483
                        "id" : "=", "args" : [["EXPRESSION", {
484
                          "args" : [["EXPRESSION", {
485
                            "args" : [["EXPRESSION", {
486
                              "args" : [["CALL", ["SIMPLE_NAME", "s_axis_input_tready_int"]]]}
487
                            ]]}
488
                          ]]}
489
                        ], ["EXPRESSION", {
490
                          "args" : [["EXPRESSION", {
491
                            "args" : [["EXPRESSION", {
492
                              "args" : [["CONSTANT_VALUE", {
493
                                "value" : ["CST_LITERAL", "'1'"]}
494
                              ]]}
495
                            ]]}
496
                          ]]}
497
                        ]]}
498
                      ]]}
499
                    ], "if_block" : [["IF_STATEMENT", {
500
                      "if_cases" : [{
501
                        "if_cond" : ["EXPRESSION", {
502
                          "id" : "=", "args" : [["EXPRESSION", {
503
                            "args" : [["EXPRESSION", {
504
                              "args" : [["EXPRESSION", {
505
                                "args" : [["CALL", ["SIMPLE_NAME", "s_axis_input_tlast"]]]}
506
                              ]]}
507
                            ]]}
508
                          ], ["EXPRESSION", {
509
                            "args" : [["EXPRESSION", {
510
                              "args" : [["EXPRESSION", {
511
                                "args" : [["CONSTANT_VALUE", {
512
                                  "value" : ["CST_LITERAL", "'1'"]}
513
                                ]]}
514
                              ]]}
515
                            ]]}
516
                          ]]}
517
                        ], "if_block" : [["SIGNAL_ASSIGNMENT_STATEMENT", {
518
                          "lhs" : ["SIMPLE_NAME", "last_window"], "rhs" : [{
519
                            "value" : ["EXPRESSION", {
520
                              "args" : [["EXPRESSION", {
521
                                "args" : [["EXPRESSION", {
522
                                  "args" : [["EXPRESSION", {
523
                                    "args" : [["CALL", ["SIMPLE_NAME", "true"]]]}
524
                                  ]]}
525
                                ]]}
526
                              ]]}
527
                            ]}
528
                          ]}
529
                        ], ["SIGNAL_ASSIGNMENT_STATEMENT", {
530
                          "lhs" : ["SIMPLE_NAME", "buffer_end"], "rhs" : [{
531
                            "value" : ["EXPRESSION", {
532
                              "args" : [["EXPRESSION", {
533
                                "args" : [["EXPRESSION", {
534
                                  "args" : [["EXPRESSION", {
535
                                    "args" : [["CALL", ["SIMPLE_NAME", "ENCODER_MEMORY_DEPTH"]]]}
536
                                  ]]}
537
                                ]]}
538
                              ]]}
539
                            ]}
540
                          ]}
541
                        ]]}
542
                      ]}
543
                    ], ["IF_STATEMENT", {
544
                      "if_cases" : [{
545
                        "if_cond" : ["EXPRESSION", {
546
                          "id" : "=", "args" : [["EXPRESSION", {
547
                            "args" : [["EXPRESSION", {
548
                              "args" : [["EXPRESSION", {
549
                                "args" : [["CALL", ["SIMPLE_NAME", "s_axis_input_last_tuser"]]]}
550
                              ]]}
551
                            ]]}
552
                          ], ["EXPRESSION", {
553
                            "args" : [["EXPRESSION", {
554
                              "args" : [["EXPRESSION", {
555
                                "args" : [["CONSTANT_VALUE", {
556
                                  "value" : ["CST_LITERAL", "'1'"]}
557
                                ]]}
558
                              ]]}
559
                            ]]}
560
                          ]]}
561
                        ], "if_block" : [["SIGNAL_ASSIGNMENT_STATEMENT", {
562
                          "lhs" : ["SIMPLE_NAME", "send_output"], "rhs" : [{
563
                            "value" : ["EXPRESSION", {
564
                              "args" : [["EXPRESSION", {
565
                                "args" : [["EXPRESSION", {
566
                                  "args" : [["EXPRESSION", {
567
                                    "args" : [["CALL", ["SIMPLE_NAME", "true"]]]}
568
                                  ]]}
569
                                ]]}
570
                              ]]}
571
                            ]}
572
                          ]}
573
                        ], ["SIGNAL_ASSIGNMENT_STATEMENT", {
574
                          "lhs" : ["SIMPLE_NAME", "buffer_sreg"], "rhs" : [{
575
                            "value" : ["EXPRESSION", {
576
                              "args" : [["EXPRESSION", {
577
                                "args" : [["EXPRESSION", {
578
                                  "args" : [["EXPRESSION", {
579
                                    "id" : "&", "args" : [["EXPRESSION", {
580
                                      "args" : [["CALL", ["SLICE_NAME", {
581
                                        "id" : ["SIMPLE_NAME", "buffer_sreg"], "range" : ["RANGE_WITH_DIRECTION", {
582
                                          "direction" : "downto", "from" : ["EXPRESSION", {
583
                                            "args" : [["EXPRESSION", {
584
                                              "id" : "-", "args" : [["EXPRESSION", {
585
                                                "args" : [["CALL", ["SIMPLE_NAME", "MAX_WINDOW_LENGTH"]]]}
586
                                              ], ["EXPRESSION", {
587
                                                "args" : [["CONSTANT_VALUE", {
588
                                                  "value" : ["CST_LITERAL", "2"]}
589
                                                ]]}
590
                                              ]]}
591
                                            ]]}
592
                                          ], "_to" : ["EXPRESSION", {
593
                                            "args" : [["EXPRESSION", {
594
                                              "args" : [["CONSTANT_VALUE", {
595
                                                "value" : ["CST_LITERAL", "0"]}
596
                                              ]]}
597
                                            ]]}
598
                                          ]}
599
                                        ]}
600
                                      ]]]}
601
                                    ], ["EXPRESSION", {
602
                                      "args" : [["CALL", ["SIMPLE_NAME", "s_axis_input_tdata"]]]}
603
                                    ]]}
604
                                  ]]}
605
                                ]]}
606
                              ]]}
607
                            ]}
608
                          ]}
609
                        ]]}
610
                      ], "default" : [["SIGNAL_ASSIGNMENT_STATEMENT", {
611
                        "lhs" : ["SIMPLE_NAME", "buffer_sreg"], "rhs" : [{
612
                          "value" : ["EXPRESSION", {
613
                            "args" : [["EXPRESSION", {
614
                              "args" : [["EXPRESSION", {
615
                                "args" : [["EXPRESSION", {
616
                                  "id" : "&", "args" : [["EXPRESSION", {
617
                                    "args" : [["CALL", ["SLICE_NAME", {
618
                                      "id" : ["SIMPLE_NAME", "buffer_sreg"], "range" : ["RANGE_WITH_DIRECTION", {
619
                                        "direction" : "downto", "from" : ["EXPRESSION", {
620
                                          "args" : [["EXPRESSION", {
621
                                            "id" : "-", "args" : [["EXPRESSION", {
622
                                              "args" : [["CALL", ["SIMPLE_NAME", "MAX_WINDOW_LENGTH"]]]}
623
                                            ], ["EXPRESSION", {
624
                                              "args" : [["CONSTANT_VALUE", {
625
                                                "value" : ["CST_LITERAL", "2"]}
626
                                              ]]}
627
                                            ]]}
628
                                          ]]}
629
                                        ], "_to" : ["EXPRESSION", {
630
                                          "args" : [["EXPRESSION", {
631
                                            "args" : [["CONSTANT_VALUE", {
632
                                              "value" : ["CST_LITERAL", "0"]}
633
                                            ]]}
634
                                          ]]}
635
                                        ]}
636
                                      ]}
637
                                    ]]]}
638
                                  ], ["EXPRESSION", {
639
                                    "args" : [["CALL", ["SIMPLE_NAME", "s_axis_input_tdata"]]]}
640
                                  ]]}
641
                                ]]}
642
                              ]]}
643
                            ]]}
644
                          ]}
645
                        ]}
646
                      ], ["SIGNAL_ASSIGNMENT_STATEMENT", {
647
                        "lhs" : ["SIMPLE_NAME", "buffer_cnt"], "rhs" : [{
648
                          "value" : ["EXPRESSION", {
649
                            "args" : [["EXPRESSION", {
650
                              "args" : [["EXPRESSION", {
651
                                "args" : [["EXPRESSION", {
652
                                  "id" : "+", "args" : [["EXPRESSION", {
653
                                    "args" : [["CALL", ["SIMPLE_NAME", "buffer_cnt"]]]}
654
                                  ], ["EXPRESSION", {
655
                                    "args" : [["CONSTANT_VALUE", {
656
                                      "value" : ["CST_LITERAL", "1"]}
657
                                    ]]}
658
                                  ]]}
659
                                ]]}
660
                              ]]}
661
                            ]]}
662
                          ]}
663
                        ]}
664
                      ]]}
665
                    ]]}
666
                  ]}
667
                ], ["IF_STATEMENT", {
668
                  "if_cases" : [{
669
                    "if_cond" : ["EXPRESSION", {
670
                      "id" : "and", "args" : [["EXPRESSION", {
671
                        "id" : "=", "args" : [["EXPRESSION", {
672
                          "args" : [["EXPRESSION", {
673
                            "args" : [["EXPRESSION", {
674
                              "args" : [["CALL", ["SIMPLE_NAME", "m_axis_output_tready"]]]}
675
                            ]]}
676
                          ]]}
677
                        ], ["EXPRESSION", {
678
                          "args" : [["EXPRESSION", {
679
                            "args" : [["EXPRESSION", {
680
                              "args" : [["CONSTANT_VALUE", {
681
                                "value" : ["CST_LITERAL", "'1'"]}
682
                              ]]}
683
                            ]]}
684
                          ]]}
685
                        ]]}
686
                      ], ["EXPRESSION", {
687
                        "args" : [["EXPRESSION", {
688
                          "args" : [["EXPRESSION", {
689
                            "args" : [["EXPRESSION", {
690
                              "args" : [["CALL", ["SIMPLE_NAME", "send_output"]]]}
691
                            ]]}
692
                          ]]}
693
                        ]]}
694
                      ]]}
695
                    ], "if_block" : [["SIGNAL_ASSIGNMENT_STATEMENT", {
696
                      "lhs" : ["SIMPLE_NAME", "buffer_sreg"], "rhs" : [{
697
                        "value" : ["EXPRESSION", {
698
                          "args" : [["EXPRESSION", {
699
                            "args" : [["EXPRESSION", {
700
                              "args" : [["EXPRESSION", {
701
                                "id" : "&", "args" : [["EXPRESSION", {
702
                                  "args" : [["CONSTANT_VALUE", {
703
                                    "value" : ["CST_LITERAL", "'0'"]}
704
                                  ]]}
705
                                ], ["EXPRESSION", {
706
                                  "args" : [["CALL", ["SLICE_NAME", {
707
                                    "id" : ["SIMPLE_NAME", "buffer_sreg"], "range" : ["RANGE_WITH_DIRECTION", {
708
                                      "direction" : "downto", "from" : ["EXPRESSION", {
709
                                        "args" : [["EXPRESSION", {
710
                                          "id" : "-", "args" : [["EXPRESSION", {
711
                                            "args" : [["CALL", ["SIMPLE_NAME", "MAX_WINDOW_LENGTH"]]]}
712
                                          ], ["EXPRESSION", {
713
                                            "args" : [["CONSTANT_VALUE", {
714
                                              "value" : ["CST_LITERAL", "1"]}
715
                                            ]]}
716
                                          ]]}
717
                                        ]]}
718
                                      ], "_to" : ["EXPRESSION", {
719
                                        "args" : [["EXPRESSION", {
720
                                          "args" : [["CONSTANT_VALUE", {
721
                                            "value" : ["CST_LITERAL", "1"]}
722
                                          ]]}
723
                                        ]]}
724
                                      ]}
725
                                    ]}
726
                                  ]]]}
727
                                ]]}
728
                              ]]}
729
                            ]]}
730
                          ]]}
731
                        ]}
732
                      ]}
733
                    ], ["IF_STATEMENT", {
734
                      "if_cases" : [{
735
                        "if_cond" : ["EXPRESSION", {
736
                          "id" : "=", "args" : [["EXPRESSION", {
737
                            "args" : [["EXPRESSION", {
738
                              "args" : [["EXPRESSION", {
739
                                "args" : [["CALL", ["SIMPLE_NAME", "buffer_cnt"]]]}
740
                              ]]}
741
                            ]]}
742
                          ], ["EXPRESSION", {
743
                            "args" : [["EXPRESSION", {
744
                              "args" : [["EXPRESSION", {
745
                                "args" : [["CONSTANT_VALUE", {
746
                                  "value" : ["CST_LITERAL", "1"]}
747
                                ]]}
748
                              ]]}
749
                            ]]}
750
                          ]]}
751
                        ], "if_block" : [["SIGNAL_ASSIGNMENT_STATEMENT", {
752
                          "lhs" : ["SIMPLE_NAME", "m_axis_output_last_tuser"], "rhs" : [{
753
                            "value" : ["EXPRESSION", {
754
                              "args" : [["EXPRESSION", {
755
                                "args" : [["EXPRESSION", {
756
                                  "args" : [["EXPRESSION", {
757
                                    "args" : [["CONSTANT_VALUE", {
758
                                      "value" : ["CST_LITERAL", "'1'"]}
759
                                    ]]}
760
                                  ]]}
761
                                ]]}
762
                              ]]}
763
                            ]}
764
                          ]}
765
                        ]]}
766
                      ]}
767
                    ], ["IF_STATEMENT", {
768
                      "if_cases" : [{
769
                        "if_cond" : ["EXPRESSION", {
770
                          "id" : "=", "args" : [["EXPRESSION", {
771
                            "args" : [["EXPRESSION", {
772
                              "args" : [["EXPRESSION", {
773
                                "args" : [["CALL", ["SIMPLE_NAME", "buffer_cnt"]]]}
774
                              ]]}
775
                            ]]}
776
                          ], ["EXPRESSION", {
777
                            "args" : [["EXPRESSION", {
778
                              "args" : [["EXPRESSION", {
779
                                "args" : [["CALL", ["SIMPLE_NAME", "buffer_end"]]]}
780
                              ]]}
781
                            ]]}
782
                          ]]}
783
                        ], "if_block" : [["SIGNAL_ASSIGNMENT_STATEMENT", {
784
                          "lhs" : ["SIMPLE_NAME", "send_output"], "rhs" : [{
785
                            "value" : ["EXPRESSION", {
786
                              "args" : [["EXPRESSION", {
787
                                "args" : [["EXPRESSION", {
788
                                  "args" : [["EXPRESSION", {
789
                                    "args" : [["CALL", ["SIMPLE_NAME", "false"]]]}
790
                                  ]]}
791
                                ]]}
792
                              ]]}
793
                            ]}
794
                          ]}
795
                        ], ["SIGNAL_ASSIGNMENT_STATEMENT", {
796
                          "lhs" : ["SIMPLE_NAME", "last_window"], "rhs" : [{
797
                            "value" : ["EXPRESSION", {
798
                              "args" : [["EXPRESSION", {
799
                                "args" : [["EXPRESSION", {
800
                                  "args" : [["EXPRESSION", {
801
                                    "args" : [["CALL", ["SIMPLE_NAME", "false"]]]}
802
                                  ]]}
803
                                ]]}
804
                              ]]}
805
                            ]}
806
                          ]}
807
                        ], ["SIGNAL_ASSIGNMENT_STATEMENT", {
808
                          "lhs" : ["SIMPLE_NAME", "buffer_end"], "rhs" : [{
809
                            "value" : ["EXPRESSION", {
810
                              "args" : [["EXPRESSION", {
811
                                "args" : [["EXPRESSION", {
812
                                  "args" : [["EXPRESSION", {
813
                                    "args" : [["CONSTANT_VALUE", {
814
                                      "value" : ["CST_LITERAL", "0"]}
815
                                    ]]}
816
                                  ]]}
817
                                ]]}
818
                              ]]}
819
                            ]}
820
                          ]}
821
                        ], ["SIGNAL_ASSIGNMENT_STATEMENT", {
822
                          "lhs" : ["SIMPLE_NAME", "buffer_cnt"], "rhs" : [{
823
                            "value" : ["EXPRESSION", {
824
                              "args" : [["EXPRESSION", {
825
                                "args" : [["EXPRESSION", {
826
                                  "args" : [["EXPRESSION", {
827
                                    "args" : [["AGGREGATE", {
828
                                      "elems" : [{
829
                                        "choices" : [["OTHERS"]], "expr" : ["EXPRESSION", {
830
                                          "args" : [["EXPRESSION", {
831
                                            "args" : [["EXPRESSION", {
832
                                              "args" : [["EXPRESSION", {
833
                                                "args" : [["CONSTANT_VALUE", {
834
                                                  "value" : ["CST_LITERAL", "'0'"]}
835
                                                ]]}
836
                                              ]]}
837
                                            ]]}
838
                                          ]]}
839
                                        ]}
840
                                      ]}
841
                                    ]]}
842
                                  ]]}
843
                                ]]}
844
                              ]]}
845
                            ]}
846
                          ]}
847
                        ], ["SIGNAL_ASSIGNMENT_STATEMENT", {
848
                          "lhs" : ["SIMPLE_NAME", "m_axis_output_last_tuser"], "rhs" : [{
849
                            "value" : ["EXPRESSION", {
850
                              "args" : [["EXPRESSION", {
851
                                "args" : [["EXPRESSION", {
852
                                  "args" : [["EXPRESSION", {
853
                                    "args" : [["CONSTANT_VALUE", {
854
                                      "value" : ["CST_LITERAL", "'0'"]}
855
                                    ]]}
856
                                  ]]}
857
                                ]]}
858
                              ]]}
859
                            ]}
860
                          ]}
861
                        ]]}
862
                      ], "default" : [["SIGNAL_ASSIGNMENT_STATEMENT", {
863
                        "lhs" : ["SIMPLE_NAME", "buffer_cnt"], "rhs" : [{
864
                          "value" : ["EXPRESSION", {
865
                            "args" : [["EXPRESSION", {
866
                              "args" : [["EXPRESSION", {
867
                                "args" : [["EXPRESSION", {
868
                                  "id" : "-", "args" : [["EXPRESSION", {
869
                                    "args" : [["CALL", ["SIMPLE_NAME", "buffer_cnt"]]]}
870
                                  ], ["EXPRESSION", {
871
                                    "args" : [["CONSTANT_VALUE", {
872
                                      "value" : ["CST_LITERAL", "1"]}
873
                                    ]]}
874
                                  ]]}
875
                                ]]}
876
                              ]]}
877
                            ]]}
878
                          ]}
879
                        ]}
880
                      ]]}
881
                    ]]}
882
                  ]}
883
                ]]}
884
              ]]}
885
            ]}
886
          ]]}
887
        ]]}
888
      ]}
889
    ]}
890
  }