Project

General

Profile

« Previous | Next » 

Revision a0f656ac

Added by Arnaud Dieumegard almost 6 years ago

Added JSON files for valencia VHDL tests

View differences:

vhdl_json/vhdl_files/valencia/alu.v1.json
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
                ]}
... This diff was truncated because it exceeds the maximum size that can be displayed.

Also available in: Unified diff