Project

General

Profile

Download (33.6 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_unsigned"]]]]]], "library" : ["ENTITY_DECLARATION", {
5
        "name" : ["IDENTIFIER", "UartFileReader"], "generics" : [{
6
          "names" : [["IDENTIFIER", "SourceFile"]], "typ" : {
7
            "name" : ["SIMPLE_NAME", "string"]}
8
          }
9
        , {
10
          "names" : [["IDENTIFIER", "DestFile"]], "typ" : {
11
            "name" : ["SIMPLE_NAME", "string"]}
12
          , "expr" : ["EXPRESSION", {
13
            "args" : [["EXPRESSION", {
14
              "args" : [["EXPRESSION", {
15
                "args" : [["EXPRESSION", {
16
                  "args" : [["CONSTANT_VALUE", {
17
                    "value" : ["CST_LITERAL", "\"default.bin\""]}
18
                  ]]}
19
                ]]}
20
              ]]}
21
            ]]}
22
          ]}
23
        , {
24
          "names" : [["IDENTIFIER", "EchoToConsole"]], "typ" : {
25
            "name" : ["SIMPLE_NAME", "std_logic"]}
26
          , "expr" : ["EXPRESSION", {
27
            "args" : [["EXPRESSION", {
28
              "args" : [["EXPRESSION", {
29
                "args" : [["EXPRESSION", {
30
                  "args" : [["CONSTANT_VALUE", {
31
                    "value" : ["CST_LITERAL", "'0'"]}
32
                  ]]}
33
                ]]}
34
              ]]}
35
            ]]}
36
          ]}
37
        , {
38
          "names" : [["IDENTIFIER", "ReadPeriod"]], "typ" : {
39
            "name" : ["SIMPLE_NAME", "std_logic_vector"], "const" : ["INDEX_CONSTRAINT", {
40
              "ranges" : [["RANGE_WITH_DIRECTION", {
41
                "direction" : "downto", "from" : ["EXPRESSION", {
42
                  "args" : [["EXPRESSION", {
43
                    "args" : [["CONSTANT_VALUE", {
44
                      "value" : ["CST_LITERAL", "7"]}
45
                    ]]}
46
                  ]]}
47
                ], "_to" : ["EXPRESSION", {
48
                  "args" : [["EXPRESSION", {
49
                    "args" : [["CONSTANT_VALUE", {
50
                      "value" : ["CST_LITERAL", "0"]}
51
                    ]]}
52
                  ]]}
53
                ]}
54
              ]]}
55
            ]}
56
          , "expr" : ["EXPRESSION", {
57
            "args" : [["EXPRESSION", {
58
              "args" : [["EXPRESSION", {
59
                "args" : [["EXPRESSION", {
60
                  "args" : [["CONSTANT_VALUE", {
61
                    "value" : ["CST_LITERAL", "X\"04\""]}
62
                  ]]}
63
                ]]}
64
              ]]}
65
            ]]}
66
          ]}
67
        , {
68
          "names" : [["IDENTIFIER", "SIM_UART"]], "typ" : {
69
            "name" : ["SIMPLE_NAME", "std_logic"]}
70
          , "expr" : ["EXPRESSION", {
71
            "args" : [["EXPRESSION", {
72
              "args" : [["EXPRESSION", {
73
                "args" : [["EXPRESSION", {
74
                  "args" : [["CONSTANT_VALUE", {
75
                    "value" : ["CST_LITERAL", "'1'"]}
76
                  ]]}
77
                ]]}
78
              ]]}
79
            ]]}
80
          ]}
81
        ], "ports" : [{
82
          "names" : [["IDENTIFIER", "clk_uart"]], "mode" : ["in"], "typ" : {
83
            "name" : ["SIMPLE_NAME", "std_logic"]}
84
          }
85
        , {
86
          "names" : [["IDENTIFIER", "reset_n"]], "mode" : ["in"], "typ" : {
87
            "name" : ["SIMPLE_NAME", "std_logic"]}
88
          }
89
        , {
90
          "names" : [["IDENTIFIER", "readEnable"]], "mode" : ["in"], "typ" : {
91
            "name" : ["SIMPLE_NAME", "std_logic"]}
92
          }
93
        , {
94
          "names" : [["IDENTIFIER", "regDin"]], "mode" : ["in"], "typ" : {
95
            "name" : ["SIMPLE_NAME", "std_logic_vector"], "const" : ["INDEX_CONSTRAINT", {
96
              "ranges" : [["RANGE_WITH_DIRECTION", {
97
                "direction" : "downto", "from" : ["EXPRESSION", {
98
                  "args" : [["EXPRESSION", {
99
                    "args" : [["CONSTANT_VALUE", {
100
                      "value" : ["CST_LITERAL", "7"]}
101
                    ]]}
102
                  ]]}
103
                ], "_to" : ["EXPRESSION", {
104
                  "args" : [["EXPRESSION", {
105
                    "args" : [["CONSTANT_VALUE", {
106
                      "value" : ["CST_LITERAL", "0"]}
107
                    ]]}
108
                  ]]}
109
                ]}
110
              ]]}
111
            ]}
112
          }
113
        , {
114
          "names" : [["IDENTIFIER", "regRxToggle"]], "mode" : ["in"], "typ" : {
115
            "name" : ["SIMPLE_NAME", "std_logic"]}
116
          }
117
        , {
118
          "names" : [["IDENTIFIER", "regDout"]], "mode" : ["out"], "typ" : {
119
            "name" : ["SIMPLE_NAME", "std_logic_vector"], "const" : ["INDEX_CONSTRAINT", {
120
              "ranges" : [["RANGE_WITH_DIRECTION", {
121
                "direction" : "downto", "from" : ["EXPRESSION", {
122
                  "args" : [["EXPRESSION", {
123
                    "args" : [["CONSTANT_VALUE", {
124
                      "value" : ["CST_LITERAL", "7"]}
125
                    ]]}
126
                  ]]}
127
                ], "_to" : ["EXPRESSION", {
128
                  "args" : [["EXPRESSION", {
129
                    "args" : [["CONSTANT_VALUE", {
130
                      "value" : ["CST_LITERAL", "0"]}
131
                    ]]}
132
                  ]]}
133
                ]}
134
              ]]}
135
            ]}
136
          }
137
        , {
138
          "names" : [["IDENTIFIER", "regDvToggle"]], "mode" : ["out"], "typ" : {
139
            "name" : ["SIMPLE_NAME", "std_logic"]}
140
          }
141
        , {
142
          "names" : [["IDENTIFIER", "uartTx"]], "mode" : ["out"], "typ" : {
143
            "name" : ["SIMPLE_NAME", "std_logic"]}
144
          }
145
        , {
146
          "names" : [["IDENTIFIER", "uartRx"]], "mode" : ["in"], "typ" : {
147
            "name" : ["SIMPLE_NAME", "std_logic"]}
148
          }
149
        , {
150
          "names" : [["IDENTIFIER", "SourceFileLength"]], "mode" : ["out"], "typ" : {
151
            "name" : ["SIMPLE_NAME", "std_logic_vector"], "const" : ["INDEX_CONSTRAINT", {
152
              "ranges" : [["RANGE_WITH_DIRECTION", {
153
                "direction" : "downto", "from" : ["EXPRESSION", {
154
                  "args" : [["EXPRESSION", {
155
                    "args" : [["CONSTANT_VALUE", {
156
                      "value" : ["CST_LITERAL", "31"]}
157
                    ]]}
158
                  ]]}
159
                ], "_to" : ["EXPRESSION", {
160
                  "args" : [["EXPRESSION", {
161
                    "args" : [["CONSTANT_VALUE", {
162
                      "value" : ["CST_LITERAL", "0"]}
163
                    ]]}
164
                  ]]}
165
                ]}
166
              ]]}
167
            ]}
168
          }
169
        , {
170
          "names" : [["IDENTIFIER", "EndOfSourceFile"]], "mode" : ["out"], "typ" : {
171
            "name" : ["SIMPLE_NAME", "std_logic"]}
172
          }
173
        ], "ENTITY_DECLARATIVE_PART" : [], "ENTITY_STATEMENT_PART" : []}
