Project

General

Profile

Download (38.9 KB) Statistics
| Branch: | Tag: | Revision:
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_expr" : ["EXPRESSION", {
404
              "args" : [["EXPRESSION", {
405
                "args" : [["EXPRESSION", {
406
                  "args" : [["EXPRESSION", {
407
                    "args" : [["CALL", ["FUNCTION_CALL", {
408
                      "id" : ["SIMPLE_NAME", "pipelined_real_product"], "assoc_list" : [{
409
                        "actual_expr" : ["EXPRESSION", {
410
                          "args" : [["EXPRESSION", {
411
                            "args" : [["EXPRESSION", {
412
                              "args" : [["EXPRESSION", {
413
                                "args" : [["CONSTANT_VALUE", {
414
                                  "value" : ["CST_LITERAL", "19"]}
415
                                ]]}
416
                              ]]}
417
                            ]]}
418
                          ]]}
419
                        ]}
420
                      ]}
421
                    ]]]}
422
                  ]]}
423
                ]]}
424
              ]]}
425
            ]}
426
          , {
427
            "formal_name" : ["INDEXED_NAME", {
428
              "id" : ["SIMPLE_NAME", "a"], "exprs" : [["EXPRESSION", {
429
                "args" : [["EXPRESSION", {
430
                  "args" : [["EXPRESSION", {
431
                    "args" : [["EXPRESSION", {
432
                      "args" : [["CONSTANT_VALUE", {
433
                        "value" : ["CST_LITERAL", "21"]}
434
                      ]]}
435
                    ]]}
436
                  ]]}
437
                ]]}
438
              ]]}
439
            ], "actual_expr" : ["EXPRESSION", {
440
              "args" : [["EXPRESSION", {
441
                "args" : [["EXPRESSION", {
442
                  "args" : [["EXPRESSION", {
443
                    "args" : [["CALL", ["FUNCTION_CALL", {
444
                      "id" : ["SIMPLE_NAME", "pipelined_real_product"], "assoc_list" : [{
445
                        "actual_expr" : ["EXPRESSION", {
446
                          "args" : [["EXPRESSION", {
447
                            "args" : [["EXPRESSION", {
448
                              "args" : [["EXPRESSION", {
449
                                "args" : [["CONSTANT_VALUE", {
450
                                  "value" : ["CST_LITERAL", "19"]}
451
                                ]]}
452
                              ]]}
453
                            ]]}
454
                          ]]}
455
                        ]}
456
                      ]}
457
                    ]]]}
458
                  ]]}
459
                ]]}
460
              ]]}
461
            ]}
462
          , {
463
            "formal_name" : ["SIMPLE_NAME", "b"], "actual_designator" : ["SIMPLE_NAME", "pipelined_real_sum"]}
464
          , {
465
            "formal_name" : ["SIMPLE_NAME", "s"], "actual_designator" : ["SIMPLE_NAME", "real_sum"]}
466
          , {
467
            "formal_name" : ["SIMPLE_NAME", "ovf"], "actual_designator" : ["SIMPLE_NAME", "real_accumulator_ovf"]}
468
          ]}
