Project

General

Profile

Statistics
| Branch: | Tag: | Revision:

lustrec-tests / vhdl_json / vhdl_files / 2-exportOK / ghdl / ghdl / testsuite / gna / perf02 / test_data.json @ 3fd18385

History | View | Annotate | Download (20.7 KB)

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"]]]]], ["LIBRARY_CLAUSE", [["IDENTIFIER", "ieee"]]], ["USE_CLAUSE", [["SELECTED_NAME", [["SIMPLE_NAME", "ieee"], ["SIMPLE_NAME", "numeric_std"]]]]]], "library" : ["ENTITY_DECLARATION", {
5
        "name" : ["IDENTIFIER", "test_data"], "ports" : [{
6
          "names" : [["IDENTIFIER", "clk"]], "mode" : ["in"], "typ" : {
7
            "name" : ["SIMPLE_NAME", "std_logic"]}
8
          }
9
        , {
10
          "names" : [["IDENTIFIER", "ra0_data"]], "mode" : ["out"], "typ" : {
11
            "name" : ["SIMPLE_NAME", "std_logic_vector"], "const" : ["INDEX_CONSTRAINT", {
12
              "ranges" : [["RANGE_WITH_DIRECTION", {
13
                "direction" : "downto", "from" : ["EXPRESSION", {
14
                  "args" : [["EXPRESSION", {
15
                    "args" : [["CONSTANT_VALUE", {
16
                      "value" : ["CST_LITERAL", "31"]}
17
                    ]]}
18
                  ]]}
19
                ], "_to" : ["EXPRESSION", {
20
                  "args" : [["EXPRESSION", {
21
                    "args" : [["CONSTANT_VALUE", {
22
                      "value" : ["CST_LITERAL", "0"]}
23
                    ]]}
24
                  ]]}
25
                ]}
26
              ]]}
27
            ]}
28
          }
29
        , {
30
          "names" : [["IDENTIFIER", "wa0_addr"]], "mode" : ["in"], "typ" : {
31
            "name" : ["SIMPLE_NAME", "std_logic_vector"], "const" : ["INDEX_CONSTRAINT", {
32
              "ranges" : [["RANGE_WITH_DIRECTION", {
33
                "direction" : "downto", "from" : ["EXPRESSION", {
34
                  "args" : [["EXPRESSION", {
35
                    "args" : [["CONSTANT_VALUE", {
36
                      "value" : ["CST_LITERAL", "6"]}
37
                    ]]}
38
                  ]]}
39
                ], "_to" : ["EXPRESSION", {
40
                  "args" : [["EXPRESSION", {
41
                    "args" : [["CONSTANT_VALUE", {
42
                      "value" : ["CST_LITERAL", "0"]}
43
                    ]]}
44
                  ]]}
45
                ]}
46
              ]]}
47
            ]}
48
          }
49
        , {
50
          "names" : [["IDENTIFIER", "wa0_en"]], "mode" : ["in"], "typ" : {
51
            "name" : ["SIMPLE_NAME", "std_logic"]}
52
          }
53
        , {
54
          "names" : [["IDENTIFIER", "ra0_addr"]], "mode" : ["in"], "typ" : {
55
            "name" : ["SIMPLE_NAME", "std_logic_vector"], "const" : ["INDEX_CONSTRAINT", {
56
              "ranges" : [["RANGE_WITH_DIRECTION", {
57
                "direction" : "downto", "from" : ["EXPRESSION", {
58
                  "args" : [["EXPRESSION", {
59
                    "args" : [["CONSTANT_VALUE", {
60
                      "value" : ["CST_LITERAL", "6"]}
61
                    ]]}
62
                  ]]}
63
                ], "_to" : ["EXPRESSION", {
64
                  "args" : [["EXPRESSION", {
65
                    "args" : [["CONSTANT_VALUE", {
66
                      "value" : ["CST_LITERAL", "0"]}
67
                    ]]}
68
                  ]]}
69
                ]}
70
              ]]}
71
            ]}
72
          }
73
        , {
74
          "names" : [["IDENTIFIER", "wa0_data"]], "mode" : ["in"], "typ" : {
75
            "name" : ["SIMPLE_NAME", "std_logic_vector"], "const" : ["INDEX_CONSTRAINT", {
76
              "ranges" : [["RANGE_WITH_DIRECTION", {
77
                "direction" : "downto", "from" : ["EXPRESSION", {
78
                  "args" : [["EXPRESSION", {
79
                    "args" : [["CONSTANT_VALUE", {
80
                      "value" : ["CST_LITERAL", "31"]}
81
                    ]]}
82
                  ]]}
83
                ], "_to" : ["EXPRESSION", {
84
                  "args" : [["EXPRESSION", {
85
                    "args" : [["CONSTANT_VALUE", {
86
                      "value" : ["CST_LITERAL", "0"]}
87
                    ]]}
88
                  ]]}
89
                ]}
90
              ]]}
91
            ]}
92
          }
93
        , {
94
          "names" : [["IDENTIFIER", "ra1_data"]], "mode" : ["out"], "typ" : {
95
            "name" : ["SIMPLE_NAME", "std_logic_vector"], "const" : ["INDEX_CONSTRAINT", {
96
              "ranges" : [["RANGE_WITH_DIRECTION", {
97
                "direction" : "downto", "from" : ["EXPRESSION", {
98
                  "args" : [["EXPRESSION", {
99
                    "args" : [["CONSTANT_VALUE", {
100
                      "value" : ["CST_LITERAL", "31"]}
101
                    ]]}
102
                  ]]}
103
                ], "_to" : ["EXPRESSION", {
104
                  "args" : [["EXPRESSION", {
105
                    "args" : [["CONSTANT_VALUE", {
106
                      "value" : ["CST_LITERAL", "0"]}
107
                    ]]}
108
                  ]]}
109
                ]}
110
              ]]}
111
            ]}
112
          }
113
        , {
114
          "names" : [["IDENTIFIER", "ra1_addr"]], "mode" : ["in"], "typ" : {
115
            "name" : ["SIMPLE_NAME", "std_logic_vector"], "const" : ["INDEX_CONSTRAINT", {
116
              "ranges" : [["RANGE_WITH_DIRECTION", {
117
                "direction" : "downto", "from" : ["EXPRESSION", {
118
                  "args" : [["EXPRESSION", {
119
                    "args" : [["CONSTANT_VALUE", {
120
                      "value" : ["CST_LITERAL", "6"]}
121
                    ]]}
122
                  ]]}
123
                ], "_to" : ["EXPRESSION", {
124
                  "args" : [["EXPRESSION", {
125
                    "args" : [["CONSTANT_VALUE", {
126
                      "value" : ["CST_LITERAL", "0"]}
127
                    ]]}
128
                  ]]}
129
                ]}
130
              ]]}
131
            ]}
132
          }
133
        ], "ENTITY_DECLARATIVE_PART" : [], "ENTITY_STATEMENT_PART" : []}
