Project

General

Profile

Statistics
| Branch: | Tag: | Revision:

lustrec-tests / vhdl_json / vhdl_files / 2-exportOK / ghdl / ghdl / testsuite / vests / vhdl-93 / ashenden / compliant / ch_05_ch_05_22.json @ 3fd18385

History | View | Annotate | Download (11.8 KB)

1
{
2
  "DESIGN_FILE" : {
3
    "design_units" : [{
4
      "contexts" : [], "library" : ["ENTITY_DECLARATION", {
5
        "name" : ["IDENTIFIER", "mux4"], "ports" : [{
6
          "names" : [["IDENTIFIER", "i0"], ["IDENTIFIER", "i1"], ["IDENTIFIER", "i2"], ["IDENTIFIER", "i3"], ["IDENTIFIER", "sel0"], ["IDENTIFIER", "sel1"]], "mode" : ["in"], "typ" : {
7
            "name" : ["SIMPLE_NAME", "bit"]}
8
          }
9
        , {
10
          "names" : [["IDENTIFIER", "z"]], "mode" : ["out"], "typ" : {
11
            "name" : ["SIMPLE_NAME", "bit"]}
12
          }
13
        ], "ENTITY_DECLARATIVE_PART" : [], "ENTITY_STATEMENT_PART" : []}
14
      ]}
15
    , {
16
      "contexts" : [], "library" : ["ARCHITECTURE_BODY", {
17
        "name" : ["IDENTIFIER", "functional"], "entity" : ["IDENTIFIER", "mux4"], "ARCHITECTURE_DECLARATIVE_PART" : [], "ARCHITECTURE_STATEMENT_PART" : [["PROCESS_STATEMENT", {
18
          "id" : ["IDENTIFIER", "out_select"], "PROCESS_DECLARATIVE_PART" : [{
19
            "definition" : ["SUBTYPE_DECLARATION", {
20
              "name" : ["IDENTIFIER", "bits_2"], "typ" : {
21
                "name" : ["SIMPLE_NAME", "bit_vector"], "const" : ["INDEX_CONSTRAINT", {
22
                  "ranges" : [["RANGE_WITH_DIRECTION", {
23
                    "direction" : "downto", "from" : ["EXPRESSION", {
24
                      "args" : [["EXPRESSION", {
25
                        "args" : [["CONSTANT_VALUE", {
26
                          "value" : ["CST_LITERAL", "1"]}
27
                        ]]}
28
                      ]]}
29
                    ], "_to" : ["EXPRESSION", {
30
                      "args" : [["EXPRESSION", {
31
                        "args" : [["CONSTANT_VALUE", {
32
                          "value" : ["CST_LITERAL", "0"]}
33
                        ]]}
34
                      ]]}
35
                    ]}
36
                  ]]}
37
                ]}
38
              }
39
            ]}
40
          ], "active_sigs" : [["SIMPLE_NAME", "sel0"], ["SIMPLE_NAME", "sel1"], ["SIMPLE_NAME", "i0"], ["SIMPLE_NAME", "i1"], ["SIMPLE_NAME", "i2"], ["SIMPLE_NAME", "i3"]], "PROCESS_STATEMENT_PART" : [["CASE_STATEMENT_TREE", {
41
            "guard" : ["EXPRESSION", {
42
              "args" : [["EXPRESSION", {
43
                "args" : [["EXPRESSION", {
44
                  "args" : [["EXPRESSION", {
45
                    "args" : [["QUALIFIED_EXPRESSION", {
46
                      "type_mark" : ["SIMPLE_NAME", "bits_2"], "aggregate" : [{
47
                        "expr" : ["EXPRESSION", {
48
                          "args" : [["EXPRESSION", {
49
                            "args" : [["EXPRESSION", {
50
                              "args" : [["EXPRESSION", {
51
                                "args" : [["CALL", ["SIMPLE_NAME", "sel1"]]]}
52
                              ]]}
53
                            ]]}
54
                          ]]}
55
                        ]}
56
                      , {
57
                        "expr" : ["EXPRESSION", {
58
                          "args" : [["EXPRESSION", {
59
                            "args" : [["EXPRESSION", {
60
                              "args" : [["EXPRESSION", {
61
                                "args" : [["CALL", ["SIMPLE_NAME", "sel0"]]]}
62
                              ]]}
63
                            ]]}
64
                          ]]}
65
                        ]}
66
                      ]}
67
                    ]]}
68
                  ]]}
69
                ]]}
70
              ]]}
71
            ], "branches" : [{
72
              "when_cond" : [["EXPRESSION", {
73
                "args" : [["EXPRESSION", {
74
                  "args" : [["CONSTANT_VALUE", {
75
                    "value" : ["CST_LITERAL", "\"00\""]}
76
                  ]]}
77
                ]]}
78
              ]], "when_stmt" : [["SIGNAL_ASSIGNMENT_STATEMENT", {
79
                "lhs" : ["SIMPLE_NAME", "z"], "rhs" : [{
80
                  "value" : ["EXPRESSION", {
81
                    "args" : [["EXPRESSION", {
82
                      "args" : [["EXPRESSION", {
83
                        "args" : [["EXPRESSION", {
84
                          "args" : [["CALL", ["SIMPLE_NAME", "i0"]]]}
85
                        ]]}
86
                      ]]}
87
                    ]]}
88
                  ]}
89
                ]}
90
              ]]}
91
            , {
92
              "when_cond" : [["EXPRESSION", {
93
                "args" : [["EXPRESSION", {
94
                  "args" : [["CONSTANT_VALUE", {
95
                    "value" : ["CST_LITERAL", "\"01\""]}
96
                  ]]}
97
                ]]}
98
              ]], "when_stmt" : [["SIGNAL_ASSIGNMENT_STATEMENT", {
99
                "lhs" : ["SIMPLE_NAME", "z"], "rhs" : [{
100
                  "value" : ["EXPRESSION", {
101
                    "args" : [["EXPRESSION", {
102
                      "args" : [["EXPRESSION", {
103
                        "args" : [["EXPRESSION", {
104
                          "args" : [["CALL", ["SIMPLE_NAME", "i1"]]]}
105
                        ]]}
106
                      ]]}
107
                    ]]}
108
                  ]}
109
                ]}
110
              ]]}
111
            , {
112
              "when_cond" : [["EXPRESSION", {
113
                "args" : [["EXPRESSION", {
114
                  "args" : [["CONSTANT_VALUE", {
115
                    "value" : ["CST_LITERAL", "\"10\""]}
116
                  ]]}
117
                ]]}
118
              ]], "when_stmt" : [["SIGNAL_ASSIGNMENT_STATEMENT", {
119
                "lhs" : ["SIMPLE_NAME", "z"], "rhs" : [{
120
                  "value" : ["EXPRESSION", {
121
                    "args" : [["EXPRESSION", {
122
                      "args" : [["EXPRESSION", {
123
                        "args" : [["EXPRESSION", {
124
                          "args" : [["CALL", ["SIMPLE_NAME", "i2"]]]}
125
                        ]]}
126
                      ]]}
127
                    ]]}
128
                  ]}
129
                ]}
130
              ]]}
131
            , {
132
              "when_cond" : [["EXPRESSION", {
133
                "args" : [["EXPRESSION", {
134
                  "args" : [["CONSTANT_VALUE", {
135
                    "value" : ["CST_LITERAL", "\"11\""]}
136
                  ]]}
137
                ]]}
138
              ]], "when_stmt" : [["SIGNAL_ASSIGNMENT_STATEMENT", {
139
                "lhs" : ["SIMPLE_NAME", "z"], "rhs" : [{
140
                  "value" : ["EXPRESSION", {
141
                    "args" : [["EXPRESSION", {
142
                      "args" : [["EXPRESSION", {
143
                        "args" : [["EXPRESSION", {
144
                          "args" : [["CALL", ["SIMPLE_NAME", "i3"]]]}
145
                        ]]}
146
                      ]]}
147
                    ]]}
148
                  ]}
149
                ]}
150
              ]]}
151
            ]}
152
          ]]}
153
        ]]}
154
      ]}
155
    , {
156
      "contexts" : [], "library" : ["ENTITY_DECLARATION", {
157
        "name" : ["IDENTIFIER", "ch_05_22"], "ENTITY_DECLARATIVE_PART" : [], "ENTITY_STATEMENT_PART" : []}
158
      ]}
159
    , {
160
      "contexts" : [], "library" : ["ARCHITECTURE_BODY", {
161
        "name" : ["IDENTIFIER", "test"], "entity" : ["IDENTIFIER", "ch_05_22"], "ARCHITECTURE_DECLARATIVE_PART" : [{
162
          "declaration" : ["SIGNAL_DECLARATION", {
163
            "names" : [["IDENTIFIER", "select_line"], ["IDENTIFIER", "line0"], ["IDENTIFIER", "line1"], ["IDENTIFIER", "result_line"]], "typ" : {
164
              "name" : ["SIMPLE_NAME", "bit"]}
165
            }
166
          ]}
167
        ], "ARCHITECTURE_STATEMENT_PART" : [["COMPONENT_INSTANTIATION_STATEMENT", {
168
          "name" : ["IDENTIFIER", "a_mux"], "inst_unit" : ["SELECTED_NAME", [["SIMPLE_NAME", "work"], ["IDENTIFIER", "mux4"]]], "inst_unit_type" : "entity", "port_map" : [{
169
            "formal_name" : ["SIMPLE_NAME", "sel0"], "actual_designator" : ["SIMPLE_NAME", "select_line"]}
170
          , {
171
            "formal_name" : ["SIMPLE_NAME", "i0"], "actual_designator" : ["SIMPLE_NAME", "line0"]}
172
          , {
173
            "formal_name" : ["SIMPLE_NAME", "i1"], "actual_designator" : ["SIMPLE_NAME", "line1"]}
174
          , {
175
            "formal_name" : ["SIMPLE_NAME", "z"], "actual_designator" : ["SIMPLE_NAME", "result_line"]}
176
          , {
177
            "formal_name" : ["SIMPLE_NAME", "sel1"], "actual_expr" : ["EXPRESSION", {
178
              "args" : [["EXPRESSION", {
179
                "args" : [["EXPRESSION", {
180
                  "args" : [["EXPRESSION", {
181
                    "args" : [["CONSTANT_VALUE", {
182
                      "value" : ["CST_LITERAL", "'0'"]}
183
                    ]]}
184
                  ]]}
185
                ]]}
186
              ]]}
187
            ]}
188
          , {
189
            "formal_name" : ["SIMPLE_NAME", "i2"], "actual_expr" : ["EXPRESSION", {
190
              "args" : [["EXPRESSION", {
191
                "args" : [["EXPRESSION", {
192
                  "args" : [["EXPRESSION", {
193
                    "args" : [["CONSTANT_VALUE", {
194
                      "value" : ["CST_LITERAL", "'1'"]}
195
                    ]]}
196
                  ]]}
197
                ]]}
198
              ]]}
199
            ]}
200
          , {
201
            "formal_name" : ["SIMPLE_NAME", "i3"], "actual_expr" : ["EXPRESSION", {
202
              "args" : [["EXPRESSION", {
203
                "args" : [["EXPRESSION", {
204
                  "args" : [["EXPRESSION", {
205
                    "args" : [["CONSTANT_VALUE", {
206
                      "value" : ["CST_LITERAL", "'1'"]}
207
                    ]]}
208
                  ]]}
209
                ]]}
210
              ]]}
211
            ]}
212
          ]}
213
        ], ["PROCESS_STATEMENT", {
214
          "id" : ["IDENTIFIER", "stimulus"], "PROCESS_STATEMENT_PART" : [["WAIT_STATEMENT"], ["SIGNAL_ASSIGNMENT_STATEMENT", {
215
            "lhs" : ["SIMPLE_NAME", "line0"], "rhs" : [{
216
              "value" : ["EXPRESSION", {
217
                "args" : [["EXPRESSION", {
218
                  "args" : [["EXPRESSION", {
219
                    "args" : [["EXPRESSION", {
220
                      "args" : [["CONSTANT_VALUE", {
221
                        "value" : ["CST_LITERAL", "'1'"]}
222
                      ]]}
223
                    ]]}
224
                  ]]}
225
                ]]}
226
              ]}
227
            ]}
228
          ], ["WAIT_STATEMENT"], ["SIGNAL_ASSIGNMENT_STATEMENT", {
229
            "lhs" : ["SIMPLE_NAME", "line1"], "rhs" : [{
230
              "value" : ["EXPRESSION", {
231
                "args" : [["EXPRESSION", {
232
                  "args" : [["EXPRESSION", {
233
                    "args" : [["EXPRESSION", {
234
                      "args" : [["CONSTANT_VALUE", {
235
                        "value" : ["CST_LITERAL", "'1'"]}
236
                      ]]}
237
                    ]]}
238
                  ]]}
239
                ]]}
240
              ]}
241
            ]}
242
          ], ["WAIT_STATEMENT"], ["SIGNAL_ASSIGNMENT_STATEMENT", {
243
            "lhs" : ["SIMPLE_NAME", "select_line"], "rhs" : [{
244
              "value" : ["EXPRESSION", {
245
                "args" : [["EXPRESSION", {
246
                  "args" : [["EXPRESSION", {
247
                    "args" : [["EXPRESSION", {
248
                      "args" : [["CONSTANT_VALUE", {
249
                        "value" : ["CST_LITERAL", "'1'"]}
250
                      ]]}
251
                    ]]}
252
                  ]]}
253
                ]]}
254
              ]}
255
            ]}
256
          ], ["WAIT_STATEMENT"], ["SIGNAL_ASSIGNMENT_STATEMENT", {
257
            "lhs" : ["SIMPLE_NAME", "line1"], "rhs" : [{
258
              "value" : ["EXPRESSION", {
259
                "args" : [["EXPRESSION", {
260
                  "args" : [["EXPRESSION", {
261
                    "args" : [["EXPRESSION", {
262
                      "args" : [["CONSTANT_VALUE", {
263
                        "value" : ["CST_LITERAL", "'0'"]}
264
                      ]]}
265
                    ]]}
266
                  ]]}
267
                ]]}
268
              ]}
269
            ]}
270
          ], ["WAIT_STATEMENT"], ["SIGNAL_ASSIGNMENT_STATEMENT", {
271
            "lhs" : ["SIMPLE_NAME", "line0"], "rhs" : [{
272
              "value" : ["EXPRESSION", {
273
                "args" : [["EXPRESSION", {
274
                  "args" : [["EXPRESSION", {
275
                    "args" : [["EXPRESSION", {
276
                      "args" : [["CONSTANT_VALUE", {
277
                        "value" : ["CST_LITERAL", "'0'"]}
278
                      ]]}
279
                    ]]}
280
                  ]]}
281
                ]]}
282
              ]}
283
            ]}
284
          ], ["WAIT_STATEMENT"], ["WAIT_STATEMENT"]]}
285
        ]]}
286
      ]}
287
    ]}
288
  }