174
      ]}
175
    , {
176
      "contexts" : [], "library" : ["ARCHITECTURE_BODY", {
177
        "name" : ["IDENTIFIER", "testbench"], "entity" : ["IDENTIFIER", "UartFileReader"], "ARCHITECTURE_DECLARATIVE_PART" : [{
178
          "declaration" : ["SIGNAL_DECLARATION", {
179
            "names" : [["IDENTIFIER", "readerEnable"]], "typ" : {
180
              "name" : ["SIMPLE_NAME", "std_logic"]}
181
            }
182
          ]}
183
        , {
184
          "declaration" : ["SIGNAL_DECLARATION", {
185
            "names" : [["IDENTIFIER", "readerValid"]], "typ" : {
186
              "name" : ["SIMPLE_NAME", "std_logic"]}
187
            }
188
          ]}
189
        , {
190
          "declaration" : ["SIGNAL_DECLARATION", {
191
            "names" : [["IDENTIFIER", "readerDout"]], "typ" : {
192
              "name" : ["SIMPLE_NAME", "std_logic_vector"], "const" : ["INDEX_CONSTRAINT", {
193
                "ranges" : [["RANGE_WITH_DIRECTION", {
194
                  "direction" : "downto", "from" : ["EXPRESSION", {
195
                    "args" : [["EXPRESSION", {
196
                      "args" : [["CONSTANT_VALUE", {
197
                        "value" : ["CST_LITERAL", "7"]}
198
                      ]]}
199
                    ]]}
200
                  ], "_to" : ["EXPRESSION", {
201
                    "args" : [["EXPRESSION", {
202
                      "args" : [["CONSTANT_VALUE", {
203
                        "value" : ["CST_LITERAL", "0"]}
204
                      ]]}
205
                    ]]}
206
                  ]}
207
                ]]}
208
              ]}
209
            }
210
          ]}
211
        , {
212
          "declaration" : ["SIGNAL_DECLARATION", {
213
            "names" : [["IDENTIFIER", "readerToggle"]], "typ" : {
214
              "name" : ["SIMPLE_NAME", "std_logic"]}
215
            }
216
          ]}
217
        , {
218
          "declaration" : ["SIGNAL_DECLARATION", {
219
            "names" : [["IDENTIFIER", "count"]], "typ" : {
220
              "name" : ["SIMPLE_NAME", "std_logic_vector"], "const" : ["INDEX_CONSTRAINT", {
221
                "ranges" : [["RANGE_WITH_DIRECTION", {
222
                  "direction" : "downto", "from" : ["EXPRESSION", {
223
                    "args" : [["EXPRESSION", {
224
                      "args" : [["CONSTANT_VALUE", {
225
                        "value" : ["CST_LITERAL", "7"]}
226
                      ]]}
227
                    ]]}
228
                  ], "_to" : ["EXPRESSION", {
229
                    "args" : [["EXPRESSION", {
230
                      "args" : [["CONSTANT_VALUE", {
231
                        "value" : ["CST_LITERAL", "0"]}
232
                      ]]}
233
                    ]]}
234
                  ]}
235
                ]]}
236
              ]}
237
            }
238
          ]}
239
        , {
240
          "declaration" : ["SIGNAL_DECLARATION", {
241
            "names" : [["IDENTIFIER", "EndOfSource"]], "typ" : {
242
              "name" : ["SIMPLE_NAME", "std_logic"]}
243
            }
244
          ]}
245
        , {
246
          "declaration" : ["SIGNAL_DECLARATION", {
247
            "names" : [["IDENTIFIER", "writerEnable"]], "typ" : {
248
              "name" : ["SIMPLE_NAME", "std_logic"]}
249
            }
250
          ]}
251
        , {
252
          "declaration" : ["SIGNAL_DECLARATION", {
253
            "names" : [["IDENTIFIER", "writerDin"]], "typ" : {
254
              "name" : ["SIMPLE_NAME", "std_logic_vector"], "const" : ["INDEX_CONSTRAINT", {
255
                "ranges" : [["RANGE_WITH_DIRECTION", {
256
                  "direction" : "downto", "from" : ["EXPRESSION", {
257
                    "args" : [["EXPRESSION", {
258
                      "args" : [["CONSTANT_VALUE", {
259
                        "value" : ["CST_LITERAL", "7"]}
260
                      ]]}
261
                    ]]}
262
                  ], "_to" : ["EXPRESSION", {
263
                    "args" : [["EXPRESSION", {
264
                      "args" : [["CONSTANT_VALUE", {
265
                        "value" : ["CST_LITERAL", "0"]}
266
                      ]]}
267
                    ]]}
268
                  ]}
269
                ]]}
270
              ]}
271
            }
272
          ]}
273
        ], "ARCHITECTURE_STATEMENT_PART" : [["PROCESS_STATEMENT", {
274
          "id" : ["IDENTIFIER", "UART_BYPASS"], "PROCESS_DECLARATIVE_PART" : [{
275
            "declaration" : ["VARIABLE_DECLARATION", {
276
              "names" : [["IDENTIFIER", "RxTg1"]], "typ" : {
277
                "name" : ["SIMPLE_NAME", "std_logic"]}
278
              }
279
            ]}
280
          , {
281
            "declaration" : ["VARIABLE_DECLARATION", {
282
              "names" : [["IDENTIFIER", "RxTg2"]], "typ" : {
283
                "name" : ["SIMPLE_NAME", "std_logic"]}
284
              }
285
            ]}
286
          ], "active_sigs" : [["SIMPLE_NAME", "clk_uart"], ["SIMPLE_NAME", "reset_n"]], "PROCESS_STATEMENT_PART" : [["IF_STATEMENT", {
287
            "if_cases" : [{
288
              "if_cond" : ["EXPRESSION", {
289
                "id" : "=", "args" : [["EXPRESSION", {
290
                  "args" : [["EXPRESSION", {
291
                    "args" : [["EXPRESSION", {
292
                      "args" : [["CALL", ["SIMPLE_NAME", "reset_n"]]]}
293
                    ]]}
294
                  ]]}
295
                ], ["EXPRESSION", {
296
                  "args" : [["EXPRESSION", {
297
                    "args" : [["EXPRESSION", {
298
                      "args" : [["CONSTANT_VALUE", {
299
                        "value" : ["CST_LITERAL", "'0'"]}
300
                      ]]}
301
                    ]]}
302
                  ]]}
303
                ]]}
304
              ], "if_block" : [["SIGNAL_ASSIGNMENT_STATEMENT", {
305
                "lhs" : ["SIMPLE_NAME", "readerEnable"], "rhs" : [{
306
                  "value" : ["EXPRESSION", {
307
                    "args" : [["EXPRESSION", {
308
                      "args" : [["EXPRESSION", {
309
                        "args" : [["EXPRESSION", {
310
                          "args" : [["CONSTANT_VALUE", {
311
                            "value" : ["CST_LITERAL", "'0'"]}
312
                          ]]}
313
                        ]]}
314
                      ]]}
315
                    ]]}
316
                  ]}
317
                ]}
318
              ], ["SIGNAL_ASSIGNMENT_STATEMENT", {
319
                "lhs" : ["SIMPLE_NAME", "count"], "rhs" : [{
320
                  "value" : ["EXPRESSION", {
321
                    "args" : [["EXPRESSION", {
322
                      "args" : [["EXPRESSION", {
323
                        "args" : [["EXPRESSION", {
324
                          "args" : [["AGGREGATE", {
325
                            "elems" : [{
326
                              "choices" : [["OTHERS"]], "expr" : ["EXPRESSION", {
327
                                "args" : [["EXPRESSION", {
328
                                  "args" : [["EXPRESSION", {
329
                                    "args" : [["EXPRESSION", {
330
                                      "args" : [["CONSTANT_VALUE", {
331
                                        "value" : ["CST_LITERAL", "'0'"]}
332
                                      ]]}
333
                                    ]]}
334
                                  ]]}
335
                                ]]}
336
                              ]}
337
                            ]}
338
                          ]]}
339
                        ]]}
340
                      ]]}
341
                    ]]}
342
                  ]}
343
                ]}
344
              ], ["SIGNAL_ASSIGNMENT_STATEMENT", {
345
                "lhs" : ["SIMPLE_NAME", "readerToggle"], "rhs" : [{
346
                  "value" : ["EXPRESSION", {
347
                    "args" : [["EXPRESSION", {
348
                      "args" : [["EXPRESSION", {
349
                        "args" : [["EXPRESSION", {
350
                          "args" : [["CONSTANT_VALUE", {
351
                            "value" : ["CST_LITERAL", "'0'"]}
352
                          ]]}
353
                        ]]}
354
                      ]]}
355
                    ]]}
356
                  ]}
357
                ]}
358
              ], ["SIGNAL_ASSIGNMENT_STATEMENT", {
359
                "lhs" : ["SIMPLE_NAME", "regDout"], "rhs" : [{
360
                  "value" : ["EXPRESSION", {
361
                    "args" : [["EXPRESSION", {
362
                      "args" : [["EXPRESSION", {
363
                        "args" : [["EXPRESSION", {
364
                          "args" : [["AGGREGATE", {
365
                            "elems" : [{
366
                              "choices" : [["OTHERS"]], "expr" : ["EXPRESSION", {
367
                                "args" : [["EXPRESSION", {
368
                                  "args" : [["EXPRESSION", {
369
                                    "args" : [["EXPRESSION", {
370
                                      "args" : [["CONSTANT_VALUE", {
371
                                        "value" : ["CST_LITERAL", "'0'"]}
372
                                      ]]}
373
                                    ]]}
374
                                  ]]}
375
                                ]]}
376
                              ]}
377
                            ]}
378
                          ]]}
379
                        ]]}
380
                      ]]}
381
                    ]]}
382
                  ]}
383
                ]}
384
              ], ["SIGNAL_ASSIGNMENT_STATEMENT", {
385
                "lhs" : ["SIMPLE_NAME", "writerEnable"], "rhs" : [{
386
                  "value" : ["EXPRESSION", {
387
                    "args" : [["EXPRESSION", {
388
                      "args" : [["EXPRESSION", {
389
                        "args" : [["EXPRESSION", {
390
                          "args" : [["CONSTANT_VALUE", {
391
                            "value" : ["CST_LITERAL", "'0'"]}
392
                          ]]}
393
                        ]]}
394
                      ]]}
395
                    ]]}
396
                  ]}
397
                ]}
398
              ], ["SIGNAL_ASSIGNMENT_STATEMENT", {
399
                "lhs" : ["SIMPLE_NAME", "writerDin"], "rhs" : [{
400
                  "value" : ["EXPRESSION", {
401
                    "args" : [["EXPRESSION", {
402
                      "args" : [["EXPRESSION", {
403
                        "args" : [["EXPRESSION", {
404
                          "args" : [["AGGREGATE", {
405
                            "elems" : [{
406
                              "choices" : [["OTHERS"]], "expr" : ["EXPRESSION", {
407
                                "args" : [["EXPRESSION", {
408
                                  "args" : [["EXPRESSION", {
409
                                    "args" : [["EXPRESSION", {
410
                                      "args" : [["CONSTANT_VALUE", {
411
                                        "value" : ["CST_LITERAL", "'0'"]}
412
                                      ]]}
413
                                    ]]}
414
                                  ]]}
415
                                ]]}
416
                              ]}
417
                            ]}
418
                          ]]}
419
                        ]]}
420
                      ]]}
421
                    ]]}
422
                  ]}
423
                ]}
424
              ], ["VARIABLE_ASSIGNMENT_STATEMENT", {
425
                "lhs" : ["SIMPLE_NAME", "RxTg1"], "rhs" : ["EXPRESSION", {
426
                  "args" : [["EXPRESSION", {
427
                    "args" : [["EXPRESSION", {
428
                      "args" : [["EXPRESSION", {
429
                        "args" : [["CONSTANT_VALUE", {
430
                          "value" : ["CST_LITERAL", "'0'"]}
431
                        ]]}
432
                      ]]}
433
                    ]]}
434
                  ]]}
435
                ]}
436
              ], ["VARIABLE_ASSIGNMENT_STATEMENT", {
437
                "lhs" : ["SIMPLE_NAME", "RxTg2"], "rhs" : ["EXPRESSION", {
438
                  "args" : [["EXPRESSION", {
439
                    "args" : [["EXPRESSION", {
440
                      "args" : [["EXPRESSION", {
441
                        "args" : [["CONSTANT_VALUE", {
442
                          "value" : ["CST_LITERAL", "'0'"]}
443
                        ]]}
444
                      ]]}
445
                    ]]}
446
                  ]]}
447
                ]}
448
              ]]}
449
            , {
450
              "if_cond" : ["EXPRESSION", {
451
                "id" : "and", "args" : [["EXPRESSION", {
452
                  "args" : [["EXPRESSION", {
453
                    "args" : [["EXPRESSION", {
454
                      "args" : [["EXPRESSION", {
455
                        "args" : [["CALL", ["ATTRIBUTE_NAME", {
456
                          "id" : ["SIMPLE_NAME", "clk_uart"], "designator" : ["SIMPLE_NAME", "event"]}
457
                        ]]]}
458
                      ]]}
459
                    ]]}
460
                  ]]}
461
                ], ["EXPRESSION", {
462
                  "id" : "=", "args" : [["EXPRESSION", {
463
                    "args" : [["EXPRESSION", {
464
                      "args" : [["EXPRESSION", {
465
                        "args" : [["CALL", ["SIMPLE_NAME", "clk_uart"]]]}
466
                      ]]}
467
                    ]]}
468
                  ], ["EXPRESSION", {
469
                    "args" : [["EXPRESSION", {
470
                      "args" : [["EXPRESSION", {
471
                        "args" : [["CONSTANT_VALUE", {
472
                          "value" : ["CST_LITERAL", "'1'"]}
473
                        ]]}
474
                      ]]}
475
                    ]]}
476
                  ]]}
477
                ]]}
478
              ], "if_block" : [["SIGNAL_ASSIGNMENT_STATEMENT", {
479
                "lhs" : ["SIMPLE_NAME", "count"], "rhs" : [{
480
                  "value" : ["EXPRESSION", {
481
                    "args" : [["EXPRESSION", {
482
                      "args" : [["EXPRESSION", {
483
                        "args" : [["EXPRESSION", {
484
                          "id" : "+", "args" : [["EXPRESSION", {
485
                            "args" : [["CALL", ["SIMPLE_NAME", "count"]]]}
486
                          ], ["EXPRESSION", {
487
                            "args" : [["CONSTANT_VALUE", {
488
                              "value" : ["CST_LITERAL", "1"]}
489
                            ]]}
490
                          ]]}
491
                        ]]}
492
                      ]]}
493
                    ]]}
494
                  ]}
495
                ]}
496
              ], ["SIGNAL_ASSIGNMENT_STATEMENT", {
497
                "lhs" : ["SIMPLE_NAME", "readerEnable"], "rhs" : [{
498
                  "value" : ["EXPRESSION", {
499
                    "args" : [["EXPRESSION", {
500
                      "args" : [["EXPRESSION", {
501
                        "args" : [["EXPRESSION", {
502
                          "args" : [["CONSTANT_VALUE", {
503
                            "value" : ["CST_LITERAL", "'0'"]}
504
                          ]]}
505
                        ]]}
506
                      ]]}
507
                    ]]}
508
                  ]}
509
                ]}
510
              ], ["SIGNAL_ASSIGNMENT_STATEMENT", {
511
                "lhs" : ["SIMPLE_NAME", "regDout"], "rhs" : [{
512
                  "value" : ["EXPRESSION", {
513
                    "args" : [["EXPRESSION", {
514
                      "args" : [["EXPRESSION", {
515
                        "args" : [["EXPRESSION", {
516
                          "args" : [["CALL", ["SIMPLE_NAME", "readerDout"]]]}
517
                        ]]}
518
                      ]]}
519
                    ]]}
520
                  ]}
521
                ]}
522
              ], ["SIGNAL_ASSIGNMENT_STATEMENT", {
523
                "lhs" : ["SIMPLE_NAME", "regDvToggle"], "rhs" : [{
524
                  "value" : ["EXPRESSION", {
525
                    "args" : [["EXPRESSION", {
526
                      "args" : [["EXPRESSION", {
527
                        "args" : [["EXPRESSION", {
528
                          "args" : [["CALL", ["SIMPLE_NAME", "readerToggle"]]]}
529
                        ]]}
530
                      ]]}
531
                    ]]}
532
                  ]}
533
                ]}
534
              ], ["IF_STATEMENT", {
535
                "if_cases" : [{
536
                  "if_cond" : ["EXPRESSION", {
537
                    "id" : "and", "args" : [["EXPRESSION", {
538
                      "id" : "and", "args" : [["EXPRESSION", {
539
                        "id" : "=", "args" : [["EXPRESSION", {
540
                          "args" : [["EXPRESSION", {
541
                            "args" : [["EXPRESSION", {
542
                              "args" : [["CALL", ["SIMPLE_NAME", "count"]]]}
543
                            ]]}
544
                          ]]}
545
                        ], ["EXPRESSION", {
546
                          "args" : [["EXPRESSION", {
547
                            "args" : [["EXPRESSION", {
548
                              "args" : [["EXPRESSION", {
549
                                "args" : [["EXPRESSION", {
550
                                  "args" : [["EXPRESSION", {
551
                                    "args" : [["EXPRESSION", {
552
                                      "id" : "-", "args" : [["EXPRESSION", {
553
                                        "args" : [["CALL", ["SIMPLE_NAME", "ReadPeriod"]]]}
554
                                      ], ["EXPRESSION", {
555
                                        "args" : [["CONSTANT_VALUE", {
556
                                          "value" : ["CST_LITERAL", "1"]}
557
                                        ]]}
558
                                      ]]}
559
                                    ]]}
560
                                  ]]}
561
                                ]]}
562
                              ]]}
563
                            ]]}
564
                          ]]}
565
                        ]]}
566
                      ], ["EXPRESSION", {
567
                        "id" : "=", "args" : [["EXPRESSION", {
568
                          "args" : [["EXPRESSION", {
569
                            "args" : [["EXPRESSION", {
570
                              "args" : [["CALL", ["SIMPLE_NAME", "readEnable"]]]}
571
                            ]]}
572
                          ]]}
573
                        ], ["EXPRESSION", {
574
                          "args" : [["EXPRESSION", {
575
                            "args" : [["EXPRESSION", {
576
                              "args" : [["CONSTANT_VALUE", {
577
                                "value" : ["CST_LITERAL", "'1'"]}
578
                              ]]}
579
                            ]]}
580
                          ]]}
581
                        ]]}
582
                      ]]}
583
                    ], ["EXPRESSION", {
584
                      "id" : "=", "args" : [["EXPRESSION", {
585
                        "args" : [["EXPRESSION", {
586
                          "args" : [["EXPRESSION", {
587
                            "args" : [["CALL", ["SIMPLE_NAME", "EndOfSource"]]]}
588
                          ]]}
589
                        ]]}
590
                      ], ["EXPRESSION", {
591
                        "args" : [["EXPRESSION", {
592
                          "args" : [["EXPRESSION", {
593
                            "args" : [["CONSTANT_VALUE", {
594
                              "value" : ["CST_LITERAL", "'0'"]}
595
                            ]]}
596
                          ]]}
597
                        ]]}
598
                      ]]}
599
                    ]]}
600
                  ], "if_block" : [["SIGNAL_ASSIGNMENT_STATEMENT", {
601
                    "lhs" : ["SIMPLE_NAME", "readerEnable"], "rhs" : [{
602
                      "value" : ["EXPRESSION", {
603
                        "args" : [["EXPRESSION", {
604
                          "args" : [["EXPRESSION", {
605
                            "args" : [["EXPRESSION", {
606
                              "args" : [["CONSTANT_VALUE", {
607
                                "value" : ["CST_LITERAL", "'1'"]}
608
                              ]]}
609
                            ]]}
610
                          ]]}
611
                        ]]}
612
                      ]}
613
                    ]}
614
                  ], ["SIGNAL_ASSIGNMENT_STATEMENT", {
615
                    "lhs" : ["SIMPLE_NAME", "count"], "rhs" : [{
616
                      "value" : ["EXPRESSION", {
617
                        "args" : [["EXPRESSION", {
618
                          "args" : [["EXPRESSION", {
619
                            "args" : [["EXPRESSION", {
620
                              "args" : [["AGGREGATE", {
621
                                "elems" : [{
622
                                  "choices" : [["OTHERS"]], "expr" : ["EXPRESSION", {
623
                                    "args" : [["EXPRESSION", {
624
                                      "args" : [["EXPRESSION", {
625
                                        "args" : [["EXPRESSION", {
626
                                          "args" : [["CONSTANT_VALUE", {
627
                                            "value" : ["CST_LITERAL", "'0'"]}
628
                                          ]]}
629
                                        ]]}
630
                                      ]]}
631
                                    ]]}
632
                                  ]}
633
                                ]}
634
                              ]]}
635
                            ]]}
636
                          ]]}
637
                        ]]}
638
                      ]}
639
                    ]}
640
                  ]]}
641
                ]}
642
              ], ["IF_STATEMENT", {
643
                "if_cases" : [{
644
                  "if_cond" : ["EXPRESSION", {
645
                    "id" : "=", "args" : [["EXPRESSION", {
646
                      "args" : [["EXPRESSION", {
647
                        "args" : [["EXPRESSION", {
648
                          "args" : [["CALL", ["SIMPLE_NAME", "readerEnable"]]]}
649
                        ]]}
650
                      ]]}
651
                    ], ["EXPRESSION", {
652
                      "args" : [["EXPRESSION", {
653
                        "args" : [["EXPRESSION", {
654
                          "args" : [["CONSTANT_VALUE", {
655
                            "value" : ["CST_LITERAL", "'1'"]}
656
                          ]]}
657
                        ]]}
658
                      ]]}
659
                    ]]}
660
                  ], "if_block" : [["SIGNAL_ASSIGNMENT_STATEMENT", {
661
                    "lhs" : ["SIMPLE_NAME", "readerToggle"], "rhs" : [{
662
                      "value" : ["EXPRESSION", {
663
                        "args" : [["EXPRESSION", {
664
                          "args" : [["EXPRESSION", {
665
                            "args" : [["EXPRESSION", {
666
                              "id" : "not", "args" : [["CALL", ["SIMPLE_NAME", "readerToggle"]]]}
667
                            ]]}
668
                          ]]}
669
                        ]]}
670
                      ]}
671
                    ]}
672
                  ]]}
673
                ]}
674
              ], ["VARIABLE_ASSIGNMENT_STATEMENT", {
675
                "lhs" : ["SIMPLE_NAME", "RxTg1"], "rhs" : ["EXPRESSION", {
676
                  "args" : [["EXPRESSION", {
677
                    "args" : [["EXPRESSION", {
678
                      "args" : [["EXPRESSION", {
679
                        "args" : [["CALL", ["SIMPLE_NAME", "regRxToggle"]]]}
680
                      ]]}
681
                    ]]}
682
                  ]]}
683
                ]}
684
              ], ["SIGNAL_ASSIGNMENT_STATEMENT", {
685
                "lhs" : ["SIMPLE_NAME", "writerEnable"], "rhs" : [{
686
                  "value" : ["EXPRESSION", {
687
                    "args" : [["EXPRESSION", {
688
                      "args" : [["EXPRESSION", {
689
                        "args" : [["EXPRESSION", {
690
                          "args" : [["CONSTANT_VALUE", {
691
                            "value" : ["CST_LITERAL", "'0'"]}
692
                          ]]}
693
                        ]]}
694
                      ]]}
695
                    ]]}
696
                  ]}
697
                ]}
698
              ], ["SIGNAL_ASSIGNMENT_STATEMENT", {
699
                "lhs" : ["SIMPLE_NAME", "writerDin"], "rhs" : [{
700
                  "value" : ["EXPRESSION", {
701
                    "args" : [["EXPRESSION", {
702
                      "args" : [["EXPRESSION", {
703
                        "args" : [["EXPRESSION", {
704
                          "args" : [["CALL", ["SIMPLE_NAME", "regDin"]]]}
705
                        ]]}
706
                      ]]}
707
                    ]]}
708
                  ]}
709
                ]}
710
              ], ["IF_STATEMENT", {
711
                "if_cases" : [{
712
                  "if_cond" : ["EXPRESSION", {
713
                    "id" : "/=", "args" : [["EXPRESSION", {
714
                      "args" : [["EXPRESSION", {
715
                        "args" : [["EXPRESSION", {
716
                          "args" : [["CALL", ["SIMPLE_NAME", "RxTg1"]]]}
717
                        ]]}
718
                      ]]}
719
                    ], ["EXPRESSION", {
720
                      "args" : [["EXPRESSION", {
721
                        "args" : [["EXPRESSION", {
722
                          "args" : [["CALL", ["SIMPLE_NAME", "RxTg2"]]]}
723
                        ]]}
724
                      ]]}
725
                    ]]}
726
                  ], "if_block" : [["SIGNAL_ASSIGNMENT_STATEMENT", {
727
                    "lhs" : ["SIMPLE_NAME", "writerEnable"], "rhs" : [{
728
                      "value" : ["EXPRESSION", {
729
                        "args" : [["EXPRESSION", {
730
                          "args" : [["EXPRESSION", {
731
                            "args" : [["EXPRESSION", {
732
                              "args" : [["CONSTANT_VALUE", {
733
                                "value" : ["CST_LITERAL", "'1'"]}
734
                              ]]}
735
                            ]]}
736
                          ]]}
737
                        ]]}
738
                      ]}
739
                    ]}
740
                  ]]}
741
                ]}
742
              ], ["VARIABLE_ASSIGNMENT_STATEMENT", {
743
                "lhs" : ["SIMPLE_NAME", "RxTg2"], "rhs" : ["EXPRESSION", {
744
                  "args" : [["EXPRESSION", {
745
                    "args" : [["EXPRESSION", {
746
                      "args" : [["EXPRESSION", {
747
                        "args" : [["CALL", ["SIMPLE_NAME", "RxTg1"]]]}
748
                      ]]}
749
                    ]]}
750
                  ]]}
751
                ]}
752
              ]]}
753
            ]}
754
          ]]}
755
        ], ["CONDITIONAL_SIGNAL_ASSIGNMENT", {
756
          "postponed" : false, "lhs" : ["SIMPLE_NAME", "EndOfSourceFile"], "rhs" : [{
757
            "expr" : [{
758
              "value" : ["EXPRESSION", {
759
                "args" : [["EXPRESSION", {
760
                  "args" : [["EXPRESSION", {
761
                    "args" : [["EXPRESSION", {
762
                      "args" : [["CALL", ["SIMPLE_NAME", "EndOfSource"]]]}
763
                    ]]}
764
                  ]]}
765
                ]]}
766
              ]}
767
            ]}
768
          ]}
769
        ], ["COMPONENT_INSTANTIATION_STATEMENT", {
770
          "name" : ["IDENTIFIER", "u2_fileReader"], "inst_unit" : ["SELECTED_NAME", [["SIMPLE_NAME", "work"], ["IDENTIFIER", "BinaryFileReader"]]], "inst_unit_type" : "entity", "generic_map" : [{
771
            "formal_name" : ["SIMPLE_NAME", "FileName"], "actual_designator" : ["SIMPLE_NAME", "SourceFile"]}
772
          ], "port_map" : [{
773
            "formal_name" : ["SIMPLE_NAME", "clk"], "actual_designator" : ["SIMPLE_NAME", "clk_uart"]}
774
          , {
775
            "formal_name" : ["SIMPLE_NAME", "enable"], "actual_designator" : ["SIMPLE_NAME", "readerEnable"]}
776
          , {
777
            "formal_name" : ["SIMPLE_NAME", "dout"], "actual_designator" : ["SIMPLE_NAME", "readerDout"]}
778
          , {
779
            "formal_name" : ["SIMPLE_NAME", "dv"], "actual_designator" : ["SIMPLE_NAME", "readerValid"]}
780
          , {
781
            "formal_name" : ["SIMPLE_NAME", "FileLength"], "actual_designator" : ["SIMPLE_NAME", "SourceFileLength"]}
782
          , {
783
            "formal_name" : ["SIMPLE_NAME", "EndOfFile"], "actual_designator" : ["SIMPLE_NAME", "EndOfSource"]}
784
          ]}
785
        ], ["COMPONENT_INSTANTIATION_STATEMENT", {
786
          "name" : ["IDENTIFIER", "u3_fileWriter"], "inst_unit" : ["SELECTED_NAME", [["SIMPLE_NAME", "work"], ["IDENTIFIER", "BinaryFileWriter"]]], "inst_unit_type" : "entity", "generic_map" : [{
787
            "formal_name" : ["SIMPLE_NAME", "FileName"], "actual_designator" : ["SIMPLE_NAME", "DestFile"]}
788
          , {
789
            "formal_name" : ["SIMPLE_NAME", "EchoToConsole"], "actual_designator" : ["SIMPLE_NAME", "EchoToConsole"]}
790
          ], "port_map" : [{
791
            "formal_name" : ["SIMPLE_NAME", "clk"], "actual_designator" : ["SIMPLE_NAME", "clk_uart"]}
792
          , {
793
            "formal_name" : ["SIMPLE_NAME", "enable"], "actual_designator" : ["SIMPLE_NAME", "writerEnable"]}
794
          , {
795
            "formal_name" : ["SIMPLE_NAME", "din"], "actual_designator" : ["SIMPLE_NAME", "writerDin"]}
796
          ]}
797
        ]]}
798
      ]}
799
    ]}
800
  }
(1-1/2)