Project

General

Profile

Statistics
| Branch: | Tag: | Revision:

lustrec-tests / vhdl_json / vhdl_files / 2-exportOK / cnes_guidelines / rule / data / best-chronometer-ever / src / display_manager.json @ 2051e520

History | View | Annotate | Download (28.2 KB)

1 2051e520 Arnaud Dieumegard
{
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", "display_manager"], "generics" : [{
6
          "names" : [["IDENTIFIER", "g_clock_cycle_per_display"]], "typ" : {
7
            "name" : ["SIMPLE_NAME", "natural"]}
8
          , "expr" : ["EXPRESSION", {
9
            "args" : [["EXPRESSION", {
10
              "args" : [["EXPRESSION", {
11
                "args" : [["EXPRESSION", {
12
                  "args" : [["CONSTANT_VALUE", {
13
                    "value" : ["CST_LITERAL", "2"]}
14
                  ]]}
15
                ]]}
16
              ]]}
17
            ]]}
18
          ]}
19
        ], "ports" : [{
20
          "names" : [["IDENTIFIER", "i_clock"]], "mode" : ["in"], "typ" : {
21
            "name" : ["SIMPLE_NAME", "std_logic"]}
22
          }
23
        , {
24
          "names" : [["IDENTIFIER", "i_reset"]], "mode" : ["in"], "typ" : {
25
            "name" : ["SIMPLE_NAME", "std_logic"]}
26
          }
27
        , {
28
          "names" : [["IDENTIFIER", "i_curr_0001_time"]], "mode" : ["in"], "typ" : {
29
            "name" : ["SIMPLE_NAME", "natural"], "const" : ["RANGE_CONSTRAINT", {
30
              "range" : ["RANGE_WITH_DIRECTION", {
31
                "direction" : "to", "from" : ["EXPRESSION", {
32
                  "args" : [["EXPRESSION", {
33
                    "args" : [["CONSTANT_VALUE", {
34
                      "value" : ["CST_LITERAL", "0"]}
35
                    ]]}
36
                  ]]}
37
                ], "_to" : ["EXPRESSION", {
38
                  "args" : [["EXPRESSION", {
39
                    "args" : [["CONSTANT_VALUE", {
40
                      "value" : ["CST_LITERAL", "9"]}
41
                    ]]}
42
                  ]]}
43
                ]}
44
              ]}
45
            ]}
46
          }
47
        , {
48
          "names" : [["IDENTIFIER", "i_curr_0010_time"]], "mode" : ["in"], "typ" : {
49
            "name" : ["SIMPLE_NAME", "natural"], "const" : ["RANGE_CONSTRAINT", {
50
              "range" : ["RANGE_WITH_DIRECTION", {
51
                "direction" : "to", "from" : ["EXPRESSION", {
52
                  "args" : [["EXPRESSION", {
53
                    "args" : [["CONSTANT_VALUE", {
54
                      "value" : ["CST_LITERAL", "0"]}
55
                    ]]}
56
                  ]]}
57
                ], "_to" : ["EXPRESSION", {
58
                  "args" : [["EXPRESSION", {
59
                    "args" : [["CONSTANT_VALUE", {
60
                      "value" : ["CST_LITERAL", "9"]}
61
                    ]]}
62
                  ]]}
63
                ]}
64
              ]}
65
            ]}
66
          }
67
        , {
68
          "names" : [["IDENTIFIER", "i_curr_0100_time"]], "mode" : ["in"], "typ" : {
69
            "name" : ["SIMPLE_NAME", "natural"], "const" : ["RANGE_CONSTRAINT", {
70
              "range" : ["RANGE_WITH_DIRECTION", {
71
                "direction" : "to", "from" : ["EXPRESSION", {
72
                  "args" : [["EXPRESSION", {
73
                    "args" : [["CONSTANT_VALUE", {
74
                      "value" : ["CST_LITERAL", "0"]}
75
                    ]]}
76
                  ]]}
77
                ], "_to" : ["EXPRESSION", {
78
                  "args" : [["EXPRESSION", {
79
                    "args" : [["CONSTANT_VALUE", {
80
                      "value" : ["CST_LITERAL", "9"]}
81
                    ]]}
82
                  ]]}
83
                ]}
84
              ]}
85
            ]}
86
          }
87
        , {
88
          "names" : [["IDENTIFIER", "i_curr_1000_time"]], "mode" : ["in"], "typ" : {
89
            "name" : ["SIMPLE_NAME", "natural"], "const" : ["RANGE_CONSTRAINT", {
90
              "range" : ["RANGE_WITH_DIRECTION", {
91
                "direction" : "to", "from" : ["EXPRESSION", {
92
                  "args" : [["EXPRESSION", {
93
                    "args" : [["CONSTANT_VALUE", {
94
                      "value" : ["CST_LITERAL", "0"]}
95
                    ]]}
96
                  ]]}
97
                ], "_to" : ["EXPRESSION", {
98
                  "args" : [["EXPRESSION", {
99
                    "args" : [["CONSTANT_VALUE", {
100
                      "value" : ["CST_LITERAL", "5"]}
101
                    ]]}
102
                  ]]}
103
                ]}
104
              ]}
105
            ]}
106
          }
107
        , {
108
          "names" : [["IDENTIFIER", "o_display"]], "mode" : ["out"], "typ" : {
109
            "name" : ["SIMPLE_NAME", "natural"], "const" : ["RANGE_CONSTRAINT", {
110
              "range" : ["RANGE_WITH_DIRECTION", {
111
                "direction" : "to", "from" : ["EXPRESSION", {
112
                  "args" : [["EXPRESSION", {
113
                    "args" : [["CONSTANT_VALUE", {
114
                      "value" : ["CST_LITERAL", "0"]}
115
                    ]]}
116
                  ]]}
117
                ], "_to" : ["EXPRESSION", {
118
                  "args" : [["EXPRESSION", {
119
                    "args" : [["CONSTANT_VALUE", {
120
                      "value" : ["CST_LITERAL", "9"]}
121
                    ]]}
122
                  ]]}
123
                ]}
124
              ]}
125
            ]}
126
          }
127
        , {
128
          "names" : [["IDENTIFIER", "o_an"]], "mode" : ["out"], "typ" : {
129
            "name" : ["SIMPLE_NAME", "std_logic_vector"], "const" : ["INDEX_CONSTRAINT", {
130
              "ranges" : [["RANGE_WITH_DIRECTION", {
131
                "direction" : "downto", "from" : ["EXPRESSION", {
132
                  "args" : [["EXPRESSION", {
133
                    "args" : [["CONSTANT_VALUE", {
134
                      "value" : ["CST_LITERAL", "3"]}
135
                    ]]}
136
                  ]]}
137
                ], "_to" : ["EXPRESSION", {
138
                  "args" : [["EXPRESSION", {
139
                    "args" : [["CONSTANT_VALUE", {
140
                      "value" : ["CST_LITERAL", "0"]}
141
                    ]]}
142
                  ]]}
143
                ]}
144
              ]]}
145
            ]}
146
          }
147
        ], "ENTITY_DECLARATIVE_PART" : [], "ENTITY_STATEMENT_PART" : []}
