Project

General

Profile

Download (14.9 KB) Statistics
| Branch: | Tag: | Revision:
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", "w_split4"], "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", "7"]}
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_data"]], "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", "7"]}
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_addr"]], "mode" : ["in"], "typ" : {
51
            "name" : ["SIMPLE_NAME", "std_logic"]}
52
          }
53
        , {
54
          "names" : [["IDENTIFIER", "wa0_en"]], "mode" : ["in"], "typ" : {
55
            "name" : ["SIMPLE_NAME", "std_logic"]}
56
          }
57
        , {
58
          "names" : [["IDENTIFIER", "ra0_addr"]], "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", "w_split4"], "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", "7"]}
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
                        "expr" : ["EXPRESSION", {
116
                          "args" : [["EXPRESSION", {
117
                            "args" : [["EXPRESSION", {
118
                              "args" : [["EXPRESSION", {
119
                                "args" : [["CONSTANT_VALUE", {
120
                                  "value" : ["CST_LITERAL", "\"00000111\""]}
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", "\"00000111\""]}
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
              "expr" : ["EXPRESSION", {
197
                "args" : [["EXPRESSION", {
198
                  "args" : [["EXPRESSION", {
199
                    "args" : [["EXPRESSION", {
200
                      "args" : [["CALL", ["FUNCTION_CALL", {
201
                        "id" : ["SIMPLE_NAME", "to_integer"], "assoc_list" : [{
202
                          "actual_expr" : ["EXPRESSION", {
203
                            "args" : [["EXPRESSION", {
204
                              "args" : [["EXPRESSION", {
205
                                "args" : [["EXPRESSION", {
206
                                  "args" : [["CALL", ["FUNCTION_CALL", {
207
                                    "id" : ["SIMPLE_NAME", "unsigned"], "assoc_list" : [{
208
                                      "actual_designator" : ["SIMPLE_NAME", "V"]}
209
                                    ]}
210
                                  ]]]}
211
                                ]]}
212
                              ]]}
213
                            ]]}
214
                          ]}
215
                        ]}
216
                      ]]]}
217
                    ]]}
218
                  ]]}
219
                ]]}
220
              ]}
221
            ]]}
222
          ]}
223
        , {
224
          "declaration" : ["SUBPROGRAM_BODY", {
225
            "spec" : {
226
              "name" : "to_integer", "subprogram_type" : "function", "parameters" : [{
227
                "names" : [["IDENTIFIER", "V"]], "typ" : {
228
                  "name" : ["SIMPLE_NAME", "std_logic_vector"]}
229
                }
230
              ], "typeMark" : ["SIMPLE_NAME", "integer"], "isPure" : false}
231
            , "stmts" : [["RETURN_STATEMENT", {
232
              "expr" : ["EXPRESSION", {
233
                "args" : [["EXPRESSION", {
234
                  "args" : [["EXPRESSION", {
235
                    "args" : [["EXPRESSION", {
236
                      "args" : [["CALL", ["FUNCTION_CALL", {
237
                        "id" : ["SIMPLE_NAME", "to_integer"], "assoc_list" : [{
238
                          "actual_expr" : ["EXPRESSION", {
239
                            "args" : [["EXPRESSION", {
240
                              "args" : [["EXPRESSION", {
241
                                "args" : [["EXPRESSION", {
242
                                  "args" : [["CALL", ["FUNCTION_CALL", {
243
                                    "id" : ["SIMPLE_NAME", "unsigned"], "assoc_list" : [{
244
                                      "actual_designator" : ["SIMPLE_NAME", "V"]}
245
                                    ]}
246
                                  ]]]}
247
                                ]]}
248
                              ]]}
249
                            ]]}
250
                          ]}
251
                        ]}
252
                      ]]]}
253
                    ]]}
254
                  ]]}
255
                ]]}
256
              ]}
257
            ]]}
258
          ]}
259
        ], "ARCHITECTURE_STATEMENT_PART" : [["PROCESS_STATEMENT", {
260
          "active_sigs" : [["SIMPLE_NAME", "clk"]], "PROCESS_STATEMENT_PART" : [["IF_STATEMENT", {
261
            "if_cases" : [{
262
              "if_cond" : ["EXPRESSION", {
263
                "args" : [["EXPRESSION", {
264
                  "args" : [["EXPRESSION", {
265
                    "args" : [["EXPRESSION", {
266
                      "args" : [["CALL", ["FUNCTION_CALL", {
267
                        "id" : ["SIMPLE_NAME", "rising_edge"], "assoc_list" : [{
268
                          "actual_designator" : ["SIMPLE_NAME", "clk"]}
269
                        ]}
270
                      ]]]}
271
                    ]]}
272
                  ]]}
273
                ]]}
274
              ], "if_block" : [["IF_STATEMENT", {
275
                "if_cases" : [{
276
                  "if_cond" : ["EXPRESSION", {
277
                    "id" : "=", "args" : [["EXPRESSION", {
278
                      "args" : [["EXPRESSION", {
279
                        "args" : [["EXPRESSION", {
280
                          "args" : [["CALL", ["SIMPLE_NAME", "wa0_en"]]]}
281
                        ]]}
282
                      ]]}
283
                    ], ["EXPRESSION", {
284
                      "args" : [["EXPRESSION", {
285
                        "args" : [["EXPRESSION", {
286
                          "args" : [["CONSTANT_VALUE", {
287
                            "value" : ["CST_LITERAL", "'1'"]}
288
                          ]]}
289
                        ]]}
290
                      ]]}
291
                    ]]}
292
                  ], "if_block" : [["SIGNAL_ASSIGNMENT_STATEMENT", {
293
                    "lhs" : ["INDEXED_NAME", {
294
                      "id" : ["SIMPLE_NAME", "ram"], "exprs" : [["EXPRESSION", {
295
                        "args" : [["EXPRESSION", {
296
                          "args" : [["EXPRESSION", {
297
                            "args" : [["EXPRESSION", {
298
                              "args" : [["CALL", ["FUNCTION_CALL", {
299
                                "id" : ["SIMPLE_NAME", "to_integer"], "assoc_list" : [{
300
                                  "actual_designator" : ["SIMPLE_NAME", "wa0_addr"]}
301
                                ]}
302
                              ]]]}
303
                            ]]}
304
                          ]]}
305
                        ]]}
306
                      ]]}
307
                    ], "rhs" : [{
308
                      "value" : ["EXPRESSION", {
309
                        "args" : [["EXPRESSION", {
310
                          "args" : [["EXPRESSION", {
311
                            "args" : [["EXPRESSION", {
312
                              "args" : [["CALL", ["SIMPLE_NAME", "wa0_data"]]]}
313
                            ]]}
314
                          ]]}
315
                        ]]}
316
                      ]}
317
                    ]}
318
                  ]]}
319
                ]}
320
              ]]}
321
            ]}
322
          ]]}
323
        ], ["CONDITIONAL_SIGNAL_ASSIGNMENT", {
324
          "postponed" : false, "lhs" : ["SIMPLE_NAME", "ra0_data"], "rhs" : [{
325
            "expr" : [{
326
              "value" : ["EXPRESSION", {
327
                "args" : [["EXPRESSION", {
328
                  "args" : [["EXPRESSION", {
329
                    "args" : [["EXPRESSION", {
330
                      "args" : [["CALL", ["FUNCTION_CALL", {
331
                        "id" : ["SIMPLE_NAME", "ram"], "assoc_list" : [{
332
                          "actual_expr" : ["EXPRESSION", {
333
                            "args" : [["EXPRESSION", {
334
                              "args" : [["EXPRESSION", {
335
                                "args" : [["EXPRESSION", {
336
                                  "args" : [["CALL", ["FUNCTION_CALL", {
337
                                    "id" : ["SIMPLE_NAME", "to_integer"], "assoc_list" : [{
338
                                      "actual_designator" : ["SIMPLE_NAME", "ra0_addr"]}
339
                                    ]}
340
                                  ]]]}
341
                                ]]}
342
                              ]]}
343
                            ]]}
344
                          ]}
345
                        ]}
346
                      ]]]}
347
                    ]]}
348
                  ]]}
349
                ]]}
350
              ]}
351
            ]}
352
          ]}
353
        ]]}
354
      ]}
355
    ]}
356
  }
(167-167/174)