Project

General

Profile

Download (108 KB) Statistics
| Branch: | Tag: | Revision:
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"]]]]], ["USE_CLAUSE", [["SELECTED_NAME", [["SIMPLE_NAME", "ieee"], ["SIMPLE_NAME", "std_logic_misc"]]]]], ["USE_CLAUSE", [["SELECTED_NAME", [["SIMPLE_NAME", "ieee"], ["SIMPLE_NAME", "std_logic_arith"]]]]], ["USE_CLAUSE", [["SELECTED_NAME", [["SIMPLE_NAME", "ieee"], ["SIMPLE_NAME", "std_logic_textio"]]]]], ["USE_CLAUSE", [["SELECTED_NAME", [["SIMPLE_NAME", "ieee"], ["SIMPLE_NAME", "std_logic_unsigned"]]]]]], "library" : ["ENTITY_DECLARATION", {
5
        "name" : ["IDENTIFIER", "uart"], "generics" : [{
6
          "names" : [["IDENTIFIER", "PRESCALE_DIV"]], "typ" : {
7
            "name" : ["SIMPLE_NAME", "std_logic_vector"], "const" : ["INDEX_CONSTRAINT", {
8
              "ranges" : [["RANGE_WITH_DIRECTION", {
9
                "direction" : "downto", "from" : ["EXPRESSION", {
10
                  "args" : [["EXPRESSION", {
11
                    "args" : [["CONSTANT_VALUE", {
12
                      "value" : ["CST_LITERAL", "7"]}
13
                    ]]}
14
                  ]]}
15
                ], "_to" : ["EXPRESSION", {
16
                  "args" : [["EXPRESSION", {
17
                    "args" : [["CONSTANT_VALUE", {
18
                      "value" : ["CST_LITERAL", "0"]}
19
                    ]]}
20
                  ]]}
21
                ]}
22
              ]]}
23
            ]}
24
          , "expr" : ["EXPRESSION", {
25
            "args" : [["EXPRESSION", {
26
              "args" : [["EXPRESSION", {
27
                "args" : [["EXPRESSION", {
28
                  "args" : [["CONSTANT_VALUE", {
29
                    "value" : ["CST_LITERAL", "X\"14\""]}
30
                  ]]}
31
                ]]}
32
              ]]}
33
            ]]}
34
          ]}
35
        ], "ports" : [{
36
          "names" : [["IDENTIFIER", "clk"]], "mode" : ["in"], "typ" : {
37
            "name" : ["SIMPLE_NAME", "std_logic"]}
38
          }
39
        , {
40
          "names" : [["IDENTIFIER", "reset"]], "mode" : ["in"], "typ" : {
41
            "name" : ["SIMPLE_NAME", "std_logic"]}
42
          }
43
        , {
44
          "names" : [["IDENTIFIER", "enable_write"]], "mode" : ["in"], "typ" : {
45
            "name" : ["SIMPLE_NAME", "std_logic"]}
46
          }
47
        , {
48
          "names" : [["IDENTIFIER", "data_in"]], "mode" : ["in"], "typ" : {
49
            "name" : ["SIMPLE_NAME", "std_logic_vector"], "const" : ["INDEX_CONSTRAINT", {
50
              "ranges" : [["RANGE_WITH_DIRECTION", {
51
                "direction" : "downto", "from" : ["EXPRESSION", {
52
                  "args" : [["EXPRESSION", {
53
                    "args" : [["CONSTANT_VALUE", {
54
                      "value" : ["CST_LITERAL", "7"]}
55
                    ]]}
56
                  ]]}
57
                ], "_to" : ["EXPRESSION", {
58
                  "args" : [["EXPRESSION", {
59
                    "args" : [["CONSTANT_VALUE", {
60
                      "value" : ["CST_LITERAL", "0"]}
61
                    ]]}
62
                  ]]}
63
                ]}
64
              ]]}
65
            ]}
66
          }
67
        , {
68
          "names" : [["IDENTIFIER", "data_out"]], "mode" : ["out"], "typ" : {
69
            "name" : ["SIMPLE_NAME", "std_logic_vector"], "const" : ["INDEX_CONSTRAINT", {
70
              "ranges" : [["RANGE_WITH_DIRECTION", {
71
                "direction" : "downto", "from" : ["EXPRESSION", {
72
                  "args" : [["EXPRESSION", {
73
                    "args" : [["CONSTANT_VALUE", {
74
                      "value" : ["CST_LITERAL", "7"]}
75
                    ]]}
76
                  ]]}
77
                ], "_to" : ["EXPRESSION", {
78
                  "args" : [["EXPRESSION", {
79
                    "args" : [["CONSTANT_VALUE", {
80
                      "value" : ["CST_LITERAL", "0"]}
81
                    ]]}
82
                  ]]}
83
                ]}
84
              ]]}
85
            ]}
86
          , "expr" : ["EXPRESSION", {
87
            "args" : [["EXPRESSION", {
88
              "args" : [["EXPRESSION", {
89
                "args" : [["EXPRESSION", {
90
                  "args" : [["AGGREGATE", {
91
                    "elems" : [{
92
                      "choices" : [["OTHERS"]], "expr" : ["EXPRESSION", {
93
                        "args" : [["EXPRESSION", {
94
                          "args" : [["EXPRESSION", {
95
                            "args" : [["EXPRESSION", {
96
                              "args" : [["CONSTANT_VALUE", {
97
                                "value" : ["CST_LITERAL", "'0'"]}
98
                              ]]}
99
                            ]]}
100
                          ]]}
101
                        ]]}
102
                      ]}
103
                    ]}
104
                  ]]}
105
                ]]}
106
              ]]}
107
            ]]}
108
          ]}
109
        , {
110
          "names" : [["IDENTIFIER", "uartRX"]], "mode" : ["in"], "typ" : {
111
            "name" : ["SIMPLE_NAME", "std_logic"]}
112
          }
113
        , {
114
          "names" : [["IDENTIFIER", "uartTX"]], "mode" : ["out"], "typ" : {
115
            "name" : ["SIMPLE_NAME", "std_logic"]}
116
          , "expr" : ["EXPRESSION", {
117
            "args" : [["EXPRESSION", {
118
              "args" : [["EXPRESSION", {
119
                "args" : [["EXPRESSION", {
120
                  "args" : [["CONSTANT_VALUE", {
121
                    "value" : ["CST_LITERAL", "'1'"]}
122
                  ]]}
123
                ]]}
124
              ]]}
125
            ]]}
126
          ]}
127
        , {
128
          "names" : [["IDENTIFIER", "busy_write"]], "mode" : ["out"], "typ" : {
129
            "name" : ["SIMPLE_NAME", "std_logic"]}
130
          , "expr" : ["EXPRESSION", {
131
            "args" : [["EXPRESSION", {
132
              "args" : [["EXPRESSION", {
133
                "args" : [["EXPRESSION", {
134
                  "args" : [["CONSTANT_VALUE", {
135
                    "value" : ["CST_LITERAL", "'0'"]}
136
                  ]]}
137
                ]]}
138
              ]]}
139
            ]]}
140
          ]}
141
        , {
142
          "names" : [["IDENTIFIER", "data_avail"]], "mode" : ["out"], "typ" : {
143
            "name" : ["SIMPLE_NAME", "std_logic"]}
144
          , "expr" : ["EXPRESSION", {
145
            "args" : [["EXPRESSION", {
146
              "args" : [["EXPRESSION", {
147
                "args" : [["EXPRESSION", {
148
                  "args" : [["CONSTANT_VALUE", {
149
                    "value" : ["CST_LITERAL", "'0'"]}
150
                  ]]}
151
                ]]}
152
              ]]}
153
            ]]}
154
          ]}
155
        , {
156
          "names" : [["IDENTIFIER", "baud_div"]], "mode" : ["in"], "typ" : {
157
            "name" : ["SIMPLE_NAME", "std_logic_vector"], "const" : ["INDEX_CONSTRAINT", {
158
              "ranges" : [["RANGE_WITH_DIRECTION", {
159
                "direction" : "downto", "from" : ["EXPRESSION", {
160
                  "args" : [["EXPRESSION", {
161
                    "args" : [["CONSTANT_VALUE", {
162
                      "value" : ["CST_LITERAL", "11"]}
163
                    ]]}
164
                  ]]}
165
                ], "_to" : ["EXPRESSION", {
166
                  "args" : [["EXPRESSION", {
167
                    "args" : [["CONSTANT_VALUE", {
168
                      "value" : ["CST_LITERAL", "0"]}
169
                    ]]}
170
                  ]]}
171
                ]}
172
              ]]}
173
            ]}
174
          }
175
        ], "ENTITY_DECLARATIVE_PART" : [], "ENTITY_STATEMENT_PART" : []}
176
      ]}
