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 | 3fd18385 | Arnaud Dieumegard | { |
---|---|---|---|
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 | } |