Project

General

Profile

Statistics
| Branch: | Tag: | Revision:

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

History | View | Annotate | Download (8.72 KB)

1
{
2
  "DESIGN_FILE" : {
3
    "design_units" : [{
4
      "contexts" : [], "library" : ["ENTITY_DECLARATION", {
5
        "name" : ["IDENTIFIER", "ch_03_05"], "ENTITY_DECLARATIVE_PART" : [], "ENTITY_STATEMENT_PART" : []}
6
      ]}
7
    , {
8
      "contexts" : [], "library" : ["ARCHITECTURE_BODY", {
9
        "name" : ["IDENTIFIER", "test"], "entity" : ["IDENTIFIER", "ch_03_05"], "ARCHITECTURE_DECLARATIVE_PART" : [{
10
          "definition" : ["TYPE_DECLARATION", {
11
            "name" : ["IDENTIFIER", "phase_type"], "definition" : ["ENUMERATION_TYPE_DEFINITION", [["IDENTIFIER", "wash"], ["IDENTIFIER", "other_phase"]]]}
12
          ]}
13
        , {
14
          "declaration" : ["SIGNAL_DECLARATION", {
15
            "names" : [["IDENTIFIER", "phase"]], "typ" : {
16
              "name" : ["SIMPLE_NAME", "phase_type"]}
17
            , "init_val" : ["EXPRESSION", {
18
              "args" : [["EXPRESSION", {
19
                "args" : [["EXPRESSION", {
20
                  "args" : [["EXPRESSION", {
21
                    "args" : [["CALL", ["SIMPLE_NAME", "other_phase"]]]}
22
                  ]]}
23
                ]]}
24
              ]]}
25
            ]}
26
          ]}
27
        , {
28
          "definition" : ["TYPE_DECLARATION", {
29
            "name" : ["IDENTIFIER", "cycle_type"], "definition" : ["ENUMERATION_TYPE_DEFINITION", [["IDENTIFIER", "delicate_cycle"], ["IDENTIFIER", "other_cycle"]]]}
30
          ]}
31
        , {
32
          "declaration" : ["SIGNAL_DECLARATION", {
33
            "names" : [["IDENTIFIER", "cycle_select"]], "typ" : {
34
              "name" : ["SIMPLE_NAME", "cycle_type"]}
35
            , "init_val" : ["EXPRESSION", {
36
              "args" : [["EXPRESSION", {
37
                "args" : [["EXPRESSION", {
38
                  "args" : [["EXPRESSION", {
39
                    "args" : [["CALL", ["SIMPLE_NAME", "delicate_cycle"]]]}
40
                  ]]}
41
                ]]}
42
              ]]}
43
            ]}
44
          ]}
45
        , {
46
          "definition" : ["TYPE_DECLARATION", {
47
            "name" : ["IDENTIFIER", "speed_type"], "definition" : ["ENUMERATION_TYPE_DEFINITION", [["IDENTIFIER", "slow"], ["IDENTIFIER", "fast"]]]}
48
          ]}
49
        , {
50
          "declaration" : ["SIGNAL_DECLARATION", {
51
            "names" : [["IDENTIFIER", "agitator_speed"]], "typ" : {
52
              "name" : ["SIMPLE_NAME", "speed_type"]}
53
            , "init_val" : ["EXPRESSION", {
54
              "args" : [["EXPRESSION", {
55
                "args" : [["EXPRESSION", {
56
                  "args" : [["EXPRESSION", {
57
                    "args" : [["CALL", ["SIMPLE_NAME", "slow"]]]}
58
                  ]]}
59
                ]]}
60
              ]]}
61
            ]}
62
          ]}
63
        , {
64
          "declaration" : ["SIGNAL_DECLARATION", {
65
            "names" : [["IDENTIFIER", "agitator_on"]], "typ" : {
66
              "name" : ["SIMPLE_NAME", "boolean"]}
67
            , "init_val" : ["EXPRESSION", {
68
              "args" : [["EXPRESSION", {
69
                "args" : [["EXPRESSION", {
70
                  "args" : [["EXPRESSION", {
71
                    "args" : [["CALL", ["SIMPLE_NAME", "false"]]]}
72
                  ]]}
73
                ]]}
74
              ]]}
75
            ]}
76
          ]}
77
        ], "ARCHITECTURE_STATEMENT_PART" : [["PROCESS_STATEMENT", {
78
          "id" : ["IDENTIFIER", "process_3_1_e"], "active_sigs" : [["SIMPLE_NAME", "phase"], ["SIMPLE_NAME", "cycle_select"]], "PROCESS_STATEMENT_PART" : [["IF_STATEMENT", {
79
            "if_cases" : [{
80
              "if_cond" : ["EXPRESSION", {
81
                "id" : "=", "args" : [["EXPRESSION", {
82
                  "args" : [["EXPRESSION", {
83
                    "args" : [["EXPRESSION", {
84
                      "args" : [["CALL", ["SIMPLE_NAME", "phase"]]]}
85
                    ]]}
86
                  ]]}
87
                ], ["EXPRESSION", {
88
                  "args" : [["EXPRESSION", {
89
                    "args" : [["EXPRESSION", {
90
                      "args" : [["CALL", ["SIMPLE_NAME", "wash"]]]}
91
                    ]]}
92
                  ]]}
93
                ]]}
94
              ], "if_block" : [["IF_STATEMENT", {
95
                "if_cases" : [{
96
                  "if_cond" : ["EXPRESSION", {
97
                    "id" : "=", "args" : [["EXPRESSION", {
98
                      "args" : [["EXPRESSION", {
99
                        "args" : [["EXPRESSION", {
100
                          "args" : [["CALL", ["SIMPLE_NAME", "cycle_select"]]]}
101
                        ]]}
102
                      ]]}
103
                    ], ["EXPRESSION", {
104
                      "args" : [["EXPRESSION", {
105
                        "args" : [["EXPRESSION", {
106
                          "args" : [["CALL", ["SIMPLE_NAME", "delicate_cycle"]]]}
107
                        ]]}
108
                      ]]}
109
                    ]]}
110
                  ], "if_block" : [["SIGNAL_ASSIGNMENT_STATEMENT", {
111
                    "lhs" : ["SIMPLE_NAME", "agitator_speed"], "rhs" : [{
112
                      "value" : ["EXPRESSION", {
113
                        "args" : [["EXPRESSION", {
114
                          "args" : [["EXPRESSION", {
115
                            "args" : [["EXPRESSION", {
116
                              "args" : [["CALL", ["SIMPLE_NAME", "slow"]]]}
117
                            ]]}
118
                          ]]}
119
                        ]]}
120
                      ]}
121
                    ]}
122
                  ]]}
123
                ], "default" : [["SIGNAL_ASSIGNMENT_STATEMENT", {
124
                  "lhs" : ["SIMPLE_NAME", "agitator_speed"], "rhs" : [{
125
                    "value" : ["EXPRESSION", {
126
                      "args" : [["EXPRESSION", {
127
                        "args" : [["EXPRESSION", {
128
                          "args" : [["EXPRESSION", {
129
                            "args" : [["CALL", ["SIMPLE_NAME", "fast"]]]}
130
                          ]]}
131
                        ]]}
132
                      ]]}
133
                    ]}
134
                  ]}
135
                ]]}
136
              ], ["SIGNAL_ASSIGNMENT_STATEMENT", {
137
                "lhs" : ["SIMPLE_NAME", "agitator_on"], "rhs" : [{
138
                  "value" : ["EXPRESSION", {
139
                    "args" : [["EXPRESSION", {
140
                      "args" : [["EXPRESSION", {
141
                        "args" : [["EXPRESSION", {
142
                          "args" : [["CALL", ["SIMPLE_NAME", "true"]]]}
143
                        ]]}
144
                      ]]}
145
                    ]]}
146
                  ]}
147
                ]}
148
              ]]}
149
            ]}
150
          ]]}
151
        ], ["PROCESS_STATEMENT", {
152
          "id" : ["IDENTIFIER", "stimulus"], "PROCESS_STATEMENT_PART" : [["SIGNAL_ASSIGNMENT_STATEMENT", {
153
            "lhs" : ["SIMPLE_NAME", "cycle_select"], "rhs" : [{
154
              "value" : ["EXPRESSION", {
155
                "args" : [["EXPRESSION", {
156
                  "args" : [["EXPRESSION", {
157
                    "args" : [["EXPRESSION", {
158
                      "args" : [["CALL", ["SIMPLE_NAME", "other_cycle"]]]}
159
                    ]]}
160
                  ]]}
161
                ]]}
162
              ]}
163
            ]}
164
          ], ["WAIT_STATEMENT"], ["SIGNAL_ASSIGNMENT_STATEMENT", {
165
            "lhs" : ["SIMPLE_NAME", "phase"], "rhs" : [{
166
              "value" : ["EXPRESSION", {
167
                "args" : [["EXPRESSION", {
168
                  "args" : [["EXPRESSION", {
169
                    "args" : [["EXPRESSION", {
170
                      "args" : [["CALL", ["SIMPLE_NAME", "wash"]]]}
171
                    ]]}
172
                  ]]}
173
                ]]}
174
              ]}
175
            ]}
176
          ], ["WAIT_STATEMENT"], ["SIGNAL_ASSIGNMENT_STATEMENT", {
177
            "lhs" : ["SIMPLE_NAME", "cycle_select"], "rhs" : [{
178
              "value" : ["EXPRESSION", {
179
                "args" : [["EXPRESSION", {
180
                  "args" : [["EXPRESSION", {
181
                    "args" : [["EXPRESSION", {
182
                      "args" : [["CALL", ["SIMPLE_NAME", "delicate_cycle"]]]}
183
                    ]]}
184
                  ]]}
185
                ]]}
186
              ]}
187
            ]}
188
          ], ["WAIT_STATEMENT"], ["SIGNAL_ASSIGNMENT_STATEMENT", {
189
            "lhs" : ["SIMPLE_NAME", "cycle_select"], "rhs" : [{
190
              "value" : ["EXPRESSION", {
191
                "args" : [["EXPRESSION", {
192
                  "args" : [["EXPRESSION", {
193
                    "args" : [["EXPRESSION", {
194
                      "args" : [["CALL", ["SIMPLE_NAME", "other_cycle"]]]}
195
                    ]]}
196
                  ]]}
197
                ]]}
198
              ]}
199
            ]}
200
          ], ["WAIT_STATEMENT"], ["SIGNAL_ASSIGNMENT_STATEMENT", {
201
            "lhs" : ["SIMPLE_NAME", "phase"], "rhs" : [{
202
              "value" : ["EXPRESSION", {
203
                "args" : [["EXPRESSION", {
204
                  "args" : [["EXPRESSION", {
205
                    "args" : [["EXPRESSION", {
206
                      "args" : [["CALL", ["SIMPLE_NAME", "other_phase"]]]}
207
                    ]]}
208
                  ]]}
209
                ]]}
210
              ]}
211
            ]}
212
          ], ["WAIT_STATEMENT"], ["WAIT_STATEMENT"]]}
213
        ]]}
214
      ]}
215
    ]}
216
  }