Project

General

Profile

Download (14 KB) Statistics
| Branch: | Tag: | Revision:
1
{
2
  "DESIGN_FILE" : {
3
    "design_units" : [{
4
      "contexts" : [], "library" : ["PACKAGE_DECLARATION", {
5
        "name" : ["IDENTIFIER", "typedef"], "shared_defs" : [["SUBTYPE_DECLARATION", {
6
          "name" : ["IDENTIFIER", "byte"], "typ" : {
7
            "name" : ["SIMPLE_NAME", "bit_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", "7"]}
13
                    ]]}
14
                  ]]}
15
                ], "_to" : ["EXPRESSION", {
16
                  "args" : [["EXPRESSION", {
17
                    "args" : [["CONSTANT_VALUE", {
18
                      "value" : ["CST_LITERAL", "0"]}
19
                    ]]}
20
                  ]]}
21
                ]}
22
              ]]}
23
            ]}
24
          }
25
        ]], "shared_decls" : [], "shared_uses" : []}
26
      ]}
27
    , {
28
      "contexts" : [["USE_CLAUSE", [["SELECTED_NAME", [["SIMPLE_NAME", "work"], ["SIMPLE_NAME", "typedef"]]]]]], "library" : ["ENTITY_DECLARATION", {
29
        "name" : ["IDENTIFIER", "data_path"], "ports" : [{
30
          "names" : [["IDENTIFIER", "clk"], ["IDENTIFIER", "rst"], ["IDENTIFIER", "s_1"]], "mode" : ["in"], "typ" : {
31
            "name" : ["SIMPLE_NAME", "boolean"]}
32
          }
33
        , {
34
          "names" : [["IDENTIFIER", "s0"], ["IDENTIFIER", "s1"]], "mode" : ["in"], "typ" : {
35
            "name" : ["SIMPLE_NAME", "bit"]}
36
          }
37
        , {
38
          "names" : [["IDENTIFIER", "d0"], ["IDENTIFIER", "d1"], ["IDENTIFIER", "d2"], ["IDENTIFIER", "d3"]], "mode" : ["in"], "typ" : {
39
            "name" : ["SIMPLE_NAME", "byte"]}
40
          }
41
        , {
42
          "names" : [["IDENTIFIER", "q"]], "mode" : ["out"], "typ" : {
43
            "name" : ["SIMPLE_NAME", "byte"]}
44
          }
45
        ], "ENTITY_DECLARATIVE_PART" : [], "ENTITY_STATEMENT_PART" : []}
46
      ]}
