Project

General

Profile

Statistics
| Branch: | Tag: | Revision:

lustrec-tests / vhdl_json / vhdl_files / 2-exportOK / ghdl / ghdl / testsuite / vests / vhdl-93 / ashenden / compliant / ch_06_mac-r.json @ 3fd18385

History | View | Annotate | Download (37 KB)

1
{
2
  "DESIGN_FILE" : {
3
    "design_units" : [{
4
      "contexts" : [], "library" : ["ARCHITECTURE_BODY", {
5
        "name" : ["IDENTIFIER", "rtl"], "entity" : ["IDENTIFIER", "mac"], "ARCHITECTURE_DECLARATIVE_PART" : [{
6
          "declaration" : ["SIGNAL_DECLARATION", {
7
            "names" : [["IDENTIFIER", "pipelined_x_real"], ["IDENTIFIER", "pipelined_x_imag"], ["IDENTIFIER", "pipelined_y_real"], ["IDENTIFIER", "pipelined_y_imag"]], "typ" : {
8
              "name" : ["SIMPLE_NAME", "std_ulogic_vector"], "const" : ["INDEX_CONSTRAINT", {
9
                "ranges" : [["RANGE_WITH_DIRECTION", {
10
                  "direction" : "downto", "from" : ["EXPRESSION", {
11
                    "args" : [["EXPRESSION", {
12
                      "args" : [["CONSTANT_VALUE", {
13
                        "value" : ["CST_LITERAL", "15"]}
14
                      ]]}
15
                    ]]}
16
                  ], "_to" : ["EXPRESSION", {
17
                    "args" : [["EXPRESSION", {
18
                      "args" : [["CONSTANT_VALUE", {
19
                        "value" : ["CST_LITERAL", "0"]}
20
                      ]]}
21
                    ]]}
22
                  ]}
23
                ]]}
24
              ]}
25
            }
26
          ]}
27
        , {
28
          "declaration" : ["SIGNAL_DECLARATION", {
29
            "names" : [["IDENTIFIER", "real_part_product_1"], ["IDENTIFIER", "real_part_product_2"], ["IDENTIFIER", "imag_part_product_1"], ["IDENTIFIER", "imag_part_product_2"]], "typ" : {
30
              "name" : ["SIMPLE_NAME", "std_ulogic_vector"], "const" : ["INDEX_CONSTRAINT", {
31
                "ranges" : [["RANGE_WITH_DIRECTION", {
32
                  "direction" : "downto", "from" : ["EXPRESSION", {
33
                    "args" : [["EXPRESSION", {
34
                      "args" : [["CONSTANT_VALUE", {
35
                        "value" : ["CST_LITERAL", "31"]}
36
                      ]]}
37
                    ]]}
38
                  ], "_to" : ["EXPRESSION", {
39
                    "args" : [["EXPRESSION", {
40
                      "args" : [["CONSTANT_VALUE", {
41
                        "value" : ["CST_LITERAL", "0"]}
42
                      ]]}
43
                    ]]}
44
                  ]}
45
                ]]}
46
              ]}
47
            }
48
          ]}
49
        , {
50
          "declaration" : ["SIGNAL_DECLARATION", {
51
            "names" : [["IDENTIFIER", "pipelined_real_part_product_1"], ["IDENTIFIER", "pipelined_real_part_product_2"], ["IDENTIFIER", "pipelined_imag_part_product_1"], ["IDENTIFIER", "pipelined_imag_part_product_2"]], "typ" : {
52
              "name" : ["SIMPLE_NAME", "std_ulogic_vector"], "const" : ["INDEX_CONSTRAINT", {
53
                "ranges" : [["RANGE_WITH_DIRECTION", {
54
                  "direction" : "downto", "from" : ["EXPRESSION", {
55
                    "args" : [["EXPRESSION", {
56
                      "args" : [["CONSTANT_VALUE", {
57
                        "value" : ["CST_LITERAL", "31"]}
58
                      ]]}
59
                    ]]}
60
                  ], "_to" : ["EXPRESSION", {
61
                    "args" : [["EXPRESSION", {
62
                      "args" : [["CONSTANT_VALUE", {
63
                        "value" : ["CST_LITERAL", "0"]}
64
                      ]]}
65
                    ]]}
66
                  ]}
67
                ]]}
68
              ]}
69
            }
70
          ]}
71
        , {
72
          "declaration" : ["SIGNAL_DECLARATION", {
73
            "names" : [["IDENTIFIER", "real_product"], ["IDENTIFIER", "imag_product"]], "typ" : {
74
              "name" : ["SIMPLE_NAME", "std_ulogic_vector"], "const" : ["INDEX_CONSTRAINT", {
75
                "ranges" : [["RANGE_WITH_DIRECTION", {
76
                  "direction" : "downto", "from" : ["EXPRESSION", {
77
                    "args" : [["EXPRESSION", {
78
                      "args" : [["CONSTANT_VALUE", {
79
                        "value" : ["CST_LITERAL", "32"]}
80
                      ]]}
81
                    ]]}
82
                  ], "_to" : ["EXPRESSION", {
83
                    "args" : [["EXPRESSION", {
84
                      "args" : [["CONSTANT_VALUE", {
85
                        "value" : ["CST_LITERAL", "0"]}
86
                      ]]}
87
                    ]]}
88
                  ]}
89
                ]]}
90
              ]}
91
            }
92
          ]}
93
        , {
94
          "declaration" : ["SIGNAL_DECLARATION", {
95
            "names" : [["IDENTIFIER", "pipelined_real_product"], ["IDENTIFIER", "pipelined_imag_product"]], "typ" : {
96
              "name" : ["SIMPLE_NAME", "std_ulogic_vector"], "const" : ["INDEX_CONSTRAINT", {
97
                "ranges" : [["RANGE_WITH_DIRECTION", {
98
                  "direction" : "downto", "from" : ["EXPRESSION", {
99
                    "args" : [["EXPRESSION", {
100
                      "args" : [["CONSTANT_VALUE", {
101
                        "value" : ["CST_LITERAL", "19"]}
102
                      ]]}
103
                    ]]}
104
                  ], "_to" : ["EXPRESSION", {
105
                    "args" : [["EXPRESSION", {
106
                      "args" : [["CONSTANT_VALUE", {
107
                        "value" : ["CST_LITERAL", "0"]}
108
                      ]]}
109
                    ]]}
110
                  ]}
111
                ]]}
112
              ]}
113
            }
114
          ]}
115
        , {
116
          "declaration" : ["SIGNAL_DECLARATION", {
117
            "names" : [["IDENTIFIER", "real_sum"], ["IDENTIFIER", "imag_sum"]], "typ" : {
118
              "name" : ["SIMPLE_NAME", "std_ulogic_vector"], "const" : ["INDEX_CONSTRAINT", {
119
                "ranges" : [["RANGE_WITH_DIRECTION", {
120
                  "direction" : "downto", "from" : ["EXPRESSION", {
121
                    "args" : [["EXPRESSION", {
122
                      "args" : [["CONSTANT_VALUE", {
123
                        "value" : ["CST_LITERAL", "21"]}
124
                      ]]}
125
                    ]]}
126
                  ], "_to" : ["EXPRESSION", {
127
                    "args" : [["EXPRESSION", {
128
                      "args" : [["CONSTANT_VALUE", {
129
                        "value" : ["CST_LITERAL", "0"]}
130
                      ]]}
131
                    ]]}
132
                  ]}
133
                ]]}
134
              ]}
135
            }
136
          ]}
137
        , {
138
          "declaration" : ["SIGNAL_DECLARATION", {
139
            "names" : [["IDENTIFIER", "real_accumulator_ovf"], ["IDENTIFIER", "imag_accumulator_ovf"]], "typ" : {
140
              "name" : ["SIMPLE_NAME", "std_ulogic"]}
141
            }
142
          ]}
143
        , {
144
          "declaration" : ["SIGNAL_DECLARATION", {
145
            "names" : [["IDENTIFIER", "pipelined_real_sum"], ["IDENTIFIER", "pipelined_imag_sum"]], "typ" : {
146
              "name" : ["SIMPLE_NAME", "std_ulogic_vector"], "const" : ["INDEX_CONSTRAINT", {
147
                "ranges" : [["RANGE_WITH_DIRECTION", {
148
                  "direction" : "downto", "from" : ["EXPRESSION", {
149
                    "args" : [["EXPRESSION", {
150
                      "args" : [["CONSTANT_VALUE", {
151
                        "value" : ["CST_LITERAL", "21"]}
152
                      ]]}
153
                    ]]}
154
                  ], "_to" : ["EXPRESSION", {
155
                    "args" : [["EXPRESSION", {
156
                      "args" : [["CONSTANT_VALUE", {
157
                        "value" : ["CST_LITERAL", "0"]}
158
                      ]]}
159
                    ]]}
160
                  ]}
161
                ]]}
162
              ]}
163
            }
164
          ]}
165
        , {
166
          "declaration" : ["SIGNAL_DECLARATION", {
167
            "names" : [["IDENTIFIER", "pipelined_real_accumulator_ovf"], ["IDENTIFIER", "pipelined_imag_accumulator_ovf"]], "typ" : {
168
              "name" : ["SIMPLE_NAME", "std_ulogic"]}
169
            }
170
          ]}
171
        ], "ARCHITECTURE_STATEMENT_PART" : [["COMPONENT_INSTANTIATION_STATEMENT", {
172
          "name" : ["IDENTIFIER", "x_real_input_reg"], "inst_unit" : ["SELECTED_NAME", [["SIMPLE_NAME", "work"], ["IDENTIFIER", "reg"]]], "inst_unit_type" : "entity", "archi_name" : ["IDENTIFIER", "behavioral"], "port_map" : [{
173
            "formal_name" : ["SIMPLE_NAME", "clk"], "actual_designator" : ["SIMPLE_NAME", "clk"]}
174
          , {
175
            "formal_name" : ["SIMPLE_NAME", "d"], "actual_designator" : ["SIMPLE_NAME", "x_real"]}
176
          , {
177
            "formal_name" : ["SIMPLE_NAME", "q"], "actual_designator" : ["SIMPLE_NAME", "pipelined_x_real"]}
178
          ]}
179
        ], ["COMPONENT_INSTANTIATION_STATEMENT", {
180
          "name" : ["IDENTIFIER", "x_imag_input_reg"], "inst_unit" : ["SELECTED_NAME", [["SIMPLE_NAME", "work"], ["IDENTIFIER", "reg"]]], "inst_unit_type" : "entity", "archi_name" : ["IDENTIFIER", "behavioral"], "port_map" : [{
181
            "formal_name" : ["SIMPLE_NAME", "clk"], "actual_designator" : ["SIMPLE_NAME", "clk"]}
182
          , {
183
            "formal_name" : ["SIMPLE_NAME", "d"], "actual_designator" : ["SIMPLE_NAME", "x_imag"]}
184
          , {
185
            "formal_name" : ["SIMPLE_NAME", "q"], "actual_designator" : ["SIMPLE_NAME", "pipelined_x_imag"]}
186
          ]}
187
        ], ["COMPONENT_INSTANTIATION_STATEMENT", {
188
          "name" : ["IDENTIFIER", "y_real_input_reg"], "inst_unit" : ["SELECTED_NAME", [["SIMPLE_NAME", "work"], ["IDENTIFIER", "reg"]]], "inst_unit_type" : "entity", "archi_name" : ["IDENTIFIER", "behavioral"], "port_map" : [{
189
            "formal_name" : ["SIMPLE_NAME", "clk"], "actual_designator" : ["SIMPLE_NAME", "clk"]}
190
          , {
191
            "formal_name" : ["SIMPLE_NAME", "d"], "actual_designator" : ["SIMPLE_NAME", "y_real"]}
192
          , {
193
            "formal_name" : ["SIMPLE_NAME", "q"], "actual_designator" : ["SIMPLE_NAME", "pipelined_y_real"]}
194
          ]}
195
        ], ["COMPONENT_INSTANTIATION_STATEMENT", {
196
          "name" : ["IDENTIFIER", "y_imag_input_reg"], "inst_unit" : ["SELECTED_NAME", [["SIMPLE_NAME", "work"], ["IDENTIFIER", "reg"]]], "inst_unit_type" : "entity", "archi_name" : ["IDENTIFIER", "behavioral"], "port_map" : [{
197
            "formal_name" : ["SIMPLE_NAME", "clk"], "actual_designator" : ["SIMPLE_NAME", "clk"]}
198
          , {
199
            "formal_name" : ["SIMPLE_NAME", "d"], "actual_designator" : ["SIMPLE_NAME", "y_imag"]}
200
          , {
201
            "formal_name" : ["SIMPLE_NAME", "q"], "actual_designator" : ["SIMPLE_NAME", "pipelined_y_imag"]}
202
          ]}
203
        ], ["COMPONENT_INSTANTIATION_STATEMENT", {
204
          "name" : ["IDENTIFIER", "real_mult_1"], "inst_unit" : ["SELECTED_NAME", [["SIMPLE_NAME", "work"], ["IDENTIFIER", "multiplier"]]], "inst_unit_type" : "entity", "archi_name" : ["IDENTIFIER", "behavioral"], "port_map" : [{
205
            "formal_name" : ["SIMPLE_NAME", "a"], "actual_designator" : ["SIMPLE_NAME", "pipelined_x_real"]}
206
          , {
207
            "formal_name" : ["SIMPLE_NAME", "b"], "actual_designator" : ["SIMPLE_NAME", "pipelined_y_real"]}
208
          , {
209
            "formal_name" : ["SIMPLE_NAME", "p"], "actual_designator" : ["SIMPLE_NAME", "real_part_product_1"]}
210
          ]}
211
        ], ["COMPONENT_INSTANTIATION_STATEMENT", {
212
          "name" : ["IDENTIFIER", "real_mult_2"], "inst_unit" : ["SELECTED_NAME", [["SIMPLE_NAME", "work"], ["IDENTIFIER", "multiplier"]]], "inst_unit_type" : "entity", "archi_name" : ["IDENTIFIER", "behavioral"], "port_map" : [{
213
            "formal_name" : ["SIMPLE_NAME", "a"], "actual_designator" : ["SIMPLE_NAME", "pipelined_x_imag"]}
214
          , {
215
            "formal_name" : ["SIMPLE_NAME", "b"], "actual_designator" : ["SIMPLE_NAME", "pipelined_y_imag"]}
216
          , {
217
            "formal_name" : ["SIMPLE_NAME", "p"], "actual_designator" : ["SIMPLE_NAME", "real_part_product_2"]}
218
          ]}
219
        ], ["COMPONENT_INSTANTIATION_STATEMENT", {
220
          "name" : ["IDENTIFIER", "imag_mult_1"], "inst_unit" : ["SELECTED_NAME", [["SIMPLE_NAME", "work"], ["IDENTIFIER", "multiplier"]]], "inst_unit_type" : "entity", "archi_name" : ["IDENTIFIER", "behavioral"], "port_map" : [{
221
            "formal_name" : ["SIMPLE_NAME", "a"], "actual_designator" : ["SIMPLE_NAME", "pipelined_x_real"]}
222
          , {
223
            "formal_name" : ["SIMPLE_NAME", "b"], "actual_designator" : ["SIMPLE_NAME", "pipelined_y_imag"]}
224
          , {
225
            "formal_name" : ["SIMPLE_NAME", "p"], "actual_designator" : ["SIMPLE_NAME", "imag_part_product_1"]}
226
          ]}
227
        ], ["COMPONENT_INSTANTIATION_STATEMENT", {
228
          "name" : ["IDENTIFIER", "imag_mult_2"], "inst_unit" : ["SELECTED_NAME", [["SIMPLE_NAME", "work"], ["IDENTIFIER", "multiplier"]]], "inst_unit_type" : "entity", "archi_name" : ["IDENTIFIER", "behavioral"], "port_map" : [{
229
            "formal_name" : ["SIMPLE_NAME", "a"], "actual_designator" : ["SIMPLE_NAME", "pipelined_x_imag"]}
230
          , {
231
            "formal_name" : ["SIMPLE_NAME", "b"], "actual_designator" : ["SIMPLE_NAME", "pipelined_y_real"]}
232
          , {
233
            "formal_name" : ["SIMPLE_NAME", "p"], "actual_designator" : ["SIMPLE_NAME", "imag_part_product_2"]}
234
          ]}
235
        ], ["COMPONENT_INSTANTIATION_STATEMENT", {
236
          "name" : ["IDENTIFIER", "real_part_product_reg_1"], "inst_unit" : ["SELECTED_NAME", [["SIMPLE_NAME", "work"], ["IDENTIFIER", "reg"]]], "inst_unit_type" : "entity", "archi_name" : ["IDENTIFIER", "behavioral"], "port_map" : [{
237
            "formal_name" : ["SIMPLE_NAME", "clk"], "actual_designator" : ["SIMPLE_NAME", "clk"]}
238
          , {
239
            "formal_name" : ["SIMPLE_NAME", "d"], "actual_designator" : ["SIMPLE_NAME", "real_part_product_1"]}
240
          , {
241
            "formal_name" : ["SIMPLE_NAME", "q"], "actual_designator" : ["SIMPLE_NAME", "pipelined_real_part_product_1"]}
242
          ]}
243
        ], ["COMPONENT_INSTANTIATION_STATEMENT", {
244
          "name" : ["IDENTIFIER", "real_part_product_reg_2"], "inst_unit" : ["SELECTED_NAME", [["SIMPLE_NAME", "work"], ["IDENTIFIER", "reg"]]], "inst_unit_type" : "entity", "archi_name" : ["IDENTIFIER", "behavioral"], "port_map" : [{
245
            "formal_name" : ["SIMPLE_NAME", "clk"], "actual_designator" : ["SIMPLE_NAME", "clk"]}
246
          , {
247
            "formal_name" : ["SIMPLE_NAME", "d"], "actual_designator" : ["SIMPLE_NAME", "real_part_product_2"]}
248
          , {
249
            "formal_name" : ["SIMPLE_NAME", "q"], "actual_designator" : ["SIMPLE_NAME", "pipelined_real_part_product_2"]}
250
          ]}
251
        ], ["COMPONENT_INSTANTIATION_STATEMENT", {
252
          "name" : ["IDENTIFIER", "imag_part_product_reg_1"], "inst_unit" : ["SELECTED_NAME", [["SIMPLE_NAME", "work"], ["IDENTIFIER", "reg"]]], "inst_unit_type" : "entity", "archi_name" : ["IDENTIFIER", "behavioral"], "port_map" : [{
253
            "formal_name" : ["SIMPLE_NAME", "clk"], "actual_designator" : ["SIMPLE_NAME", "clk"]}
254
          , {
255
            "formal_name" : ["SIMPLE_NAME", "d"], "actual_designator" : ["SIMPLE_NAME", "imag_part_product_1"]}
256
          , {
257
            "formal_name" : ["SIMPLE_NAME", "q"], "actual_designator" : ["SIMPLE_NAME", "pipelined_imag_part_product_1"]}
258
          ]}
259
        ], ["COMPONENT_INSTANTIATION_STATEMENT", {
260
          "name" : ["IDENTIFIER", "imag_part_product_reg_2"], "inst_unit" : ["SELECTED_NAME", [["SIMPLE_NAME", "work"], ["IDENTIFIER", "reg"]]], "inst_unit_type" : "entity", "archi_name" : ["IDENTIFIER", "behavioral"], "port_map" : [{
261
            "formal_name" : ["SIMPLE_NAME", "clk"], "actual_designator" : ["SIMPLE_NAME", "clk"]}
262
          , {
263
            "formal_name" : ["SIMPLE_NAME", "d"], "actual_designator" : ["SIMPLE_NAME", "imag_part_product_2"]}
264
          , {
265
            "formal_name" : ["SIMPLE_NAME", "q"], "actual_designator" : ["SIMPLE_NAME", "pipelined_imag_part_product_2"]}
266
          ]}
267
        ], ["COMPONENT_INSTANTIATION_STATEMENT", {
268
          "name" : ["IDENTIFIER", "real_product_subtracter"], "inst_unit" : ["SELECTED_NAME", [["SIMPLE_NAME", "work"], ["IDENTIFIER", "product_adder_subtracter"]]], "inst_unit_type" : "entity", "archi_name" : ["IDENTIFIER", "behavioral"], "port_map" : [{
269
            "formal_name" : ["SIMPLE_NAME", "mode"], "actual_expr" : ["EXPRESSION", {
270
              "args" : [["EXPRESSION", {
271
                "args" : [["EXPRESSION", {
272
                  "args" : [["EXPRESSION", {
273
                    "args" : [["CONSTANT_VALUE", {
274
                      "value" : ["CST_LITERAL", "'1'"]}
275
                    ]]}
276
                  ]]}
277
                ]]}
278
              ]]}
279
            ]}
280
          , {
281
            "formal_name" : ["SIMPLE_NAME", "a"], "actual_designator" : ["SIMPLE_NAME", "pipelined_real_part_product_1"]}
282
          , {
283
            "formal_name" : ["SIMPLE_NAME", "b"], "actual_designator" : ["SIMPLE_NAME", "pipelined_real_part_product_2"]}
284
          , {
285
            "formal_name" : ["SIMPLE_NAME", "s"], "actual_designator" : ["SIMPLE_NAME", "real_product"]}
286
          ]}
287
        ], ["COMPONENT_INSTANTIATION_STATEMENT", {
288
          "name" : ["IDENTIFIER", "imag_product_adder"], "inst_unit" : ["SELECTED_NAME", [["SIMPLE_NAME", "work"], ["IDENTIFIER", "product_adder_subtracter"]]], "inst_unit_type" : "entity", "archi_name" : ["IDENTIFIER", "behavioral"], "port_map" : [{
289
            "formal_name" : ["SIMPLE_NAME", "mode"], "actual_expr" : ["EXPRESSION", {
290
              "args" : [["EXPRESSION", {
291
                "args" : [["EXPRESSION", {
292
                  "args" : [["EXPRESSION", {
293
                    "args" : [["CONSTANT_VALUE", {
294
                      "value" : ["CST_LITERAL", "'0'"]}
295
                    ]]}
296
                  ]]}
297
                ]]}
298
              ]]}
299
            ]}
300
          , {
301
            "formal_name" : ["SIMPLE_NAME", "a"], "actual_designator" : ["SIMPLE_NAME", "pipelined_imag_part_product_1"]}
302
          , {
303
            "formal_name" : ["SIMPLE_NAME", "b"], "actual_designator" : ["SIMPLE_NAME", "pipelined_imag_part_product_2"]}
304
          , {
305
            "formal_name" : ["SIMPLE_NAME", "s"], "actual_designator" : ["SIMPLE_NAME", "imag_product"]}
306
          ]}
307
        ], ["COMPONENT_INSTANTIATION_STATEMENT", {
308
          "name" : ["IDENTIFIER", "real_product_reg"], "inst_unit" : ["SELECTED_NAME", [["SIMPLE_NAME", "work"], ["IDENTIFIER", "reg"]]], "inst_unit_type" : "entity", "archi_name" : ["IDENTIFIER", "behavioral"], "port_map" : [{
309
            "formal_name" : ["SIMPLE_NAME", "clk"], "actual_designator" : ["SIMPLE_NAME", "clk"]}
310
          , {
311
            "formal_name" : ["SIMPLE_NAME", "d"], "actual_designator" : ["SLICE_NAME", {
312
              "id" : ["SIMPLE_NAME", "real_product"], "range" : ["RANGE_WITH_DIRECTION", {
313
                "direction" : "downto", "from" : ["EXPRESSION", {
314
                  "args" : [["EXPRESSION", {
315
                    "args" : [["CONSTANT_VALUE", {
316
                      "value" : ["CST_LITERAL", "32"]}
317
                    ]]}
318
                  ]]}
319
                ], "_to" : ["EXPRESSION", {
320
                  "args" : [["EXPRESSION", {
321
                    "args" : [["CONSTANT_VALUE", {
322
                      "value" : ["CST_LITERAL", "13"]}
323
                    ]]}
324
                  ]]}
325
                ]}
326
              ]}
327
            ]}
328
          , {
329
            "formal_name" : ["SIMPLE_NAME", "q"], "actual_designator" : ["SIMPLE_NAME", "pipelined_real_product"]}
330
          ]}
331
        ], ["COMPONENT_INSTANTIATION_STATEMENT", {
332
          "name" : ["IDENTIFIER", "imag_product_reg"], "inst_unit" : ["SELECTED_NAME", [["SIMPLE_NAME", "work"], ["IDENTIFIER", "reg"]]], "inst_unit_type" : "entity", "archi_name" : ["IDENTIFIER", "behavioral"], "port_map" : [{
333
            "formal_name" : ["SIMPLE_NAME", "clk"], "actual_designator" : ["SIMPLE_NAME", "clk"]}
334
          , {
335
            "formal_name" : ["SIMPLE_NAME", "d"], "actual_designator" : ["SLICE_NAME", {
336
              "id" : ["SIMPLE_NAME", "imag_product"], "range" : ["RANGE_WITH_DIRECTION", {
337
                "direction" : "downto", "from" : ["EXPRESSION", {
338
                  "args" : [["EXPRESSION", {
339
                    "args" : [["CONSTANT_VALUE", {
340
                      "value" : ["CST_LITERAL", "32"]}
341
                    ]]}
342
                  ]]}
343
                ], "_to" : ["EXPRESSION", {
344
                  "args" : [["EXPRESSION", {
345
                    "args" : [["CONSTANT_VALUE", {
346
                      "value" : ["CST_LITERAL", "13"]}
347
                    ]]}
348
                  ]]}
349
                ]}
350
              ]}
351
            ]}
352
          , {
353
            "formal_name" : ["SIMPLE_NAME", "q"], "actual_designator" : ["SIMPLE_NAME", "pipelined_imag_product"]}
354
          ]}
355
        ], ["COMPONENT_INSTANTIATION_STATEMENT", {
356
          "name" : ["IDENTIFIER", "real_accumulator"], "inst_unit" : ["SELECTED_NAME", [["SIMPLE_NAME", "work"], ["IDENTIFIER", "accumulator_adder"]]], "inst_unit_type" : "entity", "archi_name" : ["IDENTIFIER", "behavioral"], "port_map" : [{
357
            "formal_name" : ["SLICE_NAME", {
358
              "id" : ["SIMPLE_NAME", "a"], "range" : ["RANGE_WITH_DIRECTION", {
359
                "direction" : "downto", "from" : ["EXPRESSION", {
360
                  "args" : [["EXPRESSION", {
361
                    "args" : [["CONSTANT_VALUE", {
362
                      "value" : ["CST_LITERAL", "19"]}
363
                    ]]}
364
                  ]]}
365
                ], "_to" : ["EXPRESSION", {
366
                  "args" : [["EXPRESSION", {
367
                    "args" : [["CONSTANT_VALUE", {
368
                      "value" : ["CST_LITERAL", "0"]}
369
                    ]]}
370
                  ]]}
371
                ]}
372
              ]}
373
            ], "actual_designator" : ["SLICE_NAME", {
374
              "id" : ["SIMPLE_NAME", "pipelined_real_product"], "range" : ["RANGE_WITH_DIRECTION", {
375
                "direction" : "downto", "from" : ["EXPRESSION", {
376
                  "args" : [["EXPRESSION", {
377
                    "args" : [["CONSTANT_VALUE", {
378
                      "value" : ["CST_LITERAL", "19"]}
379
                    ]]}
380
                  ]]}
381
                ], "_to" : ["EXPRESSION", {
382
                  "args" : [["EXPRESSION", {
383
                    "args" : [["CONSTANT_VALUE", {
384
                      "value" : ["CST_LITERAL", "0"]}
385
                    ]]}
386
                  ]]}
387
                ]}
388
              ]}
389
            ]}
390
          , {
391
            "formal_name" : ["INDEXED_NAME", {
392
              "id" : ["SIMPLE_NAME", "a"], "exprs" : [["EXPRESSION", {
393
                "args" : [["EXPRESSION", {
394
                  "args" : [["EXPRESSION", {
395
                    "args" : [["EXPRESSION", {
396
                      "args" : [["CONSTANT_VALUE", {
397
                        "value" : ["CST_LITERAL", "20"]}
398
                      ]]}
399
                    ]]}
400
                  ]]}
401
                ]]}
402
              ]]}
403
            ], "actual_designator" : ["INDEXED_NAME", {
404
              "id" : ["SIMPLE_NAME", "pipelined_real_product"], "exprs" : [["EXPRESSION", {
405
                "args" : [["EXPRESSION", {
406
                  "args" : [["EXPRESSION", {
407
                    "args" : [["EXPRESSION", {
408
                      "args" : [["CONSTANT_VALUE", {
409
                        "value" : ["CST_LITERAL", "19"]}
410
                      ]]}
411
                    ]]}
412
                  ]]}
413
                ]]}
414
              ]]}
415
            ]}
416
          , {
417
            "formal_name" : ["INDEXED_NAME", {
418
              "id" : ["SIMPLE_NAME", "a"], "exprs" : [["EXPRESSION", {
419
                "args" : [["EXPRESSION", {
420
                  "args" : [["EXPRESSION", {
421
                    "args" : [["EXPRESSION", {
422
                      "args" : [["CONSTANT_VALUE", {
423
                        "value" : ["CST_LITERAL", "21"]}
424
                      ]]}
425
                    ]]}
426
                  ]]}
427
                ]]}
428
              ]]}
429
            ], "actual_designator" : ["INDEXED_NAME", {
430
              "id" : ["SIMPLE_NAME", "pipelined_real_product"], "exprs" : [["EXPRESSION", {
431
                "args" : [["EXPRESSION", {
432
                  "args" : [["EXPRESSION", {
433
                    "args" : [["EXPRESSION", {
434
                      "args" : [["CONSTANT_VALUE", {
435
                        "value" : ["CST_LITERAL", "19"]}
436
                      ]]}
437
                    ]]}
438
                  ]]}
439
                ]]}
440
              ]]}
441
            ]}
442
          , {
443
            "formal_name" : ["SIMPLE_NAME", "b"], "actual_designator" : ["SIMPLE_NAME", "pipelined_real_sum"]}
444
          , {
445
            "formal_name" : ["SIMPLE_NAME", "s"], "actual_designator" : ["SIMPLE_NAME", "real_sum"]}
446
          , {
447
            "formal_name" : ["SIMPLE_NAME", "ovf"], "actual_designator" : ["SIMPLE_NAME", "real_accumulator_ovf"]}
448
          ]}
449
        ], ["COMPONENT_INSTANTIATION_STATEMENT", {
450
          "name" : ["IDENTIFIER", "imag_accumulator"], "inst_unit" : ["SELECTED_NAME", [["SIMPLE_NAME", "work"], ["IDENTIFIER", "accumulator_adder"]]], "inst_unit_type" : "entity", "archi_name" : ["IDENTIFIER", "behavioral"], "port_map" : [{
451
            "formal_name" : ["SLICE_NAME", {
452
              "id" : ["SIMPLE_NAME", "a"], "range" : ["RANGE_WITH_DIRECTION", {
453
                "direction" : "downto", "from" : ["EXPRESSION", {
454
                  "args" : [["EXPRESSION", {
455
                    "args" : [["CONSTANT_VALUE", {
456
                      "value" : ["CST_LITERAL", "19"]}
457
                    ]]}
458
                  ]]}
459
                ], "_to" : ["EXPRESSION", {
460
                  "args" : [["EXPRESSION", {
461
                    "args" : [["CONSTANT_VALUE", {
462
                      "value" : ["CST_LITERAL", "0"]}
463
                    ]]}
464
                  ]]}
465
                ]}
466
              ]}
467
            ], "actual_designator" : ["SLICE_NAME", {
468
              "id" : ["SIMPLE_NAME", "pipelined_imag_product"], "range" : ["RANGE_WITH_DIRECTION", {
469
                "direction" : "downto", "from" : ["EXPRESSION", {
470
                  "args" : [["EXPRESSION", {
471
                    "args" : [["CONSTANT_VALUE", {
472
                      "value" : ["CST_LITERAL", "19"]}
473
                    ]]}
474
                  ]]}
475
                ], "_to" : ["EXPRESSION", {
476
                  "args" : [["EXPRESSION", {
477
                    "args" : [["CONSTANT_VALUE", {
478
                      "value" : ["CST_LITERAL", "0"]}
479
                    ]]}
480
                  ]]}
481
                ]}
482
              ]}
483
            ]}
484
          , {
485
            "formal_name" : ["INDEXED_NAME", {
486
              "id" : ["SIMPLE_NAME", "a"], "exprs" : [["EXPRESSION", {
487
                "args" : [["EXPRESSION", {
488
                  "args" : [["EXPRESSION", {
489
                    "args" : [["EXPRESSION", {
490
                      "args" : [["CONSTANT_VALUE", {
491
                        "value" : ["CST_LITERAL", "20"]}
492
                      ]]}
493
                    ]]}
494
                  ]]}
495
                ]]}
496
              ]]}
497
            ], "actual_designator" : ["INDEXED_NAME", {
498
              "id" : ["SIMPLE_NAME", "pipelined_imag_product"], "exprs" : [["EXPRESSION", {
499
                "args" : [["EXPRESSION", {
500
                  "args" : [["EXPRESSION", {
501
                    "args" : [["EXPRESSION", {
502
                      "args" : [["CONSTANT_VALUE", {
503
                        "value" : ["CST_LITERAL", "19"]}
504
                      ]]}
505
                    ]]}
506
                  ]]}
507
                ]]}
508
              ]]}
509
            ]}
510
          , {
511
            "formal_name" : ["INDEXED_NAME", {
512
              "id" : ["SIMPLE_NAME", "a"], "exprs" : [["EXPRESSION", {
513
                "args" : [["EXPRESSION", {
514
                  "args" : [["EXPRESSION", {
515
                    "args" : [["EXPRESSION", {
516
                      "args" : [["CONSTANT_VALUE", {
517
                        "value" : ["CST_LITERAL", "21"]}
518
                      ]]}
519
                    ]]}
520
                  ]]}
521
                ]]}
522
              ]]}
523
            ], "actual_designator" : ["INDEXED_NAME", {
524
              "id" : ["SIMPLE_NAME", "pipelined_imag_product"], "exprs" : [["EXPRESSION", {
525
                "args" : [["EXPRESSION", {
526
                  "args" : [["EXPRESSION", {
527
                    "args" : [["EXPRESSION", {
528
                      "args" : [["CONSTANT_VALUE", {
529
                        "value" : ["CST_LITERAL", "19"]}
530
                      ]]}
531
                    ]]}
532
                  ]]}
533
                ]]}
534
              ]]}
535
            ]}
536
          , {
537
            "formal_name" : ["SIMPLE_NAME", "b"], "actual_designator" : ["SIMPLE_NAME", "pipelined_imag_sum"]}
538
          , {
539
            "formal_name" : ["SIMPLE_NAME", "s"], "actual_designator" : ["SIMPLE_NAME", "imag_sum"]}
540
          , {
541
            "formal_name" : ["SIMPLE_NAME", "ovf"], "actual_designator" : ["SIMPLE_NAME", "imag_accumulator_ovf"]}
542
          ]}
543
        ], ["COMPONENT_INSTANTIATION_STATEMENT", {
544
          "name" : ["IDENTIFIER", "real_accumulator_reg"], "inst_unit" : ["SELECTED_NAME", [["SIMPLE_NAME", "work"], ["IDENTIFIER", "accumulator_reg"]]], "inst_unit_type" : "entity", "archi_name" : ["IDENTIFIER", "behavioral"], "port_map" : [{
545
            "formal_name" : ["SIMPLE_NAME", "clk"], "actual_designator" : ["SIMPLE_NAME", "clk"]}
546
          , {
547
            "formal_name" : ["SIMPLE_NAME", "clr"], "actual_designator" : ["SIMPLE_NAME", "clr"]}
548
          , {
549
            "formal_name" : ["SIMPLE_NAME", "d"], "actual_designator" : ["SIMPLE_NAME", "real_sum"]}
550
          , {
551
            "formal_name" : ["SIMPLE_NAME", "q"], "actual_designator" : ["SIMPLE_NAME", "pipelined_real_sum"]}
552
          ]}
553
        ], ["COMPONENT_INSTANTIATION_STATEMENT", {
554
          "name" : ["IDENTIFIER", "imag_accumulator_reg"], "inst_unit" : ["SELECTED_NAME", [["SIMPLE_NAME", "work"], ["IDENTIFIER", "accumulator_reg"]]], "inst_unit_type" : "entity", "archi_name" : ["IDENTIFIER", "behavioral"], "port_map" : [{
555
            "formal_name" : ["SIMPLE_NAME", "clk"], "actual_designator" : ["SIMPLE_NAME", "clk"]}
556
          , {
557
            "formal_name" : ["SIMPLE_NAME", "clr"], "actual_designator" : ["SIMPLE_NAME", "clr"]}
558
          , {
559
            "formal_name" : ["SIMPLE_NAME", "d"], "actual_designator" : ["SIMPLE_NAME", "imag_sum"]}
560
          , {
561
            "formal_name" : ["SIMPLE_NAME", "q"], "actual_designator" : ["SIMPLE_NAME", "pipelined_imag_sum"]}
562
          ]}
563
        ], ["COMPONENT_INSTANTIATION_STATEMENT", {
564
          "name" : ["IDENTIFIER", "real_accumulator_ovf_reg"], "inst_unit" : ["SELECTED_NAME", [["SIMPLE_NAME", "work"], ["IDENTIFIER", "synch_sr_ff"]]], "inst_unit_type" : "entity", "archi_name" : ["IDENTIFIER", "behavioral"], "port_map" : [{
565
            "formal_name" : ["SIMPLE_NAME", "clk"], "actual_designator" : ["SIMPLE_NAME", "clk"]}
566
          , {
567
            "formal_name" : ["SIMPLE_NAME", "set"], "actual_designator" : ["SIMPLE_NAME", "real_accumulator_ovf"]}
568
          , {
569
            "formal_name" : ["SIMPLE_NAME", "clr"], "actual_designator" : ["SIMPLE_NAME", "clr"]}
570
          , {
571
            "formal_name" : ["SIMPLE_NAME", "q"], "actual_designator" : ["SIMPLE_NAME", "pipelined_real_accumulator_ovf"]}
572
          ]}
573
        ], ["COMPONENT_INSTANTIATION_STATEMENT", {
574
          "name" : ["IDENTIFIER", "imag_accumulator_ovf_reg"], "inst_unit" : ["SELECTED_NAME", [["SIMPLE_NAME", "work"], ["IDENTIFIER", "synch_sr_ff"]]], "inst_unit_type" : "entity", "archi_name" : ["IDENTIFIER", "behavioral"], "port_map" : [{
575
            "formal_name" : ["SIMPLE_NAME", "clk"], "actual_designator" : ["SIMPLE_NAME", "clk"]}
576
          , {
577
            "formal_name" : ["SIMPLE_NAME", "set"], "actual_designator" : ["SIMPLE_NAME", "imag_accumulator_ovf"]}
578
          , {
579
            "formal_name" : ["SIMPLE_NAME", "clr"], "actual_designator" : ["SIMPLE_NAME", "clr"]}
580
          , {
581
            "formal_name" : ["SIMPLE_NAME", "q"], "actual_designator" : ["SIMPLE_NAME", "pipelined_imag_accumulator_ovf"]}
582
          ]}
583
        ], ["CONDITIONAL_SIGNAL_ASSIGNMENT", {
584
          "postponed" : false, "lhs" : ["SIMPLE_NAME", "s_real"], "rhs" : [{
585
            "expr" : [{
586
              "value" : ["EXPRESSION", {
587
                "args" : [["EXPRESSION", {
588
                  "args" : [["EXPRESSION", {
589
                    "args" : [["EXPRESSION", {
590
                      "id" : "&", "args" : [["EXPRESSION", {
591
                        "args" : [["CALL", ["INDEXED_NAME", {
592
                          "id" : ["SIMPLE_NAME", "pipelined_real_sum"], "exprs" : [["EXPRESSION", {
593
                            "args" : [["EXPRESSION", {
594
                              "args" : [["EXPRESSION", {
595
                                "args" : [["EXPRESSION", {
596
                                  "args" : [["CONSTANT_VALUE", {
597
                                    "value" : ["CST_LITERAL", "21"]}
598
                                  ]]}
599
                                ]]}
600
                              ]]}
601
                            ]]}
602
                          ]]}
603
                        ]]]}
604
                      ], ["EXPRESSION", {
605
                        "args" : [["CALL", ["SLICE_NAME", {
606
                          "id" : ["SIMPLE_NAME", "pipelined_real_sum"], "range" : ["RANGE_WITH_DIRECTION", {
607
                            "direction" : "downto", "from" : ["EXPRESSION", {
608
                              "args" : [["EXPRESSION", {
609
                                "args" : [["CONSTANT_VALUE", {
610
                                  "value" : ["CST_LITERAL", "16"]}
611
                                ]]}
612
                              ]]}
613
                            ], "_to" : ["EXPRESSION", {
614
                              "args" : [["EXPRESSION", {
615
                                "args" : [["CONSTANT_VALUE", {
616
                                  "value" : ["CST_LITERAL", "2"]}
617
                                ]]}
618
                              ]]}
619
                            ]}
620
                          ]}
621
                        ]]]}
622
                      ]]}
623
                    ]]}
624
                  ]]}
625
                ]]}
626
              ]}
627
            ]}
628
          ]}
629
        ], ["CONDITIONAL_SIGNAL_ASSIGNMENT", {
630
          "postponed" : false, "lhs" : ["SIMPLE_NAME", "s_imag"], "rhs" : [{
631
            "expr" : [{
632
              "value" : ["EXPRESSION", {
633
                "args" : [["EXPRESSION", {
634
                  "args" : [["EXPRESSION", {
635
                    "args" : [["EXPRESSION", {
636
                      "id" : "&", "args" : [["EXPRESSION", {
637
                        "args" : [["CALL", ["INDEXED_NAME", {
638
                          "id" : ["SIMPLE_NAME", "pipelined_imag_sum"], "exprs" : [["EXPRESSION", {
639
                            "args" : [["EXPRESSION", {
640
                              "args" : [["EXPRESSION", {
641
                                "args" : [["EXPRESSION", {
642
                                  "args" : [["CONSTANT_VALUE", {
643
                                    "value" : ["CST_LITERAL", "21"]}
644
                                  ]]}
645
                                ]]}
646
                              ]]}
647
                            ]]}
648
                          ]]}
649
                        ]]]}
650
                      ], ["EXPRESSION", {
651
                        "args" : [["CALL", ["SLICE_NAME", {
652
                          "id" : ["SIMPLE_NAME", "pipelined_imag_sum"], "range" : ["RANGE_WITH_DIRECTION", {
653
                            "direction" : "downto", "from" : ["EXPRESSION", {
654
                              "args" : [["EXPRESSION", {
655
                                "args" : [["CONSTANT_VALUE", {
656
                                  "value" : ["CST_LITERAL", "16"]}
657
                                ]]}
658
                              ]]}
659
                            ], "_to" : ["EXPRESSION", {
660
                              "args" : [["EXPRESSION", {
661
                                "args" : [["CONSTANT_VALUE", {
662
                                  "value" : ["CST_LITERAL", "2"]}
663
                                ]]}
664
                              ]]}
665
                            ]}
666
                          ]}
667
                        ]]]}
668
                      ]]}
669
                    ]]}
670
                  ]]}
671
                ]]}
672
              ]}
673
            ]}
674
          ]}
675
        ], ["COMPONENT_INSTANTIATION_STATEMENT", {
676
          "name" : ["IDENTIFIER", "result_overflow_logic"], "inst_unit" : ["SELECTED_NAME", [["SIMPLE_NAME", "work"], ["IDENTIFIER", "overflow_logic"]]], "inst_unit_type" : "entity", "archi_name" : ["IDENTIFIER", "behavioral"], "port_map" : [{
677
            "formal_name" : ["SIMPLE_NAME", "real_accumulator_ovf"], "actual_designator" : ["SIMPLE_NAME", "pipelined_real_accumulator_ovf"]}
678
          , {
679
            "formal_name" : ["SIMPLE_NAME", "imag_accumulator_ovf"], "actual_designator" : ["SIMPLE_NAME", "pipelined_imag_accumulator_ovf"]}
680
          , {
681
            "formal_name" : ["SIMPLE_NAME", "real_sum"], "actual_designator" : ["SLICE_NAME", {
682
              "id" : ["SIMPLE_NAME", "pipelined_real_sum"], "range" : ["RANGE_WITH_DIRECTION", {
683
                "direction" : "downto", "from" : ["EXPRESSION", {
684
                  "args" : [["EXPRESSION", {
685
                    "args" : [["CONSTANT_VALUE", {
686
                      "value" : ["CST_LITERAL", "21"]}
687
                    ]]}
688
                  ]]}
689
                ], "_to" : ["EXPRESSION", {
690
                  "args" : [["EXPRESSION", {
691
                    "args" : [["CONSTANT_VALUE", {
692
                      "value" : ["CST_LITERAL", "17"]}
693
                    ]]}
694
                  ]]}
695
                ]}
696
              ]}
697
            ]}
698
          , {
699
            "formal_name" : ["SIMPLE_NAME", "imag_sum"], "actual_designator" : ["SLICE_NAME", {
700
              "id" : ["SIMPLE_NAME", "pipelined_imag_sum"], "range" : ["RANGE_WITH_DIRECTION", {
701
                "direction" : "downto", "from" : ["EXPRESSION", {
702
                  "args" : [["EXPRESSION", {
703
                    "args" : [["CONSTANT_VALUE", {
704
                      "value" : ["CST_LITERAL", "21"]}
705
                    ]]}
706
                  ]]}
707
                ], "_to" : ["EXPRESSION", {
708
                  "args" : [["EXPRESSION", {
709
                    "args" : [["CONSTANT_VALUE", {
710
                      "value" : ["CST_LITERAL", "17"]}
711
                    ]]}
712
                  ]]}
713
                ]}
714
              ]}
715
            ]}
716
          , {
717
            "formal_name" : ["SIMPLE_NAME", "ovf"], "actual_designator" : ["SIMPLE_NAME", "ovf"]}
718
          ]}
719
        ]]}
720
      ]}
721
    ]}
722
  }