Project

General

Profile

Statistics
| Branch: | Tag: | Revision:

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

History | View | Annotate | Download (40.9 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", ["FUNCTION_CALL", {
247
                        "id" : ["SIMPLE_NAME", "buffer_sreg"], "assoc_list" : [{
248
                          "actual_expr" : ["EXPRESSION", {
249
                            "args" : [["EXPRESSION", {
250
                              "args" : [["EXPRESSION", {
251
                                "args" : [["EXPRESSION", {
252
                                  "args" : [["CONSTANT_VALUE", {
253
                                    "value" : ["CST_LITERAL", "0"]}
254
                                  ]]}
255
                                ]]}
256
                              ]]}
257
                            ]]}
258
                          ]}
259
                        ]}
260
                      ]]]}
261
                    ]]}
262
                  ]]}
263
                ]]}
264
              ]}
265
            ]}
266
          ]}
267
        ], ["CONDITIONAL_SIGNAL_ASSIGNMENT", {
268
          "postponed" : false, "lhs" : ["SIMPLE_NAME", "m_axis_output_tlast"], "rhs" : [{
269
            "expr" : [{
270
              "value" : ["EXPRESSION", {
271
                "args" : [["EXPRESSION", {
272
                  "args" : [["EXPRESSION", {
273
                    "args" : [["EXPRESSION", {
274
                      "args" : [["CONSTANT_VALUE", {
275
                        "value" : ["CST_LITERAL", "'1'"]}
276
                      ]]}
277
                    ]]}
278
                  ]]}
279
                ]]}
280
              ]}
281
            ], "cond" : ["EXPRESSION", {
282
              "id" : "and", "args" : [["EXPRESSION", {
283
                "id" : "=", "args" : [["EXPRESSION", {
284
                  "args" : [["EXPRESSION", {
285
                    "args" : [["EXPRESSION", {
286
                      "args" : [["CALL", ["SIMPLE_NAME", "buffer_cnt"]]]}
287
                    ]]}
288
                  ]]}
289
                ], ["EXPRESSION", {
290
                  "args" : [["EXPRESSION", {
291
                    "args" : [["EXPRESSION", {
292
                      "args" : [["CALL", ["SIMPLE_NAME", "ENCODER_MEMORY_DEPTH"]]]}
293
                    ]]}
294
                  ]]}
295
                ]]}
296
              ], ["EXPRESSION", {
297
                "args" : [["EXPRESSION", {
298
                  "args" : [["EXPRESSION", {
299
                    "args" : [["EXPRESSION", {
300
                      "args" : [["CALL", ["SIMPLE_NAME", "last_window"]]]}
301
                    ]]}
302
                  ]]}
303
                ]]}
304
              ]]}
305
            ]}
306
          , {
307
            "expr" : [{
308
              "value" : ["EXPRESSION", {
309
                "args" : [["EXPRESSION", {
310
                  "args" : [["EXPRESSION", {
311
                    "args" : [["EXPRESSION", {
312
                      "args" : [["CONSTANT_VALUE", {
313
                        "value" : ["CST_LITERAL", "'0'"]}
314
                      ]]}
315
                    ]]}
316
                  ]]}
317
                ]]}
318
              ]}
319
            ]}
320
          ]}
321
        ], ["PROCESS_STATEMENT", {
322
          "id" : ["IDENTIFIER", "pr_reorder"], "active_sigs" : [["SIMPLE_NAME", "clk"]], "PROCESS_STATEMENT_PART" : [["IF_STATEMENT", {
323
            "if_cases" : [{
324
              "if_cond" : ["EXPRESSION", {
325
                "args" : [["EXPRESSION", {
326
                  "args" : [["EXPRESSION", {
327
                    "args" : [["EXPRESSION", {
328
                      "args" : [["CALL", ["FUNCTION_CALL", {
329
                        "id" : ["SIMPLE_NAME", "rising_edge"], "assoc_list" : [{
330
                          "actual_designator" : ["SIMPLE_NAME", "clk"]}
331
                        ]}
332
                      ]]]}
333
                    ]]}
334
                  ]]}
335
                ]]}
336
              ], "if_block" : [["IF_STATEMENT", {
337
                "if_cases" : [{
338
                  "if_cond" : ["EXPRESSION", {
339
                    "id" : "=", "args" : [["EXPRESSION", {
340
                      "args" : [["EXPRESSION", {
341
                        "args" : [["EXPRESSION", {
342
                          "args" : [["CALL", ["SIMPLE_NAME", "rst"]]]}
343
                        ]]}
344
                      ]]}
345
                    ], ["EXPRESSION", {
346
                      "args" : [["EXPRESSION", {
347
                        "args" : [["EXPRESSION", {
348
                          "args" : [["CONSTANT_VALUE", {
349
                            "value" : ["CST_LITERAL", "'1'"]}
350
                          ]]}
351
                        ]]}
352
                      ]]}
353
                    ]]}
354
                  ], "if_block" : [["SIGNAL_ASSIGNMENT_STATEMENT", {
355
                    "lhs" : ["SIMPLE_NAME", "buffer_sreg"], "rhs" : [{
356
                      "value" : ["EXPRESSION", {
357
                        "args" : [["EXPRESSION", {
358
                          "args" : [["EXPRESSION", {
359
                            "args" : [["EXPRESSION", {
360
                              "args" : [["AGGREGATE", {
361
                                "elems" : [{
362
                                  "choices" : [["OTHERS"]], "expr" : ["EXPRESSION", {
363
                                    "args" : [["EXPRESSION", {
364
                                      "args" : [["EXPRESSION", {
365
                                        "args" : [["EXPRESSION", {
366
                                          "args" : [["CONSTANT_VALUE", {
367
                                            "value" : ["CST_LITERAL", "'0'"]}
368
                                          ]]}
369
                                        ]]}
370
                                      ]]}
371
                                    ]]}
372
                                  ]}
373
                                ]}
374
                              ]]}
375
                            ]]}
376
                          ]]}
377
                        ]]}
378
                      ]}
379
                    ]}
380
                  ], ["SIGNAL_ASSIGNMENT_STATEMENT", {
381
                    "lhs" : ["SIMPLE_NAME", "buffer_cnt"], "rhs" : [{
382
                      "value" : ["EXPRESSION", {
383
                        "args" : [["EXPRESSION", {
384
                          "args" : [["EXPRESSION", {
385
                            "args" : [["EXPRESSION", {
386
                              "args" : [["AGGREGATE", {
387
                                "elems" : [{
388
                                  "choices" : [["OTHERS"]], "expr" : ["EXPRESSION", {
389
                                    "args" : [["EXPRESSION", {
390
                                      "args" : [["EXPRESSION", {
391
                                        "args" : [["EXPRESSION", {
392
                                          "args" : [["CONSTANT_VALUE", {
393
                                            "value" : ["CST_LITERAL", "'0'"]}
394
                                          ]]}
395
                                        ]]}
396
                                      ]]}
397
                                    ]]}
398
                                  ]}
399
                                ]}
400
                              ]]}
401
                            ]]}
402
                          ]]}
403
                        ]]}
404
                      ]}
405
                    ]}
406
                  ], ["SIGNAL_ASSIGNMENT_STATEMENT", {
407
                    "lhs" : ["SIMPLE_NAME", "send_output"], "rhs" : [{
408
                      "value" : ["EXPRESSION", {
409
                        "args" : [["EXPRESSION", {
410
                          "args" : [["EXPRESSION", {
411
                            "args" : [["EXPRESSION", {
412
                              "args" : [["CALL", ["SIMPLE_NAME", "false"]]]}
413
                            ]]}
414
                          ]]}
415
                        ]]}
416
                      ]}
417
                    ]}
418
                  ], ["SIGNAL_ASSIGNMENT_STATEMENT", {
419
                    "lhs" : ["SIMPLE_NAME", "last_window"], "rhs" : [{
420
                      "value" : ["EXPRESSION", {
421
                        "args" : [["EXPRESSION", {
422
                          "args" : [["EXPRESSION", {
423
                            "args" : [["EXPRESSION", {
424
                              "args" : [["CALL", ["SIMPLE_NAME", "false"]]]}
425
                            ]]}
426
                          ]]}
427
                        ]]}
428
                      ]}
429
                    ]}
430
                  ], ["SIGNAL_ASSIGNMENT_STATEMENT", {
431
                    "lhs" : ["SIMPLE_NAME", "buffer_end"], "rhs" : [{
432
                      "value" : ["EXPRESSION", {
433
                        "args" : [["EXPRESSION", {
434
                          "args" : [["EXPRESSION", {
435
                            "args" : [["EXPRESSION", {
436
                              "args" : [["CONSTANT_VALUE", {
437
                                "value" : ["CST_LITERAL", "0"]}
438
                              ]]}
439
                            ]]}
440
                          ]]}
441
                        ]]}
442
                      ]}
443
                    ]}
444
                  ], ["SIGNAL_ASSIGNMENT_STATEMENT", {
445
                    "lhs" : ["SIMPLE_NAME", "m_axis_output_last_tuser"], "rhs" : [{
446
                      "value" : ["EXPRESSION", {
447
                        "args" : [["EXPRESSION", {
448
                          "args" : [["EXPRESSION", {
449
                            "args" : [["EXPRESSION", {
450
                              "args" : [["CONSTANT_VALUE", {
451
                                "value" : ["CST_LITERAL", "'0'"]}
452
                              ]]}
453
                            ]]}
454
                          ]]}
455
                        ]]}
456
                      ]}
457
                    ]}
458
                  ]]}
459
                ], "default" : [["IF_STATEMENT", {
460
                  "if_cases" : [{
461
                    "if_cond" : ["EXPRESSION", {
462
                      "id" : "and", "args" : [["EXPRESSION", {
463
                        "id" : "=", "args" : [["EXPRESSION", {
464
                          "args" : [["EXPRESSION", {
465
                            "args" : [["EXPRESSION", {
466
                              "args" : [["CALL", ["SIMPLE_NAME", "s_axis_input_tvalid"]]]}
467
                            ]]}
468
                          ]]}
469
                        ], ["EXPRESSION", {
470
                          "args" : [["EXPRESSION", {
471
                            "args" : [["EXPRESSION", {
472
                              "args" : [["CONSTANT_VALUE", {
473
                                "value" : ["CST_LITERAL", "'1'"]}
474
                              ]]}
475
                            ]]}
476
                          ]]}
477
                        ]]}
478
                      ], ["EXPRESSION", {
479
                        "id" : "=", "args" : [["EXPRESSION", {
480
                          "args" : [["EXPRESSION", {
481
                            "args" : [["EXPRESSION", {
482
                              "args" : [["CALL", ["SIMPLE_NAME", "s_axis_input_tready_int"]]]}
483
                            ]]}
484
                          ]]}
485
                        ], ["EXPRESSION", {
486
                          "args" : [["EXPRESSION", {
487
                            "args" : [["EXPRESSION", {
488
                              "args" : [["CONSTANT_VALUE", {
489
                                "value" : ["CST_LITERAL", "'1'"]}
490
                              ]]}
491
                            ]]}
492
                          ]]}
493
                        ]]}
494
                      ]]}
495
                    ], "if_block" : [["IF_STATEMENT", {
496
                      "if_cases" : [{
497
                        "if_cond" : ["EXPRESSION", {
498
                          "id" : "=", "args" : [["EXPRESSION", {
499
                            "args" : [["EXPRESSION", {
500
                              "args" : [["EXPRESSION", {
501
                                "args" : [["CALL", ["SIMPLE_NAME", "s_axis_input_tlast"]]]}
502
                              ]]}
503
                            ]]}
504
                          ], ["EXPRESSION", {
505
                            "args" : [["EXPRESSION", {
506
                              "args" : [["EXPRESSION", {
507
                                "args" : [["CONSTANT_VALUE", {
508
                                  "value" : ["CST_LITERAL", "'1'"]}
509
                                ]]}
510
                              ]]}
511
                            ]]}
512
                          ]]}
513
                        ], "if_block" : [["SIGNAL_ASSIGNMENT_STATEMENT", {
514
                          "lhs" : ["SIMPLE_NAME", "last_window"], "rhs" : [{
515
                            "value" : ["EXPRESSION", {
516
                              "args" : [["EXPRESSION", {
517
                                "args" : [["EXPRESSION", {
518
                                  "args" : [["EXPRESSION", {
519
                                    "args" : [["CALL", ["SIMPLE_NAME", "true"]]]}
520
                                  ]]}
521
                                ]]}
522
                              ]]}
523
                            ]}
524
                          ]}
525
                        ], ["SIGNAL_ASSIGNMENT_STATEMENT", {
526
                          "lhs" : ["SIMPLE_NAME", "buffer_end"], "rhs" : [{
527
                            "value" : ["EXPRESSION", {
528
                              "args" : [["EXPRESSION", {
529
                                "args" : [["EXPRESSION", {
530
                                  "args" : [["EXPRESSION", {
531
                                    "args" : [["CALL", ["SIMPLE_NAME", "ENCODER_MEMORY_DEPTH"]]]}
532
                                  ]]}
533
                                ]]}
534
                              ]]}
535
                            ]}
536
                          ]}
537
                        ]]}
538
                      ]}
539
                    ], ["IF_STATEMENT", {
540
                      "if_cases" : [{
541
                        "if_cond" : ["EXPRESSION", {
542
                          "id" : "=", "args" : [["EXPRESSION", {
543
                            "args" : [["EXPRESSION", {
544
                              "args" : [["EXPRESSION", {
545
                                "args" : [["CALL", ["SIMPLE_NAME", "s_axis_input_last_tuser"]]]}
546
                              ]]}
547
                            ]]}
548
                          ], ["EXPRESSION", {
549
                            "args" : [["EXPRESSION", {
550
                              "args" : [["EXPRESSION", {
551
                                "args" : [["CONSTANT_VALUE", {
552
                                  "value" : ["CST_LITERAL", "'1'"]}
553
                                ]]}
554
                              ]]}
555
                            ]]}
556
                          ]]}
557
                        ], "if_block" : [["SIGNAL_ASSIGNMENT_STATEMENT", {
558
                          "lhs" : ["SIMPLE_NAME", "send_output"], "rhs" : [{
559
                            "value" : ["EXPRESSION", {
560
                              "args" : [["EXPRESSION", {
561
                                "args" : [["EXPRESSION", {
562
                                  "args" : [["EXPRESSION", {
563
                                    "args" : [["CALL", ["SIMPLE_NAME", "true"]]]}
564
                                  ]]}
565
                                ]]}
566
                              ]]}
567
                            ]}
568
                          ]}
569
                        ], ["SIGNAL_ASSIGNMENT_STATEMENT", {
570
                          "lhs" : ["SIMPLE_NAME", "buffer_sreg"], "rhs" : [{
571
                            "value" : ["EXPRESSION", {
572
                              "args" : [["EXPRESSION", {
573
                                "args" : [["EXPRESSION", {
574
                                  "args" : [["EXPRESSION", {
575
                                    "id" : "&", "args" : [["EXPRESSION", {
576
                                      "args" : [["CALL", ["SLICE_NAME", {
577
                                        "id" : ["SIMPLE_NAME", "buffer_sreg"], "range" : ["RANGE_WITH_DIRECTION", {
578
                                          "direction" : "downto", "from" : ["EXPRESSION", {
579
                                            "args" : [["EXPRESSION", {
580
                                              "id" : "-", "args" : [["EXPRESSION", {
581
                                                "args" : [["CALL", ["SIMPLE_NAME", "MAX_WINDOW_LENGTH"]]]}
582
                                              ], ["EXPRESSION", {
583
                                                "args" : [["CONSTANT_VALUE", {
584
                                                  "value" : ["CST_LITERAL", "2"]}
585
                                                ]]}
586
                                              ]]}
587
                                            ]]}
588
                                          ], "_to" : ["EXPRESSION", {
589
                                            "args" : [["EXPRESSION", {
590
                                              "args" : [["CONSTANT_VALUE", {
591
                                                "value" : ["CST_LITERAL", "0"]}
592
                                              ]]}
593
                                            ]]}
594
                                          ]}
595
                                        ]}
596
                                      ]]]}
597
                                    ], ["EXPRESSION", {
598
                                      "args" : [["CALL", ["SIMPLE_NAME", "s_axis_input_tdata"]]]}
599
                                    ]]}
600
                                  ]]}
601
                                ]]}
602
                              ]]}
603
                            ]}
604
                          ]}
605
                        ]]}
606
                      ], "default" : [["SIGNAL_ASSIGNMENT_STATEMENT", {
607
                        "lhs" : ["SIMPLE_NAME", "buffer_sreg"], "rhs" : [{
608
                          "value" : ["EXPRESSION", {
609
                            "args" : [["EXPRESSION", {
610
                              "args" : [["EXPRESSION", {
611
                                "args" : [["EXPRESSION", {
612
                                  "id" : "&", "args" : [["EXPRESSION", {
613
                                    "args" : [["CALL", ["SLICE_NAME", {
614
                                      "id" : ["SIMPLE_NAME", "buffer_sreg"], "range" : ["RANGE_WITH_DIRECTION", {
615
                                        "direction" : "downto", "from" : ["EXPRESSION", {
616
                                          "args" : [["EXPRESSION", {
617
                                            "id" : "-", "args" : [["EXPRESSION", {
618
                                              "args" : [["CALL", ["SIMPLE_NAME", "MAX_WINDOW_LENGTH"]]]}
619
                                            ], ["EXPRESSION", {
620
                                              "args" : [["CONSTANT_VALUE", {
621
                                                "value" : ["CST_LITERAL", "2"]}
622
                                              ]]}
623
                                            ]]}
624
                                          ]]}
625
                                        ], "_to" : ["EXPRESSION", {
626
                                          "args" : [["EXPRESSION", {
627
                                            "args" : [["CONSTANT_VALUE", {
628
                                              "value" : ["CST_LITERAL", "0"]}
629
                                            ]]}
630
                                          ]]}
631
                                        ]}
632
                                      ]}
633
                                    ]]]}
634
                                  ], ["EXPRESSION", {
635
                                    "args" : [["CALL", ["SIMPLE_NAME", "s_axis_input_tdata"]]]}
636
                                  ]]}
637
                                ]]}
638
                              ]]}
639
                            ]]}
640
                          ]}
641
                        ]}
642
                      ], ["SIGNAL_ASSIGNMENT_STATEMENT", {
643
                        "lhs" : ["SIMPLE_NAME", "buffer_cnt"], "rhs" : [{
644
                          "value" : ["EXPRESSION", {
645
                            "args" : [["EXPRESSION", {
646
                              "args" : [["EXPRESSION", {
647
                                "args" : [["EXPRESSION", {
648
                                  "id" : "+", "args" : [["EXPRESSION", {
649
                                    "args" : [["CALL", ["SIMPLE_NAME", "buffer_cnt"]]]}
650
                                  ], ["EXPRESSION", {
651
                                    "args" : [["CONSTANT_VALUE", {
652
                                      "value" : ["CST_LITERAL", "1"]}
653
                                    ]]}
654
                                  ]]}
655
                                ]]}
656
                              ]]}
657
                            ]]}
658
                          ]}
659
                        ]}
660
                      ]]}
661
                    ]]}
662
                  ]}
663
                ], ["IF_STATEMENT", {
664
                  "if_cases" : [{
665
                    "if_cond" : ["EXPRESSION", {
666
                      "id" : "and", "args" : [["EXPRESSION", {
667
                        "id" : "=", "args" : [["EXPRESSION", {
668
                          "args" : [["EXPRESSION", {
669
                            "args" : [["EXPRESSION", {
670
                              "args" : [["CALL", ["SIMPLE_NAME", "m_axis_output_tready"]]]}
671
                            ]]}
672
                          ]]}
673
                        ], ["EXPRESSION", {
674
                          "args" : [["EXPRESSION", {
675
                            "args" : [["EXPRESSION", {
676
                              "args" : [["CONSTANT_VALUE", {
677
                                "value" : ["CST_LITERAL", "'1'"]}
678
                              ]]}
679
                            ]]}
680
                          ]]}
681
                        ]]}
682
                      ], ["EXPRESSION", {
683
                        "args" : [["EXPRESSION", {
684
                          "args" : [["EXPRESSION", {
685
                            "args" : [["EXPRESSION", {
686
                              "args" : [["CALL", ["SIMPLE_NAME", "send_output"]]]}
687
                            ]]}
688
                          ]]}
689
                        ]]}
690
                      ]]}
691
                    ], "if_block" : [["SIGNAL_ASSIGNMENT_STATEMENT", {
692
                      "lhs" : ["SIMPLE_NAME", "buffer_sreg"], "rhs" : [{
693
                        "value" : ["EXPRESSION", {
694
                          "args" : [["EXPRESSION", {
695
                            "args" : [["EXPRESSION", {
696
                              "args" : [["EXPRESSION", {
697
                                "id" : "&", "args" : [["EXPRESSION", {
698
                                  "args" : [["CONSTANT_VALUE", {
699
                                    "value" : ["CST_LITERAL", "'0'"]}
700
                                  ]]}
701
                                ], ["EXPRESSION", {
702
                                  "args" : [["CALL", ["SLICE_NAME", {
703
                                    "id" : ["SIMPLE_NAME", "buffer_sreg"], "range" : ["RANGE_WITH_DIRECTION", {
704
                                      "direction" : "downto", "from" : ["EXPRESSION", {
705
                                        "args" : [["EXPRESSION", {
706
                                          "id" : "-", "args" : [["EXPRESSION", {
707
                                            "args" : [["CALL", ["SIMPLE_NAME", "MAX_WINDOW_LENGTH"]]]}
708
                                          ], ["EXPRESSION", {
709
                                            "args" : [["CONSTANT_VALUE", {
710
                                              "value" : ["CST_LITERAL", "1"]}
711
                                            ]]}
712
                                          ]]}
713
                                        ]]}
714
                                      ], "_to" : ["EXPRESSION", {
715
                                        "args" : [["EXPRESSION", {
716
                                          "args" : [["CONSTANT_VALUE", {
717
                                            "value" : ["CST_LITERAL", "1"]}
718
                                          ]]}
719
                                        ]]}
720
                                      ]}
721
                                    ]}
722
                                  ]]]}
723
                                ]]}
724
                              ]]}
725
                            ]]}
726
                          ]]}
727
                        ]}
728
                      ]}
729
                    ], ["IF_STATEMENT", {
730
                      "if_cases" : [{
731
                        "if_cond" : ["EXPRESSION", {
732
                          "id" : "=", "args" : [["EXPRESSION", {
733
                            "args" : [["EXPRESSION", {
734
                              "args" : [["EXPRESSION", {
735
                                "args" : [["CALL", ["SIMPLE_NAME", "buffer_cnt"]]]}
736
                              ]]}
737
                            ]]}
738
                          ], ["EXPRESSION", {
739
                            "args" : [["EXPRESSION", {
740
                              "args" : [["EXPRESSION", {
741
                                "args" : [["CONSTANT_VALUE", {
742
                                  "value" : ["CST_LITERAL", "1"]}
743
                                ]]}
744
                              ]]}
745
                            ]]}
746
                          ]]}
747
                        ], "if_block" : [["SIGNAL_ASSIGNMENT_STATEMENT", {
748
                          "lhs" : ["SIMPLE_NAME", "m_axis_output_last_tuser"], "rhs" : [{
749
                            "value" : ["EXPRESSION", {
750
                              "args" : [["EXPRESSION", {
751
                                "args" : [["EXPRESSION", {
752
                                  "args" : [["EXPRESSION", {
753
                                    "args" : [["CONSTANT_VALUE", {
754
                                      "value" : ["CST_LITERAL", "'1'"]}
755
                                    ]]}
756
                                  ]]}
757
                                ]]}
758
                              ]]}
759
                            ]}
760
                          ]}
761
                        ]]}
762
                      ]}
763
                    ], ["IF_STATEMENT", {
764
                      "if_cases" : [{
765
                        "if_cond" : ["EXPRESSION", {
766
                          "id" : "=", "args" : [["EXPRESSION", {
767
                            "args" : [["EXPRESSION", {
768
                              "args" : [["EXPRESSION", {
769
                                "args" : [["CALL", ["SIMPLE_NAME", "buffer_cnt"]]]}
770
                              ]]}
771
                            ]]}
772
                          ], ["EXPRESSION", {
773
                            "args" : [["EXPRESSION", {
774
                              "args" : [["EXPRESSION", {
775
                                "args" : [["CALL", ["SIMPLE_NAME", "buffer_end"]]]}
776
                              ]]}
777
                            ]]}
778
                          ]]}
779
                        ], "if_block" : [["SIGNAL_ASSIGNMENT_STATEMENT", {
780
                          "lhs" : ["SIMPLE_NAME", "send_output"], "rhs" : [{
781
                            "value" : ["EXPRESSION", {
782
                              "args" : [["EXPRESSION", {
783
                                "args" : [["EXPRESSION", {
784
                                  "args" : [["EXPRESSION", {
785
                                    "args" : [["CALL", ["SIMPLE_NAME", "false"]]]}
786
                                  ]]}
787
                                ]]}
788
                              ]]}
789
                            ]}
790
                          ]}
791
                        ], ["SIGNAL_ASSIGNMENT_STATEMENT", {
792
                          "lhs" : ["SIMPLE_NAME", "last_window"], "rhs" : [{
793
                            "value" : ["EXPRESSION", {
794
                              "args" : [["EXPRESSION", {
795
                                "args" : [["EXPRESSION", {
796
                                  "args" : [["EXPRESSION", {
797
                                    "args" : [["CALL", ["SIMPLE_NAME", "false"]]]}
798
                                  ]]}
799
                                ]]}
800
                              ]]}
801
                            ]}
802
                          ]}
803
                        ], ["SIGNAL_ASSIGNMENT_STATEMENT", {
804
                          "lhs" : ["SIMPLE_NAME", "buffer_end"], "rhs" : [{
805
                            "value" : ["EXPRESSION", {
806
                              "args" : [["EXPRESSION", {
807
                                "args" : [["EXPRESSION", {
808
                                  "args" : [["EXPRESSION", {
809
                                    "args" : [["CONSTANT_VALUE", {
810
                                      "value" : ["CST_LITERAL", "0"]}
811
                                    ]]}
812
                                  ]]}
813
                                ]]}
814
                              ]]}
815
                            ]}
816
                          ]}
817
                        ], ["SIGNAL_ASSIGNMENT_STATEMENT", {
818
                          "lhs" : ["SIMPLE_NAME", "buffer_cnt"], "rhs" : [{
819
                            "value" : ["EXPRESSION", {
820
                              "args" : [["EXPRESSION", {
821
                                "args" : [["EXPRESSION", {
822
                                  "args" : [["EXPRESSION", {
823
                                    "args" : [["AGGREGATE", {
824
                                      "elems" : [{
825
                                        "choices" : [["OTHERS"]], "expr" : ["EXPRESSION", {
826
                                          "args" : [["EXPRESSION", {
827
                                            "args" : [["EXPRESSION", {
828
                                              "args" : [["EXPRESSION", {
829
                                                "args" : [["CONSTANT_VALUE", {
830
                                                  "value" : ["CST_LITERAL", "'0'"]}
831
                                                ]]}
832
                                              ]]}
833
                                            ]]}
834
                                          ]]}
835
                                        ]}
836
                                      ]}
837
                                    ]]}
838
                                  ]]}
839
                                ]]}
840
                              ]]}
841
                            ]}
842
                          ]}
843
                        ], ["SIGNAL_ASSIGNMENT_STATEMENT", {
844
                          "lhs" : ["SIMPLE_NAME", "m_axis_output_last_tuser"], "rhs" : [{
845
                            "value" : ["EXPRESSION", {
846
                              "args" : [["EXPRESSION", {
847
                                "args" : [["EXPRESSION", {
848
                                  "args" : [["EXPRESSION", {
849
                                    "args" : [["CONSTANT_VALUE", {
850
                                      "value" : ["CST_LITERAL", "'0'"]}
851
                                    ]]}
852
                                  ]]}
853
                                ]]}
854
                              ]]}
855
                            ]}
856
                          ]}
857
                        ]]}
858
                      ], "default" : [["SIGNAL_ASSIGNMENT_STATEMENT", {
859
                        "lhs" : ["SIMPLE_NAME", "buffer_cnt"], "rhs" : [{
860
                          "value" : ["EXPRESSION", {
861
                            "args" : [["EXPRESSION", {
862
                              "args" : [["EXPRESSION", {
863
                                "args" : [["EXPRESSION", {
864
                                  "id" : "-", "args" : [["EXPRESSION", {
865
                                    "args" : [["CALL", ["SIMPLE_NAME", "buffer_cnt"]]]}
866
                                  ], ["EXPRESSION", {
867
                                    "args" : [["CONSTANT_VALUE", {
868
                                      "value" : ["CST_LITERAL", "1"]}
869
                                    ]]}
870
                                  ]]}
871
                                ]]}
872
                              ]]}
873
                            ]]}
874
                          ]}
875
                        ]}
876
                      ]]}
877
                    ]]}
878
                  ]}
879
                ]]}
880
              ]]}
881
            ]}
882
          ]]}
883
        ]]}
884
      ]}
885
    ]}
886
  }