177
    , {
178
      "contexts" : [], "library" : ["ARCHITECTURE_BODY", {
179
        "name" : ["IDENTIFIER", "logic"], "entity" : ["IDENTIFIER", "uart"], "ARCHITECTURE_DECLARATIVE_PART" : [{
180
          "declaration" : ["CONSTANT_DECLARATION", {
181
            "names" : [["IDENTIFIER", "ZERO"]], "typ" : {
182
              "name" : ["SIMPLE_NAME", "std_logic_vector"], "const" : ["INDEX_CONSTRAINT", {
183
                "ranges" : [["RANGE_WITH_DIRECTION", {
184
                  "direction" : "downto", "from" : ["EXPRESSION", {
185
                    "args" : [["EXPRESSION", {
186
                      "args" : [["CONSTANT_VALUE", {
187
                        "value" : ["CST_LITERAL", "15"]}
188
                      ]]}
189
                    ]]}
190
                  ], "_to" : ["EXPRESSION", {
191
                    "args" : [["EXPRESSION", {
192
                      "args" : [["CONSTANT_VALUE", {
193
                        "value" : ["CST_LITERAL", "0"]}
194
                      ]]}
195
                    ]]}
196
                  ]}
197
                ]]}
198
              ]}
199
            , "init_val" : ["EXPRESSION", {
200
              "args" : [["EXPRESSION", {
201
                "args" : [["EXPRESSION", {
202
                  "args" : [["EXPRESSION", {
203
                    "args" : [["AGGREGATE", {
204
                      "elems" : [{
205
                        "choices" : [["OTHERS"]], "expr" : ["EXPRESSION", {
206
                          "args" : [["EXPRESSION", {
207
                            "args" : [["EXPRESSION", {
208
                              "args" : [["EXPRESSION", {
209
                                "args" : [["CONSTANT_VALUE", {
210
                                  "value" : ["CST_LITERAL", "'0'"]}
211
                                ]]}
212
                              ]]}
213
                            ]]}
214
                          ]]}
215
                        ]}
216
                      ]}
217
                    ]]}
218
                  ]]}
219
                ]]}
220
              ]]}
221
            ]}
222
          ]}
223
        , {
224
          "declaration" : ["CONSTANT_DECLARATION", {
225
            "names" : [["IDENTIFIER", "ONES"]], "typ" : {
226
              "name" : ["SIMPLE_NAME", "std_logic_vector"], "const" : ["INDEX_CONSTRAINT", {
227
                "ranges" : [["RANGE_WITH_DIRECTION", {
228
                  "direction" : "downto", "from" : ["EXPRESSION", {
229
                    "args" : [["EXPRESSION", {
230
                      "args" : [["CONSTANT_VALUE", {
231
                        "value" : ["CST_LITERAL", "15"]}
232
                      ]]}
233
                    ]]}
234
                  ], "_to" : ["EXPRESSION", {
235
                    "args" : [["EXPRESSION", {
236
                      "args" : [["CONSTANT_VALUE", {
237
                        "value" : ["CST_LITERAL", "0"]}
238
                      ]]}
239
                    ]]}
240
                  ]}
241
                ]]}
242
              ]}
243
            , "init_val" : ["EXPRESSION", {
244
              "args" : [["EXPRESSION", {
245
                "args" : [["EXPRESSION", {
246
                  "args" : [["EXPRESSION", {
247
                    "args" : [["AGGREGATE", {
248
                      "elems" : [{
249
                        "choices" : [["OTHERS"]], "expr" : ["EXPRESSION", {
250
                          "args" : [["EXPRESSION", {
251
                            "args" : [["EXPRESSION", {
252
                              "args" : [["EXPRESSION", {
253
                                "args" : [["CONSTANT_VALUE", {
254
                                  "value" : ["CST_LITERAL", "'1'"]}
255
                                ]]}
256
                              ]]}
257
                            ]]}
258
                          ]]}
259
                        ]}
260
                      ]}
261
                    ]]}
262
                  ]]}
263
                ]]}
264
              ]]}
265
            ]}
266
          ]}
267
        , {
268
          "declaration" : ["CONSTANT_DECLARATION", {
269
            "names" : [["IDENTIFIER", "NUM_BITS"]], "typ" : {
270
              "name" : ["SIMPLE_NAME", "std_logic_vector"], "const" : ["INDEX_CONSTRAINT", {
271
                "ranges" : [["RANGE_WITH_DIRECTION", {
272
                  "direction" : "downto", "from" : ["EXPRESSION", {
273
                    "args" : [["EXPRESSION", {
274
                      "args" : [["CONSTANT_VALUE", {
275
                        "value" : ["CST_LITERAL", "3"]}
276
                      ]]}
277
                    ]]}
278
                  ], "_to" : ["EXPRESSION", {
279
                    "args" : [["EXPRESSION", {
280
                      "args" : [["CONSTANT_VALUE", {
281
                        "value" : ["CST_LITERAL", "0"]}
282
                      ]]}
283
                    ]]}
284
                  ]}
285
                ]]}
286
              ]}
287
            , "init_val" : ["EXPRESSION", {
288
              "args" : [["EXPRESSION", {
289
                "args" : [["EXPRESSION", {
290
                  "args" : [["EXPRESSION", {
291
                    "args" : [["CONSTANT_VALUE", {
292
                      "value" : ["CST_LITERAL", "X\"A\""]}
293
                    ]]}
294
                  ]]}
295
                ]]}
296
              ]]}
297
            ]}
298
          ]}
299
        , {
300
          "declaration" : ["SIGNAL_DECLARATION", {
301
            "names" : [["IDENTIFIER", "prescale_count"]], "typ" : {
302
              "name" : ["SIMPLE_NAME", "std_logic_vector"], "const" : ["INDEX_CONSTRAINT", {
303
                "ranges" : [["RANGE_WITH_DIRECTION", {
304
                  "direction" : "downto", "from" : ["EXPRESSION", {
305
                    "args" : [["EXPRESSION", {
306
                      "args" : [["CONSTANT_VALUE", {
307
                        "value" : ["CST_LITERAL", "7"]}
308
                      ]]}
309
                    ]]}
310
                  ], "_to" : ["EXPRESSION", {
311
                    "args" : [["EXPRESSION", {
312
                      "args" : [["CONSTANT_VALUE", {
313
                        "value" : ["CST_LITERAL", "0"]}
314
                      ]]}
315
                    ]]}
316
                  ]}
317
                ]]}
318
              ]}
319
            , "init_val" : ["EXPRESSION", {
320
              "args" : [["EXPRESSION", {
321
                "args" : [["EXPRESSION", {
322
                  "args" : [["EXPRESSION", {
323
                    "args" : [["AGGREGATE", {
324
                      "elems" : [{
325
                        "choices" : [["OTHERS"]], "expr" : ["EXPRESSION", {
326
                          "args" : [["EXPRESSION", {
327
                            "args" : [["EXPRESSION", {
328
                              "args" : [["EXPRESSION", {
329
                                "args" : [["CONSTANT_VALUE", {
330
                                  "value" : ["CST_LITERAL", "'0'"]}
331
                                ]]}
332
                              ]]}
333
                            ]]}
334
                          ]]}
335
                        ]}
336
                      ]}
337
                    ]]}
338
                  ]]}
339
                ]]}
340
              ]]}
341
            ]}
342
          ]}
343
        , {
344
          "declaration" : ["SIGNAL_DECLARATION", {
345
            "names" : [["IDENTIFIER", "ps_enable"]], "typ" : {
346
              "name" : ["SIMPLE_NAME", "std_logic"]}
347
            , "init_val" : ["EXPRESSION", {
348
              "args" : [["EXPRESSION", {
349
                "args" : [["EXPRESSION", {
350
                  "args" : [["EXPRESSION", {
351
                    "args" : [["CONSTANT_VALUE", {
352
                      "value" : ["CST_LITERAL", "'0'"]}
353
                    ]]}
354
                  ]]}
355
                ]]}
356
              ]]}
357
            ]}
358
          ]}
359
        , {
360
          "declaration" : ["SIGNAL_DECLARATION", {
361
            "names" : [["IDENTIFIER", "rx_prescale_count"]], "typ" : {
362
              "name" : ["SIMPLE_NAME", "std_logic_vector"], "const" : ["INDEX_CONSTRAINT", {
363
                "ranges" : [["RANGE_WITH_DIRECTION", {
364
                  "direction" : "downto", "from" : ["EXPRESSION", {
365
                    "args" : [["EXPRESSION", {
366
                      "args" : [["CONSTANT_VALUE", {
367
                        "value" : ["CST_LITERAL", "7"]}
368
                      ]]}
369
                    ]]}
370
                  ], "_to" : ["EXPRESSION", {
371
                    "args" : [["EXPRESSION", {
372
                      "args" : [["CONSTANT_VALUE", {
373
                        "value" : ["CST_LITERAL", "0"]}
374
                      ]]}
375
                    ]]}
376
                  ]}
377
                ]]}
378
              ]}
379
            , "init_val" : ["EXPRESSION", {
380
              "args" : [["EXPRESSION", {
381
                "args" : [["EXPRESSION", {
382
                  "args" : [["EXPRESSION", {
383
                    "args" : [["AGGREGATE", {
384
                      "elems" : [{
385
                        "choices" : [["OTHERS"]], "expr" : ["EXPRESSION", {
386
                          "args" : [["EXPRESSION", {
387
                            "args" : [["EXPRESSION", {
388
                              "args" : [["EXPRESSION", {
389
                                "args" : [["CONSTANT_VALUE", {
390
                                  "value" : ["CST_LITERAL", "'0'"]}
391
                                ]]}
392
                              ]]}
393
                            ]]}
394
                          ]]}
395
                        ]}
396
                      ]}
397
                    ]]}
398
                  ]]}
399
                ]]}
400
              ]]}
401
            ]}
402
          ]}
403
        , {
404
          "declaration" : ["SIGNAL_DECLARATION", {
405
            "names" : [["IDENTIFIER", "rx_ps_enable"]], "typ" : {
406
              "name" : ["SIMPLE_NAME", "std_logic"]}
407
            , "init_val" : ["EXPRESSION", {
408
              "args" : [["EXPRESSION", {
409
                "args" : [["EXPRESSION", {
410
                  "args" : [["EXPRESSION", {
411
                    "args" : [["CONSTANT_VALUE", {
412
                      "value" : ["CST_LITERAL", "'0'"]}
413
                    ]]}
414
                  ]]}
415
                ]]}
416
              ]]}
417
            ]}
418
          ]}
419
        , {
420
          "declaration" : ["SIGNAL_DECLARATION", {
421
            "names" : [["IDENTIFIER", "rx_in_progress"]], "typ" : {
422
              "name" : ["SIMPLE_NAME", "std_logic"]}
423
            , "init_val" : ["EXPRESSION", {
424
              "args" : [["EXPRESSION", {
425
                "args" : [["EXPRESSION", {
426
                  "args" : [["EXPRESSION", {
427
                    "args" : [["CONSTANT_VALUE", {
428
                      "value" : ["CST_LITERAL", "'0'"]}
429
                    ]]}
430
                  ]]}
431
                ]]}
432
              ]]}
433
            ]}
434
          ]}
435
        , {
436
          "declaration" : ["SIGNAL_DECLARATION", {
437
            "names" : [["IDENTIFIER", "delay_write_reg"]], "typ" : {
438
              "name" : ["SIMPLE_NAME", "std_logic_vector"], "const" : ["INDEX_CONSTRAINT", {
439
                "ranges" : [["RANGE_WITH_DIRECTION", {
440
                  "direction" : "downto", "from" : ["EXPRESSION", {
441
                    "args" : [["EXPRESSION", {
442
                      "args" : [["CONSTANT_VALUE", {
443
                        "value" : ["CST_LITERAL", "11"]}
444
                      ]]}
445
                    ]]}
446
                  ], "_to" : ["EXPRESSION", {
447
                    "args" : [["EXPRESSION", {
448
                      "args" : [["CONSTANT_VALUE", {
449
                        "value" : ["CST_LITERAL", "0"]}
450
                      ]]}
451
                    ]]}
452
                  ]}
453
                ]]}
454
              ]}
455
            , "init_val" : ["EXPRESSION", {
456
              "args" : [["EXPRESSION", {
457
                "args" : [["EXPRESSION", {
458
                  "args" : [["EXPRESSION", {
459
                    "args" : [["AGGREGATE", {
460
                      "elems" : [{
461
                        "choices" : [["OTHERS"]], "expr" : ["EXPRESSION", {
462
                          "args" : [["EXPRESSION", {
463
                            "args" : [["EXPRESSION", {
464
                              "args" : [["EXPRESSION", {
465
                                "args" : [["CONSTANT_VALUE", {
466
                                  "value" : ["CST_LITERAL", "'0'"]}
467
                                ]]}
468
                              ]]}
469
                            ]]}
470
                          ]]}
471
                        ]}
472
                      ]}
473
                    ]]}
474
                  ]]}
475
                ]]}
476
              ]]}
477
            ]}
478
          ]}
479
        , {
480
          "declaration" : ["SIGNAL_DECLARATION", {
481
            "names" : [["IDENTIFIER", "bits_write_reg"]], "typ" : {
482
              "name" : ["SIMPLE_NAME", "std_logic_vector"], "const" : ["INDEX_CONSTRAINT", {
483
                "ranges" : [["RANGE_WITH_DIRECTION", {
484
                  "direction" : "downto", "from" : ["EXPRESSION", {
485
                    "args" : [["EXPRESSION", {
486
                      "args" : [["CONSTANT_VALUE", {
487
                        "value" : ["CST_LITERAL", "3"]}
488
                      ]]}
489
                    ]]}
490
                  ], "_to" : ["EXPRESSION", {
491
                    "args" : [["EXPRESSION", {
492
                      "args" : [["CONSTANT_VALUE", {
493
                        "value" : ["CST_LITERAL", "0"]}
494
                      ]]}
495
                    ]]}
496
                  ]}
497
                ]]}
498
              ]}
499
            , "init_val" : ["EXPRESSION", {
500
              "args" : [["EXPRESSION", {
501
                "args" : [["EXPRESSION", {
502
                  "args" : [["EXPRESSION", {
503
                    "args" : [["AGGREGATE", {
504
                      "elems" : [{
505
                        "choices" : [["OTHERS"]], "expr" : ["EXPRESSION", {
506
                          "args" : [["EXPRESSION", {
507
                            "args" : [["EXPRESSION", {
508
                              "args" : [["EXPRESSION", {
509
                                "args" : [["CONSTANT_VALUE", {
510
                                  "value" : ["CST_LITERAL", "'0'"]}
511
                                ]]}
512
                              ]]}
513
                            ]]}
514
                          ]]}
515
                        ]}
516
                      ]}
517
                    ]]}
518
                  ]]}
519
                ]]}
520
              ]]}
521
            ]}
522
          ]}
523
        , {
524
          "declaration" : ["SIGNAL_DECLARATION", {
525
            "names" : [["IDENTIFIER", "data_write_reg"]], "typ" : {
526
              "name" : ["SIMPLE_NAME", "std_logic_vector"], "const" : ["INDEX_CONSTRAINT", {
527
                "ranges" : [["RANGE_WITH_DIRECTION", {
528
                  "direction" : "downto", "from" : ["EXPRESSION", {
529
                    "args" : [["EXPRESSION", {
530
                      "args" : [["CONSTANT_VALUE", {
531
                        "value" : ["CST_LITERAL", "8"]}
532
                      ]]}
533
                    ]]}
534
                  ], "_to" : ["EXPRESSION", {
535
                    "args" : [["EXPRESSION", {
536
                      "args" : [["CONSTANT_VALUE", {
537
                        "value" : ["CST_LITERAL", "0"]}
538
                      ]]}
539
                    ]]}
540
                  ]}
541
                ]]}
542
              ]}
543
            , "init_val" : ["EXPRESSION", {
544
              "args" : [["EXPRESSION", {
545
                "args" : [["EXPRESSION", {
546
                  "args" : [["EXPRESSION", {
547
                    "args" : [["AGGREGATE", {
548
                      "elems" : [{
549
                        "choices" : [["OTHERS"]], "expr" : ["EXPRESSION", {
550
                          "args" : [["EXPRESSION", {
551
                            "args" : [["EXPRESSION", {
552
                              "args" : [["EXPRESSION", {
553
                                "args" : [["CONSTANT_VALUE", {
554
                                  "value" : ["CST_LITERAL", "'1'"]}
555
                                ]]}
556
                              ]]}
557
                            ]]}
558
                          ]]}
559
                        ]}
560
                      ]}
561
                    ]]}
562
                  ]]}
563
                ]]}
564
              ]]}
565
            ]}
566
          ]}
567
        , {
568
          "declaration" : ["SIGNAL_DECLARATION", {
569
            "names" : [["IDENTIFIER", "delay_read_reg"]], "typ" : {
570
              "name" : ["SIMPLE_NAME", "std_logic_vector"], "const" : ["INDEX_CONSTRAINT", {
571
                "ranges" : [["RANGE_WITH_DIRECTION", {
572
                  "direction" : "downto", "from" : ["EXPRESSION", {
573
                    "args" : [["EXPRESSION", {
574
                      "args" : [["CONSTANT_VALUE", {
575
                        "value" : ["CST_LITERAL", "11"]}
576
                      ]]}
577
                    ]]}
578
                  ], "_to" : ["EXPRESSION", {
579
                    "args" : [["EXPRESSION", {
580
                      "args" : [["CONSTANT_VALUE", {
581
                        "value" : ["CST_LITERAL", "0"]}
582
                      ]]}
583
                    ]]}
584
                  ]}
585
                ]]}
586
              ]}
587
            , "init_val" : ["EXPRESSION", {
588
              "args" : [["EXPRESSION", {
589
                "args" : [["EXPRESSION", {
590
                  "args" : [["EXPRESSION", {
591
                    "args" : [["AGGREGATE", {
592
                      "elems" : [{
593
                        "choices" : [["OTHERS"]], "expr" : ["EXPRESSION", {
594
                          "args" : [["EXPRESSION", {
595
                            "args" : [["EXPRESSION", {
596
                              "args" : [["EXPRESSION", {
597
                                "args" : [["CONSTANT_VALUE", {
598
                                  "value" : ["CST_LITERAL", "'0'"]}
599
                                ]]}
600
                              ]]}
601
                            ]]}
602
                          ]]}
603
                        ]}
604
                      ]}
605
                    ]]}
606
                  ]]}
607
                ]]}
608
              ]]}
609
            ]}
610
          ]}
611
        , {
612
          "declaration" : ["SIGNAL_DECLARATION", {
613
            "names" : [["IDENTIFIER", "bits_read_reg"]], "typ" : {
614
              "name" : ["SIMPLE_NAME", "std_logic_vector"], "const" : ["INDEX_CONSTRAINT", {
615
                "ranges" : [["RANGE_WITH_DIRECTION", {
616
                  "direction" : "downto", "from" : ["EXPRESSION", {
617
                    "args" : [["EXPRESSION", {
618
                      "args" : [["CONSTANT_VALUE", {
619
                        "value" : ["CST_LITERAL", "3"]}
620
                      ]]}
621
                    ]]}
622
                  ], "_to" : ["EXPRESSION", {
623
                    "args" : [["EXPRESSION", {
624
                      "args" : [["CONSTANT_VALUE", {
625
                        "value" : ["CST_LITERAL", "0"]}
626
                      ]]}
627
                    ]]}
628
                  ]}
629
                ]]}
630
              ]}
631
            , "init_val" : ["EXPRESSION", {
632
              "args" : [["EXPRESSION", {
633
                "args" : [["EXPRESSION", {
634
                  "args" : [["EXPRESSION", {
635
                    "args" : [["AGGREGATE", {
636
                      "elems" : [{
637
                        "choices" : [["OTHERS"]], "expr" : ["EXPRESSION", {
638
                          "args" : [["EXPRESSION", {
639
                            "args" : [["EXPRESSION", {
640
                              "args" : [["EXPRESSION", {
641
                                "args" : [["CONSTANT_VALUE", {
642
                                  "value" : ["CST_LITERAL", "'0'"]}
643
                                ]]}
644
                              ]]}
645
                            ]]}
646
                          ]]}
647
                        ]}
648
                      ]}
649
                    ]]}
650
                  ]]}
651
                ]]}
652
              ]]}
653
            ]}
654
          ]}
655
        , {
656
          "declaration" : ["SIGNAL_DECLARATION", {
657
            "names" : [["IDENTIFIER", "data_read_reg"]], "typ" : {
658
              "name" : ["SIMPLE_NAME", "std_logic_vector"], "const" : ["INDEX_CONSTRAINT", {
659
                "ranges" : [["RANGE_WITH_DIRECTION", {
660
                  "direction" : "downto", "from" : ["EXPRESSION", {
661
                    "args" : [["EXPRESSION", {
662
                      "args" : [["CONSTANT_VALUE", {
663
                        "value" : ["CST_LITERAL", "7"]}
664
                      ]]}
665
                    ]]}
666
                  ], "_to" : ["EXPRESSION", {
667
                    "args" : [["EXPRESSION", {
668
                      "args" : [["CONSTANT_VALUE", {
669
                        "value" : ["CST_LITERAL", "0"]}
670
                      ]]}
671
                    ]]}
672
                  ]}
673
                ]]}
674
              ]}
675
            , "init_val" : ["EXPRESSION", {
676
              "args" : [["EXPRESSION", {
677
                "args" : [["EXPRESSION", {
678
                  "args" : [["EXPRESSION", {
679
                    "args" : [["AGGREGATE", {
680
                      "elems" : [{
681
                        "choices" : [["OTHERS"]], "expr" : ["EXPRESSION", {
682
                          "args" : [["EXPRESSION", {
683
                            "args" : [["EXPRESSION", {
684
                              "args" : [["EXPRESSION", {
685
                                "args" : [["CONSTANT_VALUE", {
686
                                  "value" : ["CST_LITERAL", "'1'"]}
687
                                ]]}
688
                              ]]}
689
                            ]]}
690
                          ]]}
691
                        ]}
692
                      ]}
693
                    ]]}
694
                  ]]}
695
                ]]}
696
              ]]}
697
            ]}
698
          ]}
699
        , {
700
          "declaration" : ["SIGNAL_DECLARATION", {
701
            "names" : [["IDENTIFIER", "busy_write_sig"]], "typ" : {
702
              "name" : ["SIMPLE_NAME", "std_logic"]}
703
            , "init_val" : ["EXPRESSION", {
704
              "args" : [["EXPRESSION", {
705
                "args" : [["EXPRESSION", {
706
                  "args" : [["EXPRESSION", {
707
                    "args" : [["CONSTANT_VALUE", {
708
                      "value" : ["CST_LITERAL", "'0'"]}
709
                    ]]}
710
                  ]]}
711
                ]]}
712
              ]]}
713
            ]}
714
          ]}
715
        , {
716
          "declaration" : ["SIGNAL_DECLARATION", {
717
            "names" : [["IDENTIFIER", "uart_rx_reg"]], "typ" : {
718
              "name" : ["SIMPLE_NAME", "std_logic"]}
719
            , "init_val" : ["EXPRESSION", {
720
              "args" : [["EXPRESSION", {
721
                "args" : [["EXPRESSION", {
722
                  "args" : [["EXPRESSION", {
723
                    "args" : [["CONSTANT_VALUE", {
724
                      "value" : ["CST_LITERAL", "'1'"]}
725
                    ]]}
726
                  ]]}
727
                ]]}
728
              ]]}
729
            ]}
730
          ]}
731
        , {
732
          "declaration" : ["SIGNAL_DECLARATION", {
733
            "names" : [["IDENTIFIER", "uartRX2"]], "typ" : {
734
              "name" : ["SIMPLE_NAME", "std_logic"]}
735
            , "init_val" : ["EXPRESSION", {
736
              "args" : [["EXPRESSION", {
737
                "args" : [["EXPRESSION", {
738
                  "args" : [["EXPRESSION", {
739
                    "args" : [["CONSTANT_VALUE", {
740
                      "value" : ["CST_LITERAL", "'1'"]}
741
                    ]]}
742
                  ]]}
743
                ]]}
744
              ]]}
745
            ]}
746
          ]}
747
        , {
748
          "declaration" : ["SIGNAL_DECLARATION", {
749
            "names" : [["IDENTIFIER", "rx_start_delay"]], "typ" : {
750
              "name" : ["SIMPLE_NAME", "std_logic_vector"], "const" : ["INDEX_CONSTRAINT", {
751
                "ranges" : [["RANGE_WITH_DIRECTION", {
752
                  "direction" : "downto", "from" : ["EXPRESSION", {
753
                    "args" : [["EXPRESSION", {
754
                      "args" : [["CONSTANT_VALUE", {
755
                        "value" : ["CST_LITERAL", "2"]}
756
                      ]]}
757
                    ]]}
758
                  ], "_to" : ["EXPRESSION", {
759
                    "args" : [["EXPRESSION", {
760
                      "args" : [["CONSTANT_VALUE", {
761
                        "value" : ["CST_LITERAL", "0"]}
762
                      ]]}
763
                    ]]}
764
                  ]}
765
                ]]}
766
              ]}
767
            }
768
          ]}
769
        ], "ARCHITECTURE_STATEMENT_PART" : [["COMPONENT_INSTANTIATION_STATEMENT", {
770
          "name" : ["IDENTIFIER", "u1_rx_in"], "inst_unit" : ["SELECTED_NAME", [["SIMPLE_NAME", "work"], ["IDENTIFIER", "InputPort"]]], "inst_unit_type" : "entity", "generic_map" : [{
771
            "formal_name" : ["SIMPLE_NAME", "W"], "actual_expr" : ["EXPRESSION", {
772
              "args" : [["EXPRESSION", {
773
                "args" : [["EXPRESSION", {
774
                  "args" : [["EXPRESSION", {
775
                    "args" : [["CONSTANT_VALUE", {
776
                      "value" : ["CST_LITERAL", "1"]}
777
                    ]]}
778
                  ]]}
779
                ]]}
780
              ]]}
781
            ]}
782
          , {
783
            "formal_name" : ["SIMPLE_NAME", "D"], "actual_expr" : ["EXPRESSION", {
784
              "args" : [["EXPRESSION", {
785
                "args" : [["EXPRESSION", {
786
                  "args" : [["EXPRESSION", {
787
                    "args" : [["CONSTANT_VALUE", {
788
                      "value" : ["CST_LITERAL", "4"]}
789
                    ]]}
790
                  ]]}
791
                ]]}
792
              ]]}
793
            ]}
794
          , {
795
            "formal_name" : ["SIMPLE_NAME", "RESET_VAL"], "actual_expr" : ["EXPRESSION", {
796
              "args" : [["EXPRESSION", {
797
                "args" : [["EXPRESSION", {
798
                  "args" : [["EXPRESSION", {
799
                    "args" : [["CONSTANT_VALUE", {
800
                      "value" : ["CST_LITERAL", "'1'"]}
801
                    ]]}
802
                  ]]}
803
                ]]}
804
              ]]}
805
            ]}
806
          ], "port_map" : [{
807
            "formal_name" : ["SIMPLE_NAME", "clk"], "actual_designator" : ["SIMPLE_NAME", "clk"]}
808
          , {
809
            "formal_name" : ["SIMPLE_NAME", "reset"], "actual_designator" : ["SIMPLE_NAME", "reset"]}
810
          , {
811
            "formal_name" : ["INDEXED_NAME", {
812
              "id" : ["SIMPLE_NAME", "port_i"], "exprs" : [["EXPRESSION", {
813
                "args" : [["EXPRESSION", {
814
                  "args" : [["EXPRESSION", {
815
                    "args" : [["EXPRESSION", {
816
                      "args" : [["CONSTANT_VALUE", {
817
                        "value" : ["CST_LITERAL", "0"]}
818
                      ]]}
819
                    ]]}
820
                  ]]}
821
                ]]}
822
              ]]}
823
            ], "actual_designator" : ["SIMPLE_NAME", "uartRX"]}
824
          , {
825
            "formal_name" : ["INDEXED_NAME", {
826
              "id" : ["SIMPLE_NAME", "reg_i"], "exprs" : [["EXPRESSION", {
827
                "args" : [["EXPRESSION", {
828
                  "args" : [["EXPRESSION", {
829
                    "args" : [["EXPRESSION", {
830
                      "args" : [["CONSTANT_VALUE", {
831
                        "value" : ["CST_LITERAL", "0"]}
832
                      ]]}
833
                    ]]}
834
                  ]]}
835
                ]]}
836
              ]]}
837
            ], "actual_designator" : ["SIMPLE_NAME", "uartRX2"]}
838
          ]}
839
        ], ["PROCESS_STATEMENT", {
840
          "id" : ["IDENTIFIER", "PRE_SCALE"], "active_sigs" : [["SIMPLE_NAME", "clk"], ["SIMPLE_NAME", "reset"]], "PROCESS_STATEMENT_PART" : [["IF_STATEMENT", {
841
            "if_cases" : [{
842
              "if_cond" : ["EXPRESSION", {
843
                "id" : "=", "args" : [["EXPRESSION", {
844
                  "args" : [["EXPRESSION", {
845
                    "args" : [["EXPRESSION", {
846
                      "args" : [["CALL", ["SIMPLE_NAME", "reset"]]]}
847
                    ]]}
848
                  ]]}
849
                ], ["EXPRESSION", {
850
                  "args" : [["EXPRESSION", {
851
                    "args" : [["EXPRESSION", {
852
                      "args" : [["CONSTANT_VALUE", {
853
                        "value" : ["CST_LITERAL", "'1'"]}
854
                      ]]}
855
                    ]]}
856
                  ]]}
857
                ]]}
858
              ], "if_block" : [["SIGNAL_ASSIGNMENT_STATEMENT", {
859
                "lhs" : ["SIMPLE_NAME", "prescale_count"], "rhs" : [{
860
                  "value" : ["EXPRESSION", {
861
                    "args" : [["EXPRESSION", {
862
                      "args" : [["EXPRESSION", {
863
                        "args" : [["EXPRESSION", {
864
                          "args" : [["AGGREGATE", {
865
                            "elems" : [{
866
                              "choices" : [["OTHERS"]], "expr" : ["EXPRESSION", {
867
                                "args" : [["EXPRESSION", {
868
                                  "args" : [["EXPRESSION", {
869
                                    "args" : [["EXPRESSION", {
870
                                      "args" : [["CONSTANT_VALUE", {
871
                                        "value" : ["CST_LITERAL", "'0'"]}
872
                                      ]]}
873
                                    ]]}
874
                                  ]]}
875
                                ]]}
876
                              ]}
877
                            ]}
878
                          ]]}
879
                        ]]}
880
                      ]]}
881
                    ]]}
882
                  ]}
883
                ]}
884
              ], ["SIGNAL_ASSIGNMENT_STATEMENT", {
885
                "lhs" : ["SIMPLE_NAME", "ps_enable"], "rhs" : [{
886
                  "value" : ["EXPRESSION", {
887
                    "args" : [["EXPRESSION", {
888
                      "args" : [["EXPRESSION", {
889
                        "args" : [["EXPRESSION", {
890
                          "args" : [["CONSTANT_VALUE", {
891
                            "value" : ["CST_LITERAL", "'0'"]}
892
                          ]]}
893
                        ]]}
894
                      ]]}
895
                    ]]}
896
                  ]}
897
                ]}
898
              ], ["SIGNAL_ASSIGNMENT_STATEMENT", {
899
                "lhs" : ["SIMPLE_NAME", "rx_prescale_count"], "rhs" : [{
900
                  "value" : ["EXPRESSION", {
901
                    "args" : [["EXPRESSION", {
902
                      "args" : [["EXPRESSION", {
903
                        "args" : [["EXPRESSION", {
904
                          "args" : [["AGGREGATE", {
905
                            "elems" : [{
906
                              "choices" : [["OTHERS"]], "expr" : ["EXPRESSION", {
907
                                "args" : [["EXPRESSION", {
908
                                  "args" : [["EXPRESSION", {
909
                                    "args" : [["EXPRESSION", {
910
                                      "args" : [["CONSTANT_VALUE", {
911
                                        "value" : ["CST_LITERAL", "'0'"]}
912
                                      ]]}
913
                                    ]]}
914
                                  ]]}
915
                                ]]}
916
                              ]}
917
                            ]}
918
                          ]]}
919
                        ]]}
920
                      ]]}
921
                    ]]}
922
                  ]}
923
                ]}
924
              ], ["SIGNAL_ASSIGNMENT_STATEMENT", {
925
                "lhs" : ["SIMPLE_NAME", "rx_ps_enable"], "rhs" : [{
926
                  "value" : ["EXPRESSION", {
927
                    "args" : [["EXPRESSION", {
928
                      "args" : [["EXPRESSION", {
929
                        "args" : [["EXPRESSION", {
930
                          "args" : [["CONSTANT_VALUE", {
931
                            "value" : ["CST_LITERAL", "'0'"]}
932
                          ]]}
933
                        ]]}
934
                      ]]}
935
                    ]]}
936
                  ]}
937
                ]}
938
              ]]}
939
            , {
940
              "if_cond" : ["EXPRESSION", {
941
                "args" : [["EXPRESSION", {
942
                  "args" : [["EXPRESSION", {
943
                    "args" : [["EXPRESSION", {
944
                      "args" : [["CALL", ["FUNCTION_CALL", {
945
                        "id" : ["SIMPLE_NAME", "rising_edge"], "assoc_list" : [{
946
                          "actual_designator" : ["SIMPLE_NAME", "clk"]}
947
                        ]}
948
                      ]]]}
949
                    ]]}
950
                  ]]}
951
                ]]}
952
              ], "if_block" : [["IF_STATEMENT", {
953
                "if_cases" : [{
954
                  "if_cond" : ["EXPRESSION", {
955
                    "id" : "=", "args" : [["EXPRESSION", {
956
                      "args" : [["EXPRESSION", {
957
                        "args" : [["EXPRESSION", {
958
                          "args" : [["CALL", ["SIMPLE_NAME", "prescale_count"]]]}
959
                        ]]}
960
                      ]]}
961
                    ], ["EXPRESSION", {
962
                      "args" : [["EXPRESSION", {
963
                        "args" : [["EXPRESSION", {
964
                          "args" : [["CALL", ["SIMPLE_NAME", "PRESCALE_DIV"]]]}
965
                        ]]}
966
                      ]]}
967
                    ]]}
968
                  ], "if_block" : [["SIGNAL_ASSIGNMENT_STATEMENT", {
969
                    "lhs" : ["SIMPLE_NAME", "prescale_count"], "rhs" : [{
970
                      "value" : ["EXPRESSION", {
971
                        "args" : [["EXPRESSION", {
972
                          "args" : [["EXPRESSION", {
973
                            "args" : [["EXPRESSION", {
974
                              "args" : [["AGGREGATE", {
975
                                "elems" : [{
976
                                  "choices" : [["OTHERS"]], "expr" : ["EXPRESSION", {
977
                                    "args" : [["EXPRESSION", {
978
                                      "args" : [["EXPRESSION", {
979
                                        "args" : [["EXPRESSION", {
980
                                          "args" : [["CONSTANT_VALUE", {
981
                                            "value" : ["CST_LITERAL", "'0'"]}
982
                                          ]]}
983
                                        ]]}
984
                                      ]]}
985
                                    ]]}
986
                                  ]}
987
                                ]}
988
                              ]]}
989
                            ]]}
990
                          ]]}
991
                        ]]}
992
                      ]}
993
                    ]}
994
                  ], ["SIGNAL_ASSIGNMENT_STATEMENT", {
995
                    "lhs" : ["SIMPLE_NAME", "ps_enable"], "rhs" : [{
996
                      "value" : ["EXPRESSION", {
997
                        "args" : [["EXPRESSION", {
998
                          "args" : [["EXPRESSION", {
999
                            "args" : [["EXPRESSION", {
1000
                              "args" : [["CONSTANT_VALUE", {
1001
                                "value" : ["CST_LITERAL", "'1'"]}
1002
                              ]]}
1003
                            ]]}
1004
                          ]]}
1005
                        ]]}
1006
                      ]}
1007
                    ]}
1008
                  ]]}
1009
                ], "default" : [["SIGNAL_ASSIGNMENT_STATEMENT", {
1010
                  "lhs" : ["SIMPLE_NAME", "ps_enable"], "rhs" : [{
1011
                    "value" : ["EXPRESSION", {
1012
                      "args" : [["EXPRESSION", {
1013
                        "args" : [["EXPRESSION", {
1014
                          "args" : [["EXPRESSION", {
1015
                            "args" : [["CONSTANT_VALUE", {
1016
                              "value" : ["CST_LITERAL", "'0'"]}
1017
                            ]]}
1018
                          ]]}
1019
                        ]]}
1020
                      ]]}
1021
                    ]}
1022
                  ]}
1023
                ], ["SIGNAL_ASSIGNMENT_STATEMENT", {
1024
                  "lhs" : ["SIMPLE_NAME", "prescale_count"], "rhs" : [{
1025
                    "value" : ["EXPRESSION", {
1026
                      "args" : [["EXPRESSION", {
1027
                        "args" : [["EXPRESSION", {
1028
                          "args" : [["EXPRESSION", {
1029
                            "id" : "+", "args" : [["EXPRESSION", {
1030
                              "args" : [["CALL", ["SIMPLE_NAME", "prescale_count"]]]}
1031
                            ], ["EXPRESSION", {
1032
                              "args" : [["CONSTANT_VALUE", {
1033
                                "value" : ["CST_LITERAL", "1"]}
1034
                              ]]}
1035
                            ]]}
1036
                          ]]}
1037
                        ]]}
1038
                      ]]}
1039
                    ]}
1040
                  ]}
1041
                ]]}
1042
              ], ["IF_STATEMENT", {
1043
                "if_cases" : [{
1044
                  "if_cond" : ["EXPRESSION", {
1045
                    "id" : "and", "args" : [["EXPRESSION", {
1046
                      "id" : "=", "args" : [["EXPRESSION", {
1047
                        "args" : [["EXPRESSION", {
1048
                          "args" : [["EXPRESSION", {
1049
                            "args" : [["CALL", ["FUNCTION_CALL", {
1050
                              "id" : ["SIMPLE_NAME", "rx_start_delay"], "assoc_list" : [{
1051
                                "actual_expr" : ["EXPRESSION", {
1052
                                  "args" : [["EXPRESSION", {
1053
                                    "args" : [["EXPRESSION", {
1054
                                      "args" : [["EXPRESSION", {
1055
                                        "args" : [["CONSTANT_VALUE", {
1056
                                          "value" : ["CST_LITERAL", "2"]}
1057
                                        ]]}
1058
                                      ]]}
1059
                                    ]]}
1060
                                  ]]}
1061
                                ]}
1062
                              ]}
1063
                            ]]]}
1064
                          ]]}
1065
                        ]]}
1066
                      ], ["EXPRESSION", {
1067
                        "args" : [["EXPRESSION", {
1068
                          "args" : [["EXPRESSION", {
1069
                            "args" : [["CONSTANT_VALUE", {
1070
                              "value" : ["CST_LITERAL", "'0'"]}
1071
                            ]]}
1072
                          ]]}
1073
                        ]]}
1074
                      ]]}
1075
                    ], ["EXPRESSION", {
1076
                      "id" : "=", "args" : [["EXPRESSION", {
1077
                        "args" : [["EXPRESSION", {
1078
                          "args" : [["EXPRESSION", {
1079
                            "args" : [["CALL", ["SIMPLE_NAME", "rx_prescale_count"]]]}
1080
                          ]]}
1081
                        ]]}
1082
                      ], ["EXPRESSION", {
1083
                        "args" : [["EXPRESSION", {
1084
                          "args" : [["EXPRESSION", {
1085
                            "args" : [["CALL", ["SIMPLE_NAME", "PRESCALE_DIV"]]]}
1086
                          ]]}
1087
                        ]]}
1088
                      ]]}
1089
                    ]]}
1090
                  ], "if_block" : [["SIGNAL_ASSIGNMENT_STATEMENT", {
1091
                    "lhs" : ["SIMPLE_NAME", "rx_prescale_count"], "rhs" : [{
1092
                      "value" : ["EXPRESSION", {
1093
                        "args" : [["EXPRESSION", {
1094
                          "args" : [["EXPRESSION", {
1095
                            "args" : [["EXPRESSION", {
1096
                              "args" : [["AGGREGATE", {
1097
                                "elems" : [{
1098
                                  "choices" : [["OTHERS"]], "expr" : ["EXPRESSION", {
1099
                                    "args" : [["EXPRESSION", {
1100
                                      "args" : [["EXPRESSION", {
1101
                                        "args" : [["EXPRESSION", {
1102
                                          "args" : [["CONSTANT_VALUE", {
1103
                                            "value" : ["CST_LITERAL", "'0'"]}
1104
                                          ]]}
1105
                                        ]]}
1106
                                      ]]}
1107
                                    ]]}
1108
                                  ]}
1109
                                ]}
1110
                              ]]}
1111
                            ]]}
1112
                          ]]}
1113
                        ]]}
1114
                      ]}
1115
                    ]}
1116
                  ], ["SIGNAL_ASSIGNMENT_STATEMENT", {
1117
                    "lhs" : ["SIMPLE_NAME", "rx_ps_enable"], "rhs" : [{
1118
                      "value" : ["EXPRESSION", {
1119
                        "args" : [["EXPRESSION", {
1120
                          "args" : [["EXPRESSION", {
1121
                            "args" : [["EXPRESSION", {
1122
                              "args" : [["CONSTANT_VALUE", {
1123
                                "value" : ["CST_LITERAL", "'1'"]}
1124
                              ]]}
1125
                            ]]}
1126
                          ]]}
1127
                        ]]}
1128
                      ]}
1129
                    ]}
1130
                  ]]}
1131
                , {
1132
                  "if_cond" : ["EXPRESSION", {
1133
                    "id" : "and", "args" : [["EXPRESSION", {
1134
                      "id" : "=", "args" : [["EXPRESSION", {
1135
                        "args" : [["EXPRESSION", {
1136
                          "args" : [["EXPRESSION", {
1137
                            "args" : [["CALL", ["FUNCTION_CALL", {
1138
                              "id" : ["SIMPLE_NAME", "rx_start_delay"], "assoc_list" : [{
1139
                                "actual_expr" : ["EXPRESSION", {
1140
                                  "args" : [["EXPRESSION", {
1141
                                    "args" : [["EXPRESSION", {
1142
                                      "args" : [["EXPRESSION", {
1143
                                        "args" : [["CONSTANT_VALUE", {
1144
                                          "value" : ["CST_LITERAL", "2"]}
1145
                                        ]]}
1146
                                      ]]}
1147
                                    ]]}
1148
                                  ]]}
1149
                                ]}
1150
                              ]}
1151
                            ]]]}
1152
                          ]]}
1153
                        ]]}
1154
                      ], ["EXPRESSION", {
1155
                        "args" : [["EXPRESSION", {
1156
                          "args" : [["EXPRESSION", {
1157
                            "args" : [["CONSTANT_VALUE", {
1158
                              "value" : ["CST_LITERAL", "'1'"]}
1159
                            ]]}
1160
                          ]]}
1161
                        ]]}
1162
                      ]]}
1163
                    ], ["EXPRESSION", {
1164
                      "id" : ">=", "args" : [["EXPRESSION", {
1165
                        "args" : [["EXPRESSION", {
1166
                          "args" : [["EXPRESSION", {
1167
                            "args" : [["CALL", ["SIMPLE_NAME", "rx_prescale_count"]]]}
1168
                          ]]}
1169
                        ]]}
1170
                      ], ["EXPRESSION", {
1171
                        "args" : [["EXPRESSION", {
1172
                          "args" : [["EXPRESSION", {
1173
                            "args" : [["EXPRESSION", {
1174
                              "args" : [["EXPRESSION", {
1175
                                "args" : [["EXPRESSION", {
1176
                                  "args" : [["EXPRESSION", {
1177
                                    "id" : "&", "args" : [["EXPRESSION", {
1178
                                      "args" : [["CONSTANT_VALUE", {
1179
                                        "value" : ["CST_LITERAL", "\"000\""]}
1180
                                      ]]}
1181
                                    ], ["EXPRESSION", {
1182
                                      "args" : [["CALL", ["SLICE_NAME", {
1183
                                        "id" : ["SIMPLE_NAME", "PRESCALE_DIV"], "range" : ["RANGE_WITH_DIRECTION", {
1184
                                          "direction" : "downto", "from" : ["EXPRESSION", {
1185
                                            "args" : [["EXPRESSION", {
1186
                                              "args" : [["CONSTANT_VALUE", {
1187
                                                "value" : ["CST_LITERAL", "7"]}
1188
                                              ]]}
1189
                                            ]]}
1190
                                          ], "_to" : ["EXPRESSION", {
1191
                                            "args" : [["EXPRESSION", {
1192
                                              "args" : [["CONSTANT_VALUE", {
1193
                                                "value" : ["CST_LITERAL", "3"]}
1194
                                              ]]}
1195
                                            ]]}
1196
                                          ]}
1197
                                        ]}
1198
                                      ]]]}
1199
                                    ]]}
1200
                                  ]]}
1201
                                ]]}
1202
                              ]]}
1203
                            ]]}
1204
                          ]]}
1205
                        ]]}
1206
                      ]]}
1207
                    ]]}
1208
                  ], "if_block" : [["SIGNAL_ASSIGNMENT_STATEMENT", {
1209
                    "lhs" : ["SIMPLE_NAME", "rx_prescale_count"], "rhs" : [{
1210
                      "value" : ["EXPRESSION", {
1211
                        "args" : [["EXPRESSION", {
1212
                          "args" : [["EXPRESSION", {
1213
                            "args" : [["EXPRESSION", {
1214
                              "args" : [["AGGREGATE", {
1215
                                "elems" : [{
1216
                                  "choices" : [["OTHERS"]], "expr" : ["EXPRESSION", {
1217
                                    "args" : [["EXPRESSION", {
1218
                                      "args" : [["EXPRESSION", {
1219
                                        "args" : [["EXPRESSION", {
1220
                                          "args" : [["CONSTANT_VALUE", {
1221
                                            "value" : ["CST_LITERAL", "'0'"]}
1222
                                          ]]}
1223
                                        ]]}
1224
                                      ]]}
1225
                                    ]]}
1226
                                  ]}
1227
                                ]}
1228
                              ]]}
1229
                            ]]}
1230
                          ]]}
1231
                        ]]}
1232
                      ]}
1233
                    ]}
1234
                  ], ["SIGNAL_ASSIGNMENT_STATEMENT", {
1235
                    "lhs" : ["SIMPLE_NAME", "rx_ps_enable"], "rhs" : [{
1236
                      "value" : ["EXPRESSION", {
1237
                        "args" : [["EXPRESSION", {
1238
                          "args" : [["EXPRESSION", {
1239
                            "args" : [["EXPRESSION", {
1240
                              "args" : [["CONSTANT_VALUE", {
1241
                                "value" : ["CST_LITERAL", "'1'"]}
1242
                              ]]}
1243
                            ]]}
1244
                          ]]}
1245
                        ]]}
1246
                      ]}
1247
                    ]}
1248
                  ]]}
1249
                ], "default" : [["SIGNAL_ASSIGNMENT_STATEMENT", {
1250
                  "lhs" : ["SIMPLE_NAME", "rx_prescale_count"], "rhs" : [{
1251
                    "value" : ["EXPRESSION", {
1252
                      "args" : [["EXPRESSION", {
1253
                        "args" : [["EXPRESSION", {
1254
                          "args" : [["EXPRESSION", {
1255
                            "id" : "+", "args" : [["EXPRESSION", {
1256
                              "args" : [["CALL", ["SIMPLE_NAME", "rx_prescale_count"]]]}
1257
                            ], ["EXPRESSION", {
1258
                              "args" : [["CONSTANT_VALUE", {
1259
                                "value" : ["CST_LITERAL", "1"]}
1260
                              ]]}
1261
                            ]]}
1262
                          ]]}
1263
                        ]]}
1264
                      ]]}
1265
                    ]}
1266
                  ]}
1267
                ], ["SIGNAL_ASSIGNMENT_STATEMENT", {
1268
                  "lhs" : ["SIMPLE_NAME", "rx_ps_enable"], "rhs" : [{
1269
                    "value" : ["EXPRESSION", {
1270
                      "args" : [["EXPRESSION", {
1271
                        "args" : [["EXPRESSION", {
1272
                          "args" : [["EXPRESSION", {
1273
                            "args" : [["CONSTANT_VALUE", {
1274
                              "value" : ["CST_LITERAL", "'0'"]}
1275
                            ]]}
1276
                          ]]}
1277
                        ]]}
1278
                      ]]}
1279
                    ]}
1280
                  ]}
1281
                ]]}
1282
              ]]}
1283
            ]}
1284
          ]]}
1285
        ], ["PROCESS_STATEMENT", {
1286
          "id" : ["IDENTIFIER", "UART_WRITE_PROC"], "active_sigs" : [["SIMPLE_NAME", "clk"], ["SIMPLE_NAME", "reset"]], "PROCESS_STATEMENT_PART" : [["IF_STATEMENT", {
1287
            "if_cases" : [{
1288
              "if_cond" : ["EXPRESSION", {
1289
                "id" : "=", "args" : [["EXPRESSION", {
1290
                  "args" : [["EXPRESSION", {
1291
                    "args" : [["EXPRESSION", {
1292
                      "args" : [["CALL", ["SIMPLE_NAME", "reset"]]]}
1293
                    ]]}
1294
                  ]]}
1295
                ], ["EXPRESSION", {
1296
                  "args" : [["EXPRESSION", {
1297
                    "args" : [["EXPRESSION", {
1298
                      "args" : [["CONSTANT_VALUE", {
1299
                        "value" : ["CST_LITERAL", "'1'"]}
1300
                      ]]}
1301
                    ]]}
1302
                  ]]}
1303
                ]]}
1304
              ], "if_block" : [["SIGNAL_ASSIGNMENT_STATEMENT", {
1305
                "lhs" : ["SIMPLE_NAME", "data_write_reg"], "rhs" : [{
1306
                  "value" : ["EXPRESSION", {
1307
                    "args" : [["EXPRESSION", {
1308
                      "args" : [["EXPRESSION", {
1309
                        "args" : [["EXPRESSION", {
1310
                          "args" : [["AGGREGATE", {
1311
                            "elems" : [{
1312
                              "choices" : [["OTHERS"]], "expr" : ["EXPRESSION", {
1313
                                "args" : [["EXPRESSION", {
1314
                                  "args" : [["EXPRESSION", {
1315
                                    "args" : [["EXPRESSION", {
1316
                                      "args" : [["CONSTANT_VALUE", {
1317
                                        "value" : ["CST_LITERAL", "'1'"]}
1318
                                      ]]}
1319
                                    ]]}
1320
                                  ]]}
1321
                                ]]}
1322
                              ]}
1323
                            ]}
1324
                          ]]}
1325
                        ]]}
1326
                      ]]}
1327
                    ]]}
1328
                  ]}
1329
                ]}
1330
              ], ["SIGNAL_ASSIGNMENT_STATEMENT", {
1331
                "lhs" : ["SIMPLE_NAME", "bits_write_reg"], "rhs" : [{
1332
                  "value" : ["EXPRESSION", {
1333
                    "args" : [["EXPRESSION", {
1334
                      "args" : [["EXPRESSION", {
1335
                        "args" : [["EXPRESSION", {
1336
                          "args" : [["CONSTANT_VALUE", {
1337
                            "value" : ["CST_LITERAL", "\"0000\""]}
1338
                          ]]}
1339
                        ]]}
1340
                      ]]}
1341
                    ]]}
1342
                  ]}
1343
                ]}
1344
              ], ["SIGNAL_ASSIGNMENT_STATEMENT", {
1345
                "lhs" : ["SIMPLE_NAME", "delay_write_reg"], "rhs" : [{
1346
                  "value" : ["EXPRESSION", {
1347
                    "args" : [["EXPRESSION", {
1348
                      "args" : [["EXPRESSION", {
1349
                        "args" : [["EXPRESSION", {
1350
                          "args" : [["AGGREGATE", {
1351
                            "elems" : [{
1352
                              "choices" : [["OTHERS"]], "expr" : ["EXPRESSION", {
1353
                                "args" : [["EXPRESSION", {
1354
                                  "args" : [["EXPRESSION", {
1355
                                    "args" : [["EXPRESSION", {
1356
                                      "args" : [["CONSTANT_VALUE", {
1357
                                        "value" : ["CST_LITERAL", "'0'"]}
1358
                                      ]]}
1359
                                    ]]}
1360
                                  ]]}
1361
                                ]]}
1362
                              ]}
1363
                            ]}
1364
                          ]]}
1365
                        ]]}
1366
                      ]]}
1367
                    ]]}
1368
                  ]}
1369
                ]}
1370
              ], ["SIGNAL_ASSIGNMENT_STATEMENT", {
1371
                "lhs" : ["SIMPLE_NAME", "uartTX"], "rhs" : [{
1372
                  "value" : ["EXPRESSION", {
1373
                    "args" : [["EXPRESSION", {
1374
                      "args" : [["EXPRESSION", {
1375
                        "args" : [["EXPRESSION", {
1376
                          "args" : [["CONSTANT_VALUE", {
1377
                            "value" : ["CST_LITERAL", "'1'"]}
1378
                          ]]}
1379
                        ]]}
1380
                      ]]}
1381
                    ]]}
1382
                  ]}
1383
                ]}
1384
              ]]}
1385
            , {
1386
              "if_cond" : ["EXPRESSION", {
1387
                "args" : [["EXPRESSION", {
1388
                  "args" : [["EXPRESSION", {
1389
                    "args" : [["EXPRESSION", {
1390
                      "args" : [["CALL", ["FUNCTION_CALL", {
1391
                        "id" : ["SIMPLE_NAME", "rising_edge"], "assoc_list" : [{
1392
                          "actual_designator" : ["SIMPLE_NAME", "clk"]}
1393
                        ]}
1394
                      ]]]}
1395
                    ]]}
1396
                  ]]}
1397
                ]]}
1398
              ], "if_block" : [["IF_STATEMENT", {
1399
                "if_cases" : [{
1400
                  "if_cond" : ["EXPRESSION", {
1401
                    "id" : "=", "args" : [["EXPRESSION", {
1402
                      "args" : [["EXPRESSION", {
1403
                        "args" : [["EXPRESSION", {
1404
                          "args" : [["CALL", ["SIMPLE_NAME", "bits_write_reg"]]]}
1405
                        ]]}
1406
                      ]]}
1407
                    ], ["EXPRESSION", {
1408
                      "args" : [["EXPRESSION", {
1409
                        "args" : [["EXPRESSION", {
1410
                          "args" : [["CONSTANT_VALUE", {
1411
                            "value" : ["CST_LITERAL", "\"0000\""]}
1412
                          ]]}
1413
                        ]]}
1414
                      ]]}
1415
                    ]]}
1416
                  ], "if_block" : [["IF_STATEMENT", {
1417
                    "if_cases" : [{
1418
                      "if_cond" : ["EXPRESSION", {
1419
                        "id" : "=", "args" : [["EXPRESSION", {
1420
                          "args" : [["EXPRESSION", {
1421
                            "args" : [["EXPRESSION", {
1422
                              "args" : [["CALL", ["SIMPLE_NAME", "enable_write"]]]}
1423
                            ]]}
1424
                          ]]}
1425
                        ], ["EXPRESSION", {
1426
                          "args" : [["EXPRESSION", {
1427
                            "args" : [["EXPRESSION", {
1428
                              "args" : [["CONSTANT_VALUE", {
1429
                                "value" : ["CST_LITERAL", "'1'"]}
1430
                              ]]}
1431
                            ]]}
1432
                          ]]}
1433
                        ]]}
1434
                      ], "if_block" : [["SIGNAL_ASSIGNMENT_STATEMENT", {
1435
                        "lhs" : ["SIMPLE_NAME", "delay_write_reg"], "rhs" : [{
1436
                          "value" : ["EXPRESSION", {
1437
                            "args" : [["EXPRESSION", {
1438
                              "args" : [["EXPRESSION", {
1439
                                "args" : [["EXPRESSION", {
1440
                                  "args" : [["AGGREGATE", {
1441
                                    "elems" : [{
1442
                                      "choices" : [["OTHERS"]], "expr" : ["EXPRESSION", {
1443
                                        "args" : [["EXPRESSION", {
1444
                                          "args" : [["EXPRESSION", {
1445
                                            "args" : [["EXPRESSION", {
1446
                                              "args" : [["CONSTANT_VALUE", {
1447
                                                "value" : ["CST_LITERAL", "'0'"]}
1448
                                              ]]}
1449
                                            ]]}
1450
                                          ]]}
1451
                                        ]]}
1452
                                      ]}
1453
                                    ]}
1454
                                  ]]}
1455
                                ]]}
1456
                              ]]}
1457
                            ]]}
1458
                          ]}
1459
                        ]}
1460
                      ], ["SIGNAL_ASSIGNMENT_STATEMENT", {
1461
                        "lhs" : ["SIMPLE_NAME", "bits_write_reg"], "rhs" : [{
1462
                          "value" : ["EXPRESSION", {
1463
                            "args" : [["EXPRESSION", {
1464
                              "args" : [["EXPRESSION", {
1465
                                "args" : [["EXPRESSION", {
1466
                                  "args" : [["CALL", ["SIMPLE_NAME", "NUM_BITS"]]]}
1467
                                ]]}
1468
                              ]]}
1469
                            ]]}
1470
                          ]}
1471
                        ]}
1472
                      ], ["SIGNAL_ASSIGNMENT_STATEMENT", {
1473
                        "lhs" : ["SIMPLE_NAME", "data_write_reg"], "rhs" : [{
1474
                          "value" : ["EXPRESSION", {
1475
                            "args" : [["EXPRESSION", {
1476
                              "args" : [["EXPRESSION", {
1477
                                "args" : [["EXPRESSION", {
1478
                                  "id" : "&", "args" : [["EXPRESSION", {
1479
                                    "args" : [["CALL", ["SIMPLE_NAME", "data_in"]]]}
1480
                                  ], ["EXPRESSION", {
1481
                                    "args" : [["CONSTANT_VALUE", {
1482
                                      "value" : ["CST_LITERAL", "\"0\""]}
1483
                                    ]]}
1484
                                  ]]}
1485
                                ]]}
1486
                              ]]}
1487
                            ]]}
1488
                          ]}
1489
                        ]}
1490
                      ]]}
1491
                    ]}
1492
                  ]]}
1493
                , {
1494
                  "if_cond" : ["EXPRESSION", {
1495
                    "id" : "=", "args" : [["EXPRESSION", {
1496
                      "args" : [["EXPRESSION", {
1497
                        "args" : [["EXPRESSION", {
1498
                          "args" : [["CALL", ["SIMPLE_NAME", "ps_enable"]]]}
1499
                        ]]}
1500
                      ]]}
1501
                    ], ["EXPRESSION", {
1502
                      "args" : [["EXPRESSION", {
1503
                        "args" : [["EXPRESSION", {
1504
                          "args" : [["CONSTANT_VALUE", {
1505
                            "value" : ["CST_LITERAL", "'1'"]}
1506
                          ]]}
1507
                        ]]}
1508
                      ]]}
1509
                    ]]}
1510
                  ], "if_block" : [["SIGNAL_ASSIGNMENT_STATEMENT", {
1511
                    "lhs" : ["SIMPLE_NAME", "uartTX"], "rhs" : [{
1512
                      "value" : ["EXPRESSION", {
1513
                        "args" : [["EXPRESSION", {
1514
                          "args" : [["EXPRESSION", {
1515
                            "args" : [["EXPRESSION", {
1516
                              "args" : [["CALL", ["FUNCTION_CALL", {
1517
                                "id" : ["SIMPLE_NAME", "data_write_reg"], "assoc_list" : [{
1518
                                  "actual_expr" : ["EXPRESSION", {
1519
                                    "args" : [["EXPRESSION", {
1520
                                      "args" : [["EXPRESSION", {
1521
                                        "args" : [["EXPRESSION", {
1522
                                          "args" : [["CONSTANT_VALUE", {
1523
                                            "value" : ["CST_LITERAL", "0"]}
1524
                                          ]]}
1525
                                        ]]}
1526
                                      ]]}
1527
                                    ]]}
1528
                                  ]}
1529
                                ]}
1530
                              ]]]}
1531
                            ]]}
1532
                          ]]}
1533
                        ]]}
1534
                      ]}
1535
                    ]}
1536
                  ], ["IF_STATEMENT", {
1537
                    "if_cases" : [{
1538
                      "if_cond" : ["EXPRESSION", {
1539
                        "id" : "/=", "args" : [["EXPRESSION", {
1540
                          "args" : [["EXPRESSION", {
1541
                            "args" : [["EXPRESSION", {
1542
                              "args" : [["CALL", ["SIMPLE_NAME", "delay_write_reg"]]]}
1543
                            ]]}
1544
                          ]]}
1545
                        ], ["EXPRESSION", {
1546
                          "args" : [["EXPRESSION", {
1547
                            "args" : [["EXPRESSION", {
1548
                              "args" : [["CALL", ["SIMPLE_NAME", "baud_div"]]]}
1549
                            ]]}
1550
                          ]]}
1551
                        ]]}
1552
                      ], "if_block" : [["SIGNAL_ASSIGNMENT_STATEMENT", {
1553
                        "lhs" : ["SIMPLE_NAME", "delay_write_reg"], "rhs" : [{
1554
                          "value" : ["EXPRESSION", {
1555
                            "args" : [["EXPRESSION", {
1556
                              "args" : [["EXPRESSION", {
1557
                                "args" : [["EXPRESSION", {
1558
                                  "id" : "+", "args" : [["EXPRESSION", {
1559
                                    "args" : [["CALL", ["SIMPLE_NAME", "delay_write_reg"]]]}
1560
                                  ], ["EXPRESSION", {
1561
                                    "args" : [["CONSTANT_VALUE", {
1562
                                      "value" : ["CST_LITERAL", "1"]}
1563
                                    ]]}
1564
                                  ]]}
1565
                                ]]}
1566
                              ]]}
1567
                            ]]}
1568
                          ]}
1569
                        ]}
1570
                      ]]}
1571
                    ], "default" : [["SIGNAL_ASSIGNMENT_STATEMENT", {
1572
                      "lhs" : ["SIMPLE_NAME", "delay_write_reg"], "rhs" : [{
1573
                        "value" : ["EXPRESSION", {
1574
                          "args" : [["EXPRESSION", {
1575
                            "args" : [["EXPRESSION", {
1576
                              "args" : [["EXPRESSION", {
1577
                                "args" : [["AGGREGATE", {
1578
                                  "elems" : [{
1579
                                    "choices" : [["OTHERS"]], "expr" : ["EXPRESSION", {
1580
                                      "args" : [["EXPRESSION", {
1581
                                        "args" : [["EXPRESSION", {
1582
                                          "args" : [["EXPRESSION", {
1583
                                            "args" : [["CONSTANT_VALUE", {
1584
                                              "value" : ["CST_LITERAL", "'0'"]}
1585
                                            ]]}
1586
                                          ]]}
1587
                                        ]]}
1588
                                      ]]}
1589
                                    ]}
1590
                                  ]}
1591
                                ]]}
1592
                              ]]}
1593
                            ]]}
1594
                          ]]}
1595
                        ]}
1596
                      ]}
1597
                    ], ["SIGNAL_ASSIGNMENT_STATEMENT", {
1598
                      "lhs" : ["SIMPLE_NAME", "bits_write_reg"], "rhs" : [{
1599
                        "value" : ["EXPRESSION", {
1600
                          "args" : [["EXPRESSION", {
1601
                            "args" : [["EXPRESSION", {
1602
                              "args" : [["EXPRESSION", {
1603
                                "id" : "-", "args" : [["EXPRESSION", {
1604
                                  "args" : [["CALL", ["SIMPLE_NAME", "bits_write_reg"]]]}
1605
                                ], ["EXPRESSION", {
1606
                                  "args" : [["CONSTANT_VALUE", {
1607
                                    "value" : ["CST_LITERAL", "1"]}
1608
                                  ]]}
1609
                                ]]}
1610
                              ]]}
1611
                            ]]}
1612
                          ]]}
1613
                        ]}
1614
                      ]}
1615
                    ], ["SIGNAL_ASSIGNMENT_STATEMENT", {
1616
                      "lhs" : ["SIMPLE_NAME", "data_write_reg"], "rhs" : [{
1617
                        "value" : ["EXPRESSION", {
1618
                          "args" : [["EXPRESSION", {
1619
                            "args" : [["EXPRESSION", {
1620
                              "args" : [["EXPRESSION", {
1621
                                "id" : "&", "args" : [["EXPRESSION", {
1622
                                  "args" : [["CONSTANT_VALUE", {
1623
                                    "value" : ["CST_LITERAL", "'1'"]}
1624
                                  ]]}
1625
                                ], ["EXPRESSION", {
1626
                                  "args" : [["CALL", ["SLICE_NAME", {
1627
                                    "id" : ["SIMPLE_NAME", "data_write_reg"], "range" : ["RANGE_WITH_DIRECTION", {
1628
                                      "direction" : "downto", "from" : ["EXPRESSION", {
1629
                                        "args" : [["EXPRESSION", {
1630
                                          "args" : [["CONSTANT_VALUE", {
1631
                                            "value" : ["CST_LITERAL", "8"]}
1632
                                          ]]}
1633
                                        ]]}
1634
                                      ], "_to" : ["EXPRESSION", {
1635
                                        "args" : [["EXPRESSION", {
1636
                                          "args" : [["CONSTANT_VALUE", {
1637
                                            "value" : ["CST_LITERAL", "1"]}
1638
                                          ]]}
1639
                                        ]]}
1640
                                      ]}
1641
                                    ]}
1642
                                  ]]]}
1643
                                ]]}
1644
                              ]]}
1645
                            ]]}
1646
                          ]]}
1647
                        ]}
1648
                      ]}
1649
                    ]]}
1650
                  ]]}
1651
                ]}
1652
              ]]}
1653
            ]}
1654
          ]]}
1655
        ], ["CONDITIONAL_SIGNAL_ASSIGNMENT", {
1656
          "postponed" : false, "lhs" : ["SIMPLE_NAME", "busy_write_sig"], "rhs" : [{
1657
            "expr" : [{
1658
              "value" : ["EXPRESSION", {
1659
                "args" : [["EXPRESSION", {
1660
                  "args" : [["EXPRESSION", {
1661
                    "args" : [["EXPRESSION", {
1662
                      "args" : [["CONSTANT_VALUE", {
1663
                        "value" : ["CST_LITERAL", "'1'"]}
1664
                      ]]}
1665
                    ]]}
1666
                  ]]}
1667
                ]]}
1668
              ]}
1669
            ], "cond" : ["EXPRESSION", {
1670
              "args" : [["EXPRESSION", {
1671
                "args" : [["EXPRESSION", {
1672
                  "args" : [["EXPRESSION", {
1673
                    "args" : [["EXPRESSION", {
1674
                      "id" : "/=", "args" : [["EXPRESSION", {
1675
                        "args" : [["EXPRESSION", {
1676
                          "args" : [["EXPRESSION", {
1677
                            "args" : [["CALL", ["SIMPLE_NAME", "bits_write_reg"]]]}
1678
                          ]]}
1679
                        ]]}
1680
                      ], ["EXPRESSION", {
1681
                        "args" : [["EXPRESSION", {
1682
                          "args" : [["EXPRESSION", {
1683
                            "args" : [["CONSTANT_VALUE", {
1684
                              "value" : ["CST_LITERAL", "\"0000\""]}
1685
                            ]]}
1686
                          ]]}
1687
                        ]]}
1688
                      ]]}
1689
                    ]]}
1690
                  ]]}
1691
                ]]}
1692
              ]]}
1693
            ]}
1694
          , {
1695
            "expr" : [{
1696
              "value" : ["EXPRESSION", {
1697
                "args" : [["EXPRESSION", {
1698
                  "args" : [["EXPRESSION", {
1699
                    "args" : [["EXPRESSION", {
1700
                      "args" : [["CONSTANT_VALUE", {
1701
                        "value" : ["CST_LITERAL", "'0'"]}
1702
                      ]]}
1703
                    ]]}
1704
                  ]]}
1705
                ]]}
1706
              ]}
1707
            ]}
1708
          ]}
1709
        ], ["CONDITIONAL_SIGNAL_ASSIGNMENT", {
1710
          "postponed" : false, "lhs" : ["SIMPLE_NAME", "busy_write"], "rhs" : [{
1711
            "expr" : [{
1712
              "value" : ["EXPRESSION", {
1713
                "args" : [["EXPRESSION", {
1714
                  "args" : [["EXPRESSION", {
1715
                    "args" : [["EXPRESSION", {
1716
                      "args" : [["CALL", ["SIMPLE_NAME", "busy_write_sig"]]]}
1717
                    ]]}
1718
                  ]]}
1719
                ]]}
1720
              ]}
1721
            ]}
1722
          ]}
1723
        ], ["PROCESS_STATEMENT", {
1724
          "id" : ["IDENTIFIER", "UART_READ_PROC"], "active_sigs" : [["SIMPLE_NAME", "clk"], ["SIMPLE_NAME", "reset"]], "PROCESS_STATEMENT_PART" : [["IF_STATEMENT", {
1725
            "if_cases" : [{
1726
              "if_cond" : ["EXPRESSION", {
1727
                "id" : "=", "args" : [["EXPRESSION", {
1728
                  "args" : [["EXPRESSION", {
1729
                    "args" : [["EXPRESSION", {
1730
                      "args" : [["CALL", ["SIMPLE_NAME", "reset"]]]}
1731
                    ]]}
1732
                  ]]}
1733
                ], ["EXPRESSION", {
1734
                  "args" : [["EXPRESSION", {
1735
                    "args" : [["EXPRESSION", {
1736
                      "args" : [["CONSTANT_VALUE", {
1737
                        "value" : ["CST_LITERAL", "'1'"]}
1738
                      ]]}
1739
                    ]]}
1740
                  ]]}
1741
                ]]}
1742
              ], "if_block" : [["SIGNAL_ASSIGNMENT_STATEMENT", {
1743
                "lhs" : ["SIMPLE_NAME", "data_read_reg"], "rhs" : [{
1744
                  "value" : ["EXPRESSION", {
1745
                    "args" : [["EXPRESSION", {
1746
                      "args" : [["EXPRESSION", {
1747
                        "args" : [["EXPRESSION", {
1748
                          "args" : [["AGGREGATE", {
1749
                            "elems" : [{
1750
                              "choices" : [["OTHERS"]], "expr" : ["EXPRESSION", {
1751
                                "args" : [["EXPRESSION", {
1752
                                  "args" : [["EXPRESSION", {
1753
                                    "args" : [["EXPRESSION", {
1754
                                      "args" : [["CONSTANT_VALUE", {
1755
                                        "value" : ["CST_LITERAL", "'1'"]}
1756
                                      ]]}
1757
                                    ]]}
1758
                                  ]]}
1759
                                ]]}
1760
                              ]}
1761
                            ]}
1762
                          ]]}
1763
                        ]]}
1764
                      ]]}
1765
                    ]]}
1766
                  ]}
1767
                ]}
1768
              ], ["SIGNAL_ASSIGNMENT_STATEMENT", {
1769
                "lhs" : ["SIMPLE_NAME", "bits_read_reg"], "rhs" : [{
1770
                  "value" : ["EXPRESSION", {
1771
                    "args" : [["EXPRESSION", {
1772
                      "args" : [["EXPRESSION", {
1773
                        "args" : [["EXPRESSION", {
1774
                          "args" : [["CONSTANT_VALUE", {
1775
                            "value" : ["CST_LITERAL", "\"0000\""]}
1776
                          ]]}
1777
                        ]]}
1778
                      ]]}
1779
                    ]]}
1780
                  ]}
1781
                ]}
1782
              ], ["SIGNAL_ASSIGNMENT_STATEMENT", {
1783
                "lhs" : ["SIMPLE_NAME", "delay_read_reg"], "rhs" : [{
1784
                  "value" : ["EXPRESSION", {
1785
                    "args" : [["EXPRESSION", {
1786
                      "args" : [["EXPRESSION", {
1787
                        "args" : [["EXPRESSION", {
1788
                          "args" : [["AGGREGATE", {
1789
                            "elems" : [{
1790
                              "choices" : [["OTHERS"]], "expr" : ["EXPRESSION", {
1791
                                "args" : [["EXPRESSION", {
1792
                                  "args" : [["EXPRESSION", {
1793
                                    "args" : [["EXPRESSION", {
1794
                                      "args" : [["CONSTANT_VALUE", {
1795
                                        "value" : ["CST_LITERAL", "'0'"]}
1796
                                      ]]}
1797
                                    ]]}
1798
                                  ]]}
1799
                                ]]}
1800
                              ]}
1801
                            ]}
1802
                          ]]}
1803
                        ]]}
1804
                      ]]}
1805
                    ]]}
1806
                  ]}
1807
                ]}
1808
              ], ["SIGNAL_ASSIGNMENT_STATEMENT", {
1809
                "lhs" : ["SIMPLE_NAME", "data_out"], "rhs" : [{
1810
                  "value" : ["EXPRESSION", {
1811
                    "args" : [["EXPRESSION", {
1812
                      "args" : [["EXPRESSION", {
1813
                        "args" : [["EXPRESSION", {
1814
                          "args" : [["AGGREGATE", {
1815
                            "elems" : [{
1816
                              "choices" : [["OTHERS"]], "expr" : ["EXPRESSION", {
1817
                                "args" : [["EXPRESSION", {
1818
                                  "args" : [["EXPRESSION", {
1819
                                    "args" : [["EXPRESSION", {
1820
                                      "args" : [["CONSTANT_VALUE", {
1821
                                        "value" : ["CST_LITERAL", "'0'"]}
1822
                                      ]]}
1823
                                    ]]}
1824
                                  ]]}
1825
                                ]]}
1826
                              ]}
1827
                            ]}
1828
                          ]]}
1829
                        ]]}
1830
                      ]]}
1831
                    ]]}
1832
                  ]}
1833
                ]}
1834
              ], ["SIGNAL_ASSIGNMENT_STATEMENT", {
1835
                "lhs" : ["SIMPLE_NAME", "rx_start_delay"], "rhs" : [{
1836
                  "value" : ["EXPRESSION", {
1837
                    "args" : [["EXPRESSION", {
1838
                      "args" : [["EXPRESSION", {
1839
                        "args" : [["EXPRESSION", {
1840
                          "args" : [["AGGREGATE", {
1841
                            "elems" : [{
1842
                              "choices" : [["OTHERS"]], "expr" : ["EXPRESSION", {
1843
                                "args" : [["EXPRESSION", {
1844
                                  "args" : [["EXPRESSION", {
1845
                                    "args" : [["EXPRESSION", {
1846
                                      "args" : [["CONSTANT_VALUE", {
1847
                                        "value" : ["CST_LITERAL", "'1'"]}
1848
                                      ]]}
1849
                                    ]]}
1850
                                  ]]}
1851
                                ]]}
1852
                              ]}
1853
                            ]}
1854
                          ]]}
1855
                        ]]}
1856
                      ]]}
1857
                    ]]}
1858
                  ]}
1859
                ]}
1860
              ]]}
1861
            , {
1862
              "if_cond" : ["EXPRESSION", {
1863
                "args" : [["EXPRESSION", {
1864
                  "args" : [["EXPRESSION", {
1865
                    "args" : [["EXPRESSION", {
1866
                      "args" : [["CALL", ["FUNCTION_CALL", {
1867
                        "id" : ["SIMPLE_NAME", "rising_edge"], "assoc_list" : [{
1868
                          "actual_designator" : ["SIMPLE_NAME", "clk"]}
1869
                        ]}
1870
                      ]]]}
1871
                    ]]}
1872
                  ]]}
1873
                ]]}
1874
              ], "if_block" : [["SIGNAL_ASSIGNMENT_STATEMENT", {
1875
                "lhs" : ["SIMPLE_NAME", "data_avail"], "rhs" : [{
1876
                  "value" : ["EXPRESSION", {
1877
                    "args" : [["EXPRESSION", {
1878
                      "args" : [["EXPRESSION", {
1879
                        "args" : [["EXPRESSION", {
1880
                          "args" : [["CONSTANT_VALUE", {
1881
                            "value" : ["CST_LITERAL", "'0'"]}
1882
                          ]]}
1883
                        ]]}
1884
                      ]]}
1885
                    ]]}
1886
                  ]}
1887
                ]}
1888
              ], ["IF_STATEMENT", {
1889
                "if_cases" : [{
1890
                  "if_cond" : ["EXPRESSION", {
1891
                    "id" : "=", "args" : [["EXPRESSION", {
1892
                      "args" : [["EXPRESSION", {
1893
                        "args" : [["EXPRESSION", {
1894
                          "args" : [["CALL", ["SIMPLE_NAME", "bits_read_reg"]]]}
1895
                        ]]}
1896
                      ]]}
1897
                    ], ["EXPRESSION", {
1898
                      "args" : [["EXPRESSION", {
1899
                        "args" : [["EXPRESSION", {
1900
                          "args" : [["CONSTANT_VALUE", {
1901
                            "value" : ["CST_LITERAL", "\"0000\""]}
1902
                          ]]}
1903
                        ]]}
1904
                      ]]}
1905
                    ]]}
1906
                  ], "if_block" : [["SIGNAL_ASSIGNMENT_STATEMENT", {
1907
                    "lhs" : ["SIMPLE_NAME", "rx_start_delay"], "rhs" : [{
1908
                      "value" : ["EXPRESSION", {
1909
                        "args" : [["EXPRESSION", {
1910
                          "args" : [["EXPRESSION", {
1911
                            "args" : [["EXPRESSION", {
1912
                              "id" : "&", "args" : [["EXPRESSION", {
1913
                                "args" : [["CALL", ["SLICE_NAME", {
1914
                                  "id" : ["SIMPLE_NAME", "rx_start_delay"], "range" : ["RANGE_WITH_DIRECTION", {
1915
                                    "direction" : "downto", "from" : ["EXPRESSION", {
1916
                                      "args" : [["EXPRESSION", {
1917
                                        "args" : [["CONSTANT_VALUE", {
1918
                                          "value" : ["CST_LITERAL", "1"]}
1919
                                        ]]}
1920
                                      ]]}
1921
                                    ], "_to" : ["EXPRESSION", {
1922
                                      "args" : [["EXPRESSION", {
1923
                                        "args" : [["CONSTANT_VALUE", {
1924
                                          "value" : ["CST_LITERAL", "0"]}
1925
                                        ]]}
1926
                                      ]]}
1927
                                    ]}
1928
                                  ]}
1929
                                ]]]}
1930
                              ], ["EXPRESSION", {
1931
                                "args" : [["CONSTANT_VALUE", {
1932
                                  "value" : ["CST_LITERAL", "'1'"]}
1933
                                ]]}
1934
                              ]]}
1935
                            ]]}
1936
                          ]]}
1937
                        ]]}
1938
                      ]}
1939
                    ]}
1940
                  ]]}
1941
                ], "default" : [["SIGNAL_ASSIGNMENT_STATEMENT", {
1942
                  "lhs" : ["SIMPLE_NAME", "rx_start_delay"], "rhs" : [{
1943
                    "value" : ["EXPRESSION", {
1944
                      "args" : [["EXPRESSION", {
1945
                        "args" : [["EXPRESSION", {
1946
                          "args" : [["EXPRESSION", {
1947
                            "id" : "&", "args" : [["EXPRESSION", {
1948
                              "args" : [["CALL", ["SLICE_NAME", {
1949
                                "id" : ["SIMPLE_NAME", "rx_start_delay"], "range" : ["RANGE_WITH_DIRECTION", {
1950
                                  "direction" : "downto", "from" : ["EXPRESSION", {
1951
                                    "args" : [["EXPRESSION", {
1952
                                      "args" : [["CONSTANT_VALUE", {
1953
                                        "value" : ["CST_LITERAL", "1"]}
1954
                                      ]]}
1955
                                    ]]}
1956
                                  ], "_to" : ["EXPRESSION", {
1957
                                    "args" : [["EXPRESSION", {
1958
                                      "args" : [["CONSTANT_VALUE", {
1959
                                        "value" : ["CST_LITERAL", "0"]}
1960
                                      ]]}
1961
                                    ]]}
1962
                                  ]}
1963
                                ]}
1964
                              ]]]}
1965
                            ], ["EXPRESSION", {
1966
                              "args" : [["CONSTANT_VALUE", {
1967
                                "value" : ["CST_LITERAL", "'0'"]}
1968
                              ]]}
1969
                            ]]}
1970
                          ]]}
1971
                        ]]}
1972
                      ]]}
1973
                    ]}
1974
                  ]}
1975
                ]]}
1976
              ], ["IF_STATEMENT", {
1977
                "if_cases" : [{
1978
                  "if_cond" : ["EXPRESSION", {
1979
                    "id" : "=", "args" : [["EXPRESSION", {
1980
                      "args" : [["EXPRESSION", {
1981
                        "args" : [["EXPRESSION", {
1982
                          "args" : [["CALL", ["SIMPLE_NAME", "rx_ps_enable"]]]}
1983
                        ]]}
1984
                      ]]}
1985
                    ], ["EXPRESSION", {
1986
                      "args" : [["EXPRESSION", {
1987
                        "args" : [["EXPRESSION", {
1988
                          "args" : [["CONSTANT_VALUE", {
1989
                            "value" : ["CST_LITERAL", "'1'"]}
1990
                          ]]}
1991
                        ]]}
1992
                      ]]}
1993
                    ]]}
1994
                  ], "if_block" : [["IF_STATEMENT", {
1995
                    "if_cases" : [{
1996
                      "if_cond" : ["EXPRESSION", {
1997
                        "id" : "and", "args" : [["EXPRESSION", {
1998
                          "id" : "=", "args" : [["EXPRESSION", {
1999
                            "args" : [["EXPRESSION", {
2000
                              "args" : [["EXPRESSION", {
2001
                                "args" : [["CALL", ["SIMPLE_NAME", "bits_read_reg"]]]}
2002
                              ]]}
2003
                            ]]}
2004
                          ], ["EXPRESSION", {
2005
                            "args" : [["EXPRESSION", {
2006
                              "args" : [["EXPRESSION", {
2007
                                "args" : [["CONSTANT_VALUE", {
2008
                                  "value" : ["CST_LITERAL", "\"0000\""]}
2009
                                ]]}
2010
                              ]]}
2011
                            ]]}
2012
                          ]]}
2013
                        ], ["EXPRESSION", {
2014
                          "id" : "=", "args" : [["EXPRESSION", {
2015
                            "args" : [["EXPRESSION", {
2016
                              "args" : [["EXPRESSION", {
2017
                                "args" : [["CALL", ["SIMPLE_NAME", "uartRX2"]]]}
2018
                              ]]}
2019
                            ]]}
2020
                          ], ["EXPRESSION", {
2021
                            "args" : [["EXPRESSION", {
2022
                              "args" : [["EXPRESSION", {
2023
                                "args" : [["CONSTANT_VALUE", {
2024
                                  "value" : ["CST_LITERAL", "'0'"]}
2025
                                ]]}
2026
                              ]]}
2027
                            ]]}
2028
                          ]]}
2029
                        ]]}
2030
                      ], "if_block" : [["SIGNAL_ASSIGNMENT_STATEMENT", {
2031
                        "lhs" : ["SIMPLE_NAME", "bits_read_reg"], "rhs" : [{
2032
                          "value" : ["EXPRESSION", {
2033
                            "args" : [["EXPRESSION", {
2034
                              "args" : [["EXPRESSION", {
2035
                                "args" : [["EXPRESSION", {
2036
                                  "args" : [["CALL", ["SIMPLE_NAME", "NUM_BITS"]]]}
2037
                                ]]}
2038
                              ]]}
2039
                            ]]}
2040
                          ]}
2041
                        ]}
2042
                      ], ["SIGNAL_ASSIGNMENT_STATEMENT", {
2043
                        "lhs" : ["SIMPLE_NAME", "delay_read_reg"], "rhs" : [{
2044
                          "value" : ["EXPRESSION", {
2045
                            "args" : [["EXPRESSION", {
2046
                              "args" : [["EXPRESSION", {
2047
                                "args" : [["EXPRESSION", {
2048
                                  "args" : [["AGGREGATE", {
2049
                                    "elems" : [{
2050
                                      "choices" : [["OTHERS"]], "expr" : ["EXPRESSION", {
2051
                                        "args" : [["EXPRESSION", {
2052
                                          "args" : [["EXPRESSION", {
2053
                                            "args" : [["EXPRESSION", {
2054
                                              "args" : [["CONSTANT_VALUE", {
2055
                                                "value" : ["CST_LITERAL", "'0'"]}
2056
                                              ]]}
2057
                                            ]]}
2058
                                          ]]}
2059
                                        ]]}
2060
                                      ]}
2061
                                    ]}
2062
                                  ]]}
2063
                                ]]}
2064
                              ]]}
2065
                            ]]}
2066
                          ]}
2067
                        ]}
2068
                      ]]}
2069
                    , {
2070
                      "if_cond" : ["EXPRESSION", {
2071
                        "id" : "/=", "args" : [["EXPRESSION", {
2072
                          "args" : [["EXPRESSION", {
2073
                            "args" : [["EXPRESSION", {
2074
                              "args" : [["CALL", ["SIMPLE_NAME", "bits_read_reg"]]]}
2075
                            ]]}
2076
                          ]]}
2077
                        ], ["EXPRESSION", {
2078
                          "args" : [["EXPRESSION", {
2079
                            "args" : [["EXPRESSION", {
2080
                              "args" : [["CONSTANT_VALUE", {
2081
                                "value" : ["CST_LITERAL", "\"0000\""]}
2082
                              ]]}
2083
                            ]]}
2084
                          ]]}
2085
                        ]]}
2086
                      ], "if_block" : [["IF_STATEMENT", {
2087
                        "if_cases" : [{
2088
                          "if_cond" : ["EXPRESSION", {
2089
                            "id" : "and", "args" : [["EXPRESSION", {
2090
                              "id" : "=", "args" : [["EXPRESSION", {
2091
                                "args" : [["EXPRESSION", {
2092
                                  "args" : [["EXPRESSION", {
2093
                                    "args" : [["CALL", ["SIMPLE_NAME", "bits_read_reg"]]]}
2094
                                  ]]}
2095
                                ]]}
2096
                              ], ["EXPRESSION", {
2097
                                "args" : [["EXPRESSION", {
2098
                                  "args" : [["EXPRESSION", {
2099
                                    "args" : [["CALL", ["SIMPLE_NAME", "NUM_BITS"]]]}
2100
                                  ]]}
2101
                                ]]}
2102
                              ]]}
2103
                            ], ["EXPRESSION", {
2104
                              "id" : "=", "args" : [["EXPRESSION", {
2105
                                "args" : [["EXPRESSION", {
2106
                                  "args" : [["EXPRESSION", {
2107
                                    "args" : [["CALL", ["SIMPLE_NAME", "delay_read_reg"]]]}
2108
                                  ]]}
2109
                                ]]}
2110
                              ], ["EXPRESSION", {
2111
                                "args" : [["EXPRESSION", {
2112
                                  "args" : [["EXPRESSION", {
2113
                                    "args" : [["EXPRESSION", {
2114
                                      "args" : [["EXPRESSION", {
2115
                                        "args" : [["EXPRESSION", {
2116
                                          "args" : [["EXPRESSION", {
2117
                                            "id" : "&", "args" : [["EXPRESSION", {
2118
                                              "args" : [["CONSTANT_VALUE", {
2119
                                                "value" : ["CST_LITERAL", "'0'"]}
2120
                                              ]]}
2121
                                            ], ["EXPRESSION", {
2122
                                              "args" : [["CALL", ["SLICE_NAME", {
2123
                                                "id" : ["SIMPLE_NAME", "baud_div"], "range" : ["RANGE_WITH_DIRECTION", {
2124
                                                  "direction" : "downto", "from" : ["EXPRESSION", {
2125
                                                    "args" : [["EXPRESSION", {
2126
                                                      "args" : [["CALL", ["ATTRIBUTE_NAME", {
2127
                                                        "id" : ["SIMPLE_NAME", "baud_div"], "designator" : ["SIMPLE_NAME", "left"]}
2128
                                                      ]]]}
2129
                                                    ]]}
2130
                                                  ], "_to" : ["EXPRESSION", {
2131
                                                    "args" : [["EXPRESSION", {
2132
                                                      "args" : [["CONSTANT_VALUE", {
2133
                                                        "value" : ["CST_LITERAL", "1"]}
2134
                                                      ]]}
2135
                                                    ]]}
2136
                                                  ]}
2137
                                                ]}
2138
                                              ]]]}
2139
                                            ]]}
2140
                                          ]]}
2141
                                        ]]}
2142
                                      ]]}
2143
                                    ]]}
2144
                                  ]]}
2145
                                ]]}
2146
                              ]]}
2147
                            ]]}
2148
                          ], "if_block" : [["SIGNAL_ASSIGNMENT_STATEMENT", {
2149
                            "lhs" : ["SIMPLE_NAME", "delay_read_reg"], "rhs" : [{
2150
                              "value" : ["EXPRESSION", {
2151
                                "args" : [["EXPRESSION", {
2152
                                  "args" : [["EXPRESSION", {
2153
                                    "args" : [["EXPRESSION", {
2154
                                      "args" : [["AGGREGATE", {
2155
                                        "elems" : [{
2156
                                          "choices" : [["OTHERS"]], "expr" : ["EXPRESSION", {
2157
                                            "args" : [["EXPRESSION", {
2158
                                              "args" : [["EXPRESSION", {
2159
                                                "args" : [["EXPRESSION", {
2160
                                                  "args" : [["CONSTANT_VALUE", {
2161
                                                    "value" : ["CST_LITERAL", "'0'"]}
2162
                                                  ]]}
2163
                                                ]]}
2164
                                              ]]}
2165
                                            ]]}
2166
                                          ]}
2167
                                        ]}
2168
                                      ]]}
2169
                                    ]]}
2170
                                  ]]}
2171
                                ]]}
2172
                              ]}
2173
                            ]}
2174
                          ], ["SIGNAL_ASSIGNMENT_STATEMENT", {
2175
                            "lhs" : ["SIMPLE_NAME", "bits_read_reg"], "rhs" : [{
2176
                              "value" : ["EXPRESSION", {
2177
                                "args" : [["EXPRESSION", {
2178
                                  "args" : [["EXPRESSION", {
2179
                                    "args" : [["EXPRESSION", {
2180
                                      "id" : "-", "args" : [["EXPRESSION", {
2181
                                        "args" : [["CALL", ["SIMPLE_NAME", "bits_read_reg"]]]}
2182
                                      ], ["EXPRESSION", {
2183
                                        "args" : [["CONSTANT_VALUE", {
2184
                                          "value" : ["CST_LITERAL", "1"]}
2185
                                        ]]}
2186
                                      ]]}
2187
                                    ]]}
2188
                                  ]]}
2189
                                ]]}
2190
                              ]}
2191
                            ]}
2192
                          ], ["SIGNAL_ASSIGNMENT_STATEMENT", {
2193
                            "lhs" : ["SIMPLE_NAME", "data_read_reg"], "rhs" : [{
2194
                              "value" : ["EXPRESSION", {
2195
                                "args" : [["EXPRESSION", {
2196
                                  "args" : [["EXPRESSION", {
2197
                                    "args" : [["EXPRESSION", {
2198
                                      "id" : "&", "args" : [["EXPRESSION", {
2199
                                        "args" : [["CALL", ["SIMPLE_NAME", "uartRX2"]]]}
2200
                                      ], ["EXPRESSION", {
2201
                                        "args" : [["CALL", ["SLICE_NAME", {
2202
                                          "id" : ["SIMPLE_NAME", "data_read_reg"], "range" : ["RANGE_WITH_DIRECTION", {
2203
                                            "direction" : "downto", "from" : ["EXPRESSION", {
2204
                                              "args" : [["EXPRESSION", {
2205
                                                "args" : [["CONSTANT_VALUE", {
2206
                                                  "value" : ["CST_LITERAL", "7"]}
2207
                                                ]]}
2208
                                              ]]}
2209
                                            ], "_to" : ["EXPRESSION", {
2210
                                              "args" : [["EXPRESSION", {
2211
                                                "args" : [["CONSTANT_VALUE", {
2212
                                                  "value" : ["CST_LITERAL", "1"]}
2213
                                                ]]}
2214
                                              ]]}
2215
                                            ]}
2216
                                          ]}
2217
                                        ]]]}
2218
                                      ]]}
2219
                                    ]]}
2220
                                  ]]}
2221
                                ]]}
2222
                              ]}
2223
                            ]}
2224
                          ]]}
2225
                        , {
2226
                          "if_cond" : ["EXPRESSION", {
2227
                            "id" : "=", "args" : [["EXPRESSION", {
2228
                              "args" : [["EXPRESSION", {
2229
                                "args" : [["EXPRESSION", {
2230
                                  "args" : [["CALL", ["SIMPLE_NAME", "delay_read_reg"]]]}
2231
                                ]]}
2232
                              ]]}
2233
                            ], ["EXPRESSION", {
2234
                              "args" : [["EXPRESSION", {
2235
                                "args" : [["EXPRESSION", {
2236
                                  "args" : [["CALL", ["SIMPLE_NAME", "baud_div"]]]}
2237
                                ]]}
2238
                              ]]}
2239
                            ]]}
2240
                          ], "if_block" : [["SIGNAL_ASSIGNMENT_STATEMENT", {
2241
                            "lhs" : ["SIMPLE_NAME", "delay_read_reg"], "rhs" : [{
2242
                              "value" : ["EXPRESSION", {
2243
                                "args" : [["EXPRESSION", {
2244
                                  "args" : [["EXPRESSION", {
2245
                                    "args" : [["EXPRESSION", {
2246
                                      "args" : [["AGGREGATE", {
2247
                                        "elems" : [{
2248
                                          "choices" : [["OTHERS"]], "expr" : ["EXPRESSION", {
2249
                                            "args" : [["EXPRESSION", {
2250
                                              "args" : [["EXPRESSION", {
2251
                                                "args" : [["EXPRESSION", {
2252
                                                  "args" : [["CONSTANT_VALUE", {
2253
                                                    "value" : ["CST_LITERAL", "'0'"]}
2254
                                                  ]]}
2255
                                                ]]}
2256
                                              ]]}
2257
                                            ]]}
2258
                                          ]}
2259
                                        ]}
2260
                                      ]]}
2261
                                    ]]}
2262
                                  ]]}
2263
                                ]]}
2264
                              ]}
2265
                            ]}
2266
                          ], ["SIGNAL_ASSIGNMENT_STATEMENT", {
2267
                            "lhs" : ["SIMPLE_NAME", "bits_read_reg"], "rhs" : [{
2268
                              "value" : ["EXPRESSION", {
2269
                                "args" : [["EXPRESSION", {
2270
                                  "args" : [["EXPRESSION", {
2271
                                    "args" : [["EXPRESSION", {
2272
                                      "id" : "-", "args" : [["EXPRESSION", {
2273
                                        "args" : [["CALL", ["SIMPLE_NAME", "bits_read_reg"]]]}
2274
                                      ], ["EXPRESSION", {
2275
                                        "args" : [["CONSTANT_VALUE", {
2276
                                          "value" : ["CST_LITERAL", "1"]}
2277
                                        ]]}
2278
                                      ]]}
2279
                                    ]]}
2280
                                  ]]}
2281
                                ]]}
2282
                              ]}
2283
                            ]}
2284
                          ], ["SIGNAL_ASSIGNMENT_STATEMENT", {
2285
                            "lhs" : ["SIMPLE_NAME", "data_read_reg"], "rhs" : [{
2286
                              "value" : ["EXPRESSION", {
2287
                                "args" : [["EXPRESSION", {
2288
                                  "args" : [["EXPRESSION", {
2289
                                    "args" : [["EXPRESSION", {
2290
                                      "id" : "&", "args" : [["EXPRESSION", {
2291
                                        "args" : [["CALL", ["SIMPLE_NAME", "uartRX2"]]]}
2292
                                      ], ["EXPRESSION", {
2293
                                        "args" : [["CALL", ["SLICE_NAME", {
2294
                                          "id" : ["SIMPLE_NAME", "data_read_reg"], "range" : ["RANGE_WITH_DIRECTION", {
2295
                                            "direction" : "downto", "from" : ["EXPRESSION", {
2296
                                              "args" : [["EXPRESSION", {
2297
                                                "args" : [["CONSTANT_VALUE", {
2298
                                                  "value" : ["CST_LITERAL", "7"]}
2299
                                                ]]}
2300
                                              ]]}
2301
                                            ], "_to" : ["EXPRESSION", {
2302
                                              "args" : [["EXPRESSION", {
2303
                                                "args" : [["CONSTANT_VALUE", {
2304
                                                  "value" : ["CST_LITERAL", "1"]}
2305
                                                ]]}
2306
                                              ]]}
2307
                                            ]}
2308
                                          ]}
2309
                                        ]]]}
2310
                                      ]]}
2311
                                    ]]}
2312
                                  ]]}
2313
                                ]]}
2314
                              ]}
2315
                            ]}
2316
                          ]]}
2317
                        ], "default" : [["SIGNAL_ASSIGNMENT_STATEMENT", {
2318
                          "lhs" : ["SIMPLE_NAME", "delay_read_reg"], "rhs" : [{
2319
                            "value" : ["EXPRESSION", {
2320
                              "args" : [["EXPRESSION", {
2321
                                "args" : [["EXPRESSION", {
2322
                                  "args" : [["EXPRESSION", {
2323
                                    "id" : "+", "args" : [["EXPRESSION", {
2324
                                      "args" : [["CALL", ["SIMPLE_NAME", "delay_read_reg"]]]}
2325
                                    ], ["EXPRESSION", {
2326
                                      "args" : [["CONSTANT_VALUE", {
2327
                                        "value" : ["CST_LITERAL", "1"]}
2328
                                      ]]}
2329
                                    ]]}
2330
                                  ]]}
2331
                                ]]}
2332
                              ]]}
2333
                            ]}
2334
                          ]}
2335
                        ]]}
2336
                      ]]}
2337
                    ]}
2338
                  ], ["IF_STATEMENT", {
2339
                    "if_cases" : [{
2340
                      "if_cond" : ["EXPRESSION", {
2341
                        "id" : "and", "args" : [["EXPRESSION", {
2342
                          "id" : "=", "args" : [["EXPRESSION", {
2343
                            "args" : [["EXPRESSION", {
2344
                              "args" : [["EXPRESSION", {
2345
                                "args" : [["CALL", ["SIMPLE_NAME", "bits_read_reg"]]]}
2346
                              ]]}
2347
                            ]]}
2348
                          ], ["EXPRESSION", {
2349
                            "args" : [["EXPRESSION", {
2350
                              "args" : [["EXPRESSION", {
2351
                                "args" : [["CONSTANT_VALUE", {
2352
                                  "value" : ["CST_LITERAL", "\"0001\""]}
2353
                                ]]}
2354
                              ]]}
2355
                            ]]}
2356
                          ]]}
2357
                        ], ["EXPRESSION", {
2358
                          "id" : "=", "args" : [["EXPRESSION", {
2359
                            "args" : [["EXPRESSION", {
2360
                              "args" : [["EXPRESSION", {
2361
                                "args" : [["CALL", ["SIMPLE_NAME", "delay_read_reg"]]]}
2362
                              ]]}
2363
                            ]]}
2364
                          ], ["EXPRESSION", {
2365
                            "args" : [["EXPRESSION", {
2366
                              "args" : [["EXPRESSION", {
2367
                                "args" : [["CONSTANT_VALUE", {
2368
                                  "value" : ["CST_LITERAL", "X\"00\""]}
2369
                                ]]}
2370
                              ]]}
2371
                            ]]}
2372
                          ]]}
2373
                        ]]}
2374
                      ], "if_block" : [["SIGNAL_ASSIGNMENT_STATEMENT", {
2375
                        "lhs" : ["SIMPLE_NAME", "data_avail"], "rhs" : [{
2376
                          "value" : ["EXPRESSION", {
2377
                            "args" : [["EXPRESSION", {
2378
                              "args" : [["EXPRESSION", {
2379
                                "args" : [["EXPRESSION", {
2380
                                  "args" : [["CONSTANT_VALUE", {
2381
                                    "value" : ["CST_LITERAL", "'1'"]}
2382
                                  ]]}
2383
                                ]]}
2384
                              ]]}
2385
                            ]]}
2386
                          ]}
2387
                        ]}
2388
                      ], ["SIGNAL_ASSIGNMENT_STATEMENT", {
2389
                        "lhs" : ["SIMPLE_NAME", "data_out"], "rhs" : [{
2390
                          "value" : ["EXPRESSION", {
2391
                            "args" : [["EXPRESSION", {
2392
                              "args" : [["EXPRESSION", {
2393
                                "args" : [["EXPRESSION", {
2394
                                  "args" : [["CALL", ["SLICE_NAME", {
2395
                                    "id" : ["SIMPLE_NAME", "data_read_reg"], "range" : ["RANGE_WITH_DIRECTION", {
2396
                                      "direction" : "downto", "from" : ["EXPRESSION", {
2397
                                        "args" : [["EXPRESSION", {
2398
                                          "args" : [["CONSTANT_VALUE", {
2399
                                            "value" : ["CST_LITERAL", "7"]}
2400
                                          ]]}
2401
                                        ]]}
2402
                                      ], "_to" : ["EXPRESSION", {
2403
                                        "args" : [["EXPRESSION", {
2404
                                          "args" : [["CONSTANT_VALUE", {
2405
                                            "value" : ["CST_LITERAL", "0"]}
2406
                                          ]]}
2407
                                        ]]}
2408
                                      ]}
2409
                                    ]}
2410
                                  ]]]}
2411
                                ]]}
2412
                              ]]}
2413
                            ]]}
2414
                          ]}
2415
                        ]}
2416
                      ]]}
2417
                    ]}
2418
                  ]]}
2419
                ]}
2420
              ]]}
2421
            ]}
2422
          ]]}
2423
        ]]}
2424
      ]}
2425
    ]}
2426
  }
(5-5/6)