Project

General

Profile

Statistics
| Branch: | Tag: | Revision:

lustrec-tests / vhdl_json / vhdl_files / 2-exportOK / ghdl / ghdl / testsuite / gna / bug040 / p_jinfo_dc_dhuff_tbl_ml.json @ 2051e520

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