134
      ]}
135
    , {
136
      "contexts" : [], "library" : ["ARCHITECTURE_BODY", {
137
        "name" : ["IDENTIFIER", "augh"], "entity" : ["IDENTIFIER", "test_data"], "ARCHITECTURE_DECLARATIVE_PART" : [{
138
          "definition" : ["TYPE_DECLARATION", {
139
            "name" : ["IDENTIFIER", "ram_type"], "definition" : ["ARRAY_TYPE_DEFINITION", {
140
              "const" : ["INDEX_CONSTRAINT", {
141
                "ranges" : [["RANGE_WITH_DIRECTION", {
142
                  "direction" : "to", "from" : ["EXPRESSION", {
143
                    "args" : [["EXPRESSION", {
144
                      "args" : [["CONSTANT_VALUE", {
145
                        "value" : ["CST_LITERAL", "0"]}
146
                      ]]}
147
                    ]]}
148
                  ], "_to" : ["EXPRESSION", {
149
                    "args" : [["EXPRESSION", {
150
                      "args" : [["CONSTANT_VALUE", {
151
                        "value" : ["CST_LITERAL", "127"]}
152
                      ]]}
153
                    ]]}
154
                  ]}
155
                ]]}
156
              ], "definition" : {
157
                "name" : ["SIMPLE_NAME", "std_logic_vector"], "const" : ["INDEX_CONSTRAINT", {
158
                  "ranges" : [["RANGE_WITH_DIRECTION", {
159
                    "direction" : "downto", "from" : ["EXPRESSION", {
160
                      "args" : [["EXPRESSION", {
161
                        "args" : [["CONSTANT_VALUE", {
162
                          "value" : ["CST_LITERAL", "31"]}
163
                        ]]}
164
                      ]]}
165
                    ], "_to" : ["EXPRESSION", {
166
                      "args" : [["EXPRESSION", {
167
                        "args" : [["CONSTANT_VALUE", {
168
                          "value" : ["CST_LITERAL", "0"]}
169
                        ]]}
170
                      ]]}
171
                    ]}
172
                  ]]}
173
                ]}
174
              }
175
            ]}
176
          ]}
177
        , {
178
          "declaration" : ["SIGNAL_DECLARATION", {
179
            "names" : [["IDENTIFIER", "ram"]], "typ" : {
180
              "name" : ["SIMPLE_NAME", "ram_type"]}
181
            , "init_val" : ["EXPRESSION", {
182
              "args" : [["EXPRESSION", {
183
                "args" : [["EXPRESSION", {
184
                  "args" : [["EXPRESSION", {
185
                    "args" : [["AGGREGATE", {
186
                      "elems" : [{
187
                        "choices" : [["OTHERS"]], "expr" : ["EXPRESSION", {
188
                          "args" : [["EXPRESSION", {
189
                            "args" : [["EXPRESSION", {
190
                              "args" : [["EXPRESSION", {
191
                                "args" : [["AGGREGATE", {
192
                                  "elems" : [{
193
                                    "choices" : [["OTHERS"]], "expr" : ["EXPRESSION", {
194
                                      "args" : [["EXPRESSION", {
195
                                        "args" : [["EXPRESSION", {
196
                                          "args" : [["EXPRESSION", {
197
                                            "args" : [["CONSTANT_VALUE", {
198
                                              "value" : ["CST_LITERAL", "'0'"]}
199
                                            ]]}
200
                                          ]]}
201
                                        ]]}
202
                                      ]]}
203
                                    ]}
204
                                  ]}
205
                                ]]}
206
                              ]]}
207
                            ]]}
208
                          ]]}
209
                        ]}
210
                      ]}
211
                    ]]}
212
                  ]]}
213
                ]]}
214
              ]]}
215
            ]}
216
          ]}
217
        , {
218
          "declaration" : ["SUBPROGRAM_BODY", {
219
            "spec" : {
220
              "name" : "to_integer", "subprogram_type" : "function", "parameters" : [{
221
                "names" : [["IDENTIFIER", "B"]], "typ" : {
222
                  "name" : ["SIMPLE_NAME", "std_logic"]}
223
                }
224
              ], "typeMark" : ["SIMPLE_NAME", "integer"], "isPure" : false}
225
            , "decl_part" : [["VARIABLE_DECLARATION", {
226
              "names" : [["IDENTIFIER", "V"]], "typ" : {
227
                "name" : ["SIMPLE_NAME", "std_logic_vector"], "const" : ["INDEX_CONSTRAINT", {
228
                  "ranges" : [["RANGE_WITH_DIRECTION", {
229
                    "direction" : "to", "from" : ["EXPRESSION", {
230
                      "args" : [["EXPRESSION", {
231
                        "args" : [["CONSTANT_VALUE", {
232
                          "value" : ["CST_LITERAL", "0"]}
233
                        ]]}
234
                      ]]}
235
                    ], "_to" : ["EXPRESSION", {
236
                      "args" : [["EXPRESSION", {
237
                        "args" : [["CONSTANT_VALUE", {
238
                          "value" : ["CST_LITERAL", "0"]}
239
                        ]]}
240
                      ]]}
241
                    ]}
242
                  ]]}
243
                ]}
244
              }
245
            ]], "stmts" : [["VARIABLE_ASSIGNMENT_STATEMENT", {
246
              "lhs" : ["INDEXED_NAME", {
247
                "id" : ["SIMPLE_NAME", "V"], "exprs" : [["EXPRESSION", {
248
                  "args" : [["EXPRESSION", {
249
                    "args" : [["EXPRESSION", {
250
                      "args" : [["EXPRESSION", {
251
                        "args" : [["CONSTANT_VALUE", {
252
                          "value" : ["CST_LITERAL", "0"]}
253
                        ]]}
254
                      ]]}
255
                    ]]}
256
                  ]]}
257
                ]]}
258
              ], "rhs" : ["EXPRESSION", {
259
                "args" : [["EXPRESSION", {
260
                  "args" : [["EXPRESSION", {
261
                    "args" : [["EXPRESSION", {
262
                      "args" : [["CALL", ["SIMPLE_NAME", "B"]]]}
263
                    ]]}
264
                  ]]}
265
                ]]}
266
              ]}
267
            ], ["RETURN_STATEMENT", {
268
              "expr" : ["EXPRESSION", {
269
                "args" : [["EXPRESSION", {
270
                  "args" : [["EXPRESSION", {
271
                    "args" : [["EXPRESSION", {
272
                      "args" : [["CALL", ["INDEXED_NAME", {
273
                        "id" : ["SIMPLE_NAME", "to_integer"], "exprs" : [["EXPRESSION", {
274
                          "args" : [["EXPRESSION", {
275
                            "args" : [["EXPRESSION", {
276
                              "args" : [["EXPRESSION", {
277
                                "args" : [["CALL", ["INDEXED_NAME", {
278
                                  "id" : ["SIMPLE_NAME", "unsigned"], "exprs" : [["EXPRESSION", {
279
                                    "args" : [["EXPRESSION", {
280
                                      "args" : [["EXPRESSION", {
281
                                        "args" : [["EXPRESSION", {
282
                                          "args" : [["CALL", ["SIMPLE_NAME", "V"]]]}
283
                                        ]]}
284
                                      ]]}
285
                                    ]]}
286
                                  ]]}
287
                                ]]]}
288
                              ]]}
289
                            ]]}
290
                          ]]}
291
                        ]]}
292
                      ]]]}
293
                    ]]}
294
                  ]]}
295
                ]]}
296
              ]}
297
            ]]}
298
          ]}
299
        , {
300
          "declaration" : ["SUBPROGRAM_BODY", {
301
            "spec" : {
302
              "name" : "to_integer", "subprogram_type" : "function", "parameters" : [{
303
                "names" : [["IDENTIFIER", "V"]], "typ" : {
304
                  "name" : ["SIMPLE_NAME", "std_logic_vector"]}
305
                }
306
              ], "typeMark" : ["SIMPLE_NAME", "integer"], "isPure" : false}
307
            , "stmts" : [["RETURN_STATEMENT", {
308
              "expr" : ["EXPRESSION", {
309
                "args" : [["EXPRESSION", {
310
                  "args" : [["EXPRESSION", {
311
                    "args" : [["EXPRESSION", {
312
                      "args" : [["CALL", ["INDEXED_NAME", {
313
                        "id" : ["SIMPLE_NAME", "to_integer"], "exprs" : [["EXPRESSION", {
314
                          "args" : [["EXPRESSION", {
315
                            "args" : [["EXPRESSION", {
316
                              "args" : [["EXPRESSION", {
317
                                "args" : [["CALL", ["INDEXED_NAME", {
318
                                  "id" : ["SIMPLE_NAME", "unsigned"], "exprs" : [["EXPRESSION", {
319
                                    "args" : [["EXPRESSION", {
320
                                      "args" : [["EXPRESSION", {
321
                                        "args" : [["EXPRESSION", {
322
                                          "args" : [["CALL", ["SIMPLE_NAME", "V"]]]}
323
                                        ]]}
324
                                      ]]}
325
                                    ]]}
326
                                  ]]}
327
                                ]]]}
328
                              ]]}
329
                            ]]}
330
                          ]]}
331
                        ]]}
332
                      ]]]}
333
                    ]]}
334
                  ]]}
335
                ]]}
336
              ]}
337
            ]]}
338
          ]}
339
        ], "ARCHITECTURE_STATEMENT_PART" : [["PROCESS_STATEMENT", {
340
          "active_sigs" : [["SIMPLE_NAME", "clk"]], "PROCESS_STATEMENT_PART" : [["IF_STATEMENT", {
341
            "if_cases" : [{
342
              "if_cond" : ["EXPRESSION", {
343
                "args" : [["EXPRESSION", {
344
                  "args" : [["EXPRESSION", {
345
                    "args" : [["EXPRESSION", {
346
                      "args" : [["CALL", ["INDEXED_NAME", {
347
                        "id" : ["SIMPLE_NAME", "rising_edge"], "exprs" : [["EXPRESSION", {
348
                          "args" : [["EXPRESSION", {
349
                            "args" : [["EXPRESSION", {
350
                              "args" : [["EXPRESSION", {
351
                                "args" : [["CALL", ["SIMPLE_NAME", "clk"]]]}
352
                              ]]}
353
                            ]]}
354
                          ]]}
355
                        ]]}
356
                      ]]]}
357
                    ]]}
358
                  ]]}
359
                ]]}
360
              ], "if_block" : [["IF_STATEMENT", {
361
                "if_cases" : [{
362
                  "if_cond" : ["EXPRESSION", {
363
                    "id" : "=", "args" : [["EXPRESSION", {
364
                      "args" : [["EXPRESSION", {
365
                        "args" : [["EXPRESSION", {
366
                          "args" : [["CALL", ["SIMPLE_NAME", "wa0_en"]]]}
367
                        ]]}
368
                      ]]}
369
                    ], ["EXPRESSION", {
370
                      "args" : [["EXPRESSION", {
371
                        "args" : [["EXPRESSION", {
372
                          "args" : [["CONSTANT_VALUE", {
373
                            "value" : ["CST_LITERAL", "'1'"]}
374
                          ]]}
375
                        ]]}
376
                      ]]}
377
                    ]]}
378
                  ], "if_block" : [["SIGNAL_ASSIGNMENT_STATEMENT", {
379
                    "lhs" : ["INDEXED_NAME", {
380
                      "id" : ["SIMPLE_NAME", "ram"], "exprs" : [["EXPRESSION", {
381
                        "args" : [["EXPRESSION", {
382
                          "args" : [["EXPRESSION", {
383
                            "args" : [["EXPRESSION", {
384
                              "args" : [["CALL", ["INDEXED_NAME", {
385
                                "id" : ["SIMPLE_NAME", "to_integer"], "exprs" : [["EXPRESSION", {
386
                                  "args" : [["EXPRESSION", {
387
                                    "args" : [["EXPRESSION", {
388
                                      "args" : [["EXPRESSION", {
389
                                        "args" : [["CALL", ["SIMPLE_NAME", "wa0_addr"]]]}
390
                                      ]]}
391
                                    ]]}
392
                                  ]]}
393
                                ]]}
394
                              ]]]}
395
                            ]]}
396
                          ]]}
397
                        ]]}
398
                      ]]}
399
                    ], "rhs" : [{
400
                      "value" : ["EXPRESSION", {
401
                        "args" : [["EXPRESSION", {
402
                          "args" : [["EXPRESSION", {
403
                            "args" : [["EXPRESSION", {
404
                              "args" : [["CALL", ["SIMPLE_NAME", "wa0_data"]]]}
405
                            ]]}
406
                          ]]}
407
                        ]]}
408
                      ]}
409
                    ]}
410
                  ]]}
411
                ]}
412
              ]]}
413
            ]}
414
          ]]}
415
        ], ["CONDITIONAL_SIGNAL_ASSIGNMENT", {
416
          "postponed" : false, "lhs" : ["SIMPLE_NAME", "ra0_data"], "rhs" : [{
417
            "expr" : [{
418
              "value" : ["EXPRESSION", {
419
                "args" : [["EXPRESSION", {
420
                  "args" : [["EXPRESSION", {
421
                    "args" : [["EXPRESSION", {
422
                      "args" : [["CALL", ["INDEXED_NAME", {
423
                        "id" : ["SIMPLE_NAME", "ram"], "exprs" : [["EXPRESSION", {
424
                          "args" : [["EXPRESSION", {
425
                            "args" : [["EXPRESSION", {
426
                              "args" : [["EXPRESSION", {
427
                                "args" : [["CALL", ["INDEXED_NAME", {
428
                                  "id" : ["SIMPLE_NAME", "to_integer"], "exprs" : [["EXPRESSION", {
429
                                    "args" : [["EXPRESSION", {
430
                                      "args" : [["EXPRESSION", {
431
                                        "args" : [["EXPRESSION", {
432
                                          "args" : [["CALL", ["SIMPLE_NAME", "ra0_addr"]]]}
433
                                        ]]}
434
                                      ]]}
435
                                    ]]}
436
                                  ]]}
437
                                ]]]}
438
                              ]]}
439
                            ]]}
440
                          ]]}
441
                        ]]}
442
                      ]]]}
443
                    ]]}
444
                  ]]}
445
                ]]}
446
              ]}
447
            ]}
448
          ]}
449
        ], ["CONDITIONAL_SIGNAL_ASSIGNMENT", {
450
          "postponed" : false, "lhs" : ["SIMPLE_NAME", "ra1_data"], "rhs" : [{
451
            "expr" : [{
452
              "value" : ["EXPRESSION", {
453
                "args" : [["EXPRESSION", {
454
                  "args" : [["EXPRESSION", {
455
                    "args" : [["EXPRESSION", {
456
                      "args" : [["CALL", ["INDEXED_NAME", {
457
                        "id" : ["SIMPLE_NAME", "ram"], "exprs" : [["EXPRESSION", {
458
                          "args" : [["EXPRESSION", {
459
                            "args" : [["EXPRESSION", {
460
                              "args" : [["EXPRESSION", {
461
                                "args" : [["CALL", ["INDEXED_NAME", {
462
                                  "id" : ["SIMPLE_NAME", "to_integer"], "exprs" : [["EXPRESSION", {
463
                                    "args" : [["EXPRESSION", {
464
                                      "args" : [["EXPRESSION", {
465
                                        "args" : [["EXPRESSION", {
466
                                          "args" : [["CALL", ["SIMPLE_NAME", "ra1_addr"]]]}
467
                                        ]]}
468
                                      ]]}
469
                                    ]]}
470
                                  ]]}
471
                                ]]]}
472
                              ]]}
473
                            ]]}
474
                          ]]}
475
                        ]]}
476
                      ]]]}
477
                    ]]}
478
                  ]]}
479
                ]]}
480
              ]}
481
            ]}
482
          ]}
483
        ]]}
484
      ]}
485
    ]}
486
  }