Project

General

Profile

Statistics
| Branch: | Tag: | Revision:

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

History | View | Annotate | Download (36.6 KB)

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