Project

General

Profile

Statistics
| Branch: | Tag: | Revision:

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

History | View | Annotate | Download (10.2 KB)

1
{
2
  "DESIGN_FILE" : {
3
    "design_units" : [{
4
      "contexts" : [], "library" : ["ENTITY_DECLARATION", {
5
        "name" : ["IDENTIFIER", "fg_07_04"], "ENTITY_DECLARATIVE_PART" : [], "ENTITY_STATEMENT_PART" : []}
6
      ]}
7
    , {
8
      "contexts" : [], "library" : ["ARCHITECTURE_BODY", {
9
        "name" : ["IDENTIFIER", "test"], "entity" : ["IDENTIFIER", "fg_07_04"], "ARCHITECTURE_DECLARATIVE_PART" : [{
10
          "declaration" : ["SIGNAL_DECLARATION", {
11
            "names" : [["IDENTIFIER", "phase1"], ["IDENTIFIER", "phase2"], ["IDENTIFIER", "reg_file_write_en"], ["IDENTIFIER", "A_reg_out_en"], ["IDENTIFIER", "B_reg_out_en"], ["IDENTIFIER", "C_reg_load_en"]], "typ" : {
12
              "name" : ["SIMPLE_NAME", "bit"]}
13
            , "init_val" : ["EXPRESSION", {
14
              "args" : [["EXPRESSION", {
15
                "args" : [["EXPRESSION", {
16
                  "args" : [["EXPRESSION", {
17
                    "args" : [["CONSTANT_VALUE", {
18
                      "value" : ["CST_LITERAL", "'0'"]}
19
                    ]]}
20
                  ]]}
21
                ]]}
22
              ]]}
23
            ]}
24
          ]}
25
        ], "ARCHITECTURE_STATEMENT_PART" : [["PROCESS_STATEMENT", {
26
          "id" : ["IDENTIFIER", "control_sequencer"], "PROCESS_DECLARATIVE_PART" : [{
27
            "declaration" : ["SUBPROGRAM_BODY", {
28
              "spec" : {
29
                "name" : "control_write_back", "subprogram_type" : "procedure"}
30
              , "stmts" : [["WAIT_STATEMENT"], ["SIGNAL_ASSIGNMENT_STATEMENT", {
31
                "lhs" : ["SIMPLE_NAME", "reg_file_write_en"], "rhs" : [{
32
                  "value" : ["EXPRESSION", {
33
                    "args" : [["EXPRESSION", {
34
                      "args" : [["EXPRESSION", {
35
                        "args" : [["EXPRESSION", {
36
                          "args" : [["CONSTANT_VALUE", {
37
                            "value" : ["CST_LITERAL", "'1'"]}
38
                          ]]}
39
                        ]]}
40
                      ]]}
41
                    ]]}
42
                  ]}
43
                ]}
44
              ], ["WAIT_STATEMENT"], ["SIGNAL_ASSIGNMENT_STATEMENT", {
45
                "lhs" : ["SIMPLE_NAME", "reg_file_write_en"], "rhs" : [{
46
                  "value" : ["EXPRESSION", {
47
                    "args" : [["EXPRESSION", {
48
                      "args" : [["EXPRESSION", {
49
                        "args" : [["EXPRESSION", {
50
                          "args" : [["CONSTANT_VALUE", {
51
                            "value" : ["CST_LITERAL", "'0'"]}
52
                          ]]}
53
                        ]]}
54
                      ]]}
55
                    ]]}
56
                  ]}
57
                ]}
58
              ]]}
59
            ]}
60
          , {
61
            "declaration" : ["SUBPROGRAM_BODY", {
62
              "spec" : {
63
                "name" : "control_arith_op", "subprogram_type" : "procedure"}
64
              , "stmts" : [["WAIT_STATEMENT"], ["SIGNAL_ASSIGNMENT_STATEMENT", {
65
                "lhs" : ["SIMPLE_NAME", "A_reg_out_en"], "rhs" : [{
66
                  "value" : ["EXPRESSION", {
67
                    "args" : [["EXPRESSION", {
68
                      "args" : [["EXPRESSION", {
69
                        "args" : [["EXPRESSION", {
70
                          "args" : [["CONSTANT_VALUE", {
71
                            "value" : ["CST_LITERAL", "'1'"]}
72
                          ]]}
73
                        ]]}
74
                      ]]}
75
                    ]]}
76
                  ]}
77
                ]}
78
              ], ["SIGNAL_ASSIGNMENT_STATEMENT", {
79
                "lhs" : ["SIMPLE_NAME", "B_reg_out_en"], "rhs" : [{
80
                  "value" : ["EXPRESSION", {
81
                    "args" : [["EXPRESSION", {
82
                      "args" : [["EXPRESSION", {
83
                        "args" : [["EXPRESSION", {
84
                          "args" : [["CONSTANT_VALUE", {
85
                            "value" : ["CST_LITERAL", "'1'"]}
86
                          ]]}
87
                        ]]}
88
                      ]]}
89
                    ]]}
90
                  ]}
91
                ]}
92
              ], ["WAIT_STATEMENT"], ["SIGNAL_ASSIGNMENT_STATEMENT", {
93
                "lhs" : ["SIMPLE_NAME", "A_reg_out_en"], "rhs" : [{
94
                  "value" : ["EXPRESSION", {
95
                    "args" : [["EXPRESSION", {
96
                      "args" : [["EXPRESSION", {
97
                        "args" : [["EXPRESSION", {
98
                          "args" : [["CONSTANT_VALUE", {
99
                            "value" : ["CST_LITERAL", "'0'"]}
100
                          ]]}
101
                        ]]}
102
                      ]]}
103
                    ]]}
104
                  ]}
105
                ]}
106
              ], ["SIGNAL_ASSIGNMENT_STATEMENT", {
107
                "lhs" : ["SIMPLE_NAME", "B_reg_out_en"], "rhs" : [{
108
                  "value" : ["EXPRESSION", {
109
                    "args" : [["EXPRESSION", {
110
                      "args" : [["EXPRESSION", {
111
                        "args" : [["EXPRESSION", {
112
                          "args" : [["CONSTANT_VALUE", {
113
                            "value" : ["CST_LITERAL", "'0'"]}
114
                          ]]}
115
                        ]]}
116
                      ]]}
117
                    ]]}
118
                  ]}
119
                ]}
120
              ], ["WAIT_STATEMENT"], ["SIGNAL_ASSIGNMENT_STATEMENT", {
121
                "lhs" : ["SIMPLE_NAME", "C_reg_load_en"], "rhs" : [{
122
                  "value" : ["EXPRESSION", {
123
                    "args" : [["EXPRESSION", {
124
                      "args" : [["EXPRESSION", {
125
                        "args" : [["EXPRESSION", {
126
                          "args" : [["CONSTANT_VALUE", {
127
                            "value" : ["CST_LITERAL", "'1'"]}
128
                          ]]}
129
                        ]]}
130
                      ]]}
131
                    ]]}
132
                  ]}
133
                ]}
134
              ], ["WAIT_STATEMENT"], ["SIGNAL_ASSIGNMENT_STATEMENT", {
135
                "lhs" : ["SIMPLE_NAME", "C_reg_load_en"], "rhs" : [{
136
                  "value" : ["EXPRESSION", {
137
                    "args" : [["EXPRESSION", {
138
                      "args" : [["EXPRESSION", {
139
                        "args" : [["EXPRESSION", {
140
                          "args" : [["CONSTANT_VALUE", {
141
                            "value" : ["CST_LITERAL", "'0'"]}
142
                          ]]}
143
                        ]]}
144
                      ]]}
145
                    ]]}
146
                  ]}
147
                ]}
148
              ], ["PROCEDURE_CALL_STATEMENT", {
149
                "name" : ["IDENTIFIER", "control_write_back"]}
150
              ]]}
151
            ]}
152
          ], "PROCESS_STATEMENT_PART" : [["PROCEDURE_CALL_STATEMENT", {
153
            "name" : ["IDENTIFIER", "control_arith_op"]}
154
          ], ["WAIT_STATEMENT"]]}
155
        ], ["PROCESS_STATEMENT", {
156
          "id" : ["IDENTIFIER", "clock_gen"], "PROCESS_STATEMENT_PART" : [["SIGNAL_ASSIGNMENT_STATEMENT", {
157
            "lhs" : ["SIMPLE_NAME", "phase1"], "rhs" : [{
158
              "value" : ["EXPRESSION", {
159
                "args" : [["EXPRESSION", {
160
                  "args" : [["EXPRESSION", {
161
                    "args" : [["EXPRESSION", {
162
                      "args" : [["CONSTANT_VALUE", {
163
                        "value" : ["CST_LITERAL", "'1'"]}
164
                      ]]}
165
                    ]]}
166
                  ]]}
167
                ]]}
168
              ], "delay" : ["EXPRESSION", {
169
                "args" : [["EXPRESSION", {
170
                  "args" : [["EXPRESSION", {
171
                    "args" : [["EXPRESSION", {
172
                      "args" : [["CONSTANT_VALUE", {
173
                        "value" : ["CST_LITERAL", "10"], "unit_name" : ["SIMPLE_NAME", "ns"]}
174
                      ]]}
175
                    ]]}
176
                  ]]}
177
                ]]}
178
              ]}
179
            , {
180
              "value" : ["EXPRESSION", {
181
                "args" : [["EXPRESSION", {
182
                  "args" : [["EXPRESSION", {
183
                    "args" : [["EXPRESSION", {
184
                      "args" : [["CONSTANT_VALUE", {
185
                        "value" : ["CST_LITERAL", "'0'"]}
186
                      ]]}
187
                    ]]}
188
                  ]]}
189
                ]]}
190
              ], "delay" : ["EXPRESSION", {
191
                "args" : [["EXPRESSION", {
192
                  "args" : [["EXPRESSION", {
193
                    "args" : [["EXPRESSION", {
194
                      "args" : [["CONSTANT_VALUE", {
195
                        "value" : ["CST_LITERAL", "20"], "unit_name" : ["SIMPLE_NAME", "ns"]}
196
                      ]]}
197
                    ]]}
198
                  ]]}
199
                ]]}
200
              ]}
201
            ]}
202
          ], ["SIGNAL_ASSIGNMENT_STATEMENT", {
203
            "lhs" : ["SIMPLE_NAME", "phase2"], "rhs" : [{
204
              "value" : ["EXPRESSION", {
205
                "args" : [["EXPRESSION", {
206
                  "args" : [["EXPRESSION", {
207
                    "args" : [["EXPRESSION", {
208
                      "args" : [["CONSTANT_VALUE", {
209
                        "value" : ["CST_LITERAL", "'1'"]}
210
                      ]]}
211
                    ]]}
212
                  ]]}
213
                ]]}
214
              ], "delay" : ["EXPRESSION", {
215
                "args" : [["EXPRESSION", {
216
                  "args" : [["EXPRESSION", {
217
                    "args" : [["EXPRESSION", {
218
                      "args" : [["CONSTANT_VALUE", {
219
                        "value" : ["CST_LITERAL", "30"], "unit_name" : ["SIMPLE_NAME", "ns"]}
220
                      ]]}
221
                    ]]}
222
                  ]]}
223
                ]]}
224
              ]}
225
            , {
226
              "value" : ["EXPRESSION", {
227
                "args" : [["EXPRESSION", {
228
                  "args" : [["EXPRESSION", {
229
                    "args" : [["EXPRESSION", {
230
                      "args" : [["CONSTANT_VALUE", {
231
                        "value" : ["CST_LITERAL", "'0'"]}
232
                      ]]}
233
                    ]]}
234
                  ]]}
235
                ]]}
236
              ], "delay" : ["EXPRESSION", {
237
                "args" : [["EXPRESSION", {
238
                  "args" : [["EXPRESSION", {
239
                    "args" : [["EXPRESSION", {
240
                      "args" : [["CONSTANT_VALUE", {
241
                        "value" : ["CST_LITERAL", "40"], "unit_name" : ["SIMPLE_NAME", "ns"]}
242
                      ]]}
243
                    ]]}
244
                  ]]}
245
                ]]}
246
              ]}
247
            ]}
248
          ], ["WAIT_STATEMENT"]]}
249
        ]]}
250
      ]}
251
    ]}
252
  }