Commit e746d9a
committed
fix(tomasulo): MMIO cache bypass, ICARUS/Yosys compat, AMO test coverage
- Gate cache_fill_valid with !lq_is_mmio to prevent MMIO loads from
filling L0 cache (DESIGN.md spec drift)
- Fix sc_pending always_ff to separate async reset from sync flush for
Yosys formal compatibility
- Add !sq_committed guard to SC discard to prevent invalidating
committed SQ entries (formal assertion fix)
- Replace `inside {}` with explicit comparisons for Yosys compatibility
- Rewrite amo_compute function to use assignment instead of return for
Yosys compatibility
- Add ICARUS guards: `ifndef ICARUS` on concurrent assertion, forward-
declare sq_effective_addr, stub mem_rs_next_is_sc
- Add missing AMO ports to tomasulo_wrapper_tb and o_next_issue_is_sc
to reservation_station_tb for ICARUS elaboration
- Mark load_queue as Verilator-only (ICARUS VPI crash on wide structs)
- Add 9 wrapper-level integration tests: MMIO store and all 8 AMO ops
(AMOADD, AMOXOR, AMOAND, AMOOR, AMOMIN, AMOMAX, AMOMINU, AMOMAXU)1 parent 5959c04 commit e746d9a
File tree
7 files changed
+416
-35
lines changed- hw/rtl/cpu_and_mem/cpu/tomasulo
- fu_shims
- load_queue
- reorder_buffer
- tomasulo_wrapper
- verif/cocotb_tests/tomasulo/tomasulo_wrapper
7 files changed
+416
-35
lines changed| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
1366 | 1366 | | |
1367 | 1367 | | |
1368 | 1368 | | |
1369 | | - | |
| 1369 | + | |
1370 | 1370 | | |
1371 | | - | |
1372 | | - | |
1373 | | - | |
1374 | | - | |
| 1371 | + | |
| 1372 | + | |
| 1373 | + | |
| 1374 | + | |
1375 | 1375 | | |
1376 | 1376 | | |
1377 | 1377 | | |
| |||
1970 | 1970 | | |
1971 | 1971 | | |
1972 | 1972 | | |
1973 | | - | |
| 1973 | + | |
1974 | 1974 | | |
1975 | 1975 | | |
1976 | 1976 | | |
| |||
2220 | 2220 | | |
2221 | 2221 | | |
2222 | 2222 | | |
2223 | | - | |
| 2223 | + | |
2224 | 2224 | | |
2225 | 2225 | | |
2226 | 2226 | | |
| |||
2326 | 2326 | | |
2327 | 2327 | | |
2328 | 2328 | | |
2329 | | - | |
2330 | | - | |
| 2329 | + | |
| 2330 | + | |
2331 | 2331 | | |
2332 | 2332 | | |
2333 | 2333 | | |
| |||
Lines changed: 13 additions & 10 deletions
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
102 | 102 | | |
103 | 103 | | |
104 | 104 | | |
105 | | - | |
106 | | - | |
| 105 | + | |
| 106 | + | |
107 | 107 | | |
108 | 108 | | |
109 | | - | |
110 | | - | |
111 | | - | |
112 | | - | |
| 109 | + | |
| 110 | + | |
| 111 | + | |
| 112 | + | |
113 | 113 | | |
114 | | - | |
115 | | - | |
| 114 | + | |
| 115 | + | |
| 116 | + | |
| 117 | + | |
| 118 | + | |
| 119 | + | |
116 | 120 | | |
117 | 121 | | |
118 | 122 | | |
| |||
173 | 177 | | |
174 | 178 | | |
175 | 179 | | |
176 | | - | |
177 | | - | |
| 180 | + | |
178 | 181 | | |
179 | 182 | | |
180 | 183 | | |
| |||
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
127 | 127 | | |
128 | 128 | | |
129 | 129 | | |
130 | | - | |
| 130 | + | |
131 | 131 | | |
132 | | - | |
| 132 | + | |
| 133 | + | |
133 | 134 | | |
134 | 135 | | |
135 | 136 | | |
| |||
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
497 | 497 | | |
498 | 498 | | |
499 | 499 | | |
500 | | - | |
| 500 | + | |
501 | 501 | | |
502 | 502 | | |
503 | 503 | | |
| |||
Lines changed: 8 additions & 6 deletions
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
182 | 182 | | |
183 | 183 | | |
184 | 184 | | |
| 185 | + | |
| 186 | + | |
| 187 | + | |
| 188 | + | |
| 189 | + | |
| 190 | + | |
185 | 191 | | |
186 | 192 | | |
187 | 193 | | |
| |||
250 | 256 | | |
251 | 257 | | |
252 | 258 | | |
253 | | - | |
254 | | - | |
255 | | - | |
| 259 | + | |
256 | 260 | | |
257 | 261 | | |
258 | 262 | | |
259 | 263 | | |
260 | 264 | | |
261 | | - | |
262 | | - | |
263 | | - | |
| 265 | + | |
264 | 266 | | |
265 | 267 | | |
266 | 268 | | |
| |||
Lines changed: 15 additions & 7 deletions
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
371 | 371 | | |
372 | 372 | | |
373 | 373 | | |
| 374 | + | |
| 375 | + | |
| 376 | + | |
| 377 | + | |
| 378 | + | |
| 379 | + | |
| 380 | + | |
| 381 | + | |
| 382 | + | |
374 | 383 | | |
375 | 384 | | |
376 | 385 | | |
| |||
486 | 495 | | |
487 | 496 | | |
488 | 497 | | |
489 | | - | |
| 498 | + | |
490 | 499 | | |
491 | 500 | | |
492 | 501 | | |
| |||
499 | 508 | | |
500 | 509 | | |
501 | 510 | | |
502 | | - | |
503 | | - | |
| 511 | + | |
504 | 512 | | |
505 | 513 | | |
506 | 514 | | |
| |||
521 | 529 | | |
522 | 530 | | |
523 | 531 | | |
524 | | - | |
| 532 | + | |
525 | 533 | | |
526 | 534 | | |
527 | 535 | | |
| |||
634 | 642 | | |
635 | 643 | | |
636 | 644 | | |
637 | | - | |
| 645 | + | |
638 | 646 | | |
639 | 647 | | |
640 | 648 | | |
| |||
646 | 654 | | |
647 | 655 | | |
648 | 656 | | |
649 | | - | |
| 657 | + | |
650 | 658 | | |
651 | 659 | | |
652 | 660 | | |
| |||
658 | 666 | | |
659 | 667 | | |
660 | 668 | | |
661 | | - | |
| 669 | + | |
662 | 670 | | |
663 | 671 | | |
664 | 672 | | |
| |||
0 commit comments