148
      ]}
149
    , {
150
      "contexts" : [], "library" : ["ARCHITECTURE_BODY", {
151
        "name" : ["IDENTIFIER", "Behavioral"], "entity" : ["IDENTIFIER", "display_manager"], "ARCHITECTURE_DECLARATIVE_PART" : [{
152
          "definition" : ["TYPE_DECLARATION", {
153
            "name" : ["IDENTIFIER", "t_display_index"], "definition" : ["ENUMERATION_TYPE_DEFINITION", [["IDENTIFIER", "D0001"], ["IDENTIFIER", "D0010"], ["IDENTIFIER", "D0100"], ["IDENTIFIER", "D1000"]]]}
154
          ]}
155
        , {
156
          "declaration" : ["SIGNAL_DECLARATION", {
157
            "names" : [["IDENTIFIER", "futur_state"]], "typ" : {
158
              "name" : ["SIMPLE_NAME", "t_display_index"]}
159
            }
160
          ]}
161
        , {
162
          "declaration" : ["SIGNAL_DECLARATION", {
163
            "names" : [["IDENTIFIER", "current_state"]], "typ" : {
164
              "name" : ["SIMPLE_NAME", "t_display_index"]}
165
            }
166
          ]}
167
        , {
168
          "declaration" : ["SIGNAL_DECLARATION", {
169
            "names" : [["IDENTIFIER", "display_timer"]], "typ" : {
170
              "name" : ["SIMPLE_NAME", "natural"], "const" : ["RANGE_CONSTRAINT", {
171
                "range" : ["RANGE_WITH_DIRECTION", {
172
                  "direction" : "to", "from" : ["EXPRESSION", {
173
                    "args" : [["EXPRESSION", {
174
                      "args" : [["CONSTANT_VALUE", {
175
                        "value" : ["CST_LITERAL", "1"]}
176
                      ]]}
177
                    ]]}
178
                  ], "_to" : ["EXPRESSION", {
179
                    "args" : [["EXPRESSION", {
180
                      "args" : [["CALL", ["SIMPLE_NAME", "g_clock_cycle_per_display"]]]}
181
                    ]]}
182
                  ]}
183
                ]}
184
              ]}
185
            }
186
          ]}
187
        ], "ARCHITECTURE_STATEMENT_PART" : [["PROCESS_STATEMENT", {
188
          "id" : ["IDENTIFIER", "P_DISPLAY_MUX"], "active_sigs" : [["SIMPLE_NAME", "current_state"], ["SIMPLE_NAME", "i_curr_0001_time"], ["SIMPLE_NAME", "i_curr_0010_time"], ["SIMPLE_NAME", "i_curr_0100_time"], ["SIMPLE_NAME", "i_curr_1000_time"]], "PROCESS_STATEMENT_PART" : [["SIGNAL_ASSIGNMENT_STATEMENT", {
189
            "lhs" : ["SIMPLE_NAME", "o_an"], "rhs" : [{
190
              "value" : ["EXPRESSION", {
191
                "args" : [["EXPRESSION", {
192
                  "args" : [["EXPRESSION", {
193
                    "args" : [["EXPRESSION", {
194
                      "args" : [["CONSTANT_VALUE", {
195
                        "value" : ["CST_LITERAL", "B\"1111\""]}
196
                      ]]}
197
                    ]]}
198
                  ]]}
199
                ]]}
200
              ]}
201
            ]}
202
          ], ["CASE_STATEMENT_TREE", {
203
            "guard" : ["EXPRESSION", {
204
              "args" : [["EXPRESSION", {
205
                "args" : [["EXPRESSION", {
206
                  "args" : [["EXPRESSION", {
207
                    "args" : [["CALL", ["SIMPLE_NAME", "current_state"]]]}
208
                  ]]}
209
                ]]}
210
              ]]}
211
            ], "branches" : [{
212
              "when_cond" : [["EXPRESSION", {
213
                "args" : [["EXPRESSION", {
214
                  "args" : [["CALL", ["SIMPLE_NAME", "D0001"]]]}
215
                ]]}
216
              ]], "when_stmt" : [["SIGNAL_ASSIGNMENT_STATEMENT", {
217
                "lhs" : ["INDEXED_NAME", {
218
                  "id" : ["SIMPLE_NAME", "o_an"], "exprs" : [["EXPRESSION", {
219
                    "args" : [["EXPRESSION", {
220
                      "args" : [["EXPRESSION", {
221
                        "args" : [["EXPRESSION", {
222
                          "args" : [["CONSTANT_VALUE", {
223
                            "value" : ["CST_LITERAL", "3"]}
224
                          ]]}
225
                        ]]}
226
                      ]]}
227
                    ]]}
228
                  ]]}
229
                ], "rhs" : [{
230
                  "value" : ["EXPRESSION", {
231
                    "args" : [["EXPRESSION", {
232
                      "args" : [["EXPRESSION", {
233
                        "args" : [["EXPRESSION", {
234
                          "args" : [["CONSTANT_VALUE", {
235
                            "value" : ["CST_LITERAL", "'0'"]}
236
                          ]]}
237
                        ]]}
238
                      ]]}
239
                    ]]}
240
                  ]}
241
                ]}
242
              ], ["SIGNAL_ASSIGNMENT_STATEMENT", {
243
                "lhs" : ["SIMPLE_NAME", "futur_state"], "rhs" : [{
244
                  "value" : ["EXPRESSION", {
245
                    "args" : [["EXPRESSION", {
246
                      "args" : [["EXPRESSION", {
247
                        "args" : [["EXPRESSION", {
248
                          "args" : [["CALL", ["SIMPLE_NAME", "D0010"]]]}
249
                        ]]}
250
                      ]]}
251
                    ]]}
252
                  ]}
253
                ]}
254
              ], ["SIGNAL_ASSIGNMENT_STATEMENT", {
255
                "lhs" : ["SIMPLE_NAME", "o_display"], "rhs" : [{
256
                  "value" : ["EXPRESSION", {
257
                    "args" : [["EXPRESSION", {
258
                      "args" : [["EXPRESSION", {
259
                        "args" : [["EXPRESSION", {
260
                          "args" : [["CALL", ["SIMPLE_NAME", "i_curr_0001_time"]]]}
261
                        ]]}
262
                      ]]}
263
                    ]]}
264
                  ]}
265
                ]}
266
              ]]}
267
            , {
268
              "when_cond" : [["EXPRESSION", {
269
                "args" : [["EXPRESSION", {
270
                  "args" : [["CALL", ["SIMPLE_NAME", "D0010"]]]}
271
                ]]}
272
              ]], "when_stmt" : [["SIGNAL_ASSIGNMENT_STATEMENT", {
273
                "lhs" : ["INDEXED_NAME", {
274
                  "id" : ["SIMPLE_NAME", "o_an"], "exprs" : [["EXPRESSION", {
275
                    "args" : [["EXPRESSION", {
276
                      "args" : [["EXPRESSION", {
277
                        "args" : [["EXPRESSION", {
278
                          "args" : [["CONSTANT_VALUE", {
279
                            "value" : ["CST_LITERAL", "2"]}
280
                          ]]}
281
                        ]]}
282
                      ]]}
283
                    ]]}
284
                  ]]}
285
                ], "rhs" : [{
286
                  "value" : ["EXPRESSION", {
287
                    "args" : [["EXPRESSION", {
288
                      "args" : [["EXPRESSION", {
289
                        "args" : [["EXPRESSION", {
290
                          "args" : [["CONSTANT_VALUE", {
291
                            "value" : ["CST_LITERAL", "'0'"]}
292
                          ]]}
293
                        ]]}
294
                      ]]}
295
                    ]]}
296
                  ]}
297
                ]}
298
              ], ["SIGNAL_ASSIGNMENT_STATEMENT", {
299
                "lhs" : ["SIMPLE_NAME", "futur_state"], "rhs" : [{
300
                  "value" : ["EXPRESSION", {
301
                    "args" : [["EXPRESSION", {
302
                      "args" : [["EXPRESSION", {
303
                        "args" : [["EXPRESSION", {
304
                          "args" : [["CALL", ["SIMPLE_NAME", "D0100"]]]}
305
                        ]]}
306
                      ]]}
307
                    ]]}
308
                  ]}
309
                ]}
310
              ], ["SIGNAL_ASSIGNMENT_STATEMENT", {
311
                "lhs" : ["SIMPLE_NAME", "o_display"], "rhs" : [{
312
                  "value" : ["EXPRESSION", {
313
                    "args" : [["EXPRESSION", {
314
                      "args" : [["EXPRESSION", {
315
                        "args" : [["EXPRESSION", {
316
                          "args" : [["CALL", ["SIMPLE_NAME", "i_curr_0010_time"]]]}
317
                        ]]}
318
                      ]]}
319
                    ]]}
320
                  ]}
321
                ]}
322
              ]]}
323
            , {
324
              "when_cond" : [["EXPRESSION", {
325
                "args" : [["EXPRESSION", {
326
                  "args" : [["CALL", ["SIMPLE_NAME", "D0100"]]]}
327
                ]]}
328
              ]], "when_stmt" : [["SIGNAL_ASSIGNMENT_STATEMENT", {
329
                "lhs" : ["INDEXED_NAME", {
330
                  "id" : ["SIMPLE_NAME", "o_an"], "exprs" : [["EXPRESSION", {
331
                    "args" : [["EXPRESSION", {
332
                      "args" : [["EXPRESSION", {
333
                        "args" : [["EXPRESSION", {
334
                          "args" : [["CONSTANT_VALUE", {
335
                            "value" : ["CST_LITERAL", "1"]}
336
                          ]]}
337
                        ]]}
338
                      ]]}
339
                    ]]}
340
                  ]]}
341
                ], "rhs" : [{
342
                  "value" : ["EXPRESSION", {
343
                    "args" : [["EXPRESSION", {
344
                      "args" : [["EXPRESSION", {
345
                        "args" : [["EXPRESSION", {
346
                          "args" : [["CONSTANT_VALUE", {
347
                            "value" : ["CST_LITERAL", "'0'"]}
348
                          ]]}
349
                        ]]}
350
                      ]]}
351
                    ]]}
352
                  ]}
353
                ]}
354
              ], ["SIGNAL_ASSIGNMENT_STATEMENT", {
355
                "lhs" : ["SIMPLE_NAME", "futur_state"], "rhs" : [{
356
                  "value" : ["EXPRESSION", {
357
                    "args" : [["EXPRESSION", {
358
                      "args" : [["EXPRESSION", {
359
                        "args" : [["EXPRESSION", {
360
                          "args" : [["CALL", ["SIMPLE_NAME", "D1000"]]]}
361
                        ]]}
362
                      ]]}
363
                    ]]}
364
                  ]}
365
                ]}
366
              ], ["SIGNAL_ASSIGNMENT_STATEMENT", {
367
                "lhs" : ["SIMPLE_NAME", "o_display"], "rhs" : [{
368
                  "value" : ["EXPRESSION", {
369
                    "args" : [["EXPRESSION", {
370
                      "args" : [["EXPRESSION", {
371
                        "args" : [["EXPRESSION", {
372
                          "args" : [["CALL", ["SIMPLE_NAME", "i_curr_0100_time"]]]}
373
                        ]]}
374
                      ]]}
375
                    ]]}
376
                  ]}
377
                ]}
378
              ]]}
379
            , {
380
              "when_cond" : [["OTHERS"]], "when_stmt" : [["SIGNAL_ASSIGNMENT_STATEMENT", {
381
                "lhs" : ["INDEXED_NAME", {
382
                  "id" : ["SIMPLE_NAME", "o_an"], "exprs" : [["EXPRESSION", {
383
                    "args" : [["EXPRESSION", {
384
                      "args" : [["EXPRESSION", {
385
                        "args" : [["EXPRESSION", {
386
                          "args" : [["CONSTANT_VALUE", {
387
                            "value" : ["CST_LITERAL", "0"]}
388
                          ]]}
389
                        ]]}
390
                      ]]}
391
                    ]]}
392
                  ]]}
393
                ], "rhs" : [{
394
                  "value" : ["EXPRESSION", {
395
                    "args" : [["EXPRESSION", {
396
                      "args" : [["EXPRESSION", {
397
                        "args" : [["EXPRESSION", {
398
                          "args" : [["CONSTANT_VALUE", {
399
                            "value" : ["CST_LITERAL", "'0'"]}
400
                          ]]}
401
                        ]]}
402
                      ]]}
403
                    ]]}
404
                  ]}
405
                ]}
406
              ], ["SIGNAL_ASSIGNMENT_STATEMENT", {
407
                "lhs" : ["SIMPLE_NAME", "futur_state"], "rhs" : [{
408
                  "value" : ["EXPRESSION", {
409
                    "args" : [["EXPRESSION", {
410
                      "args" : [["EXPRESSION", {
411
                        "args" : [["EXPRESSION", {
412
                          "args" : [["CALL", ["SIMPLE_NAME", "D0001"]]]}
413
                        ]]}
414
                      ]]}
415
                    ]]}
416
                  ]}
417
                ]}
418
              ], ["SIGNAL_ASSIGNMENT_STATEMENT", {
419
                "lhs" : ["SIMPLE_NAME", "o_display"], "rhs" : [{
420
                  "value" : ["EXPRESSION", {
421
                    "args" : [["EXPRESSION", {
422
                      "args" : [["EXPRESSION", {
423
                        "args" : [["EXPRESSION", {
424
                          "args" : [["CALL", ["SIMPLE_NAME", "i_curr_1000_time"]]]}
425
                        ]]}
426
                      ]]}
427
                    ]]}
428
                  ]}
429
                ]}
430
              ]]}
431
            ]}
432
          ]]}
433
        ], ["PROCESS_STATEMENT", {
434
          "id" : ["IDENTIFIER", "P_TIME_COUNTER"], "active_sigs" : [["SIMPLE_NAME", "i_clock"], ["SIMPLE_NAME", "i_reset"]], "PROCESS_STATEMENT_PART" : [["IF_STATEMENT", {
435
            "if_cases" : [{
436
              "if_cond" : ["EXPRESSION", {
437
                "args" : [["EXPRESSION", {
438
                  "args" : [["EXPRESSION", {
439
                    "args" : [["EXPRESSION", {
440
                      "args" : [["EXPRESSION", {
441
                        "id" : "=", "args" : [["EXPRESSION", {
442
                          "args" : [["EXPRESSION", {
443
                            "args" : [["EXPRESSION", {
444
                              "args" : [["CALL", ["SIMPLE_NAME", "i_reset"]]]}
445
                            ]]}
446
                          ]]}
447
                        ], ["EXPRESSION", {
448
                          "args" : [["EXPRESSION", {
449
                            "args" : [["EXPRESSION", {
450
                              "args" : [["CONSTANT_VALUE", {
451
                                "value" : ["CST_LITERAL", "'1'"]}
452
                              ]]}
453
                            ]]}
454
                          ]]}
455
                        ]]}
456
                      ]]}
457
                    ]]}
458
                  ]]}
459
                ]]}
460
              ], "if_block" : [["SIGNAL_ASSIGNMENT_STATEMENT", {
461
                "lhs" : ["SIMPLE_NAME", "display_timer"], "rhs" : [{
462
                  "value" : ["EXPRESSION", {
463
                    "args" : [["EXPRESSION", {
464
                      "args" : [["EXPRESSION", {
465
                        "args" : [["EXPRESSION", {
466
                          "args" : [["CONSTANT_VALUE", {
467
                            "value" : ["CST_LITERAL", "1"]}
468
                          ]]}
469
                        ]]}
470
                      ]]}
471
                    ]]}
472
                  ]}
473
                ]}
474
              ]]}
475
            ], "default" : [["IF_STATEMENT", {
476
              "if_cases" : [{
477
                "if_cond" : ["EXPRESSION", {
478
                  "args" : [["EXPRESSION", {
479
                    "args" : [["EXPRESSION", {
480
                      "args" : [["EXPRESSION", {
481
                        "args" : [["EXPRESSION", {
482
                          "args" : [["EXPRESSION", {
483
                            "args" : [["EXPRESSION", {
484
                              "args" : [["EXPRESSION", {
485
                                "args" : [["CALL", ["FUNCTION_CALL", {
486
                                  "id" : ["SIMPLE_NAME", "rising_edge"], "assoc_list" : [{
487
                                    "actual_designator" : ["SIMPLE_NAME", "i_clock"]}
488
                                  ]}
489
                                ]]]}
490
                              ]]}
491
                            ]]}
492
                          ]]}
493
                        ]]}
494
                      ]]}
495
                    ]]}
496
                  ]]}
497
                ], "if_block" : [["IF_STATEMENT", {
498
                  "if_cases" : [{
499
                    "if_cond" : ["EXPRESSION", {
500
                      "args" : [["EXPRESSION", {
501
                        "args" : [["EXPRESSION", {
502
                          "args" : [["EXPRESSION", {
503
                            "args" : [["EXPRESSION", {
504
                              "id" : ">=", "args" : [["EXPRESSION", {
505
                                "args" : [["EXPRESSION", {
506
                                  "args" : [["EXPRESSION", {
507
                                    "args" : [["CALL", ["SIMPLE_NAME", "display_timer"]]]}
508
                                  ]]}
509
                                ]]}
510
                              ], ["EXPRESSION", {
511
                                "args" : [["EXPRESSION", {
512
                                  "args" : [["EXPRESSION", {
513
                                    "args" : [["CALL", ["SIMPLE_NAME", "g_clock_cycle_per_display"]]]}
514
                                  ]]}
515
                                ]]}
516
                              ]]}
517
                            ]]}
518
                          ]]}
519
                        ]]}
520
                      ]]}
521
                    ], "if_block" : [["SIGNAL_ASSIGNMENT_STATEMENT", {
522
                      "lhs" : ["SIMPLE_NAME", "display_timer"], "rhs" : [{
523
                        "value" : ["EXPRESSION", {
524
                          "args" : [["EXPRESSION", {
525
                            "args" : [["EXPRESSION", {
526
                              "args" : [["EXPRESSION", {
527
                                "args" : [["CONSTANT_VALUE", {
528
                                  "value" : ["CST_LITERAL", "1"]}
529
                                ]]}
530
                              ]]}
531
                            ]]}
532
                          ]]}
533
                        ]}
534
                      ]}
535
                    ]]}
536
                  ], "default" : [["SIGNAL_ASSIGNMENT_STATEMENT", {
537
                    "lhs" : ["SIMPLE_NAME", "display_timer"], "rhs" : [{
538
                      "value" : ["EXPRESSION", {
539
                        "args" : [["EXPRESSION", {
540
                          "args" : [["EXPRESSION", {
541
                            "args" : [["EXPRESSION", {
542
                              "args" : [["EXPRESSION", {
543
                                "args" : [["EXPRESSION", {
544
                                  "args" : [["EXPRESSION", {
545
                                    "args" : [["EXPRESSION", {
546
                                      "id" : "+", "args" : [["EXPRESSION", {
547
                                        "args" : [["CALL", ["SIMPLE_NAME", "display_timer"]]]}
548
                                      ], ["EXPRESSION", {
549
                                        "args" : [["CONSTANT_VALUE", {
550
                                          "value" : ["CST_LITERAL", "1"]}
551
                                        ]]}
552
                                      ]]}
553
                                    ]]}
554
                                  ]]}
555
                                ]]}
556
                              ]]}
557
                            ]]}
558
                          ]]}
559
                        ]]}
560
                      ]}
561
                    ]}
562
                  ]]}
563
                ]]}
564
              ]}
565
            ]]}
566
          ]]}
567
        ], ["PROCESS_STATEMENT", {
568
          "id" : ["IDENTIFIER", "P_FSM_STATE_SWITCH"], "active_sigs" : [["SIMPLE_NAME", "i_clock"], ["SIMPLE_NAME", "i_reset"]], "PROCESS_STATEMENT_PART" : [["IF_STATEMENT", {
569
            "if_cases" : [{
570
              "if_cond" : ["EXPRESSION", {
571
                "args" : [["EXPRESSION", {
572
                  "args" : [["EXPRESSION", {
573
                    "args" : [["EXPRESSION", {
574
                      "args" : [["EXPRESSION", {
575
                        "id" : "=", "args" : [["EXPRESSION", {
576
                          "args" : [["EXPRESSION", {
577
                            "args" : [["EXPRESSION", {
578
                              "args" : [["CALL", ["SIMPLE_NAME", "i_reset"]]]}
579
                            ]]}
580
                          ]]}
581
                        ], ["EXPRESSION", {
582
                          "args" : [["EXPRESSION", {
583
                            "args" : [["EXPRESSION", {
584
                              "args" : [["CONSTANT_VALUE", {
585
                                "value" : ["CST_LITERAL", "'1'"]}
586
                              ]]}
587
                            ]]}
588
                          ]]}
589
                        ]]}
590
                      ]]}
591
                    ]]}
592
                  ]]}
593
                ]]}
594
              ], "if_block" : [["SIGNAL_ASSIGNMENT_STATEMENT", {
595
                "lhs" : ["SIMPLE_NAME", "current_state"], "rhs" : [{
596
                  "value" : ["EXPRESSION", {
597
                    "args" : [["EXPRESSION", {
598
                      "args" : [["EXPRESSION", {
599
                        "args" : [["EXPRESSION", {
600
                          "args" : [["CALL", ["SIMPLE_NAME", "D0001"]]]}
601
                        ]]}
602
                      ]]}
603
                    ]]}
604
                  ]}
605
                ]}
606
              ]]}
607
            ], "default" : [["IF_STATEMENT", {
608
              "if_cases" : [{
609
                "if_cond" : ["EXPRESSION", {
610
                  "args" : [["EXPRESSION", {
611
                    "args" : [["EXPRESSION", {
612
                      "args" : [["EXPRESSION", {
613
                        "args" : [["EXPRESSION", {
614
                          "args" : [["EXPRESSION", {
615
                            "args" : [["EXPRESSION", {
616
                              "args" : [["EXPRESSION", {
617
                                "args" : [["CALL", ["FUNCTION_CALL", {
618
                                  "id" : ["SIMPLE_NAME", "rising_edge"], "assoc_list" : [{
619
                                    "actual_designator" : ["SIMPLE_NAME", "i_clock"]}
620
                                  ]}
621
                                ]]]}
622
                              ]]}
623
                            ]]}
624
                          ]]}
625
                        ]]}
626
                      ]]}
627
                    ]]}
628
                  ]]}
629
                ], "if_block" : [["IF_STATEMENT", {
630
                  "if_cases" : [{
631
                    "if_cond" : ["EXPRESSION", {
632
                      "args" : [["EXPRESSION", {
633
                        "args" : [["EXPRESSION", {
634
                          "args" : [["EXPRESSION", {
635
                            "args" : [["EXPRESSION", {
636
                              "id" : ">=", "args" : [["EXPRESSION", {
637
                                "args" : [["EXPRESSION", {
638
                                  "args" : [["EXPRESSION", {
639
                                    "args" : [["CALL", ["SIMPLE_NAME", "display_timer"]]]}
640
                                  ]]}
641
                                ]]}
642
                              ], ["EXPRESSION", {
643
                                "args" : [["EXPRESSION", {
644
                                  "args" : [["EXPRESSION", {
645
                                    "args" : [["CALL", ["SIMPLE_NAME", "g_clock_cycle_per_display"]]]}
646
                                  ]]}
647
                                ]]}
648
                              ]]}
649
                            ]]}
650
                          ]]}
651
                        ]]}
652
                      ]]}
653
                    ], "if_block" : [["SIGNAL_ASSIGNMENT_STATEMENT", {
654
                      "lhs" : ["SIMPLE_NAME", "current_state"], "rhs" : [{
655
                        "value" : ["EXPRESSION", {
656
                          "args" : [["EXPRESSION", {
657
                            "args" : [["EXPRESSION", {
658
                              "args" : [["EXPRESSION", {
659
                                "args" : [["CALL", ["SIMPLE_NAME", "futur_state"]]]}
660
                              ]]}
661
                            ]]}
662
                          ]]}
663
                        ]}
664
                      ]}
665
                    ]]}
666
                  ]}
667
                ]]}
668
              ]}
669
            ]]}
670
          ]]}
671
        ]]}
672
      ]}
673
    ]}
674
  }