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 @ 3fd18385

History | View | Annotate | Download (28.8 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", "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", ["INDEXED_NAME", {
486
                                  "id" : ["SIMPLE_NAME", "rising_edge"], "exprs" : [["EXPRESSION", {
487
                                    "args" : [["EXPRESSION", {
488
                                      "args" : [["EXPRESSION", {
489
                                        "args" : [["EXPRESSION", {
490
                                          "args" : [["CALL", ["SIMPLE_NAME", "i_clock"]]]}
491
                                        ]]}
492
                                      ]]}
493
                                    ]]}
494
                                  ]]}
495
                                ]]]}
496
                              ]]}
497
                            ]]}
498
                          ]]}
499
                        ]]}
500
                      ]]}
501
                    ]]}
502
                  ]]}
503
                ], "if_block" : [["IF_STATEMENT", {
504
                  "if_cases" : [{
505
                    "if_cond" : ["EXPRESSION", {
506
                      "args" : [["EXPRESSION", {
507
                        "args" : [["EXPRESSION", {
508
                          "args" : [["EXPRESSION", {
509
                            "args" : [["EXPRESSION", {
510
                              "id" : ">=", "args" : [["EXPRESSION", {
511
                                "args" : [["EXPRESSION", {
512
                                  "args" : [["EXPRESSION", {
513
                                    "args" : [["CALL", ["SIMPLE_NAME", "display_timer"]]]}
514
                                  ]]}
515
                                ]]}
516
                              ], ["EXPRESSION", {
517
                                "args" : [["EXPRESSION", {
518
                                  "args" : [["EXPRESSION", {
519
                                    "args" : [["CALL", ["SIMPLE_NAME", "g_clock_cycle_per_display"]]]}
520
                                  ]]}
521
                                ]]}
522
                              ]]}
523
                            ]]}
524
                          ]]}
525
                        ]]}
526
                      ]]}
527
                    ], "if_block" : [["SIGNAL_ASSIGNMENT_STATEMENT", {
528
                      "lhs" : ["SIMPLE_NAME", "display_timer"], "rhs" : [{
529
                        "value" : ["EXPRESSION", {
530
                          "args" : [["EXPRESSION", {
531
                            "args" : [["EXPRESSION", {
532
                              "args" : [["EXPRESSION", {
533
                                "args" : [["CONSTANT_VALUE", {
534
                                  "value" : ["CST_LITERAL", "1"]}
535
                                ]]}
536
                              ]]}
537
                            ]]}
538
                          ]]}
539
                        ]}
540
                      ]}
541
                    ]]}
542
                  ], "default" : [["SIGNAL_ASSIGNMENT_STATEMENT", {
543
                    "lhs" : ["SIMPLE_NAME", "display_timer"], "rhs" : [{
544
                      "value" : ["EXPRESSION", {
545
                        "args" : [["EXPRESSION", {
546
                          "args" : [["EXPRESSION", {
547
                            "args" : [["EXPRESSION", {
548
                              "args" : [["EXPRESSION", {
549
                                "args" : [["EXPRESSION", {
550
                                  "args" : [["EXPRESSION", {
551
                                    "args" : [["EXPRESSION", {
552
                                      "id" : "+", "args" : [["EXPRESSION", {
553
                                        "args" : [["CALL", ["SIMPLE_NAME", "display_timer"]]]}
554
                                      ], ["EXPRESSION", {
555
                                        "args" : [["CONSTANT_VALUE", {
556
                                          "value" : ["CST_LITERAL", "1"]}
557
                                        ]]}
558
                                      ]]}
559
                                    ]]}
560
                                  ]]}
561
                                ]]}
562
                              ]]}
563
                            ]]}
564
                          ]]}
565
                        ]]}
566
                      ]}
567
                    ]}
568
                  ]]}
569
                ]]}
570
              ]}
571
            ]]}
572
          ]]}
