Project

General

Profile

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