Project

General

Profile

Download (85.2 KB) Statistics
| Branch: | Tag: | Revision:
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", "work"], ["SIMPLE_NAME", "t48_pack"], ["IDENTIFIER", "word_t"]]]]], ["USE_CLAUSE", [["SELECTED_NAME", [["SIMPLE_NAME", "work"], ["SIMPLE_NAME", "t48_alu_pack"], ["IDENTIFIER", "alu_op_t"]]]]]], "library" : ["ENTITY_DECLARATION", {
5
        "name" : ["IDENTIFIER", "al"], "ports" : [{
6
          "names" : [["IDENTIFIER", "clk_i"]], "mode" : ["in"], "typ" : {
7
            "name" : ["SIMPLE_NAME", "std_logic"]}
8
          }
9
        , {
10
          "names" : [["IDENTIFIER", "res_i"]], "mode" : ["in"], "typ" : {
11
            "name" : ["SIMPLE_NAME", "std_logic"]}
12
          }
13
        , {
14
          "names" : [["IDENTIFIER", "en_clk_i"]], "mode" : ["in"], "typ" : {
15
            "name" : ["SIMPLE_NAME", "boolean"]}
16
          }
17
        , {
18
          "names" : [["IDENTIFIER", "data_i"]], "mode" : ["in"], "typ" : {
19
            "name" : ["SIMPLE_NAME", "word_t"]}
20
          }
21
        , {
22
          "names" : [["IDENTIFIER", "data_o"]], "mode" : ["out"], "typ" : {
23
            "name" : ["SIMPLE_NAME", "word_t"]}
24
          }
25
        , {
26
          "names" : [["IDENTIFIER", "write_accu_i"]], "mode" : ["in"], "typ" : {
27
            "name" : ["SIMPLE_NAME", "boolean"]}
28
          }
29
        , {
30
          "names" : [["IDENTIFIER", "write_shadow_i"]], "mode" : ["in"], "typ" : {
31
            "name" : ["SIMPLE_NAME", "boolean"]}
32
          }
33
        , {
34
          "names" : [["IDENTIFIER", "write_temp_reg_i"]], "mode" : ["in"], "typ" : {
35
            "name" : ["SIMPLE_NAME", "boolean"]}
36
          }
37
        , {
38
          "names" : [["IDENTIFIER", "read_alu_i"]], "mode" : ["in"], "typ" : {
39
            "name" : ["SIMPLE_NAME", "boolean"]}
40
          }
41
        , {
42
          "names" : [["IDENTIFIER", "carry_i"]], "mode" : ["in"], "typ" : {
43
            "name" : ["SIMPLE_NAME", "std_logic"]}
44
          }
45
        , {
46
          "names" : [["IDENTIFIER", "carry_o"]], "mode" : ["out"], "typ" : {
47
            "name" : ["SIMPLE_NAME", "std_logic"]}
48
          }
49
        , {
50
          "names" : [["IDENTIFIER", "aux_carry_o"]], "mode" : ["out"], "typ" : {
51
            "name" : ["SIMPLE_NAME", "std_logic"]}
52
          }
53
        , {
54
          "names" : [["IDENTIFIER", "alu_op_i"]], "mode" : ["in"], "typ" : {
55
            "name" : ["SIMPLE_NAME", "alu_op_t"]}
56
          }
57
        , {
58
          "names" : [["IDENTIFIER", "use_carry_i"]], "mode" : ["in"], "typ" : {
59
            "name" : ["SIMPLE_NAME", "boolean"]}
60
          }
61
        , {
62
          "names" : [["IDENTIFIER", "da_high_i"]], "mode" : ["in"], "typ" : {
63
            "name" : ["SIMPLE_NAME", "boolean"]}
64
          }
65
        , {
66
          "names" : [["IDENTIFIER", "da_overflow_o"]], "mode" : ["out"], "typ" : {
67
            "name" : ["SIMPLE_NAME", "boolean"]}
68
          }
69
        , {
70
          "names" : [["IDENTIFIER", "accu_low_i"]], "mode" : ["in"], "typ" : {
71
            "name" : ["SIMPLE_NAME", "boolean"]}
72
          }
73
        , {
74
          "names" : [["IDENTIFIER", "p06_temp_reg_i"]], "mode" : ["in"], "typ" : {
75
            "name" : ["SIMPLE_NAME", "boolean"]}
76
          }
77
        , {
78
          "names" : [["IDENTIFIER", "p60_temp_reg_i"]], "mode" : ["in"], "typ" : {
79
            "name" : ["SIMPLE_NAME", "boolean"]}
80
          }
81
        ], "ENTITY_DECLARATIVE_PART" : [], "ENTITY_STATEMENT_PART" : []}
82
      ]}
