|
4 | 4 | > **Passt die Savestate-Infrastruktur überhaupt in den FPGA?** Er liefert noch |
5 | 5 | > kein spielbares Sleep/Wake. |
6 | 6 |
|
| 7 | +## Ergebnis (Quartus 21.1, gemessen 2026-06-22) |
| 8 | + |
| 9 | +**Es passt — und der Spike kostet fast nichts.** Apples-to-apples gegen sauberes |
| 10 | +`master` (gleicher Workflow, gleiches Quartus): |
| 11 | + |
| 12 | +| Metrik | master | Spike | Δ | |
| 13 | +|---|---|---|---| |
| 14 | +| Logic (ALMs) | 11.380 (62 %) | 11.429 (62 %) | **+49** | |
| 15 | +| Register | 11.096 | 11.544 | +448 | |
| 16 | +| Block-RAM-Bits | 1.862.528 (59 %) | 1.993.856 (63 %) | +131.328 | |
| 17 | +| RAM-Blöcke (M10K) | 235 (76 %) | 253 (82 %) | **+18** | |
| 18 | +| DSP-Blöcke | 26 | 26 | 0 | |
| 19 | +| Worst Setup Slack | **-3.985 ns** | -4.409 ns | -0.424 ns | |
| 20 | + |
| 21 | +- **Fit:** ja. Die Infrastruktur (Controller + 2 FIFOs + VRAM-Walker) kostet nur |
| 22 | + **+49 ALMs** und **+18 M10K-Blöcke** (die FIFOs). Es bleiben 38 % ALM und 18 % |
| 23 | + M10K frei für die volle Chip-Serialisierung — die ist ALM-lastig, BRAM-arm, der |
| 24 | + M10K-Druck bleibt also ~hier. |
| 25 | +- **Timing:** `master` **verfehlt das Timing schon ohne den Spike** (-3.985 ns auf |
| 26 | + dem SNES-Compute-Takt `general[1]`). Der Spike taucht in **keinem** kritischen |
| 27 | + Pfad auf (STA-Report: 0 Treffer für `ss_spike`/`save_state_controller`); die |
| 28 | + -0.42 ns extra sind Routing-Congestion auf ohnehin verletzten Kern-Pfaden. Die |
| 29 | + volle Variante gated den Core-Takt während `ss_busy` und nimmt ihn damit aus dem |
| 30 | + Timing-Druck. |
| 31 | + |
7 | 32 | ## Worum es geht |
8 | 33 |
|
9 | 34 | Auf der Analogue Pocket ist „Sleep & Wake / Memories" **technisch identisch mit |
|
0 commit comments