Project

General

Profile

Statistics
| Branch: | Tag: | Revision:

lustrec-tests / vhdl_json / vhdl_files / 2-exportOK / cnes_guidelines / rule / data / best-chronometer-ever / src / user_handler.json @ 3fd18385

History | View | Annotate | Download (15.2 KB)

1
{
2
  "DESIGN_FILE" : {
3
    "design_units" : [{
4
      "contexts" : [["LIBRARY_CLAUSE", [["IDENTIFIER", "IEEE"]]], ["USE_CLAUSE", [["SELECTED_NAME", [["SIMPLE_NAME", "IEEE"], ["SIMPLE_NAME", "std_logic_1164"]]]]]], "library" : ["ENTITY_DECLARATION", {
5
        "name" : ["IDENTIFIER", "user_handler"], "ports" : [{
6
          "names" : [["IDENTIFIER", "i_clock"]], "mode" : ["in"], "typ" : {
7
            "name" : ["SIMPLE_NAME", "std_logic"]}
8
          }
9
        , {
10
          "names" : [["IDENTIFIER", "i_reset"]], "mode" : ["in"], "typ" : {
11
            "name" : ["SIMPLE_NAME", "std_logic"]}
12
          }
13
        , {
14
          "names" : [["IDENTIFIER", "i_synced_start_btn"]], "mode" : ["in"], "typ" : {
15
            "name" : ["SIMPLE_NAME", "std_logic"]}
16
          }
17
        , {
18
          "names" : [["IDENTIFIER", "i_synced_raz_btn"]], "mode" : ["in"], "typ" : {
19
            "name" : ["SIMPLE_NAME", "std_logic"]}
20
          }
21
        , {
22
          "names" : [["IDENTIFIER", "i_limit_reached"]], "mode" : ["in"], "typ" : {
23
            "name" : ["SIMPLE_NAME", "std_logic"]}
24
          }
25
        , {
26
          "names" : [["IDENTIFIER", "o_enable"]], "mode" : ["out"], "typ" : {
27
            "name" : ["SIMPLE_NAME", "std_logic"]}
28
          }
29
        , {
30
          "names" : [["IDENTIFIER", "o_raz"]], "mode" : ["out"], "typ" : {
31
            "name" : ["SIMPLE_NAME", "std_logic"]}
32
          }
33
        ], "ENTITY_DECLARATIVE_PART" : [], "ENTITY_STATEMENT_PART" : []}
34
      ]}
35
    , {
36
      "contexts" : [], "library" : ["ARCHITECTURE_BODY", {
37
        "name" : ["IDENTIFIER", "Behavioral"], "entity" : ["IDENTIFIER", "user_handler"], "ARCHITECTURE_DECLARATIVE_PART" : [{
38
          "declaration" : ["SIGNAL_DECLARATION", {
39
            "names" : [["IDENTIFIER", "synced_start_btn_r1"]], "typ" : {
40
              "name" : ["SIMPLE_NAME", "std_logic"]}
41
            }
42
          ]}
43
        , {
44
          "declaration" : ["SIGNAL_DECLARATION", {
45
            "names" : [["IDENTIFIER", "time_is_passing"]], "typ" : {
46
              "name" : ["SIMPLE_NAME", "std_logic"]}
47
            }
48
          ]}
49
        ], "ARCHITECTURE_STATEMENT_PART" : [["PROCESS_STATEMENT", {
50
          "id" : ["IDENTIFIER", "P_ENABLE_TIME"], "active_sigs" : [["SIMPLE_NAME", "i_clock"], ["SIMPLE_NAME", "i_reset"]], "PROCESS_STATEMENT_PART" : [["IF_STATEMENT", {
51
            "if_cases" : [{
52
              "if_cond" : ["EXPRESSION", {
53
                "args" : [["EXPRESSION", {
54
                  "args" : [["EXPRESSION", {
55
                    "args" : [["EXPRESSION", {
56
                      "args" : [["EXPRESSION", {
57
                        "id" : "=", "args" : [["EXPRESSION", {
58
                          "args" : [["EXPRESSION", {
59
                            "args" : [["EXPRESSION", {
60
                              "args" : [["CALL", ["SIMPLE_NAME", "i_reset"]]]}
61
                            ]]}
62
                          ]]}
63
                        ], ["EXPRESSION", {
64
                          "args" : [["EXPRESSION", {
65
                            "args" : [["EXPRESSION", {
66
                              "args" : [["CONSTANT_VALUE", {
67
                                "value" : ["CST_LITERAL", "'1'"]}
68
                              ]]}
69
                            ]]}
70
                          ]]}
71
                        ]]}
72
                      ]]}
73
                    ]]}
74
                  ]]}
75
                ]]}
76
              ], "if_block" : [["SIGNAL_ASSIGNMENT_STATEMENT", {
77
                "lhs" : ["SIMPLE_NAME", "time_is_passing"], "rhs" : [{
78
                  "value" : ["EXPRESSION", {
79
                    "args" : [["EXPRESSION", {
80
                      "args" : [["EXPRESSION", {
81
                        "args" : [["EXPRESSION", {
82
                          "args" : [["CONSTANT_VALUE", {
83
                            "value" : ["CST_LITERAL", "'0'"]}
84
                          ]]}
85
                        ]]}
86
                      ]]}
87
                    ]]}
88
                  ]}
89
                ]}
90
              ]]}
91
            ], "default" : [["IF_STATEMENT", {
92
              "if_cases" : [{
93
                "if_cond" : ["EXPRESSION", {
94
                  "args" : [["EXPRESSION", {
95
                    "args" : [["EXPRESSION", {
96
                      "args" : [["EXPRESSION", {
97
                        "args" : [["EXPRESSION", {
98
                          "args" : [["EXPRESSION", {
99
                            "args" : [["EXPRESSION", {
100
                              "args" : [["EXPRESSION", {
101
                                "args" : [["CALL", ["INDEXED_NAME", {
102
                                  "id" : ["SIMPLE_NAME", "rising_edge"], "exprs" : [["EXPRESSION", {
103
                                    "args" : [["EXPRESSION", {
104
                                      "args" : [["EXPRESSION", {
105
                                        "args" : [["EXPRESSION", {
106
                                          "args" : [["CALL", ["SIMPLE_NAME", "i_clock"]]]}
107
                                        ]]}
108
                                      ]]}
109
                                    ]]}
110
                                  ]]}
111
                                ]]]}
112
                              ]]}
113
                            ]]}
114
                          ]]}
115
                        ]]}
116
                      ]]}
117
                    ]]}
118
                  ]]}
119
                ], "if_block" : [["IF_STATEMENT", {
120
                  "if_cases" : [{
121
                    "if_cond" : ["EXPRESSION", {
122
                      "args" : [["EXPRESSION", {
123
                        "args" : [["EXPRESSION", {
124
                          "args" : [["EXPRESSION", {
125
                            "args" : [["EXPRESSION", {
126
                              "id" : "and", "args" : [["EXPRESSION", {
127
                                "args" : [["EXPRESSION", {
128
                                  "args" : [["EXPRESSION", {
129
                                    "args" : [["EXPRESSION", {
130
                                      "args" : [["EXPRESSION", {
131
                                        "id" : "=", "args" : [["EXPRESSION", {
132
                                          "args" : [["EXPRESSION", {
133
                                            "args" : [["EXPRESSION", {
134
                                              "args" : [["CALL", ["SIMPLE_NAME", "synced_start_btn_r1"]]]}
135
                                            ]]}
136
                                          ]]}
137
                                        ], ["EXPRESSION", {
138
                                          "args" : [["EXPRESSION", {
139
                                            "args" : [["EXPRESSION", {
140
                                              "args" : [["CONSTANT_VALUE", {
141
                                                "value" : ["CST_LITERAL", "'0'"]}
142
                                              ]]}
143
                                            ]]}
144
                                          ]]}
145
                                        ]]}
146
                                      ]]}
147
                                    ]]}
148
                                  ]]}
149
                                ]]}
150
                              ], ["EXPRESSION", {
151
                                "args" : [["EXPRESSION", {
152
                                  "args" : [["EXPRESSION", {
153
                                    "args" : [["EXPRESSION", {
154
                                      "args" : [["EXPRESSION", {
155
                                        "id" : "=", "args" : [["EXPRESSION", {
156
                                          "args" : [["EXPRESSION", {
157
                                            "args" : [["EXPRESSION", {
158
                                              "args" : [["CALL", ["SIMPLE_NAME", "i_synced_start_btn"]]]}
159
                                            ]]}
160
                                          ]]}
161
                                        ], ["EXPRESSION", {
162
                                          "args" : [["EXPRESSION", {
163
                                            "args" : [["EXPRESSION", {
164
                                              "args" : [["CONSTANT_VALUE", {
165
                                                "value" : ["CST_LITERAL", "'1'"]}
166
                                              ]]}
167
                                            ]]}
168
                                          ]]}
169
                                        ]]}
170
                                      ]]}
171
                                    ]]}
172
                                  ]]}
173
                                ]]}
174
                              ]]}
175
                            ]]}
176
                          ]]}
177
                        ]]}
178
                      ]]}
179
                    ], "if_block" : [["SIGNAL_ASSIGNMENT_STATEMENT", {
180
                      "lhs" : ["SIMPLE_NAME", "time_is_passing"], "rhs" : [{
181
                        "value" : ["EXPRESSION", {
182
                          "args" : [["EXPRESSION", {
183
                            "args" : [["EXPRESSION", {
184
                              "args" : [["EXPRESSION", {
185
                                "args" : [["EXPRESSION", {
186
                                  "args" : [["EXPRESSION", {
187
                                    "args" : [["EXPRESSION", {
188
                                      "args" : [["EXPRESSION", {
189
                                        "id" : "not", "args" : [["CALL", ["SIMPLE_NAME", "time_is_passing"]]]}
190
                                      ]]}
191
                                    ]]}
192
                                  ]]}
193
                                ]]}
194
                              ]]}
195
                            ]]}
196
                          ]]}
197
                        ]}
198
                      ]}
199
                    ]]}
200
                  ]}
201
                ]]}
202
              ]}
203
            ]]}
204
          ]]}
205
        ], ["PROCESS_STATEMENT", {
206
          "id" : ["IDENTIFIER", "P_PRE_SYNCED_START_BTN"], "active_sigs" : [["SIMPLE_NAME", "i_clock"], ["SIMPLE_NAME", "i_reset"]], "PROCESS_STATEMENT_PART" : [["IF_STATEMENT", {
207
            "if_cases" : [{
208
              "if_cond" : ["EXPRESSION", {
209
                "args" : [["EXPRESSION", {
210
                  "args" : [["EXPRESSION", {
211
                    "args" : [["EXPRESSION", {
212
                      "args" : [["EXPRESSION", {
213
                        "id" : "=", "args" : [["EXPRESSION", {
214
                          "args" : [["EXPRESSION", {
215
                            "args" : [["EXPRESSION", {
216
                              "args" : [["CALL", ["SIMPLE_NAME", "i_reset"]]]}
217
                            ]]}
218
                          ]]}
219
                        ], ["EXPRESSION", {
220
                          "args" : [["EXPRESSION", {
221
                            "args" : [["EXPRESSION", {
222
                              "args" : [["CONSTANT_VALUE", {
223
                                "value" : ["CST_LITERAL", "'1'"]}
224
                              ]]}
225
                            ]]}
226
                          ]]}
227
                        ]]}
228
                      ]]}
229
                    ]]}
230
                  ]]}
231
                ]]}
232
              ], "if_block" : [["SIGNAL_ASSIGNMENT_STATEMENT", {
233
                "lhs" : ["SIMPLE_NAME", "synced_start_btn_r1"], "rhs" : [{
234
                  "value" : ["EXPRESSION", {
235
                    "args" : [["EXPRESSION", {
236
                      "args" : [["EXPRESSION", {
237
                        "args" : [["EXPRESSION", {
238
                          "args" : [["CONSTANT_VALUE", {
239
                            "value" : ["CST_LITERAL", "'0'"]}
240
                          ]]}
241
                        ]]}
242
                      ]]}
243
                    ]]}
244
                  ]}
245
                ]}
246
              ]]}
247
            ], "default" : [["IF_STATEMENT", {
248
              "if_cases" : [{
249
                "if_cond" : ["EXPRESSION", {
250
                  "args" : [["EXPRESSION", {
251
                    "args" : [["EXPRESSION", {
252
                      "args" : [["EXPRESSION", {
253
                        "args" : [["EXPRESSION", {
254
                          "args" : [["EXPRESSION", {
255
                            "args" : [["EXPRESSION", {
256
                              "args" : [["EXPRESSION", {
257
                                "args" : [["CALL", ["INDEXED_NAME", {
258
                                  "id" : ["SIMPLE_NAME", "rising_edge"], "exprs" : [["EXPRESSION", {
259
                                    "args" : [["EXPRESSION", {
260
                                      "args" : [["EXPRESSION", {
261
                                        "args" : [["EXPRESSION", {
262
                                          "args" : [["CALL", ["SIMPLE_NAME", "i_clock"]]]}
263
                                        ]]}
264
                                      ]]}
265
                                    ]]}
266
                                  ]]}
267
                                ]]]}
268
                              ]]}
269
                            ]]}
270
                          ]]}
271
                        ]]}
272
                      ]]}
273
                    ]]}
274
                  ]]}
275
                ], "if_block" : [["SIGNAL_ASSIGNMENT_STATEMENT", {
276
                  "lhs" : ["SIMPLE_NAME", "synced_start_btn_r1"], "rhs" : [{
277
                    "value" : ["EXPRESSION", {
278
                      "args" : [["EXPRESSION", {
279
                        "args" : [["EXPRESSION", {
280
                          "args" : [["EXPRESSION", {
281
                            "args" : [["CALL", ["SIMPLE_NAME", "i_synced_start_btn"]]]}
282
                          ]]}
283
                        ]]}
284
                      ]]}
285
                    ]}
286
                  ]}
287
                ]]}
288
              ]}
289
            ]]}
290
          ]]}
291
        ], ["CONDITIONAL_SIGNAL_ASSIGNMENT", {
292
          "postponed" : false, "lhs" : ["SIMPLE_NAME", "o_raz"], "rhs" : [{
293
            "expr" : [{
294
              "value" : ["EXPRESSION", {
295
                "args" : [["EXPRESSION", {
296
                  "args" : [["EXPRESSION", {
297
                    "args" : [["EXPRESSION", {
298
                      "args" : [["EXPRESSION", {
299
                        "id" : "and", "args" : [["EXPRESSION", {
300
                          "args" : [["EXPRESSION", {
301
                            "args" : [["EXPRESSION", {
302
                              "args" : [["EXPRESSION", {
303
                                "args" : [["CALL", ["SIMPLE_NAME", "i_synced_raz_btn"]]]}
304
                              ]]}
305
                            ]]}
306
                          ]]}
307
                        ], ["EXPRESSION", {
308
                          "args" : [["EXPRESSION", {
309
                            "args" : [["EXPRESSION", {
310
                              "args" : [["EXPRESSION", {
311
                                "args" : [["CALL", ["SIMPLE_NAME", "time_is_passing"]]]}
312
                              ]]}
313
                            ]]}
314
                          ]]}
315
                        ]]}
316
                      ]]}
317
                    ]]}
318
                  ]]}
319
                ]]}
320
              ]}
321
            ]}
322
          ]}
323
        ], ["CONDITIONAL_SIGNAL_ASSIGNMENT", {
324
          "postponed" : false, "lhs" : ["SIMPLE_NAME", "o_enable"], "rhs" : [{
325
            "expr" : [{
326
              "value" : ["EXPRESSION", {
327
                "args" : [["EXPRESSION", {
328
                  "args" : [["EXPRESSION", {
329
                    "args" : [["EXPRESSION", {
330
                      "args" : [["CALL", ["SIMPLE_NAME", "time_is_passing"]]]}
331
                    ]]}
332
                  ]]}
333
                ]]}
334
              ]}
335
            ]}
336
          ]}
337
        ]]}
338
      ]}
339
    ]}
340
  }