Project

General

Profile

Statistics
| Branch: | Tag: | Revision:

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

History | View | Annotate | Download (13.6 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", "wh_code_table"], "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", "ra0_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", "1"]}
37
                    ]]}
38
                  ]]}
39
                ], "_to" : ["EXPRESSION", {
40
                  "args" : [["EXPRESSION", {
41
                    "args" : [["CONSTANT_VALUE", {
42
                      "value" : ["CST_LITERAL", "0"]}
43
                    ]]}
44
                  ]]}
45
                ]}
46
              ]]}
47
            ]}
48
          }
49
        ], "ENTITY_DECLARATIVE_PART" : [], "ENTITY_STATEMENT_PART" : []}
50
      ]}
51
    , {
52
      "contexts" : [], "library" : ["ARCHITECTURE_BODY", {
53
        "name" : ["IDENTIFIER", "augh"], "entity" : ["IDENTIFIER", "wh_code_table"], "ARCHITECTURE_DECLARATIVE_PART" : [{
54
          "definition" : ["TYPE_DECLARATION", {
55
            "name" : ["IDENTIFIER", "ram_type"], "definition" : ["ARRAY_TYPE_DEFINITION", {
56
              "const" : ["INDEX_CONSTRAINT", {
57
                "ranges" : [["RANGE_WITH_DIRECTION", {
58
                  "direction" : "to", "from" : ["EXPRESSION", {
59
                    "args" : [["EXPRESSION", {
60
                      "args" : [["CONSTANT_VALUE", {
61
                        "value" : ["CST_LITERAL", "0"]}
62
                      ]]}
63
                    ]]}
64
                  ], "_to" : ["EXPRESSION", {
65
                    "args" : [["EXPRESSION", {
66
                      "args" : [["CONSTANT_VALUE", {
67
                        "value" : ["CST_LITERAL", "3"]}
68
                      ]]}
69
                    ]]}
70
                  ]}
71
                ]]}
72
              ], "definition" : {
73
                "name" : ["SIMPLE_NAME", "std_logic_vector"], "const" : ["INDEX_CONSTRAINT", {
74
                  "ranges" : [["RANGE_WITH_DIRECTION", {
75
                    "direction" : "downto", "from" : ["EXPRESSION", {
76
                      "args" : [["EXPRESSION", {
77
                        "args" : [["CONSTANT_VALUE", {
78
                          "value" : ["CST_LITERAL", "31"]}
79
                        ]]}
80
                      ]]}
81
                    ], "_to" : ["EXPRESSION", {
82
                      "args" : [["EXPRESSION", {
83
                        "args" : [["CONSTANT_VALUE", {
84
                          "value" : ["CST_LITERAL", "0"]}
85
                        ]]}
86
                      ]]}
87
                    ]}
88
                  ]]}
89
                ]}
90
              }
91
            ]}
92
          ]}
93
        , {
94
          "declaration" : ["SIGNAL_DECLARATION", {
95
            "names" : [["IDENTIFIER", "ram"]], "typ" : {
96
              "name" : ["SIMPLE_NAME", "ram_type"]}
97
            , "init_val" : ["EXPRESSION", {
98
              "args" : [["EXPRESSION", {
99
                "args" : [["EXPRESSION", {
100
                  "args" : [["EXPRESSION", {
101
                    "args" : [["AGGREGATE", {
102
                      "elems" : [{
103
                        "expr" : ["EXPRESSION", {
104
                          "args" : [["EXPRESSION", {
105
                            "args" : [["EXPRESSION", {
106
                              "args" : [["EXPRESSION", {
107
                                "args" : [["CONSTANT_VALUE", {
108
                                  "value" : ["CST_LITERAL", "\"00000000000000000000001100011110\""]}
109
                                ]]}
110
                              ]]}
111
                            ]]}
112
                          ]]}
113
                        ]}
114
                      , {
115
                        "expr" : ["EXPRESSION", {
116
                          "args" : [["EXPRESSION", {
117
                            "args" : [["EXPRESSION", {
118
                              "args" : [["EXPRESSION", {
119
                                "args" : [["CONSTANT_VALUE", {
120
                                  "value" : ["CST_LITERAL", "\"11111111111111111111111100101010\""]}
121
                                ]]}
122
                              ]]}
123
                            ]]}
124
                          ]]}
125
                        ]}
126
                      , {
127
                        "expr" : ["EXPRESSION", {
128
                          "args" : [["EXPRESSION", {
129
                            "args" : [["EXPRESSION", {
130
                              "args" : [["EXPRESSION", {
131
                                "args" : [["CONSTANT_VALUE", {
132
                                  "value" : ["CST_LITERAL", "\"00000000000000000000001100011110\""]}
133
                                ]]}
134
                              ]]}
135
                            ]]}
136
                          ]]}
137
                        ]}
138
                      , {
139
                        "expr" : ["EXPRESSION", {
140
                          "args" : [["EXPRESSION", {
141
                            "args" : [["EXPRESSION", {
142
                              "args" : [["EXPRESSION", {
143
                                "args" : [["CONSTANT_VALUE", {
144
                                  "value" : ["CST_LITERAL", "\"11111111111111111111111100101010\""]}
145
                                ]]}
146
                              ]]}
147
                            ]]}
148
                          ]]}
149
                        ]}
150
                      ]}
151
                    ]]}
152
                  ]]}
153
                ]]}
154
              ]]}
155
            ]}
156
          ]}
157
        , {
158
          "declaration" : ["SUBPROGRAM_BODY", {
159
            "spec" : {
160
              "name" : "to_integer", "subprogram_type" : "function", "parameters" : [{
161
                "names" : [["IDENTIFIER", "B"]], "typ" : {
162
                  "name" : ["SIMPLE_NAME", "std_logic"]}
163
                }
164
              ], "typeMark" : ["SIMPLE_NAME", "integer"], "isPure" : false}
165
            , "decl_part" : [["VARIABLE_DECLARATION", {
166
              "names" : [["IDENTIFIER", "V"]], "typ" : {
167
                "name" : ["SIMPLE_NAME", "std_logic_vector"], "const" : ["INDEX_CONSTRAINT", {
168
                  "ranges" : [["RANGE_WITH_DIRECTION", {
169
                    "direction" : "to", "from" : ["EXPRESSION", {
170
                      "args" : [["EXPRESSION", {
171
                        "args" : [["CONSTANT_VALUE", {
172
                          "value" : ["CST_LITERAL", "0"]}
173
                        ]]}
174
                      ]]}
175
                    ], "_to" : ["EXPRESSION", {
176
                      "args" : [["EXPRESSION", {
177
                        "args" : [["CONSTANT_VALUE", {
178
                          "value" : ["CST_LITERAL", "0"]}
179
                        ]]}
180
                      ]]}
181
                    ]}
182
                  ]]}
183
                ]}
184
              }
185
            ]], "stmts" : [["VARIABLE_ASSIGNMENT_STATEMENT", {
186
              "lhs" : ["INDEXED_NAME", {
187
                "id" : ["SIMPLE_NAME", "V"], "exprs" : [["EXPRESSION", {
188
                  "args" : [["EXPRESSION", {
189
                    "args" : [["EXPRESSION", {
190
                      "args" : [["EXPRESSION", {
191
                        "args" : [["CONSTANT_VALUE", {
192
                          "value" : ["CST_LITERAL", "0"]}
193
                        ]]}
194
                      ]]}
195
                    ]]}
196
                  ]]}
197
                ]]}
198
              ], "rhs" : ["EXPRESSION", {
199
                "args" : [["EXPRESSION", {
200
                  "args" : [["EXPRESSION", {
201
                    "args" : [["EXPRESSION", {
202
                      "args" : [["CALL", ["SIMPLE_NAME", "B"]]]}
203
                    ]]}
204
                  ]]}
205
                ]]}
206
              ]}
207
            ], ["RETURN_STATEMENT", {
208
              "expr" : ["EXPRESSION", {
209
                "args" : [["EXPRESSION", {
210
                  "args" : [["EXPRESSION", {
211
                    "args" : [["EXPRESSION", {
212
                      "args" : [["CALL", ["INDEXED_NAME", {
213
                        "id" : ["SIMPLE_NAME", "to_integer"], "exprs" : [["EXPRESSION", {
214
                          "args" : [["EXPRESSION", {
215
                            "args" : [["EXPRESSION", {
216
                              "args" : [["EXPRESSION", {
217
                                "args" : [["CALL", ["INDEXED_NAME", {
218
                                  "id" : ["SIMPLE_NAME", "unsigned"], "exprs" : [["EXPRESSION", {
219
                                    "args" : [["EXPRESSION", {
220
                                      "args" : [["EXPRESSION", {
221
                                        "args" : [["EXPRESSION", {
222
                                          "args" : [["CALL", ["SIMPLE_NAME", "V"]]]}
223
                                        ]]}
224
                                      ]]}
225
                                    ]]}
226
                                  ]]}
227
                                ]]]}
228
                              ]]}
229
                            ]]}
230
                          ]]}
231
                        ]]}
232
                      ]]]}
233
                    ]]}
234
                  ]]}
235
                ]]}
236
              ]}
237
            ]]}
238
          ]}
239
        , {
240
          "declaration" : ["SUBPROGRAM_BODY", {
241
            "spec" : {
242
              "name" : "to_integer", "subprogram_type" : "function", "parameters" : [{
243
                "names" : [["IDENTIFIER", "V"]], "typ" : {
244
                  "name" : ["SIMPLE_NAME", "std_logic_vector"]}
245
                }
246
              ], "typeMark" : ["SIMPLE_NAME", "integer"], "isPure" : false}
247
            , "stmts" : [["RETURN_STATEMENT", {
248
              "expr" : ["EXPRESSION", {
249
                "args" : [["EXPRESSION", {
250
                  "args" : [["EXPRESSION", {
251
                    "args" : [["EXPRESSION", {
252
                      "args" : [["CALL", ["INDEXED_NAME", {
253
                        "id" : ["SIMPLE_NAME", "to_integer"], "exprs" : [["EXPRESSION", {
254
                          "args" : [["EXPRESSION", {
255
                            "args" : [["EXPRESSION", {
256
                              "args" : [["EXPRESSION", {
257
                                "args" : [["CALL", ["INDEXED_NAME", {
258
                                  "id" : ["SIMPLE_NAME", "unsigned"], "exprs" : [["EXPRESSION", {
259
                                    "args" : [["EXPRESSION", {
260
                                      "args" : [["EXPRESSION", {
261
                                        "args" : [["EXPRESSION", {
262
                                          "args" : [["CALL", ["SIMPLE_NAME", "V"]]]}
263
                                        ]]}
264
                                      ]]}
265
                                    ]]}
266
                                  ]]}
267
                                ]]]}
268
                              ]]}
269
                            ]]}
270
                          ]]}
271
                        ]]}
272
                      ]]]}
273
                    ]]}
274
                  ]]}
275
                ]]}
276
              ]}
277
            ]]}
278
          ]}
279
        ], "ARCHITECTURE_STATEMENT_PART" : [["CONDITIONAL_SIGNAL_ASSIGNMENT", {
280
          "postponed" : false, "lhs" : ["SIMPLE_NAME", "ra0_data"], "rhs" : [{
281
            "expr" : [{
282
              "value" : ["EXPRESSION", {
283
                "args" : [["EXPRESSION", {
284
                  "args" : [["EXPRESSION", {
285
                    "args" : [["EXPRESSION", {
286
                      "args" : [["CALL", ["INDEXED_NAME", {
287
                        "id" : ["SIMPLE_NAME", "ram"], "exprs" : [["EXPRESSION", {
288
                          "args" : [["EXPRESSION", {
289
                            "args" : [["EXPRESSION", {
290
                              "args" : [["EXPRESSION", {
291
                                "args" : [["CALL", ["INDEXED_NAME", {
292
                                  "id" : ["SIMPLE_NAME", "to_integer"], "exprs" : [["EXPRESSION", {
293
                                    "args" : [["EXPRESSION", {
294
                                      "args" : [["EXPRESSION", {
295
                                        "args" : [["EXPRESSION", {
296
                                          "args" : [["CALL", ["SIMPLE_NAME", "ra0_addr"]]]}
297
                                        ]]}
298
                                      ]]}
299
                                    ]]}
300
                                  ]]}
301
                                ]]]}
302
                              ]]}
303
                            ]]}
304
                          ]]}
305
                        ]]}
306
                      ]]]}
307
                    ]]}
308
                  ]]}
309
                ]]}
310
              ]}
311
            ]}
312
          ]}
313
        ]]}
314
      ]}
315
    ]}
316
  }