47
    , {
48
      "contexts" : [], "library" : ["ARCHITECTURE_BODY", {
49
        "name" : ["IDENTIFIER", "behavior"], "entity" : ["IDENTIFIER", "data_path"], "ARCHITECTURE_DECLARATIVE_PART" : [{
50
          "declaration" : ["SIGNAL_DECLARATION", {
51
            "names" : [["IDENTIFIER", "reg"], ["IDENTIFIER", "shft"]], "typ" : {
52
              "name" : ["SIMPLE_NAME", "byte"]}
53
            }
54
          ]}
55
        , {
56
          "declaration" : ["SIGNAL_DECLARATION", {
57
            "names" : [["IDENTIFIER", "sel"]], "typ" : {
58
              "name" : ["SIMPLE_NAME", "bit_vector"], "const" : ["INDEX_CONSTRAINT", {
59
                "ranges" : [["RANGE_WITH_DIRECTION", {
60
                  "direction" : "downto", "from" : ["EXPRESSION", {
61
                    "args" : [["EXPRESSION", {
62
                      "args" : [["CONSTANT_VALUE", {
63
                        "value" : ["CST_LITERAL", "1"]}
64
                      ]]}
65
                    ]]}
66
                  ], "_to" : ["EXPRESSION", {
67
                    "args" : [["EXPRESSION", {
68
                      "args" : [["CONSTANT_VALUE", {
69
                        "value" : ["CST_LITERAL", "0"]}
70
                      ]]}
71
                    ]]}
72
                  ]}
73
                ]]}
74
              ]}
75
            }
76
          ]}
77
        ], "ARCHITECTURE_STATEMENT_PART" : [["PROCESS_STATEMENT", {
78
          "active_sigs" : [["SIMPLE_NAME", "clk"], ["SIMPLE_NAME", "rst"]], "PROCESS_STATEMENT_PART" : [["IF_STATEMENT", {
79
            "if_cases" : [{
80
              "if_cond" : ["EXPRESSION", {
81
                "args" : [["EXPRESSION", {
82
                  "args" : [["EXPRESSION", {
83
                    "args" : [["EXPRESSION", {
84
                      "args" : [["CALL", ["SIMPLE_NAME", "rst"]]]}
85
                    ]]}
86
                  ]]}
87
                ]]}
88
              ], "if_block" : [["SIGNAL_ASSIGNMENT_STATEMENT", {
89
                "lhs" : ["SIMPLE_NAME", "reg"], "rhs" : [{
90
                  "value" : ["EXPRESSION", {
91
                    "args" : [["EXPRESSION", {
92
                      "args" : [["EXPRESSION", {
93
                        "args" : [["EXPRESSION", {
94
                          "args" : [["CONSTANT_VALUE", {
95
                            "value" : ["CST_LITERAL", "x\"00\""]}
96
                          ]]}
97
                        ]]}
98
                      ]]}
99
                    ]]}
100
                  ]}
101
                ]}
102
              ], ["SIGNAL_ASSIGNMENT_STATEMENT", {
103
                "lhs" : ["SIMPLE_NAME", "shft"], "rhs" : [{
104
                  "value" : ["EXPRESSION", {
105
                    "args" : [["EXPRESSION", {
106
                      "args" : [["EXPRESSION", {
107
                        "args" : [["EXPRESSION", {
108
                          "args" : [["CONSTANT_VALUE", {
109
                            "value" : ["CST_LITERAL", "x\"00\""]}
110
                          ]]}
111
                        ]]}
112
                      ]]}
113
                    ]]}
114
                  ]}
115
                ]}
116
              ]]}
117
            , {
118
              "if_cond" : ["EXPRESSION", {
119
                "id" : "and", "args" : [["EXPRESSION", {
120
                  "args" : [["EXPRESSION", {
121
                    "args" : [["EXPRESSION", {
122
                      "args" : [["EXPRESSION", {
123
                        "args" : [["CALL", ["SIMPLE_NAME", "clk"]]]}
124
                      ]]}
125
                    ]]}
126
                  ]]}
127
                ], ["EXPRESSION", {
128
                  "args" : [["EXPRESSION", {
129
                    "args" : [["EXPRESSION", {
130
                      "args" : [["EXPRESSION", {
131
                        "args" : [["CALL", ["ATTRIBUTE_NAME", {
132
                          "id" : ["SIMPLE_NAME", "clk"], "designator" : ["SIMPLE_NAME", "event"]}
133
                        ]]]}
134
                      ]]}
135
                    ]]}
136
                  ]]}
137
                ]]}
138
              ], "if_block" : [["SIGNAL_ASSIGNMENT_STATEMENT", {
139
                "lhs" : ["SIMPLE_NAME", "sel"], "rhs" : [{
140
                  "value" : ["EXPRESSION", {
141
                    "args" : [["EXPRESSION", {
142
                      "args" : [["EXPRESSION", {
143
                        "args" : [["EXPRESSION", {
144
                          "id" : "&", "args" : [["EXPRESSION", {
145
                            "args" : [["CALL", ["SIMPLE_NAME", "s0"]]]}
146
                          ], ["EXPRESSION", {
147
                            "args" : [["CALL", ["SIMPLE_NAME", "s1"]]]}
148
                          ]]}
149
                        ]]}
150
                      ]]}
151
                    ]]}
152
                  ]}
153
                ]}
154
              ], ["CASE_STATEMENT_TREE", {
155
                "guard" : ["EXPRESSION", {
156
                  "args" : [["EXPRESSION", {
157
                    "args" : [["EXPRESSION", {
158
                      "args" : [["EXPRESSION", {
159
                        "args" : [["CALL", ["SIMPLE_NAME", "sel"]]]}
160
                      ]]}
161
                    ]]}
162
                  ]]}
163
                ], "branches" : [{
164
                  "when_cond" : [["EXPRESSION", {
165
                    "args" : [["EXPRESSION", {
166
                      "args" : [["CONSTANT_VALUE", {
167
                        "value" : ["CST_LITERAL", "b\"00\""]}
168
                      ]]}
169
                    ]]}
170
                  ]], "when_stmt" : [["SIGNAL_ASSIGNMENT_STATEMENT", {
171
                    "lhs" : ["SIMPLE_NAME", "reg"], "rhs" : [{
172
                      "value" : ["EXPRESSION", {
173
                        "args" : [["EXPRESSION", {
174
                          "args" : [["EXPRESSION", {
175
                            "args" : [["EXPRESSION", {
176
                              "args" : [["CALL", ["SIMPLE_NAME", "d0"]]]}
177
                            ]]}
178
                          ]]}
179
                        ]]}
180
                      ]}
181
                    ]}
182
                  ]]}
183
                , {
184
                  "when_cond" : [["EXPRESSION", {
185
                    "args" : [["EXPRESSION", {
186
                      "args" : [["CONSTANT_VALUE", {
187
                        "value" : ["CST_LITERAL", "b\"10\""]}
188
                      ]]}
189
                    ]]}
190
                  ]], "when_stmt" : [["SIGNAL_ASSIGNMENT_STATEMENT", {
191
                    "lhs" : ["SIMPLE_NAME", "reg"], "rhs" : [{
192
                      "value" : ["EXPRESSION", {
193
                        "args" : [["EXPRESSION", {
194
                          "args" : [["EXPRESSION", {
195
                            "args" : [["EXPRESSION", {
196
                              "args" : [["CALL", ["SIMPLE_NAME", "d1"]]]}
197
                            ]]}
198
                          ]]}
199
                        ]]}
200
                      ]}
201
                    ]}
202
                  ]]}
203
                , {
204
                  "when_cond" : [["EXPRESSION", {
205
                    "args" : [["EXPRESSION", {
206
                      "args" : [["CONSTANT_VALUE", {
207
                        "value" : ["CST_LITERAL", "b\"01\""]}
208
                      ]]}
209
                    ]]}
210
                  ]], "when_stmt" : [["SIGNAL_ASSIGNMENT_STATEMENT", {
211
                    "lhs" : ["SIMPLE_NAME", "reg"], "rhs" : [{
212
                      "value" : ["EXPRESSION", {
213
                        "args" : [["EXPRESSION", {
214
                          "args" : [["EXPRESSION", {
215
                            "args" : [["EXPRESSION", {
216
                              "args" : [["CALL", ["SIMPLE_NAME", "d2"]]]}
217
                            ]]}
218
                          ]]}
219
                        ]]}
220
                      ]}
221
                    ]}
222
                  ]]}
223
                , {
224
                  "when_cond" : [["EXPRESSION", {
225
                    "args" : [["EXPRESSION", {
226
                      "args" : [["CONSTANT_VALUE", {
227
                        "value" : ["CST_LITERAL", "b\"11\""]}
228
                      ]]}
229
                    ]]}
230
                  ]], "when_stmt" : [["SIGNAL_ASSIGNMENT_STATEMENT", {
231
                    "lhs" : ["SIMPLE_NAME", "reg"], "rhs" : [{
232
                      "value" : ["EXPRESSION", {
233
                        "args" : [["EXPRESSION", {
234
                          "args" : [["EXPRESSION", {
235
                            "args" : [["EXPRESSION", {
236
                              "args" : [["CALL", ["SIMPLE_NAME", "d3"]]]}
237
                            ]]}
238
                          ]]}
239
                        ]]}
240
                      ]}
241
                    ]}
242
                  ]]}
243
                ]}
244
              ], ["IF_STATEMENT", {
245
                "if_cases" : [{
246
                  "if_cond" : ["EXPRESSION", {
247
                    "args" : [["EXPRESSION", {
248
                      "args" : [["EXPRESSION", {
249
                        "args" : [["EXPRESSION", {
250
                          "args" : [["CALL", ["SIMPLE_NAME", "s_1"]]]}
251
                        ]]}
252
                      ]]}
253
                    ]]}
254
                  ], "if_block" : [["SIGNAL_ASSIGNMENT_STATEMENT", {
255
                    "lhs" : ["SIMPLE_NAME", "shft"], "rhs" : [{
256
                      "value" : ["EXPRESSION", {
257
                        "args" : [["EXPRESSION", {
258
                          "args" : [["EXPRESSION", {
259
                            "args" : [["EXPRESSION", {
260
                              "id" : "&", "args" : [["EXPRESSION", {
261
                                "args" : [["CALL", ["SLICE_NAME", {
262
                                  "id" : ["SIMPLE_NAME", "shft"], "range" : ["RANGE_WITH_DIRECTION", {
263
                                    "direction" : "downto", "from" : ["EXPRESSION", {
264
                                      "args" : [["EXPRESSION", {
265
                                        "args" : [["CONSTANT_VALUE", {
266
                                          "value" : ["CST_LITERAL", "6"]}
267
                                        ]]}
268
                                      ]]}
269
                                    ], "_to" : ["EXPRESSION", {
270
                                      "args" : [["EXPRESSION", {
271
                                        "args" : [["CONSTANT_VALUE", {
272
                                          "value" : ["CST_LITERAL", "0"]}
273
                                        ]]}
274
                                      ]]}
275
                                    ]}
276
                                  ]}
277
                                ]]]}
278
                              ], ["EXPRESSION", {
279
                                "args" : [["CALL", ["INDEXED_NAME", {
280
                                  "id" : ["SIMPLE_NAME", "shft"], "exprs" : [["EXPRESSION", {
281
                                    "args" : [["EXPRESSION", {
282
                                      "args" : [["EXPRESSION", {
283
                                        "args" : [["EXPRESSION", {
284
                                          "args" : [["CONSTANT_VALUE", {
285
                                            "value" : ["CST_LITERAL", "7"]}
286
                                          ]]}
287
                                        ]]}
288
                                      ]]}
289
                                    ]]}
290
                                  ]]}
291
                                ]]]}
292
                              ]]}
293
                            ]]}
294
                          ]]}
295
                        ]]}
296
                      ]}
297
                    ]}
298
                  ]]}
299
                ], "default" : [["SIGNAL_ASSIGNMENT_STATEMENT", {
300
                  "lhs" : ["SIMPLE_NAME", "shft"], "rhs" : [{
301
                    "value" : ["EXPRESSION", {
302
                      "args" : [["EXPRESSION", {
303
                        "args" : [["EXPRESSION", {
304
                          "args" : [["EXPRESSION", {
305
                            "args" : [["CALL", ["SIMPLE_NAME", "reg"]]]}
306
                          ]]}
307
                        ]]}
308
                      ]]}
309
                    ]}
310
                  ]}
311
                ]]}
312
              ]]}
313
            ]}
314
          ]]}
315
        ], ["CONDITIONAL_SIGNAL_ASSIGNMENT", {
316
          "postponed" : false, "lhs" : ["SIMPLE_NAME", "q"], "rhs" : [{
317
            "expr" : [{
318
              "value" : ["EXPRESSION", {
319
                "args" : [["EXPRESSION", {
320
                  "args" : [["EXPRESSION", {
321
                    "args" : [["EXPRESSION", {
322
                      "args" : [["CALL", ["SIMPLE_NAME", "shft"]]]}
323
                    ]]}
324
                  ]]}
325
                ]]}
326
              ]}
327
            ]}
328
          ]}
329
        ]]}
330
      ]}
331
    ]}
332
  }
(27-27/45)