Project

General

Profile

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