83
    , {
84
      "contexts" : [["LIBRARY_CLAUSE", [["IDENTIFIER", "ieee"]]], ["USE_CLAUSE", [["SELECTED_NAME", [["SIMPLE_NAME", "ieee"], ["SIMPLE_NAME", "numeric_std"]]]]], ["USE_CLAUSE", [["SELECTED_NAME", [["SIMPLE_NAME", "work"], ["SIMPLE_NAME", "t48_pack"], ["IDENTIFIER", "clk_active_c"]]]]], ["USE_CLAUSE", [["SELECTED_NAME", [["SIMPLE_NAME", "work"], ["SIMPLE_NAME", "t48_pack"], ["IDENTIFIER", "res_active_c"]]]]], ["USE_CLAUSE", [["SELECTED_NAME", [["SIMPLE_NAME", "work"], ["SIMPLE_NAME", "t48_pack"], ["IDENTIFIER", "bus_idle_level_c"]]]]], ["USE_CLAUSE", [["SELECTED_NAME", [["SIMPLE_NAME", "work"], ["SIMPLE_NAME", "t48_pack"], ["IDENTIFIER", "nibble_t"]]]]], ["USE_CLAUSE", [["SELECTED_NAME", [["SIMPLE_NAME", "work"], ["SIMPLE_NAME", "t48_alu_pack"]]]]], ["USE_CLAUSE", [["SELECTED_NAME", [["SIMPLE_NAME", "work"], ["SIMPLE_NAME", "t48_tb_pack"], ["IDENTIFIER", "tb_accu_s"]]]]]], "library" : ["ARCHITECTURE_BODY", {
85
        "name" : ["IDENTIFIER", "rtl"], "entity" : ["IDENTIFIER", "t48_alu"], "ARCHITECTURE_DECLARATIVE_PART" : [{
86
          "declaration" : ["SIGNAL_DECLARATION", {
87
            "names" : [["IDENTIFIER", "accumulator_q"], ["IDENTIFIER", "accu_shadow_q"], ["IDENTIFIER", "temp_req_q"]], "typ" : {
88
              "name" : ["SIMPLE_NAME", "word_t"]}
89
            }
90
          ]}
91
        , {
92
          "declaration" : ["SIGNAL_DECLARATION", {
93
            "names" : [["IDENTIFIER", "in_a_s"], ["IDENTIFIER", "in_b_s"]], "typ" : {
94
              "name" : ["SIMPLE_NAME", "word_t"]}
95
            }
96
          ]}
97
        , {
98
          "declaration" : ["SIGNAL_DECLARATION", {
99
            "names" : [["IDENTIFIER", "data_s"]], "typ" : {
100
              "name" : ["SIMPLE_NAME", "word_t"]}
101
            }
102
          ]}
103
        , {
104
          "declaration" : ["SIGNAL_DECLARATION", {
105
            "names" : [["IDENTIFIER", "add_result_s"]], "typ" : {
106
              "name" : ["SIMPLE_NAME", "alu_operand_t"]}
107
            }
108
          ]}
109
        ], "ARCHITECTURE_STATEMENT_PART" : [["PROCESS_STATEMENT", {
110
          "id" : ["IDENTIFIER", "working_regs"], "active_sigs" : [["SIMPLE_NAME", "res_i"], ["SIMPLE_NAME", "clk_i"]], "PROCESS_STATEMENT_PART" : [["IF_STATEMENT", {
111
            "if_cases" : [{
112
              "if_cond" : ["EXPRESSION", {
113
                "id" : "=", "args" : [["EXPRESSION", {
114
                  "args" : [["EXPRESSION", {
115
                    "args" : [["EXPRESSION", {
116
                      "args" : [["CALL", ["SIMPLE_NAME", "res_i"]]]}
117
                    ]]}
118
                  ]]}
119
                ], ["EXPRESSION", {
120
                  "args" : [["EXPRESSION", {
121
                    "args" : [["EXPRESSION", {
122
                      "args" : [["CALL", ["SIMPLE_NAME", "res_active_c"]]]}
123
                    ]]}
124
                  ]]}
125
                ]]}
126
              ], "if_block" : [["SIGNAL_ASSIGNMENT_STATEMENT", {
127
                "lhs" : ["SIMPLE_NAME", "accumulator_q"], "rhs" : [{
128
                  "value" : ["EXPRESSION", {
129
                    "args" : [["EXPRESSION", {
130
                      "args" : [["EXPRESSION", {
131
                        "args" : [["EXPRESSION", {
132
                          "args" : [["AGGREGATE", {
133
                            "elems" : [{
134
                              "choices" : [["OTHERS"]], "expr" : ["EXPRESSION", {
135
                                "args" : [["EXPRESSION", {
136
                                  "args" : [["EXPRESSION", {
137
                                    "args" : [["EXPRESSION", {
138
                                      "args" : [["CONSTANT_VALUE", {
139
                                        "value" : ["CST_LITERAL", "'0'"]}
140
                                      ]]}
141
                                    ]]}
142
                                  ]]}
143
                                ]]}
144
                              ]}
145
                            ]}
146
                          ]]}
147
                        ]]}
148
                      ]]}
149
                    ]]}
150
                  ]}
151
                ]}
152
              ], ["SIGNAL_ASSIGNMENT_STATEMENT", {
153
                "lhs" : ["SIMPLE_NAME", "accu_shadow_q"], "rhs" : [{
154
                  "value" : ["EXPRESSION", {
155
                    "args" : [["EXPRESSION", {
156
                      "args" : [["EXPRESSION", {
157
                        "args" : [["EXPRESSION", {
158
                          "args" : [["AGGREGATE", {
159
                            "elems" : [{
160
                              "choices" : [["OTHERS"]], "expr" : ["EXPRESSION", {
161
                                "args" : [["EXPRESSION", {
162
                                  "args" : [["EXPRESSION", {
163
                                    "args" : [["EXPRESSION", {
164
                                      "args" : [["CONSTANT_VALUE", {
165
                                        "value" : ["CST_LITERAL", "'0'"]}
166
                                      ]]}
167
                                    ]]}
168
                                  ]]}
169
                                ]]}
170
                              ]}
171
                            ]}
172
                          ]]}
173
                        ]]}
174
                      ]]}
175
                    ]]}
176
                  ]}
177
                ]}
178
              ], ["SIGNAL_ASSIGNMENT_STATEMENT", {
179
                "lhs" : ["SIMPLE_NAME", "temp_req_q"], "rhs" : [{
180
                  "value" : ["EXPRESSION", {
181
                    "args" : [["EXPRESSION", {
182
                      "args" : [["EXPRESSION", {
183
                        "args" : [["EXPRESSION", {
184
                          "args" : [["AGGREGATE", {
185
                            "elems" : [{
186
                              "choices" : [["OTHERS"]], "expr" : ["EXPRESSION", {
187
                                "args" : [["EXPRESSION", {
188
                                  "args" : [["EXPRESSION", {
189
                                    "args" : [["EXPRESSION", {
190
                                      "args" : [["CONSTANT_VALUE", {
191
                                        "value" : ["CST_LITERAL", "'0'"]}
192
                                      ]]}
193
                                    ]]}
194
                                  ]]}
195
                                ]]}
196
                              ]}
197
                            ]}
198
                          ]]}
199
                        ]]}
200
                      ]]}
201
                    ]]}
202
                  ]}
203
                ]}
204
              ]]}
205
            , {
206
              "if_cond" : ["EXPRESSION", {
207
                "id" : "and", "args" : [["EXPRESSION", {
208
                  "args" : [["EXPRESSION", {
209
                    "args" : [["EXPRESSION", {
210
                      "args" : [["EXPRESSION", {
211
                        "args" : [["CALL", ["ATTRIBUTE_NAME", {
212
                          "id" : ["SIMPLE_NAME", "clk_i"], "designator" : ["SIMPLE_NAME", "event"]}
213
                        ]]]}
214
                      ]]}
215
                    ]]}
216
                  ]]}
217
                ], ["EXPRESSION", {
218
                  "id" : "=", "args" : [["EXPRESSION", {
219
                    "args" : [["EXPRESSION", {
220
                      "args" : [["EXPRESSION", {
221
                        "args" : [["CALL", ["SIMPLE_NAME", "clk_i"]]]}
222
                      ]]}
223
                    ]]}
224
                  ], ["EXPRESSION", {
225
                    "args" : [["EXPRESSION", {
226
                      "args" : [["EXPRESSION", {
227
                        "args" : [["CALL", ["SIMPLE_NAME", "clk_active_c"]]]}
228
                      ]]}
229
                    ]]}
230
                  ]]}
231
                ]]}
232
              ], "if_block" : [["IF_STATEMENT", {
233
                "if_cases" : [{
234
                  "if_cond" : ["EXPRESSION", {
235
                    "args" : [["EXPRESSION", {
236
                      "args" : [["EXPRESSION", {
237
                        "args" : [["EXPRESSION", {
238
                          "args" : [["CALL", ["SIMPLE_NAME", "en_clk_i"]]]}
239
                        ]]}
240
                      ]]}
241
                    ]]}
242
                  ], "if_block" : [["IF_STATEMENT", {
243
                    "if_cases" : [{
244
                      "if_cond" : ["EXPRESSION", {
245
                        "id" : "or", "args" : [["EXPRESSION", {
246
                          "args" : [["EXPRESSION", {
247
                            "args" : [["EXPRESSION", {
248
                              "args" : [["EXPRESSION", {
249
                                "args" : [["CALL", ["SIMPLE_NAME", "write_accu_i"]]]}
250
                              ]]}
251
                            ]]}
252
                          ]]}
253
                        ], ["EXPRESSION", {
254
                          "args" : [["EXPRESSION", {
255
                            "args" : [["EXPRESSION", {
256
                              "args" : [["EXPRESSION", {
257
                                "args" : [["CALL", ["SIMPLE_NAME", "write_accu_i"]]]}
258
                              ]]}
259
                            ]]}
260
                          ]]}
261
                        ]]}
262
                      ], "if_block" : [["IF_STATEMENT", {
263
                        "if_cases" : [{
264
                          "if_cond" : ["EXPRESSION", {
265
                            "args" : [["EXPRESSION", {
266
                              "args" : [["EXPRESSION", {
267
                                "args" : [["EXPRESSION", {
268
                                  "args" : [["CALL", ["SIMPLE_NAME", "accu_low_i"]]]}
269
                                ]]}
270
                              ]]}
271
                            ]]}
272
                          ], "if_block" : [["SIGNAL_ASSIGNMENT_STATEMENT", {
273
                            "lhs" : ["INDEXED_NAME", {
274
                              "id" : ["SIMPLE_NAME", "accumulator_q"], "exprs" : [["EXPRESSION", {
275
                                "args" : [["EXPRESSION", {
276
                                  "args" : [["EXPRESSION", {
277
                                    "args" : [["EXPRESSION", {
278
                                      "args" : [["CALL", ["SIMPLE_NAME", "nibble_t"]]]}
279
                                    ]]}
280
                                  ]]}
281
                                ]]}
282
                              ]]}
283
                            ], "rhs" : [{
284
                              "value" : ["EXPRESSION", {
285
                                "args" : [["EXPRESSION", {
286
                                  "args" : [["EXPRESSION", {
287
                                    "args" : [["EXPRESSION", {
288
                                      "args" : [["CALL", ["FUNCTION_CALL", {
289
                                        "id" : ["SIMPLE_NAME", "data_i"], "assoc_list" : [{
290
                                          "actual_designator" : ["SIMPLE_NAME", "nibble_t"]}
291
                                        ]}
292
                                      ]]]}
293
                                    ]]}
294
                                  ]]}
295
                                ]]}
296
                              ]}
297
                            ]}
298
                          ]]}
299
                        ], "default" : [["SIGNAL_ASSIGNMENT_STATEMENT", {
300
                          "lhs" : ["SIMPLE_NAME", "accumulator_q"], "rhs" : [{
301
                            "value" : ["EXPRESSION", {
302
                              "args" : [["EXPRESSION", {
303
                                "args" : [["EXPRESSION", {
304
                                  "args" : [["EXPRESSION", {
305
                                    "args" : [["CALL", ["SIMPLE_NAME", "data_i"]]]}
306
                                  ]]}
307
                                ]]}
308
                              ]]}
309
                            ]}
310
                          ]}
311
                        ]]}
312
                      ]]}
313
                    ]}
314
                  ], ["IF_STATEMENT", {
315
                    "if_cases" : [{
316
                      "if_cond" : ["EXPRESSION", {
317
                        "args" : [["EXPRESSION", {
318
                          "args" : [["EXPRESSION", {
319
                            "args" : [["EXPRESSION", {
320
                              "args" : [["CALL", ["SIMPLE_NAME", "write_shadow_i"]]]}
321
                            ]]}
322
                          ]]}
323
                        ]]}
324
                      ], "if_block" : [["SIGNAL_ASSIGNMENT_STATEMENT", {
325
                        "lhs" : ["SIMPLE_NAME", "accu_shadow_q"], "rhs" : [{
326
                          "value" : ["EXPRESSION", {
327
                            "args" : [["EXPRESSION", {
328
                              "args" : [["EXPRESSION", {
329
                                "args" : [["EXPRESSION", {
330
                                  "args" : [["CALL", ["SIMPLE_NAME", "data_i"]]]}
331
                                ]]}
332
                              ]]}
333
                            ]]}
334
                          ]}
335
                        ]}
336
                      ]]}
337
                    ], "default" : [["SIGNAL_ASSIGNMENT_STATEMENT", {
338
                      "lhs" : ["SIMPLE_NAME", "accu_shadow_q"], "rhs" : [{
339
                        "value" : ["EXPRESSION", {
340
                          "args" : [["EXPRESSION", {
341
                            "args" : [["EXPRESSION", {
342
                              "args" : [["EXPRESSION", {
343
                                "args" : [["CALL", ["SIMPLE_NAME", "accumulator_q"]]]}
344
                              ]]}
345
                            ]]}
346
                          ]]}
347
                        ]}
348
                      ]}
349
                    ]]}
350
                  ], ["IF_STATEMENT", {
351
                    "if_cases" : [{
352
                      "if_cond" : ["EXPRESSION", {
353
                        "args" : [["EXPRESSION", {
354
                          "args" : [["EXPRESSION", {
355
                            "args" : [["EXPRESSION", {
356
                              "args" : [["CALL", ["SIMPLE_NAME", "p06_temp_reg_i"]]]}
357
                            ]]}
358
                          ]]}
359
                        ]]}
360
                      ], "if_block" : [["SIGNAL_ASSIGNMENT_STATEMENT", {
361
                        "lhs" : ["SIMPLE_NAME", "temp_req_q"], "rhs" : [{
362
                          "value" : ["EXPRESSION", {
363
                            "args" : [["EXPRESSION", {
364
                              "args" : [["EXPRESSION", {
365
                                "args" : [["EXPRESSION", {
366
                                  "args" : [["CONSTANT_VALUE", {
367
                                    "value" : ["CST_LITERAL", "\"00000110\""]}
368
                                  ]]}
369
                                ]]}
370
                              ]]}
371
                            ]]}
372
                          ]}
373
                        ]}
374
                      ]]}
375
                    , {
376
                      "if_cond" : ["EXPRESSION", {
377
                        "args" : [["EXPRESSION", {
378
                          "args" : [["EXPRESSION", {
379
                            "args" : [["EXPRESSION", {
380
                              "args" : [["CALL", ["SIMPLE_NAME", "p60_temp_reg_i"]]]}
381
                            ]]}
382
                          ]]}
383
                        ]]}
384
                      ], "if_block" : [["SIGNAL_ASSIGNMENT_STATEMENT", {
385
                        "lhs" : ["SIMPLE_NAME", "temp_req_q"], "rhs" : [{
386
                          "value" : ["EXPRESSION", {
387
                            "args" : [["EXPRESSION", {
388
                              "args" : [["EXPRESSION", {
389
                                "args" : [["EXPRESSION", {
390
                                  "args" : [["CONSTANT_VALUE", {
391
                                    "value" : ["CST_LITERAL", "\"01100000\""]}
392
                                  ]]}
393
                                ]]}
394
                              ]]}
395
                            ]]}
396
                          ]}
397
                        ]}
398
                      ]]}
399
                    , {
400
                      "if_cond" : ["EXPRESSION", {
401
                        "args" : [["EXPRESSION", {
402
                          "args" : [["EXPRESSION", {
403
                            "args" : [["EXPRESSION", {
404
                              "args" : [["CALL", ["SIMPLE_NAME", "write_temp_reg_i"]]]}
405
                            ]]}
406
                          ]]}
407
                        ]]}
408
                      ], "if_block" : [["SIGNAL_ASSIGNMENT_STATEMENT", {
409
                        "lhs" : ["SIMPLE_NAME", "temp_req_q"], "rhs" : [{
410
                          "value" : ["EXPRESSION", {
411
                            "args" : [["EXPRESSION", {
412
                              "args" : [["EXPRESSION", {
413
                                "args" : [["EXPRESSION", {
414
                                  "args" : [["CALL", ["SIMPLE_NAME", "data_i"]]]}
415
                                ]]}
416
                              ]]}
417
                            ]]}
418
                          ]}
419
                        ]}
420
                      ]]}
421
                    ]}
422
                  ]]}
423
                ]}
424
              ]]}
425
            ]}
426
          ]]}
427
        ], ["CONDITIONAL_SIGNAL_ASSIGNMENT", {
428
          "postponed" : false, "lhs" : ["SIMPLE_NAME", "in_a_s"], "rhs" : [{
429
            "expr" : [{
430
              "value" : ["EXPRESSION", {
431
                "args" : [["EXPRESSION", {
432
                  "args" : [["EXPRESSION", {
433
                    "args" : [["EXPRESSION", {
434
                      "args" : [["CALL", ["SIMPLE_NAME", "accu_shadow_q"]]]}
435
                    ]]}
436
                  ]]}
437
                ]]}
438
              ]}
439
            ]}
440
          ]}
441
        ], ["CONDITIONAL_SIGNAL_ASSIGNMENT", {
442
          "postponed" : false, "lhs" : ["SIMPLE_NAME", "in_b_s"], "rhs" : [{
443
            "expr" : [{
444
              "value" : ["EXPRESSION", {
445
                "args" : [["EXPRESSION", {
446
                  "args" : [["EXPRESSION", {
447
                    "args" : [["EXPRESSION", {
448
                      "args" : [["CALL", ["SIMPLE_NAME", "temp_req_q"]]]}
449
                    ]]}
450
                  ]]}
451
                ]]}
452
              ]}
453
            ]}
454
          ]}
455
        ], ["PROCESS_STATEMENT", {
456
          "id" : ["IDENTIFIER", "alu_core"], "active_sigs" : [["SIMPLE_NAME", "in_a_s"], ["SIMPLE_NAME", "in_b_s"], ["SIMPLE_NAME", "alu_op_i"], ["SIMPLE_NAME", "carry_i"], ["SIMPLE_NAME", "use_carry_i"], ["SIMPLE_NAME", "add_result_s"]], "PROCESS_STATEMENT_PART" : [["SIGNAL_ASSIGNMENT_STATEMENT", {
457
            "lhs" : ["SIMPLE_NAME", "data_s"], "rhs" : [{
458
              "value" : ["EXPRESSION", {
459
                "args" : [["EXPRESSION", {
460
                  "args" : [["EXPRESSION", {
461
                    "args" : [["EXPRESSION", {
462
                      "args" : [["AGGREGATE", {
463
                        "elems" : [{
464
                          "choices" : [["OTHERS"]], "expr" : ["EXPRESSION", {
465
                            "args" : [["EXPRESSION", {
466
                              "args" : [["EXPRESSION", {
467
                                "args" : [["EXPRESSION", {
468
                                  "args" : [["CONSTANT_VALUE", {
469
                                    "value" : ["CST_LITERAL", "'0'"]}
470
                                  ]]}
471
                                ]]}
472
                              ]]}
473
                            ]]}
474
                          ]}
475
                        ]}
476
                      ]]}
477
                    ]]}
478
                  ]]}
479
                ]]}
480
              ]}
481
            ]}
482
          ], ["SIGNAL_ASSIGNMENT_STATEMENT", {
483
            "lhs" : ["SIMPLE_NAME", "carry_o"], "rhs" : [{
484
              "value" : ["EXPRESSION", {
485
                "args" : [["EXPRESSION", {
486
                  "args" : [["EXPRESSION", {
487
                    "args" : [["EXPRESSION", {
488
                      "args" : [["CONSTANT_VALUE", {
489
                        "value" : ["CST_LITERAL", "'0'"]}
490
                      ]]}
491
                    ]]}
492
                  ]]}
493
                ]]}
494
              ]}
495
            ]}
496
          ], ["CASE_STATEMENT_TREE", {
497
            "guard" : ["EXPRESSION", {
498
              "args" : [["EXPRESSION", {
499
                "args" : [["EXPRESSION", {
500
                  "args" : [["EXPRESSION", {
501
                    "args" : [["CALL", ["SIMPLE_NAME", "alu_op_i"]]]}
502
                  ]]}
503
                ]]}
504
              ]]}
505
            ], "branches" : [{
506
              "when_cond" : [["EXPRESSION", {
507
                "args" : [["EXPRESSION", {
508
                  "args" : [["CALL", ["SIMPLE_NAME", "ALU_AND"]]]}
509
                ]]}
510
              ]], "when_stmt" : [["SIGNAL_ASSIGNMENT_STATEMENT", {
511
                "lhs" : ["SIMPLE_NAME", "data_s"], "rhs" : [{
512
                  "value" : ["EXPRESSION", {
513
                    "id" : "and", "args" : [["EXPRESSION", {
514
                      "args" : [["EXPRESSION", {
515
                        "args" : [["EXPRESSION", {
516
                          "args" : [["EXPRESSION", {
517
                            "args" : [["CALL", ["SIMPLE_NAME", "in_a_s"]]]}
518
                          ]]}
519
                        ]]}
520
                      ]]}
521
                    ], ["EXPRESSION", {
522
                      "args" : [["EXPRESSION", {
523
                        "args" : [["EXPRESSION", {
524
                          "args" : [["EXPRESSION", {
525
                            "args" : [["CALL", ["SIMPLE_NAME", "in_b_s"]]]}
526
                          ]]}
527
                        ]]}
528
                      ]]}
529
                    ]]}
530
                  ]}
531
                ]}
532
              ]]}
533
            , {
534
              "when_cond" : [["EXPRESSION", {
535
                "args" : [["EXPRESSION", {
536
                  "args" : [["CALL", ["SIMPLE_NAME", "ALU_OR"]]]}
537
                ]]}
538
              ]], "when_stmt" : [["SIGNAL_ASSIGNMENT_STATEMENT", {
539
                "lhs" : ["SIMPLE_NAME", "data_s"], "rhs" : [{
540
                  "value" : ["EXPRESSION", {
541
                    "id" : "or", "args" : [["EXPRESSION", {
542
                      "args" : [["EXPRESSION", {
543
                        "args" : [["EXPRESSION", {
544
                          "args" : [["EXPRESSION", {
545
                            "args" : [["CALL", ["SIMPLE_NAME", "in_a_s"]]]}
546
                          ]]}
547
                        ]]}
548
                      ]]}
549
                    ], ["EXPRESSION", {
550
                      "args" : [["EXPRESSION", {
551
                        "args" : [["EXPRESSION", {
552
                          "args" : [["EXPRESSION", {
553
                            "args" : [["CALL", ["SIMPLE_NAME", "in_b_s"]]]}
554
                          ]]}
555
                        ]]}
556
                      ]]}
557
                    ]]}
558
                  ]}
559
                ]}
560
              ]]}
561
            , {
562
              "when_cond" : [["EXPRESSION", {
563
                "args" : [["EXPRESSION", {
564
                  "args" : [["CALL", ["SIMPLE_NAME", "ALU_XOR"]]]}
565
                ]]}
566
              ]], "when_stmt" : [["SIGNAL_ASSIGNMENT_STATEMENT", {
567
                "lhs" : ["SIMPLE_NAME", "data_s"], "rhs" : [{
568
                  "value" : ["EXPRESSION", {
569
                    "id" : "xor", "args" : [["EXPRESSION", {
570
                      "args" : [["EXPRESSION", {
571
                        "args" : [["EXPRESSION", {
572
                          "args" : [["EXPRESSION", {
573
                            "args" : [["CALL", ["SIMPLE_NAME", "in_a_s"]]]}
574
                          ]]}
575
                        ]]}
576
                      ]]}
577
                    ], ["EXPRESSION", {
578
                      "args" : [["EXPRESSION", {
579
                        "args" : [["EXPRESSION", {
580
                          "args" : [["EXPRESSION", {
581
                            "args" : [["CALL", ["SIMPLE_NAME", "in_b_s"]]]}
582
                          ]]}
583
                        ]]}
584
                      ]]}
585
                    ]]}
586
                  ]}
587
                ]}
588
              ]]}
589
            , {
590
              "when_cond" : [["EXPRESSION", {
591
                "args" : [["EXPRESSION", {
592
                  "args" : [["CALL", ["SIMPLE_NAME", "ALU_ADD"]]]}
593
                ]]}
594
              ]], "when_stmt" : [["SIGNAL_ASSIGNMENT_STATEMENT", {
595
                "lhs" : ["SIMPLE_NAME", "data_s"], "rhs" : [{
596
                  "value" : ["EXPRESSION", {
597
                    "args" : [["EXPRESSION", {
598
                      "args" : [["EXPRESSION", {
599
                        "args" : [["EXPRESSION", {
600
                          "args" : [["CALL", ["FUNCTION_CALL", {
601
                            "id" : ["SIMPLE_NAME", "add_result_s"], "assoc_list" : [{
602
                              "actual_designator" : ["SIMPLE_NAME", "data_s"]}
603
                            ]}
604
                          ]]]}
605
                        ]]}
606
                      ]]}
607
                    ]]}
608
                  ]}
609
                ]}
610
              ], ["SIGNAL_ASSIGNMENT_STATEMENT", {
611
                "lhs" : ["SIMPLE_NAME", "carry_o"], "rhs" : [{
612
                  "value" : ["EXPRESSION", {
613
                    "args" : [["EXPRESSION", {
614
                      "args" : [["EXPRESSION", {
615
                        "args" : [["EXPRESSION", {
616
                          "args" : [["CALL", ["FUNCTION_CALL", {
617
                            "id" : ["SIMPLE_NAME", "add_result_s"], "assoc_list" : [{
618
                              "actual_designator" : ["ATTRIBUTE_NAME", {
619
                                "id" : ["SIMPLE_NAME", "add_result_s"], "designator" : ["SIMPLE_NAME", "high"]}
620
                              ]}
621
                            ]}
622
                          ]]]}
623
                        ]]}
624
                      ]]}
625
                    ]]}
626
                  ]}
627
                ]}
628
              ]]}
629
            , {
630
              "when_cond" : [["EXPRESSION", {
631
                "args" : [["EXPRESSION", {
632
                  "args" : [["CALL", ["SIMPLE_NAME", "ALU_CPL"]]]}
633
                ]]}
634
              ]], "when_stmt" : [["SIGNAL_ASSIGNMENT_STATEMENT", {
635
                "lhs" : ["SIMPLE_NAME", "data_s"], "rhs" : [{
636
                  "value" : ["EXPRESSION", {
637
                    "args" : [["EXPRESSION", {
638
                      "args" : [["EXPRESSION", {
639
                        "args" : [["EXPRESSION", {
640
                          "id" : "not", "args" : [["CALL", ["SIMPLE_NAME", "in_a_s"]]]}
641
                        ]]}
642
                      ]]}
643
                    ]]}
644
                  ]}
645
                ]}
646
              ]]}
647
            , {
648
              "when_cond" : [["EXPRESSION", {
649
                "args" : [["EXPRESSION", {
650
                  "args" : [["CALL", ["SIMPLE_NAME", "ALU_CLR"]]]}
651
                ]]}
652
              ]], "when_stmt" : [["SIGNAL_ASSIGNMENT_STATEMENT", {
653
                "lhs" : ["SIMPLE_NAME", "data_s"], "rhs" : [{
654
                  "value" : ["EXPRESSION", {
655
                    "args" : [["EXPRESSION", {
656
                      "args" : [["EXPRESSION", {
657
                        "args" : [["EXPRESSION", {
658
                          "args" : [["AGGREGATE", {
659
                            "elems" : [{
660
                              "choices" : [["OTHERS"]], "expr" : ["EXPRESSION", {
661
                                "args" : [["EXPRESSION", {
662
                                  "args" : [["EXPRESSION", {
663
                                    "args" : [["EXPRESSION", {
664
                                      "args" : [["CONSTANT_VALUE", {
665
                                        "value" : ["CST_LITERAL", "'0'"]}
666
                                      ]]}
667
                                    ]]}
668
                                  ]]}
669
                                ]]}
670
                              ]}
671
                            ]}
672
                          ]]}
673
                        ]]}
674
                      ]]}
675
                    ]]}
676
                  ]}
677
                ]}
678
              ]]}
679
            , {
680
              "when_cond" : [["EXPRESSION", {
681
                "args" : [["EXPRESSION", {
682
                  "args" : [["CALL", ["SIMPLE_NAME", "ALU_RL"]]]}
683
                ]]}
684
              ]], "when_stmt" : [["SIGNAL_ASSIGNMENT_STATEMENT", {
685
                "lhs" : ["SLICE_NAME", {
686
                  "id" : ["SIMPLE_NAME", "data_s"], "range" : ["RANGE_WITH_DIRECTION", {
687
                    "direction" : "downto", "from" : ["EXPRESSION", {
688
                      "args" : [["EXPRESSION", {
689
                        "args" : [["CONSTANT_VALUE", {
690
                          "value" : ["CST_LITERAL", "7"]}
691
                        ]]}
692
                      ]]}
693
                    ], "_to" : ["EXPRESSION", {
694
                      "args" : [["EXPRESSION", {
695
                        "args" : [["CONSTANT_VALUE", {
696
                          "value" : ["CST_LITERAL", "1"]}
697
                        ]]}
698
                      ]]}
699
                    ]}
700
                  ]}
701
                ], "rhs" : [{
702
                  "value" : ["EXPRESSION", {
703
                    "args" : [["EXPRESSION", {
704
                      "args" : [["EXPRESSION", {
705
                        "args" : [["EXPRESSION", {
706
                          "args" : [["CALL", ["SLICE_NAME", {
707
                            "id" : ["SIMPLE_NAME", "in_a_s"], "range" : ["RANGE_WITH_DIRECTION", {
708
                              "direction" : "downto", "from" : ["EXPRESSION", {
709
                                "args" : [["EXPRESSION", {
710
                                  "args" : [["CONSTANT_VALUE", {
711
                                    "value" : ["CST_LITERAL", "6"]}
712
                                  ]]}
713
                                ]]}
714
                              ], "_to" : ["EXPRESSION", {
715
                                "args" : [["EXPRESSION", {
716
                                  "args" : [["CONSTANT_VALUE", {
717
                                    "value" : ["CST_LITERAL", "0"]}
718
                                  ]]}
719
                                ]]}
720
                              ]}
721
                            ]}
722
                          ]]]}
723
                        ]]}
724
                      ]]}
725
                    ]]}
726
                  ]}
727
                ]}
728
              ], ["SIGNAL_ASSIGNMENT_STATEMENT", {
729
                "lhs" : ["SIMPLE_NAME", "carry_o"], "rhs" : [{
730
                  "value" : ["EXPRESSION", {
731
                    "args" : [["EXPRESSION", {
732
                      "args" : [["EXPRESSION", {
733
                        "args" : [["EXPRESSION", {
734
                          "args" : [["CALL", ["FUNCTION_CALL", {
735
                            "id" : ["SIMPLE_NAME", "in_a_s"], "assoc_list" : [{
736
                              "actual_expr" : ["EXPRESSION", {
737
                                "args" : [["EXPRESSION", {
738
                                  "args" : [["EXPRESSION", {
739
                                    "args" : [["EXPRESSION", {
740
                                      "args" : [["CONSTANT_VALUE", {
741
                                        "value" : ["CST_LITERAL", "7"]}
742
                                      ]]}
743
                                    ]]}
744
                                  ]]}
745
                                ]]}
746
                              ]}
747
                            ]}
748
                          ]]]}
749
                        ]]}
750
                      ]]}
751
                    ]]}
752
                  ]}
753
                ]}
754
              ], ["IF_STATEMENT", {
755
                "if_cases" : [{
756
                  "if_cond" : ["EXPRESSION", {
757
                    "args" : [["EXPRESSION", {
758
                      "args" : [["EXPRESSION", {
759
                        "args" : [["EXPRESSION", {
760
                          "args" : [["CALL", ["SIMPLE_NAME", "use_carry_i"]]]}
761
                        ]]}
762
                      ]]}
763
                    ]]}
764
                  ], "if_block" : [["SIGNAL_ASSIGNMENT_STATEMENT", {
765
                    "lhs" : ["INDEXED_NAME", {
766
                      "id" : ["SIMPLE_NAME", "data_s"], "exprs" : [["EXPRESSION", {
767
                        "args" : [["EXPRESSION", {
768
                          "args" : [["EXPRESSION", {
769
                            "args" : [["EXPRESSION", {
770
                              "args" : [["CONSTANT_VALUE", {
771
                                "value" : ["CST_LITERAL", "0"]}
772
                              ]]}
773
                            ]]}
774
                          ]]}
775
                        ]]}
776
                      ]]}
777
                    ], "rhs" : [{
778
                      "value" : ["EXPRESSION", {
779
                        "args" : [["EXPRESSION", {
780
                          "args" : [["EXPRESSION", {
781
                            "args" : [["EXPRESSION", {
782
                              "args" : [["CALL", ["SIMPLE_NAME", "carry_i"]]]}
783
                            ]]}
784
                          ]]}
785
                        ]]}
786
                      ]}
787
                    ]}
788
                  ]]}
789
                ], "default" : [["SIGNAL_ASSIGNMENT_STATEMENT", {
790
                  "lhs" : ["INDEXED_NAME", {
791
                    "id" : ["SIMPLE_NAME", "data_s"], "exprs" : [["EXPRESSION", {
792
                      "args" : [["EXPRESSION", {
793
                        "args" : [["EXPRESSION", {
794
                          "args" : [["EXPRESSION", {
795
                            "args" : [["CONSTANT_VALUE", {
796
                              "value" : ["CST_LITERAL", "0"]}
797
                            ]]}
798
                          ]]}
799
                        ]]}
800
                      ]]}
801
                    ]]}
802
                  ], "rhs" : [{
803
                    "value" : ["EXPRESSION", {
804
                      "args" : [["EXPRESSION", {
805
                        "args" : [["EXPRESSION", {
806
                          "args" : [["EXPRESSION", {
807
                            "args" : [["CALL", ["FUNCTION_CALL", {
808
                              "id" : ["SIMPLE_NAME", "in_a_s"], "assoc_list" : [{
809
                                "actual_expr" : ["EXPRESSION", {
810
                                  "args" : [["EXPRESSION", {
811
                                    "args" : [["EXPRESSION", {
812
                                      "args" : [["EXPRESSION", {
813
                                        "args" : [["CONSTANT_VALUE", {
814
                                          "value" : ["CST_LITERAL", "7"]}
815
                                        ]]}
816
                                      ]]}
817
                                    ]]}
818
                                  ]]}
819
                                ]}
820
                              ]}
821
                            ]]]}
822
                          ]]}
823
                        ]]}
824
                      ]]}
825
                    ]}
826
                  ]}
827
                ]]}
828
              ]]}
829
            , {
830
              "when_cond" : [["EXPRESSION", {
831
                "args" : [["EXPRESSION", {
832
                  "args" : [["CALL", ["SIMPLE_NAME", "ALU_RR"]]]}
833
                ]]}
834
              ]], "when_stmt" : [["SIGNAL_ASSIGNMENT_STATEMENT", {
835
                "lhs" : ["SLICE_NAME", {
836
                  "id" : ["SIMPLE_NAME", "data_s"], "range" : ["RANGE_WITH_DIRECTION", {
837
                    "direction" : "downto", "from" : ["EXPRESSION", {
838
                      "args" : [["EXPRESSION", {
839
                        "args" : [["CONSTANT_VALUE", {
840
                          "value" : ["CST_LITERAL", "6"]}
841
                        ]]}
842
                      ]]}
843
                    ], "_to" : ["EXPRESSION", {
844
                      "args" : [["EXPRESSION", {
845
                        "args" : [["CONSTANT_VALUE", {
846
                          "value" : ["CST_LITERAL", "0"]}
847
                        ]]}
848
                      ]]}
849
                    ]}
850
                  ]}
851
                ], "rhs" : [{
852
                  "value" : ["EXPRESSION", {
853
                    "args" : [["EXPRESSION", {
854
                      "args" : [["EXPRESSION", {
855
                        "args" : [["EXPRESSION", {
856
                          "args" : [["CALL", ["SLICE_NAME", {
857
                            "id" : ["SIMPLE_NAME", "in_a_s"], "range" : ["RANGE_WITH_DIRECTION", {
858
                              "direction" : "downto", "from" : ["EXPRESSION", {
859
                                "args" : [["EXPRESSION", {
860
                                  "args" : [["CONSTANT_VALUE", {
861
                                    "value" : ["CST_LITERAL", "7"]}
862
                                  ]]}
863
                                ]]}
864
                              ], "_to" : ["EXPRESSION", {
865
                                "args" : [["EXPRESSION", {
866
                                  "args" : [["CONSTANT_VALUE", {
867
                                    "value" : ["CST_LITERAL", "1"]}
868
                                  ]]}
869
                                ]]}
870
                              ]}
871
                            ]}
872
                          ]]]}
873
                        ]]}
874
                      ]]}
875
                    ]]}
876
                  ]}
877
                ]}
878
              ], ["SIGNAL_ASSIGNMENT_STATEMENT", {
879
                "lhs" : ["SIMPLE_NAME", "carry_o"], "rhs" : [{
880
                  "value" : ["EXPRESSION", {
881
                    "args" : [["EXPRESSION", {
882
                      "args" : [["EXPRESSION", {
883
                        "args" : [["EXPRESSION", {
884
                          "args" : [["CALL", ["FUNCTION_CALL", {
885
                            "id" : ["SIMPLE_NAME", "in_a_s"], "assoc_list" : [{
886
                              "actual_expr" : ["EXPRESSION", {
887
                                "args" : [["EXPRESSION", {
888
                                  "args" : [["EXPRESSION", {
889
                                    "args" : [["EXPRESSION", {
890
                                      "args" : [["CONSTANT_VALUE", {
891
                                        "value" : ["CST_LITERAL", "0"]}
892
                                      ]]}
893
                                    ]]}
894
                                  ]]}
895
                                ]]}
896
                              ]}
897
                            ]}
898
                          ]]]}
899
                        ]]}
900
                      ]]}
901
                    ]]}
902
                  ]}
903
                ]}
904
              ], ["IF_STATEMENT", {
905
                "if_cases" : [{
906
                  "if_cond" : ["EXPRESSION", {
907
                    "args" : [["EXPRESSION", {
908
                      "args" : [["EXPRESSION", {
909
                        "args" : [["EXPRESSION", {
910
                          "args" : [["CALL", ["SIMPLE_NAME", "use_carry_i"]]]}
911
                        ]]}
912
                      ]]}
913
                    ]]}
914
                  ], "if_block" : [["SIGNAL_ASSIGNMENT_STATEMENT", {
915
                    "lhs" : ["INDEXED_NAME", {
916
                      "id" : ["SIMPLE_NAME", "data_s"], "exprs" : [["EXPRESSION", {
917
                        "args" : [["EXPRESSION", {
918
                          "args" : [["EXPRESSION", {
919
                            "args" : [["EXPRESSION", {
920
                              "args" : [["CONSTANT_VALUE", {
921
                                "value" : ["CST_LITERAL", "7"]}
922
                              ]]}
923
                            ]]}
924
                          ]]}
925
                        ]]}
926
                      ]]}
927
                    ], "rhs" : [{
928
                      "value" : ["EXPRESSION", {
929
                        "args" : [["EXPRESSION", {
930
                          "args" : [["EXPRESSION", {
931
                            "args" : [["EXPRESSION", {
932
                              "args" : [["CALL", ["SIMPLE_NAME", "carry_i"]]]}
933
                            ]]}
934
                          ]]}
935
                        ]]}
936
                      ]}
937
                    ]}
938
                  ]]}
939
                ], "default" : [["SIGNAL_ASSIGNMENT_STATEMENT", {
940
                  "lhs" : ["INDEXED_NAME", {
941
                    "id" : ["SIMPLE_NAME", "data_s"], "exprs" : [["EXPRESSION", {
942
                      "args" : [["EXPRESSION", {
943
                        "args" : [["EXPRESSION", {
944
                          "args" : [["EXPRESSION", {
945
                            "args" : [["CONSTANT_VALUE", {
946
                              "value" : ["CST_LITERAL", "7"]}
947
                            ]]}
948
                          ]]}
949
                        ]]}
950
                      ]]}
951
                    ]]}
952
                  ], "rhs" : [{
953
                    "value" : ["EXPRESSION", {
954
                      "args" : [["EXPRESSION", {
955
                        "args" : [["EXPRESSION", {
956
                          "args" : [["EXPRESSION", {
957
                            "args" : [["CALL", ["FUNCTION_CALL", {
958
                              "id" : ["SIMPLE_NAME", "in_a_s"], "assoc_list" : [{
959
                                "actual_expr" : ["EXPRESSION", {
960
                                  "args" : [["EXPRESSION", {
961
                                    "args" : [["EXPRESSION", {
962
                                      "args" : [["EXPRESSION", {
963
                                        "args" : [["CONSTANT_VALUE", {
964
                                          "value" : ["CST_LITERAL", "0"]}
965
                                        ]]}
966
                                      ]]}
967
                                    ]]}
968
                                  ]]}
969
                                ]}
970
                              ]}
971
                            ]]]}
972
                          ]]}
973
                        ]]}
974
                      ]]}
975
                    ]}
976
                  ]}
977
                ]]}
978
              ]]}
979
            , {
980
              "when_cond" : [["EXPRESSION", {
981
                "args" : [["EXPRESSION", {
982
                  "args" : [["CALL", ["SIMPLE_NAME", "ALU_SWAP"]]]}
983
                ]]}
984
              ]], "when_stmt" : [["SIGNAL_ASSIGNMENT_STATEMENT", {
985
                "lhs" : ["SLICE_NAME", {
986
                  "id" : ["SIMPLE_NAME", "data_s"], "range" : ["RANGE_WITH_DIRECTION", {
987
                    "direction" : "downto", "from" : ["EXPRESSION", {
988
                      "args" : [["EXPRESSION", {
989
                        "args" : [["CONSTANT_VALUE", {
990
                          "value" : ["CST_LITERAL", "3"]}
991
                        ]]}
992
                      ]]}
993
                    ], "_to" : ["EXPRESSION", {
994
                      "args" : [["EXPRESSION", {
995
                        "args" : [["CONSTANT_VALUE", {
996
                          "value" : ["CST_LITERAL", "0"]}
997
                        ]]}
998
                      ]]}
999
                    ]}
1000
                  ]}
1001
                ], "rhs" : [{
1002
                  "value" : ["EXPRESSION", {
1003
                    "args" : [["EXPRESSION", {
1004
                      "args" : [["EXPRESSION", {
1005
                        "args" : [["EXPRESSION", {
1006
                          "args" : [["CALL", ["SLICE_NAME", {
1007
                            "id" : ["SIMPLE_NAME", "in_a_s"], "range" : ["RANGE_WITH_DIRECTION", {
1008
                              "direction" : "downto", "from" : ["EXPRESSION", {
1009
                                "args" : [["EXPRESSION", {
1010
                                  "args" : [["CONSTANT_VALUE", {
1011
                                    "value" : ["CST_LITERAL", "7"]}
1012
                                  ]]}
1013
                                ]]}
1014
                              ], "_to" : ["EXPRESSION", {
1015
                                "args" : [["EXPRESSION", {
1016
                                  "args" : [["CONSTANT_VALUE", {
1017
                                    "value" : ["CST_LITERAL", "4"]}
1018
                                  ]]}
1019
                                ]]}
1020
                              ]}
1021
                            ]}
1022
                          ]]]}
1023
                        ]]}
1024
                      ]]}
1025
                    ]]}
1026
                  ]}
1027
                ]}
1028
              ], ["SIGNAL_ASSIGNMENT_STATEMENT", {
1029
                "lhs" : ["SLICE_NAME", {
1030
                  "id" : ["SIMPLE_NAME", "data_s"], "range" : ["RANGE_WITH_DIRECTION", {
1031
                    "direction" : "downto", "from" : ["EXPRESSION", {
1032
                      "args" : [["EXPRESSION", {
1033
                        "args" : [["CONSTANT_VALUE", {
1034
                          "value" : ["CST_LITERAL", "7"]}
1035
                        ]]}
1036
                      ]]}
1037
                    ], "_to" : ["EXPRESSION", {
1038
                      "args" : [["EXPRESSION", {
1039
                        "args" : [["CONSTANT_VALUE", {
1040
                          "value" : ["CST_LITERAL", "4"]}
1041
                        ]]}
1042
                      ]]}
1043
                    ]}
1044
                  ]}
1045
                ], "rhs" : [{
1046
                  "value" : ["EXPRESSION", {
1047
                    "args" : [["EXPRESSION", {
1048
                      "args" : [["EXPRESSION", {
1049
                        "args" : [["EXPRESSION", {
1050
                          "args" : [["CALL", ["SLICE_NAME", {
1051
                            "id" : ["SIMPLE_NAME", "in_a_s"], "range" : ["RANGE_WITH_DIRECTION", {
1052
                              "direction" : "downto", "from" : ["EXPRESSION", {
1053
                                "args" : [["EXPRESSION", {
1054
                                  "args" : [["CONSTANT_VALUE", {
1055
                                    "value" : ["CST_LITERAL", "3"]}
1056
                                  ]]}
1057
                                ]]}
1058
                              ], "_to" : ["EXPRESSION", {
1059
                                "args" : [["EXPRESSION", {
1060
                                  "args" : [["CONSTANT_VALUE", {
1061
                                    "value" : ["CST_LITERAL", "0"]}
1062
                                  ]]}
1063
                                ]]}
1064
                              ]}
1065
                            ]}
1066
                          ]]]}
1067
                        ]]}
1068
                      ]]}
1069
                    ]]}
1070
                  ]}
1071
                ]}
1072
              ]]}
1073
            , {
1074
              "when_cond" : [["EXPRESSION", {
1075
                "args" : [["EXPRESSION", {
1076
                  "args" : [["CALL", ["SIMPLE_NAME", "ALU_DEC"]]]}
1077
                ]]}
1078
              ]], "when_stmt" : [["SIGNAL_ASSIGNMENT_STATEMENT", {
1079
                "lhs" : ["SIMPLE_NAME", "data_s"], "rhs" : [{
1080
                  "value" : ["EXPRESSION", {
1081
                    "args" : [["EXPRESSION", {
1082
                      "args" : [["EXPRESSION", {
1083
                        "args" : [["EXPRESSION", {
1084
                          "args" : [["CALL", ["FUNCTION_CALL", {
1085
                            "id" : ["SIMPLE_NAME", "add_result_s"], "assoc_list" : [{
1086
                              "actual_designator" : ["SIMPLE_NAME", "data_s"]}
1087
                            ]}
1088
                          ]]]}
1089
                        ]]}
1090
                      ]]}
1091
                    ]]}
1092
                  ]}
1093
                ]}
1094
              ]]}
1095
            , {
1096
              "when_cond" : [["EXPRESSION", {
1097
                "args" : [["EXPRESSION", {
1098
                  "args" : [["CALL", ["SIMPLE_NAME", "ALU_INC"]]]}
1099
                ]]}
1100
              ]], "when_stmt" : [["SIGNAL_ASSIGNMENT_STATEMENT", {
1101
                "lhs" : ["SIMPLE_NAME", "data_s"], "rhs" : [{
1102
                  "value" : ["EXPRESSION", {
1103
                    "args" : [["EXPRESSION", {
1104
                      "args" : [["EXPRESSION", {
1105
                        "args" : [["EXPRESSION", {
1106
                          "args" : [["CALL", ["FUNCTION_CALL", {
1107
                            "id" : ["SIMPLE_NAME", "add_result_s"], "assoc_list" : [{
1108
                              "actual_designator" : ["SIMPLE_NAME", "data_s"]}
1109
                            ]}
1110
                          ]]]}
1111
                        ]]}
1112
                      ]]}
1113
                    ]]}
1114
                  ]}
1115
                ]}
1116
              ]]}
1117
            , {
1118
              "when_cond" : [["EXPRESSION", {
1119
                "args" : [["EXPRESSION", {
1120
                  "args" : [["CALL", ["SIMPLE_NAME", "ALU_CONCAT"]]]}
1121
                ]]}
1122
              ]], "when_stmt" : [["SIGNAL_ASSIGNMENT_STATEMENT", {
1123
                "lhs" : ["SIMPLE_NAME", "data_s"], "rhs" : [{
1124
                  "value" : ["EXPRESSION", {
1125
                    "args" : [["EXPRESSION", {
1126
                      "args" : [["EXPRESSION", {
1127
                        "args" : [["EXPRESSION", {
1128
                          "id" : "&", "args" : [["EXPRESSION", {
1129
                            "args" : [["CALL", ["SLICE_NAME", {
1130
                              "id" : ["SIMPLE_NAME", "in_b_s"], "range" : ["RANGE_WITH_DIRECTION", {
1131
                                "direction" : "downto", "from" : ["EXPRESSION", {
1132
                                  "args" : [["EXPRESSION", {
1133
                                    "args" : [["CONSTANT_VALUE", {
1134
                                      "value" : ["CST_LITERAL", "7"]}
1135
                                    ]]}
1136
                                  ]]}
1137
                                ], "_to" : ["EXPRESSION", {
1138
                                  "args" : [["EXPRESSION", {
1139
                                    "args" : [["CONSTANT_VALUE", {
1140
                                      "value" : ["CST_LITERAL", "4"]}
1141
                                    ]]}
1142
                                  ]]}
1143
                                ]}
1144
                              ]}
1145
                            ]]]}
1146
                          ], ["EXPRESSION", {
1147
                            "args" : [["CALL", ["SLICE_NAME", {
1148
                              "id" : ["SIMPLE_NAME", "in_a_s"], "range" : ["RANGE_WITH_DIRECTION", {
1149
                                "direction" : "downto", "from" : ["EXPRESSION", {
1150
                                  "args" : [["EXPRESSION", {
1151
                                    "args" : [["CONSTANT_VALUE", {
1152
                                      "value" : ["CST_LITERAL", "3"]}
1153
                                    ]]}
1154
                                  ]]}
1155
                                ], "_to" : ["EXPRESSION", {
1156
                                  "args" : [["EXPRESSION", {
1157
                                    "args" : [["CONSTANT_VALUE", {
1158
                                      "value" : ["CST_LITERAL", "0"]}
1159
                                    ]]}
1160
                                  ]]}
1161
                                ]}
1162
                              ]}
1163
                            ]]]}
1164
                          ]]}
1165
                        ]]}
1166
                      ]]}
1167
                    ]]}
1168
                  ]}
1169
                ]}
1170
              ]]}
1171
            , {
1172
              "when_cond" : [["EXPRESSION", {
1173
                "args" : [["EXPRESSION", {
1174
                  "args" : [["CALL", ["SIMPLE_NAME", "ALU_NOP"]]]}
1175
                ]]}
1176
              ]], "when_stmt" : [["SIGNAL_ASSIGNMENT_STATEMENT", {
1177
                "lhs" : ["SIMPLE_NAME", "data_s"], "rhs" : [{
1178
                  "value" : ["EXPRESSION", {
1179
                    "args" : [["EXPRESSION", {
1180
                      "args" : [["EXPRESSION", {
1181
                        "args" : [["EXPRESSION", {
1182
                          "args" : [["CALL", ["SIMPLE_NAME", "in_a_s"]]]}
1183
                        ]]}
1184
                      ]]}
1185
                    ]]}
1186
                  ]}
1187
                ]}
1188
              ]]}
1189
            , {
1190
              "when_cond" : [["OTHERS"]], "when_stmt" : [["ASSERTION_STATEMENT", {
1191
                "cond" : ["EXPRESSION", {
1192
                  "args" : [["EXPRESSION", {
1193
                    "args" : [["EXPRESSION", {
1194
                      "args" : [["EXPRESSION", {
1195
                        "args" : [["CALL", ["SIMPLE_NAME", "false"]]]}
1196
                      ]]}
1197
                    ]]}
1198
                  ]]}
1199
                ], "report" : ["EXPRESSION", {
1200
                  "args" : [["EXPRESSION", {
1201
                    "args" : [["EXPRESSION", {
1202
                      "args" : [["EXPRESSION", {
1203
                        "args" : [["CONSTANT_VALUE", {
1204
                          "value" : ["CST_LITERAL", "\"Unknown ALU operation selected!\""]}
1205
                        ]]}
1206
                      ]]}
1207
                    ]]}
1208
                  ]]}
1209
                ], "severity" : ["EXPRESSION", {
1210
                  "args" : [["EXPRESSION", {
1211
                    "args" : [["EXPRESSION", {
1212
                      "args" : [["EXPRESSION", {
1213
                        "args" : [["CALL", ["SIMPLE_NAME", "error"]]]}
1214
                      ]]}
1215
                    ]]}
1216
                  ]]}
1217
                ]}
1218
              ]]}
1219
            ]}
1220
          ]]}
1221
        ], ["PROCESS_STATEMENT", {
1222
          "id" : ["IDENTIFIER", "adder"], "PROCESS_DECLARATIVE_PART" : [{
1223
            "declaration" : ["VARIABLE_DECLARATION", {
1224
              "names" : [["IDENTIFIER", "add_a_v"], ["IDENTIFIER", "add_b_v"]], "typ" : {
1225
                "name" : ["SIMPLE_NAME", "alu_operand_t"]}
1226
              }
1227
            ]}
1228
          , {
1229
            "declaration" : ["VARIABLE_DECLARATION", {
1230
              "names" : [["IDENTIFIER", "c_v"]], "typ" : {
1231
                "name" : ["SIMPLE_NAME", "alu_operand_t"]}
1232
              }
1233
            ]}
1234
          , {
1235
            "declaration" : ["VARIABLE_DECLARATION", {
1236
              "names" : [["IDENTIFIER", "result_v"]], "typ" : {
1237
                "name" : ["SIMPLE_NAME", "UNSIGNED"], "const" : ["INDEX_CONSTRAINT", {
1238
                  "ranges" : [["SUB_DISCRETE_RANGE", {
1239
                    "name" : ["SIMPLE_NAME", "alu_operand_t"]}
1240
                  ]]}
1241
                ]}
1242
              }
1243
            ]}
1244
          , {
1245
            "declaration" : ["VARIABLE_DECLARATION", {
1246
              "names" : [["IDENTIFIER", "aux_c_v"]], "typ" : {
1247
                "name" : ["SIMPLE_NAME", "std_logic_vector"], "const" : ["INDEX_CONSTRAINT", {
1248
                  "ranges" : [["RANGE_WITH_DIRECTION", {
1249
                    "direction" : "downto", "from" : ["EXPRESSION", {
1250
                      "args" : [["EXPRESSION", {
1251
                        "args" : [["CONSTANT_VALUE", {
1252
                          "value" : ["CST_LITERAL", "1"]}
1253
                        ]]}
1254
                      ]]}
1255
                    ], "_to" : ["EXPRESSION", {
1256
                      "args" : [["EXPRESSION", {
1257
                        "args" : [["CONSTANT_VALUE", {
1258
                          "value" : ["CST_LITERAL", "0"]}
1259
                        ]]}
1260
                      ]]}
1261
                    ]}
1262
                  ]]}
1263
                ]}
1264
              }
1265
            ]}
1266
          ], "active_sigs" : [["SIMPLE_NAME", "in_a_s"], ["SIMPLE_NAME", "in_b_s"], ["SIMPLE_NAME", "alu_op_i"], ["SIMPLE_NAME", "carry_i"], ["SIMPLE_NAME", "use_carry_i"]], "PROCESS_STATEMENT_PART" : [["VARIABLE_ASSIGNMENT_STATEMENT", {
1267
            "lhs" : ["SIMPLE_NAME", "c_v"], "rhs" : ["EXPRESSION", {
1268
              "args" : [["EXPRESSION", {
1269
                "args" : [["EXPRESSION", {
1270
                  "args" : [["EXPRESSION", {
1271
                    "args" : [["AGGREGATE", {
1272
                      "elems" : [{
1273
                        "choices" : [["OTHERS"]], "expr" : ["EXPRESSION", {
1274
                          "args" : [["EXPRESSION", {
1275
                            "args" : [["EXPRESSION", {
1276
                              "args" : [["EXPRESSION", {
1277
                                "args" : [["CONSTANT_VALUE", {
1278
                                  "value" : ["CST_LITERAL", "'0'"]}
1279
                                ]]}
1280
                              ]]}
1281
                            ]]}
1282
                          ]]}
1283
                        ]}
1284
                      ]}
1285
                    ]]}
1286
                  ]]}
1287
                ]]}
1288
              ]]}
1289
            ]}
1290
          ], ["IF_STATEMENT", {
1291
            "if_cases" : [{
1292
              "if_cond" : ["EXPRESSION", {
1293
                "id" : "and", "args" : [["EXPRESSION", {
1294
                  "args" : [["EXPRESSION", {
1295
                    "args" : [["EXPRESSION", {
1296
                      "args" : [["EXPRESSION", {
1297
                        "args" : [["CALL", ["SIMPLE_NAME", "use_carry_i"]]]}
1298
                      ]]}
1299
                    ]]}
1300
                  ]]}
1301
                ], ["EXPRESSION", {
1302
                  "id" : "=", "args" : [["EXPRESSION", {
1303
                    "args" : [["EXPRESSION", {
1304
                      "args" : [["EXPRESSION", {
1305
                        "args" : [["CALL", ["SIMPLE_NAME", "carry_i"]]]}
1306
                      ]]}
1307
                    ]]}
1308
                  ], ["EXPRESSION", {
1309
                    "args" : [["EXPRESSION", {
1310
                      "args" : [["EXPRESSION", {
1311
                        "args" : [["CONSTANT_VALUE", {
1312
                          "value" : ["CST_LITERAL", "'1'"]}
1313
                        ]]}
1314
                      ]]}
1315
                    ]]}
1316
                  ]]}
1317
                ]]}
1318
              ], "if_block" : [["VARIABLE_ASSIGNMENT_STATEMENT", {
1319
                "lhs" : ["INDEXED_NAME", {
1320
                  "id" : ["SIMPLE_NAME", "c_v"], "exprs" : [["EXPRESSION", {
1321
                    "args" : [["EXPRESSION", {
1322
                      "args" : [["EXPRESSION", {
1323
                        "args" : [["EXPRESSION", {
1324
                          "args" : [["CONSTANT_VALUE", {
1325
                            "value" : ["CST_LITERAL", "0"]}
1326
                          ]]}
1327
                        ]]}
1328
                      ]]}
1329
                    ]]}
1330
                  ]]}
1331
                ], "rhs" : ["EXPRESSION", {
1332
                  "args" : [["EXPRESSION", {
1333
                    "args" : [["EXPRESSION", {
1334
                      "args" : [["EXPRESSION", {
1335
                        "args" : [["CONSTANT_VALUE", {
1336
                          "value" : ["CST_LITERAL", "'1'"]}
1337
                        ]]}
1338
                      ]]}
1339
                    ]]}
1340
                  ]]}
1341
                ]}
1342
              ]]}
1343
            ]}
1344
          ], ["VARIABLE_ASSIGNMENT_STATEMENT", {
1345
            "lhs" : ["SIMPLE_NAME", "add_a_v"], "rhs" : ["EXPRESSION", {
1346
              "args" : [["EXPRESSION", {
1347
                "args" : [["EXPRESSION", {
1348
                  "args" : [["EXPRESSION", {
1349
                    "id" : "&", "args" : [["EXPRESSION", {
1350
                      "args" : [["CONSTANT_VALUE", {
1351
                        "value" : ["CST_LITERAL", "'0'"]}
1352
                      ]]}
1353
                    ], ["EXPRESSION", {
1354
                      "args" : [["CALL", ["SIMPLE_NAME", "in_a_s"]]]}
1355
                    ]]}
1356
                  ]]}
1357
                ]]}
1358
              ]]}
1359
            ]}
1360
          ], ["VARIABLE_ASSIGNMENT_STATEMENT", {
1361
            "lhs" : ["SIMPLE_NAME", "add_b_v"], "rhs" : ["EXPRESSION", {
1362
              "args" : [["EXPRESSION", {
1363
                "args" : [["EXPRESSION", {
1364
                  "args" : [["EXPRESSION", {
1365
                    "id" : "&", "args" : [["EXPRESSION", {
1366
                      "args" : [["CONSTANT_VALUE", {
1367
                        "value" : ["CST_LITERAL", "'0'"]}
1368
                      ]]}
1369
                    ], ["EXPRESSION", {
1370
                      "args" : [["CALL", ["SIMPLE_NAME", "in_b_s"]]]}
1371
                    ]]}
1372
                  ]]}
1373
                ]]}
1374
              ]]}
1375
            ]}
1376
          ], ["CASE_STATEMENT_TREE", {
1377
            "guard" : ["EXPRESSION", {
1378
              "args" : [["EXPRESSION", {
1379
                "args" : [["EXPRESSION", {
1380
                  "args" : [["EXPRESSION", {
1381
                    "args" : [["CALL", ["SIMPLE_NAME", "alu_op_i"]]]}
1382
                  ]]}
1383
                ]]}
1384
              ]]}
1385
            ], "branches" : [{
1386
              "when_cond" : [["EXPRESSION", {
1387
                "args" : [["EXPRESSION", {
1388
                  "args" : [["CALL", ["SIMPLE_NAME", "ALU_INC"]]]}
1389
                ]]}
1390
              ]], "when_stmt" : [["VARIABLE_ASSIGNMENT_STATEMENT", {
1391
                "lhs" : ["SIMPLE_NAME", "add_b_v"], "rhs" : ["EXPRESSION", {
1392
                  "args" : [["EXPRESSION", {
1393
                    "args" : [["EXPRESSION", {
1394
                      "args" : [["EXPRESSION", {
1395
                        "args" : [["AGGREGATE", {
1396
                          "elems" : [{
1397
                            "choices" : [["OTHERS"]], "expr" : ["EXPRESSION", {
1398
                              "args" : [["EXPRESSION", {
1399
                                "args" : [["EXPRESSION", {
1400
                                  "args" : [["EXPRESSION", {
1401
                                    "args" : [["CONSTANT_VALUE", {
1402
                                      "value" : ["CST_LITERAL", "'0'"]}
1403
                                    ]]}
1404
                                  ]]}
1405
                                ]]}
1406
                              ]]}
1407
                            ]}
1408
                          ]}
1409
                        ]]}
1410
                      ]]}
1411
                    ]]}
1412
                  ]]}
1413
                ]}
1414
              ], ["VARIABLE_ASSIGNMENT_STATEMENT", {
1415
                "lhs" : ["INDEXED_NAME", {
1416
                  "id" : ["SIMPLE_NAME", "add_b_v"], "exprs" : [["EXPRESSION", {
1417
                    "args" : [["EXPRESSION", {
1418
                      "args" : [["EXPRESSION", {
1419
                        "args" : [["EXPRESSION", {
1420
                          "args" : [["CONSTANT_VALUE", {
1421
                            "value" : ["CST_LITERAL", "0"]}
1422
                          ]]}
1423
                        ]]}
1424
                      ]]}
1425
                    ]]}
1426
                  ]]}
1427
                ], "rhs" : ["EXPRESSION", {
1428
                  "args" : [["EXPRESSION", {
1429
                    "args" : [["EXPRESSION", {
1430
                      "args" : [["EXPRESSION", {
1431
                        "args" : [["CONSTANT_VALUE", {
1432
                          "value" : ["CST_LITERAL", "'1'"]}
1433
                        ]]}
1434
                      ]]}
1435
                    ]]}
1436
                  ]]}
1437
                ]}
1438
              ]]}
1439
            , {
1440
              "when_cond" : [["EXPRESSION", {
1441
                "args" : [["EXPRESSION", {
1442
                  "args" : [["CALL", ["SIMPLE_NAME", "ALU_DEC"]]]}
1443
                ]]}
1444
              ]], "when_stmt" : [["VARIABLE_ASSIGNMENT_STATEMENT", {
1445
                "lhs" : ["SIMPLE_NAME", "add_b_v"], "rhs" : ["EXPRESSION", {
1446
                  "args" : [["EXPRESSION", {
1447
                    "args" : [["EXPRESSION", {
1448
                      "args" : [["EXPRESSION", {
1449
                        "args" : [["AGGREGATE", {
1450
                          "elems" : [{
1451
                            "choices" : [["OTHERS"]], "expr" : ["EXPRESSION", {
1452
                              "args" : [["EXPRESSION", {
1453
                                "args" : [["EXPRESSION", {
1454
                                  "args" : [["EXPRESSION", {
1455
                                    "args" : [["CONSTANT_VALUE", {
1456
                                      "value" : ["CST_LITERAL", "'1'"]}
1457
                                    ]]}
1458
                                  ]]}
1459
                                ]]}
1460
                              ]]}
1461
                            ]}
1462
                          ]}
1463
                        ]]}
1464
                      ]]}
1465
                    ]]}
1466
                  ]]}
1467
                ]}
1468
              ]]}
1469
            , {
1470
              "when_cond" : [["OTHERS"]], "when_stmt" : [["NULL_STATEMENT", {
1471
                }
1472
              ]]}
1473
            ]}
1474
          ], ["VARIABLE_ASSIGNMENT_STATEMENT", {
1475
            "lhs" : ["SIMPLE_NAME", "result_v"], "rhs" : ["EXPRESSION", {
1476
              "args" : [["EXPRESSION", {
1477
                "args" : [["EXPRESSION", {
1478
                  "args" : [["EXPRESSION", {
1479
                    "id" : "+", "args" : [["EXPRESSION", {
1480
                      "id" : "+", "args" : [["EXPRESSION", {
1481
                        "args" : [["CALL", ["FUNCTION_CALL", {
1482
                          "id" : ["SIMPLE_NAME", "UNSIGNED"], "assoc_list" : [{
1483
                            "actual_designator" : ["SIMPLE_NAME", "add_a_v"]}
1484
                          ]}
1485
                        ]]]}
1486
                      ], ["EXPRESSION", {
1487
                        "args" : [["CALL", ["FUNCTION_CALL", {
1488
                          "id" : ["SIMPLE_NAME", "UNSIGNED"], "assoc_list" : [{
1489
                            "actual_designator" : ["SIMPLE_NAME", "add_b_v"]}
1490
                          ]}
1491
                        ]]]}
1492
                      ]]}
1493
                    ], ["EXPRESSION", {
1494
                      "args" : [["CALL", ["FUNCTION_CALL", {
1495
                        "id" : ["SIMPLE_NAME", "UNSIGNED"], "assoc_list" : [{
1496
                          "actual_designator" : ["SIMPLE_NAME", "c_v"]}
1497
                        ]}
1498
                      ]]]}
1499
                    ]]}
1500
                  ]]}
1501
                ]]}
1502
              ]]}
1503
            ]}
1504
          ], ["SIGNAL_ASSIGNMENT_STATEMENT", {
1505
            "lhs" : ["SIMPLE_NAME", "add_result_s"], "rhs" : [{
1506
              "value" : ["EXPRESSION", {
1507
                "args" : [["EXPRESSION", {
1508
                  "args" : [["EXPRESSION", {
1509
                    "args" : [["EXPRESSION", {
1510
                      "args" : [["CALL", ["FUNCTION_CALL", {
1511
                        "id" : ["SIMPLE_NAME", "std_logic_vector"], "assoc_list" : [{
1512
                          "actual_designator" : ["SIMPLE_NAME", "result_v"]}
1513
                        ]}
1514
                      ]]]}
1515
                    ]]}
1516
                  ]]}
1517
                ]]}
1518
              ]}
1519
            ]}
1520
          ], ["VARIABLE_ASSIGNMENT_STATEMENT", {
1521
            "lhs" : ["SIMPLE_NAME", "aux_c_v"], "rhs" : ["EXPRESSION", {
1522
              "args" : [["EXPRESSION", {
1523
                "args" : [["EXPRESSION", {
1524
                  "args" : [["EXPRESSION", {
1525
                    "id" : "&", "args" : [["EXPRESSION", {
1526
                      "args" : [["CALL", ["FUNCTION_CALL", {
1527
                        "id" : ["SIMPLE_NAME", "in_a_s"], "assoc_list" : [{
1528
                          "actual_expr" : ["EXPRESSION", {
1529
                            "args" : [["EXPRESSION", {
1530
                              "args" : [["EXPRESSION", {
1531
                                "args" : [["EXPRESSION", {
1532
                                  "args" : [["CONSTANT_VALUE", {
1533
                                    "value" : ["CST_LITERAL", "4"]}
1534
                                  ]]}
1535
                                ]]}
1536
                              ]]}
1537
                            ]]}
1538
                          ]}
1539
                        ]}
1540
                      ]]]}
1541
                    ], ["EXPRESSION", {
1542
                      "args" : [["CALL", ["FUNCTION_CALL", {
1543
                        "id" : ["SIMPLE_NAME", "in_b_s"], "assoc_list" : [{
1544
                          "actual_expr" : ["EXPRESSION", {
1545
                            "args" : [["EXPRESSION", {
1546
                              "args" : [["EXPRESSION", {
1547
                                "args" : [["EXPRESSION", {
1548
                                  "args" : [["CONSTANT_VALUE", {
1549
                                    "value" : ["CST_LITERAL", "4"]}
1550
                                  ]]}
1551
                                ]]}
1552
                              ]]}
1553
                            ]]}
1554
                          ]}
1555
                        ]}
1556
                      ]]]}
1557
                    ]]}
1558
                  ]]}
1559
                ]]}
1560
              ]]}
1561
            ]}
1562
          ], ["SIGNAL_ASSIGNMENT_STATEMENT", {
1563
            "lhs" : ["SIMPLE_NAME", "aux_carry_o"], "rhs" : [{
1564
              "value" : ["EXPRESSION", {
1565
                "args" : [["EXPRESSION", {
1566
                  "args" : [["EXPRESSION", {
1567
                    "args" : [["EXPRESSION", {
1568
                      "args" : [["CONSTANT_VALUE", {
1569
                        "value" : ["CST_LITERAL", "'0'"]}
1570
                      ]]}
1571
                    ]]}
1572
                  ]]}
1573
                ]]}
1574
              ]}
1575
            ]}
1576
          ], ["CASE_STATEMENT_TREE", {
1577
            "guard" : ["EXPRESSION", {
1578
              "args" : [["EXPRESSION", {
1579
                "args" : [["EXPRESSION", {
1580
                  "args" : [["EXPRESSION", {
1581
                    "args" : [["CALL", ["SIMPLE_NAME", "aux_c_v"]]]}
1582
                  ]]}
1583
                ]]}
1584
              ]]}
1585
            ], "branches" : [{
1586
              "when_cond" : [["EXPRESSION", {
1587
                "args" : [["EXPRESSION", {
1588
                  "args" : [["CONSTANT_VALUE", {
1589
                    "value" : ["CST_LITERAL", "\"00\""]}
1590
                  ]]}
1591
                ]]}
1592
              ], ["EXPRESSION", {
1593
                "args" : [["EXPRESSION", {
1594
                  "args" : [["CONSTANT_VALUE", {
1595
                    "value" : ["CST_LITERAL", "\"11\""]}
1596
                  ]]}
1597
                ]]}
1598
              ]], "when_stmt" : [["IF_STATEMENT", {
1599
                "if_cases" : [{
1600
                  "if_cond" : ["EXPRESSION", {
1601
                    "id" : "=", "args" : [["EXPRESSION", {
1602
                      "args" : [["EXPRESSION", {
1603
                        "args" : [["EXPRESSION", {
1604
                          "args" : [["CALL", ["FUNCTION_CALL", {
1605
                            "id" : ["SIMPLE_NAME", "result_v"], "assoc_list" : [{
1606
                              "actual_expr" : ["EXPRESSION", {
1607
                                "args" : [["EXPRESSION", {
1608
                                  "args" : [["EXPRESSION", {
1609
                                    "args" : [["EXPRESSION", {
1610
                                      "args" : [["CONSTANT_VALUE", {
1611
                                        "value" : ["CST_LITERAL", "4"]}
1612
                                      ]]}
1613
                                    ]]}
1614
                                  ]]}
1615
                                ]]}
1616
                              ]}
1617
                            ]}
1618
                          ]]]}
1619
                        ]]}
1620
                      ]]}
1621
                    ], ["EXPRESSION", {
1622
                      "args" : [["EXPRESSION", {
1623
                        "args" : [["EXPRESSION", {
1624
                          "args" : [["CONSTANT_VALUE", {
1625
                            "value" : ["CST_LITERAL", "'1'"]}
1626
                          ]]}
1627
                        ]]}
1628
                      ]]}
1629
                    ]]}
1630
                  ], "if_block" : [["SIGNAL_ASSIGNMENT_STATEMENT", {
1631
                    "lhs" : ["SIMPLE_NAME", "aux_carry_o"], "rhs" : [{
1632
                      "value" : ["EXPRESSION", {
1633
                        "args" : [["EXPRESSION", {
1634
                          "args" : [["EXPRESSION", {
1635
                            "args" : [["EXPRESSION", {
1636
                              "args" : [["CONSTANT_VALUE", {
1637
                                "value" : ["CST_LITERAL", "'1'"]}
1638
                              ]]}
1639
                            ]]}
1640
                          ]]}
1641
                        ]]}
1642
                      ]}
1643
                    ]}
1644
                  ]]}
1645
                ]}
1646
              ]]}
1647
            , {
1648
              "when_cond" : [["EXPRESSION", {
1649
                "args" : [["EXPRESSION", {
1650
                  "args" : [["CONSTANT_VALUE", {
1651
                    "value" : ["CST_LITERAL", "\"01\""]}
1652
                  ]]}
1653
                ]]}
1654
              ], ["EXPRESSION", {
1655
                "args" : [["EXPRESSION", {
1656
                  "args" : [["CONSTANT_VALUE", {
1657
                    "value" : ["CST_LITERAL", "\"10\""]}
1658
                  ]]}
1659
                ]]}
1660
              ]], "when_stmt" : [["IF_STATEMENT", {
1661
                "if_cases" : [{
1662
                  "if_cond" : ["EXPRESSION", {
1663
                    "id" : "=", "args" : [["EXPRESSION", {
1664
                      "args" : [["EXPRESSION", {
1665
                        "args" : [["EXPRESSION", {
1666
                          "args" : [["CALL", ["FUNCTION_CALL", {
1667
                            "id" : ["SIMPLE_NAME", "result_v"], "assoc_list" : [{
1668
                              "actual_expr" : ["EXPRESSION", {
1669
                                "args" : [["EXPRESSION", {
1670
                                  "args" : [["EXPRESSION", {
1671
                                    "args" : [["EXPRESSION", {
1672
                                      "args" : [["CONSTANT_VALUE", {
1673
                                        "value" : ["CST_LITERAL", "4"]}
1674
                                      ]]}
1675
                                    ]]}
1676
                                  ]]}
1677
                                ]]}
1678
                              ]}
1679
                            ]}
1680
                          ]]]}
1681
                        ]]}
1682
                      ]]}
1683
                    ], ["EXPRESSION", {
1684
                      "args" : [["EXPRESSION", {
1685
                        "args" : [["EXPRESSION", {
1686
                          "args" : [["CONSTANT_VALUE", {
1687
                            "value" : ["CST_LITERAL", "'0'"]}
1688
                          ]]}
1689
                        ]]}
1690
                      ]]}
1691
                    ]]}
1692
                  ], "if_block" : [["SIGNAL_ASSIGNMENT_STATEMENT", {
1693
                    "lhs" : ["SIMPLE_NAME", "aux_carry_o"], "rhs" : [{
1694
                      "value" : ["EXPRESSION", {
1695
                        "args" : [["EXPRESSION", {
1696
                          "args" : [["EXPRESSION", {
1697
                            "args" : [["EXPRESSION", {
1698
                              "args" : [["CONSTANT_VALUE", {
1699
                                "value" : ["CST_LITERAL", "'1'"]}
1700
                              ]]}
1701
                            ]]}
1702
                          ]]}
1703
                        ]]}
1704
                      ]}
1705
                    ]}
1706
                  ]]}
1707
                ]}
1708
              ]]}
1709
            , {
1710
              "when_cond" : [["OTHERS"]], "when_stmt" : [["NULL_STATEMENT", {
1711
                }
1712
              ]]}
1713
            ]}
1714
          ]]}
1715
        ], ["PROCESS_STATEMENT", {
1716
          "id" : ["IDENTIFIER", "da_overflow"], "PROCESS_DECLARATIVE_PART" : [{
1717
            "declaration" : ["VARIABLE_DECLARATION", {
1718
              "names" : [["IDENTIFIER", "da_nibble_v"]], "typ" : {
1719
                "name" : ["SIMPLE_NAME", "nibble_t"]}
1720
              }
1721
            ]}
1722
          , {
1723
            "declaration" : ["SUBPROGRAM_BODY", {
1724
              "spec" : {
1725
                "name" : "da_overflow_f", "subprogram_type" : "function", "parameters" : [{
1726
                  "names" : [["IDENTIFIER", "data"]], "mode" : ["in"], "typ" : {
1727
                    "name" : ["SIMPLE_NAME", "nibble_t"]}
1728
                  }
1729
                ], "typeMark" : ["SIMPLE_NAME", "boolean"], "isPure" : false}
1730
              , "decl_part" : [["VARIABLE_DECLARATION", {
1731
                "names" : [["IDENTIFIER", "overflow_v"]], "typ" : {
1732
                  "name" : ["SIMPLE_NAME", "boolean"]}
1733
                }
1734
              ]], "stmts" : [["CASE_STATEMENT_TREE", {
1735
                "guard" : ["EXPRESSION", {
1736
                  "args" : [["EXPRESSION", {
1737
                    "args" : [["EXPRESSION", {
1738
                      "args" : [["EXPRESSION", {
1739
                        "args" : [["CALL", ["SIMPLE_NAME", "data"]]]}
1740
                      ]]}
1741
                    ]]}
1742
                  ]]}
1743
                ], "branches" : [{
1744
                  "when_cond" : [["EXPRESSION", {
1745
                    "args" : [["EXPRESSION", {
1746
                      "args" : [["CONSTANT_VALUE", {
1747
                        "value" : ["CST_LITERAL", "\"1010\""]}
1748
                      ]]}
1749
                    ]]}
1750
                  ], ["EXPRESSION", {
1751
                    "args" : [["EXPRESSION", {
1752
                      "args" : [["CONSTANT_VALUE", {
1753
                        "value" : ["CST_LITERAL", "\"1011\""]}
1754
                      ]]}
1755
                    ]]}
1756
                  ], ["EXPRESSION", {
1757
                    "args" : [["EXPRESSION", {
1758
                      "args" : [["CONSTANT_VALUE", {
1759
                        "value" : ["CST_LITERAL", "\"1100\""]}
1760
                      ]]}
1761
                    ]]}
1762
                  ], ["EXPRESSION", {
1763
                    "args" : [["EXPRESSION", {
1764
                      "args" : [["CONSTANT_VALUE", {
1765
                        "value" : ["CST_LITERAL", "\"1101\""]}
1766
                      ]]}
1767
                    ]]}
1768
                  ], ["EXPRESSION", {
1769
                    "args" : [["EXPRESSION", {
1770
                      "args" : [["CONSTANT_VALUE", {
1771
                        "value" : ["CST_LITERAL", "\"1110\""]}
1772
                      ]]}
1773
                    ]]}
1774
                  ], ["EXPRESSION", {
1775
                    "args" : [["EXPRESSION", {
1776
                      "args" : [["CONSTANT_VALUE", {
1777
                        "value" : ["CST_LITERAL", "\"1111\""]}
1778
                      ]]}
1779
                    ]]}
1780
                  ]], "when_stmt" : [["VARIABLE_ASSIGNMENT_STATEMENT", {
1781
                    "lhs" : ["SIMPLE_NAME", "overflow_v"], "rhs" : ["EXPRESSION", {
1782
                      "args" : [["EXPRESSION", {
1783
                        "args" : [["EXPRESSION", {
1784
                          "args" : [["EXPRESSION", {
1785
                            "args" : [["CALL", ["SIMPLE_NAME", "true"]]]}
1786
                          ]]}
1787
                        ]]}
1788
                      ]]}
1789
                    ]}
1790
                  ]]}
1791
                , {
1792
                  "when_cond" : [["OTHERS"]], "when_stmt" : [["VARIABLE_ASSIGNMENT_STATEMENT", {
1793
                    "lhs" : ["SIMPLE_NAME", "overflow_v"], "rhs" : ["EXPRESSION", {
1794
                      "args" : [["EXPRESSION", {
1795
                        "args" : [["EXPRESSION", {
1796
                          "args" : [["EXPRESSION", {
1797
                            "args" : [["CALL", ["SIMPLE_NAME", "false"]]]}
1798
                          ]]}
1799
                        ]]}
1800
                      ]]}
1801
                    ]}
1802
                  ]]}
1803
                ]}
1804
              ], ["RETURN_STATEMENT", {
1805
                "expr" : ["EXPRESSION", {
1806
                  "args" : [["EXPRESSION", {
1807
                    "args" : [["EXPRESSION", {
1808
                      "args" : [["EXPRESSION", {
1809
                        "args" : [["EXPRESSION", {
1810
                          "args" : [["EXPRESSION", {
1811
                            "args" : [["EXPRESSION", {
1812
                              "args" : [["EXPRESSION", {
1813
                                "args" : [["CALL", ["SIMPLE_NAME", "overflow_v"]]]}
1814
                              ]]}
1815
                            ]]}
1816
                          ]]}
1817
                        ]]}
1818
                      ]]}
1819
                    ]]}
1820
                  ]]}
1821
                ]}
1822
              ]]}
1823
            ]}
1824
          ], "active_sigs" : [["SIMPLE_NAME", "accu_shadow_q"], ["SIMPLE_NAME", "da_high_i"]], "PROCESS_STATEMENT_PART" : [["IF_STATEMENT", {
1825
            "if_cases" : [{
1826
              "if_cond" : ["EXPRESSION", {
1827
                "args" : [["EXPRESSION", {
1828
                  "args" : [["EXPRESSION", {
1829
                    "args" : [["EXPRESSION", {
1830
                      "args" : [["CALL", ["SIMPLE_NAME", "da_high_i"]]]}
1831
                    ]]}
1832
                  ]]}
1833
                ]]}
1834
              ], "if_block" : [["VARIABLE_ASSIGNMENT_STATEMENT", {
1835
                "lhs" : ["SIMPLE_NAME", "da_nibble_v"], "rhs" : ["EXPRESSION", {
1836
                  "args" : [["EXPRESSION", {
1837
                    "args" : [["EXPRESSION", {
1838
                      "args" : [["EXPRESSION", {
1839
                        "args" : [["CALL", ["SLICE_NAME", {
1840
                          "id" : ["SIMPLE_NAME", "accu_shadow_q"], "range" : ["RANGE_WITH_DIRECTION", {
1841
                            "direction" : "downto", "from" : ["EXPRESSION", {
1842
                              "args" : [["EXPRESSION", {
1843
                                "args" : [["CONSTANT_VALUE", {
1844
                                  "value" : ["CST_LITERAL", "7"]}
1845
                                ]]}
1846
                              ]]}
1847
                            ], "_to" : ["EXPRESSION", {
1848
                              "args" : [["EXPRESSION", {
1849
                                "args" : [["CONSTANT_VALUE", {
1850
                                  "value" : ["CST_LITERAL", "4"]}
1851
                                ]]}
1852
                              ]]}
1853
                            ]}
1854
                          ]}
1855
                        ]]]}
1856
                      ]]}
1857
                    ]]}
1858
                  ]]}
1859
                ]}
1860
              ]]}
1861
            ], "default" : [["VARIABLE_ASSIGNMENT_STATEMENT", {
1862
              "lhs" : ["SIMPLE_NAME", "da_nibble_v"], "rhs" : ["EXPRESSION", {
1863
                "args" : [["EXPRESSION", {
1864
                  "args" : [["EXPRESSION", {
1865
                    "args" : [["EXPRESSION", {
1866
                      "args" : [["CALL", ["SLICE_NAME", {
1867
                        "id" : ["SIMPLE_NAME", "accu_shadow_q"], "range" : ["RANGE_WITH_DIRECTION", {
1868
                          "direction" : "downto", "from" : ["EXPRESSION", {
1869
                            "args" : [["EXPRESSION", {
1870
                              "args" : [["CONSTANT_VALUE", {
1871
                                "value" : ["CST_LITERAL", "3"]}
1872
                              ]]}
1873
                            ]]}
1874
                          ], "_to" : ["EXPRESSION", {
1875
                            "args" : [["EXPRESSION", {
1876
                              "args" : [["CONSTANT_VALUE", {
1877
                                "value" : ["CST_LITERAL", "0"]}
1878
                              ]]}
1879
                            ]]}
1880
                          ]}
1881
                        ]}
1882
                      ]]]}
1883
                    ]]}
1884
                  ]]}
1885
                ]]}
1886
              ]}
1887
            ]]}
1888
          ], ["SIGNAL_ASSIGNMENT_STATEMENT", {
1889
            "lhs" : ["SIMPLE_NAME", "da_overflow_o"], "rhs" : [{
1890
              "value" : ["EXPRESSION", {
1891
                "args" : [["EXPRESSION", {
1892
                  "args" : [["EXPRESSION", {
1893
                    "args" : [["EXPRESSION", {
1894
                      "args" : [["CALL", ["FUNCTION_CALL", {
1895
                        "id" : ["SIMPLE_NAME", "da_overflow_f"], "assoc_list" : [{
1896
                          "actual_designator" : ["SIMPLE_NAME", "da_nibble_v"]}
1897
                        ]}
1898
                      ]]]}
1899
                    ]]}
1900
                  ]]}
1901
                ]]}
1902
              ]}
1903
            ]}
1904
          ]]}
1905
        ], ["CONDITIONAL_SIGNAL_ASSIGNMENT", {
1906
          "postponed" : false, "lhs" : ["SIMPLE_NAME", "tb_accu_s"], "rhs" : [{
1907
            "expr" : [{
1908
              "value" : ["EXPRESSION", {
1909
                "args" : [["EXPRESSION", {
1910
                  "args" : [["EXPRESSION", {
1911
                    "args" : [["EXPRESSION", {
1912
                      "args" : [["CALL", ["SIMPLE_NAME", "accumulator_q"]]]}
1913
                    ]]}
1914
                  ]]}
1915
                ]]}
1916
              ]}
1917
            ]}
1918
          ]}
1919
        ], ["CONDITIONAL_SIGNAL_ASSIGNMENT", {
1920
          "postponed" : false, "lhs" : ["SIMPLE_NAME", "data_o"], "rhs" : [{
1921
            "expr" : [{
1922
              "value" : ["EXPRESSION", {
1923
                "args" : [["EXPRESSION", {
1924
                  "args" : [["EXPRESSION", {
1925
                    "args" : [["EXPRESSION", {
1926
                      "args" : [["CALL", ["SIMPLE_NAME", "data_s"]]]}
1927
                    ]]}
1928
                  ]]}
1929
                ]]}
1930
              ]}
1931
            ], "cond" : ["EXPRESSION", {
1932
              "args" : [["EXPRESSION", {
1933
                "args" : [["EXPRESSION", {
1934
                  "args" : [["EXPRESSION", {
1935
                    "args" : [["CALL", ["SIMPLE_NAME", "read_alu_i"]]]}
1936
                  ]]}
1937
                ]]}
1938
              ]]}
1939
            ]}
1940
          , {
1941
            "expr" : [{
1942
              "value" : ["EXPRESSION", {
1943
                "args" : [["EXPRESSION", {
1944
                  "args" : [["EXPRESSION", {
1945
                    "args" : [["EXPRESSION", {
1946
                      "args" : [["AGGREGATE", {
1947
                        "elems" : [{
1948
                          "choices" : [["OTHERS"]], "expr" : ["EXPRESSION", {
1949
                            "args" : [["EXPRESSION", {
1950
                              "args" : [["EXPRESSION", {
1951
                                "args" : [["EXPRESSION", {
1952
                                  "args" : [["CALL", ["SIMPLE_NAME", "bus_idle_level_c"]]]}
1953
                                ]]}
1954
                              ]]}
1955
                            ]]}
1956
                          ]}
1957
                        ]}
1958
                      ]]}
1959
                    ]]}
1960
                  ]]}
1961
                ]]}
1962
              ]}
1963
            ]}
1964
          ]}
1965
        ]]}
1966
      ]}
1967
    ]}
1968
  }
(1-1/22)