573
        ], ["PROCESS_STATEMENT", {
574
          "id" : ["IDENTIFIER", "P_FSM_STATE_SWITCH"], "active_sigs" : [["SIMPLE_NAME", "i_clock"], ["SIMPLE_NAME", "i_reset"]], "PROCESS_STATEMENT_PART" : [["IF_STATEMENT", {
575
            "if_cases" : [{
576
              "if_cond" : ["EXPRESSION", {
577
                "args" : [["EXPRESSION", {
578
                  "args" : [["EXPRESSION", {
579
                    "args" : [["EXPRESSION", {
580
                      "args" : [["EXPRESSION", {
581
                        "id" : "=", "args" : [["EXPRESSION", {
582
                          "args" : [["EXPRESSION", {
583
                            "args" : [["EXPRESSION", {
584
                              "args" : [["CALL", ["SIMPLE_NAME", "i_reset"]]]}
585
                            ]]}
586
                          ]]}
587
                        ], ["EXPRESSION", {
588
                          "args" : [["EXPRESSION", {
589
                            "args" : [["EXPRESSION", {
590
                              "args" : [["CONSTANT_VALUE", {
591
                                "value" : ["CST_LITERAL", "'1'"]}
592
                              ]]}
593
                            ]]}
594
                          ]]}
595
                        ]]}
596
                      ]]}
597
                    ]]}
598
                  ]]}
599
                ]]}
600
              ], "if_block" : [["SIGNAL_ASSIGNMENT_STATEMENT", {
601
                "lhs" : ["SIMPLE_NAME", "current_state"], "rhs" : [{
602
                  "value" : ["EXPRESSION", {
603
                    "args" : [["EXPRESSION", {
604
                      "args" : [["EXPRESSION", {
605
                        "args" : [["EXPRESSION", {
606
                          "args" : [["CALL", ["SIMPLE_NAME", "D0001"]]]}
607
                        ]]}
608
                      ]]}
609
                    ]]}
610
                  ]}
611
                ]}
612
              ]]}
613
            ], "default" : [["IF_STATEMENT", {
614
              "if_cases" : [{
615
                "if_cond" : ["EXPRESSION", {
616
                  "args" : [["EXPRESSION", {
617
                    "args" : [["EXPRESSION", {
618
                      "args" : [["EXPRESSION", {
619
                        "args" : [["EXPRESSION", {
620
                          "args" : [["EXPRESSION", {
621
                            "args" : [["EXPRESSION", {
622
                              "args" : [["EXPRESSION", {
623
                                "args" : [["CALL", ["INDEXED_NAME", {
624
                                  "id" : ["SIMPLE_NAME", "rising_edge"], "exprs" : [["EXPRESSION", {
625
                                    "args" : [["EXPRESSION", {
626
                                      "args" : [["EXPRESSION", {
627
                                        "args" : [["EXPRESSION", {
628
                                          "args" : [["CALL", ["SIMPLE_NAME", "i_clock"]]]}
629
                                        ]]}
630
                                      ]]}
631
                                    ]]}
632
                                  ]]}
633
                                ]]]}
634
                              ]]}
635
                            ]]}
636
                          ]]}
637
                        ]]}
638
                      ]]}
639
                    ]]}
640
                  ]]}
641
                ], "if_block" : [["IF_STATEMENT", {
642
                  "if_cases" : [{
643
                    "if_cond" : ["EXPRESSION", {
644
                      "args" : [["EXPRESSION", {
645
                        "args" : [["EXPRESSION", {
646
                          "args" : [["EXPRESSION", {
647
                            "args" : [["EXPRESSION", {
648
                              "id" : ">=", "args" : [["EXPRESSION", {
649
                                "args" : [["EXPRESSION", {
650
                                  "args" : [["EXPRESSION", {
651
                                    "args" : [["CALL", ["SIMPLE_NAME", "display_timer"]]]}
652
                                  ]]}
653
                                ]]}
654
                              ], ["EXPRESSION", {
655
                                "args" : [["EXPRESSION", {
656
                                  "args" : [["EXPRESSION", {
657
                                    "args" : [["CALL", ["SIMPLE_NAME", "g_clock_cycle_per_display"]]]}
658
                                  ]]}
659
                                ]]}
660
                              ]]}
661
                            ]]}
662
                          ]]}
663
                        ]]}
664
                      ]]}
665
                    ], "if_block" : [["SIGNAL_ASSIGNMENT_STATEMENT", {
666
                      "lhs" : ["SIMPLE_NAME", "current_state"], "rhs" : [{
667
                        "value" : ["EXPRESSION", {
668
                          "args" : [["EXPRESSION", {
669
                            "args" : [["EXPRESSION", {
670
                              "args" : [["EXPRESSION", {
671
                                "args" : [["CALL", ["SIMPLE_NAME", "futur_state"]]]}
672
                              ]]}
673
                            ]]}
674
                          ]]}
675
                        ]}
676
                      ]}
677
                    ]]}
678
                  ]}
679
                ]]}
680
              ]}
681
            ]]}
682
          ]]}
683
        ]]}
684
      ]}
685
    ]}
686
  }