469
        ], ["COMPONENT_INSTANTIATION_STATEMENT", {
470
          "name" : ["IDENTIFIER", "imag_accumulator"], "inst_unit" : ["SELECTED_NAME", [["SIMPLE_NAME", "work"], ["IDENTIFIER", "accumulator_adder"]]], "inst_unit_type" : "entity", "archi_name" : ["IDENTIFIER", "behavioral"], "port_map" : [{
471
            "formal_name" : ["SLICE_NAME", {
472
              "id" : ["SIMPLE_NAME", "a"], "range" : ["RANGE_WITH_DIRECTION", {
473
                "direction" : "downto", "from" : ["EXPRESSION", {
474
                  "args" : [["EXPRESSION", {
475
                    "args" : [["CONSTANT_VALUE", {
476
                      "value" : ["CST_LITERAL", "19"]}
477
                    ]]}
478
                  ]]}
479
                ], "_to" : ["EXPRESSION", {
480
                  "args" : [["EXPRESSION", {
481
                    "args" : [["CONSTANT_VALUE", {
482
                      "value" : ["CST_LITERAL", "0"]}
483
                    ]]}
484
                  ]]}
485
                ]}
486
              ]}
487
            ], "actual_designator" : ["SLICE_NAME", {
488
              "id" : ["SIMPLE_NAME", "pipelined_imag_product"], "range" : ["RANGE_WITH_DIRECTION", {
489
                "direction" : "downto", "from" : ["EXPRESSION", {
490
                  "args" : [["EXPRESSION", {
491
                    "args" : [["CONSTANT_VALUE", {
492
                      "value" : ["CST_LITERAL", "19"]}
493
                    ]]}
494
                  ]]}
495
                ], "_to" : ["EXPRESSION", {
496
                  "args" : [["EXPRESSION", {
497
                    "args" : [["CONSTANT_VALUE", {
498
                      "value" : ["CST_LITERAL", "0"]}
499
                    ]]}
500
                  ]]}
501
                ]}
502
              ]}
503
            ]}
504
          , {
505
            "formal_name" : ["INDEXED_NAME", {
506
              "id" : ["SIMPLE_NAME", "a"], "exprs" : [["EXPRESSION", {
507
                "args" : [["EXPRESSION", {
508
                  "args" : [["EXPRESSION", {
509
                    "args" : [["EXPRESSION", {
510
                      "args" : [["CONSTANT_VALUE", {
511
                        "value" : ["CST_LITERAL", "20"]}
512
                      ]]}
513
                    ]]}
514
                  ]]}
515
                ]]}
516
              ]]}
517
            ], "actual_expr" : ["EXPRESSION", {
518
              "args" : [["EXPRESSION", {
519
                "args" : [["EXPRESSION", {
520
                  "args" : [["EXPRESSION", {
521
                    "args" : [["CALL", ["FUNCTION_CALL", {
522
                      "id" : ["SIMPLE_NAME", "pipelined_imag_product"], "assoc_list" : [{
523
                        "actual_expr" : ["EXPRESSION", {
524
                          "args" : [["EXPRESSION", {
525
                            "args" : [["EXPRESSION", {
526
                              "args" : [["EXPRESSION", {
527
                                "args" : [["CONSTANT_VALUE", {
528
                                  "value" : ["CST_LITERAL", "19"]}
529
                                ]]}
530
                              ]]}
531
                            ]]}
532
                          ]]}
533
                        ]}
534
                      ]}
535
                    ]]]}
536
                  ]]}
537
                ]]}
538
              ]]}
539
            ]}
540
          , {
541
            "formal_name" : ["INDEXED_NAME", {
542
              "id" : ["SIMPLE_NAME", "a"], "exprs" : [["EXPRESSION", {
543
                "args" : [["EXPRESSION", {
544
                  "args" : [["EXPRESSION", {
545
                    "args" : [["EXPRESSION", {
546
                      "args" : [["CONSTANT_VALUE", {
547
                        "value" : ["CST_LITERAL", "21"]}
548
                      ]]}
549
                    ]]}
550
                  ]]}
551
                ]]}
552
              ]]}
553
            ], "actual_expr" : ["EXPRESSION", {
554
              "args" : [["EXPRESSION", {
555
                "args" : [["EXPRESSION", {
556
                  "args" : [["EXPRESSION", {
557
                    "args" : [["CALL", ["FUNCTION_CALL", {
558
                      "id" : ["SIMPLE_NAME", "pipelined_imag_product"], "assoc_list" : [{
559
                        "actual_expr" : ["EXPRESSION", {
560
                          "args" : [["EXPRESSION", {
561
                            "args" : [["EXPRESSION", {
562
                              "args" : [["EXPRESSION", {
563
                                "args" : [["CONSTANT_VALUE", {
564
                                  "value" : ["CST_LITERAL", "19"]}
565
                                ]]}
566
                              ]]}
567
                            ]]}
568
                          ]]}
569
                        ]}
570
                      ]}
571
                    ]]]}
572
                  ]]}
573
                ]]}
574
              ]]}
575
            ]}
576
          , {
577
            "formal_name" : ["SIMPLE_NAME", "b"], "actual_designator" : ["SIMPLE_NAME", "pipelined_imag_sum"]}
578
          , {
579
            "formal_name" : ["SIMPLE_NAME", "s"], "actual_designator" : ["SIMPLE_NAME", "imag_sum"]}
580
          , {
581
            "formal_name" : ["SIMPLE_NAME", "ovf"], "actual_designator" : ["SIMPLE_NAME", "imag_accumulator_ovf"]}
582
          ]}
583
        ], ["COMPONENT_INSTANTIATION_STATEMENT", {
584
          "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" : [{
585
            "formal_name" : ["SIMPLE_NAME", "clk"], "actual_designator" : ["SIMPLE_NAME", "clk"]}
586
          , {
587
            "formal_name" : ["SIMPLE_NAME", "clr"], "actual_designator" : ["SIMPLE_NAME", "clr"]}
588
          , {
589
            "formal_name" : ["SIMPLE_NAME", "d"], "actual_designator" : ["SIMPLE_NAME", "real_sum"]}
590
          , {
591
            "formal_name" : ["SIMPLE_NAME", "q"], "actual_designator" : ["SIMPLE_NAME", "pipelined_real_sum"]}
592
          ]}
593
        ], ["COMPONENT_INSTANTIATION_STATEMENT", {
594
          "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" : [{
595
            "formal_name" : ["SIMPLE_NAME", "clk"], "actual_designator" : ["SIMPLE_NAME", "clk"]}
596
          , {
597
            "formal_name" : ["SIMPLE_NAME", "clr"], "actual_designator" : ["SIMPLE_NAME", "clr"]}
598
          , {
599
            "formal_name" : ["SIMPLE_NAME", "d"], "actual_designator" : ["SIMPLE_NAME", "imag_sum"]}
600
          , {
601
            "formal_name" : ["SIMPLE_NAME", "q"], "actual_designator" : ["SIMPLE_NAME", "pipelined_imag_sum"]}
602
          ]}
603
        ], ["COMPONENT_INSTANTIATION_STATEMENT", {
604
          "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" : [{
605
            "formal_name" : ["SIMPLE_NAME", "clk"], "actual_designator" : ["SIMPLE_NAME", "clk"]}
606
          , {
607
            "formal_name" : ["SIMPLE_NAME", "set"], "actual_designator" : ["SIMPLE_NAME", "real_accumulator_ovf"]}
608
          , {
609
            "formal_name" : ["SIMPLE_NAME", "clr"], "actual_designator" : ["SIMPLE_NAME", "clr"]}
610
          , {
611
            "formal_name" : ["SIMPLE_NAME", "q"], "actual_designator" : ["SIMPLE_NAME", "pipelined_real_accumulator_ovf"]}
612
          ]}
613
        ], ["COMPONENT_INSTANTIATION_STATEMENT", {
614
          "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" : [{
615
            "formal_name" : ["SIMPLE_NAME", "clk"], "actual_designator" : ["SIMPLE_NAME", "clk"]}
616
          , {
617
            "formal_name" : ["SIMPLE_NAME", "set"], "actual_designator" : ["SIMPLE_NAME", "imag_accumulator_ovf"]}
618
          , {
619
            "formal_name" : ["SIMPLE_NAME", "clr"], "actual_designator" : ["SIMPLE_NAME", "clr"]}
620
          , {
621
            "formal_name" : ["SIMPLE_NAME", "q"], "actual_designator" : ["SIMPLE_NAME", "pipelined_imag_accumulator_ovf"]}
622
          ]}
623
        ], ["CONDITIONAL_SIGNAL_ASSIGNMENT", {
624
          "postponed" : false, "lhs" : ["SIMPLE_NAME", "s_real"], "rhs" : [{
625
            "expr" : [{
626
              "value" : ["EXPRESSION", {
627
                "args" : [["EXPRESSION", {
628
                  "args" : [["EXPRESSION", {
629
                    "args" : [["EXPRESSION", {
630
                      "id" : "&", "args" : [["EXPRESSION", {
631
                        "args" : [["CALL", ["FUNCTION_CALL", {
632
                          "id" : ["SIMPLE_NAME", "pipelined_real_sum"], "assoc_list" : [{
633
                            "actual_expr" : ["EXPRESSION", {
634
                              "args" : [["EXPRESSION", {
635
                                "args" : [["EXPRESSION", {
636
                                  "args" : [["EXPRESSION", {
637
                                    "args" : [["CONSTANT_VALUE", {
638
                                      "value" : ["CST_LITERAL", "21"]}
639
                                    ]]}
640
                                  ]]}
641
                                ]]}
642
                              ]]}
643
                            ]}
644
                          ]}
645
                        ]]]}
646
                      ], ["EXPRESSION", {
647
                        "args" : [["CALL", ["SLICE_NAME", {
648
                          "id" : ["SIMPLE_NAME", "pipelined_real_sum"], "range" : ["RANGE_WITH_DIRECTION", {
649
                            "direction" : "downto", "from" : ["EXPRESSION", {
650
                              "args" : [["EXPRESSION", {
651
                                "args" : [["CONSTANT_VALUE", {
652
                                  "value" : ["CST_LITERAL", "16"]}
653
                                ]]}
654
                              ]]}
655
                            ], "_to" : ["EXPRESSION", {
656
                              "args" : [["EXPRESSION", {
657
                                "args" : [["CONSTANT_VALUE", {
658
                                  "value" : ["CST_LITERAL", "2"]}
659
                                ]]}
660
                              ]]}
661
                            ]}
662
                          ]}
663
                        ]]]}
664
                      ]]}
665
                    ]]}
666
                  ]]}
667
                ]]}
668
              ]}
669
            ]}
670
          ]}
671
        ], ["CONDITIONAL_SIGNAL_ASSIGNMENT", {
672
          "postponed" : false, "lhs" : ["SIMPLE_NAME", "s_imag"], "rhs" : [{
673
            "expr" : [{
674
              "value" : ["EXPRESSION", {
675
                "args" : [["EXPRESSION", {
676
                  "args" : [["EXPRESSION", {
677
                    "args" : [["EXPRESSION", {
678
                      "id" : "&", "args" : [["EXPRESSION", {
679
                        "args" : [["CALL", ["FUNCTION_CALL", {
680
                          "id" : ["SIMPLE_NAME", "pipelined_imag_sum"], "assoc_list" : [{
681
                            "actual_expr" : ["EXPRESSION", {
682
                              "args" : [["EXPRESSION", {
683
                                "args" : [["EXPRESSION", {
684
                                  "args" : [["EXPRESSION", {
685
                                    "args" : [["CONSTANT_VALUE", {
686
                                      "value" : ["CST_LITERAL", "21"]}
687
                                    ]]}
688
                                  ]]}
689
                                ]]}
690
                              ]]}
691
                            ]}
692
                          ]}
693
                        ]]]}
694
                      ], ["EXPRESSION", {
695
                        "args" : [["CALL", ["SLICE_NAME", {
696
                          "id" : ["SIMPLE_NAME", "pipelined_imag_sum"], "range" : ["RANGE_WITH_DIRECTION", {
697
                            "direction" : "downto", "from" : ["EXPRESSION", {
698
                              "args" : [["EXPRESSION", {
699
                                "args" : [["CONSTANT_VALUE", {
700
                                  "value" : ["CST_LITERAL", "16"]}
701
                                ]]}
702
                              ]]}
703
                            ], "_to" : ["EXPRESSION", {
704
                              "args" : [["EXPRESSION", {
705
                                "args" : [["CONSTANT_VALUE", {
706
                                  "value" : ["CST_LITERAL", "2"]}
707
                                ]]}
708
                              ]]}
709
                            ]}
710
                          ]}
711
                        ]]]}
712
                      ]]}
713
                    ]]}
714
                  ]]}
715
                ]]}
716
              ]}
717
            ]}
718
          ]}
719
        ], ["COMPONENT_INSTANTIATION_STATEMENT", {
720
          "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" : [{
721
            "formal_name" : ["SIMPLE_NAME", "real_accumulator_ovf"], "actual_designator" : ["SIMPLE_NAME", "pipelined_real_accumulator_ovf"]}
722
          , {
723
            "formal_name" : ["SIMPLE_NAME", "imag_accumulator_ovf"], "actual_designator" : ["SIMPLE_NAME", "pipelined_imag_accumulator_ovf"]}
724
          , {
725
            "formal_name" : ["SIMPLE_NAME", "real_sum"], "actual_designator" : ["SLICE_NAME", {
726
              "id" : ["SIMPLE_NAME", "pipelined_real_sum"], "range" : ["RANGE_WITH_DIRECTION", {
727
                "direction" : "downto", "from" : ["EXPRESSION", {
728
                  "args" : [["EXPRESSION", {
729
                    "args" : [["CONSTANT_VALUE", {
730
                      "value" : ["CST_LITERAL", "21"]}
731
                    ]]}
732
                  ]]}
733
                ], "_to" : ["EXPRESSION", {
734
                  "args" : [["EXPRESSION", {
735
                    "args" : [["CONSTANT_VALUE", {
736
                      "value" : ["CST_LITERAL", "17"]}
737
                    ]]}
738
                  ]]}
739
                ]}
740
              ]}
741
            ]}
742
          , {
743
            "formal_name" : ["SIMPLE_NAME", "imag_sum"], "actual_designator" : ["SLICE_NAME", {
744
              "id" : ["SIMPLE_NAME", "pipelined_imag_sum"], "range" : ["RANGE_WITH_DIRECTION", {
745
                "direction" : "downto", "from" : ["EXPRESSION", {
746
                  "args" : [["EXPRESSION", {
747
                    "args" : [["CONSTANT_VALUE", {
748
                      "value" : ["CST_LITERAL", "21"]}
749
                    ]]}
750
                  ]]}
751
                ], "_to" : ["EXPRESSION", {
752
                  "args" : [["EXPRESSION", {
753
                    "args" : [["CONSTANT_VALUE", {
754
                      "value" : ["CST_LITERAL", "17"]}
755
                    ]]}
756
                  ]]}
757
                ]}
758
              ]}
759
            ]}
760
          , {
761
            "formal_name" : ["SIMPLE_NAME", "ovf"], "actual_designator" : ["SIMPLE_NAME", "ovf"]}
762
          ]}
763
        ]]}
764
      ]}
765
    ]}
766
  }
(123-123/276)