Repository navigation
Unstable build 5427d00f9a
Pre-releaseUnstable build
Rolling build of main. Not a release: unverified on hardware and replaced by the next push.
Commit 5427d00f9a6b, 2026-10-07: CI: fit MiSTer seeds 1-8 in parallel
Core clock: 45 MHz (target 66 MHz).
Fit and timing
Slack in ns, worst over clocks and corners; each build's own SDC is the gate.
| Build | Commit | Core clock | ALMs | Registers | M10K | MLAB bits | DSP | Worst setup | Worst hold | Timing met | 50 MHz | Re-timed | Bitstream |
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| mister | 5427d00f9a |
45 MHz | 34,789 | 35,163 | 231 | 30,720 | 28 | +0.128 | +0.115 | pass | – | – | PPC603e_fpu_compact_dual_lsupipe_20261008_0052.rbf 05a705c6aa409cda |
Slack per clock and corner
| Build | Clock | Analysis | slow 100c | slow -40c | fast 100c | fast -40c |
|---|---|---|---|---|---|---|
| mister | pll_hdmi|pll_hdmi_inst|altera_pll_i|cyclonev_pll|counter[0].output_counter|divclk |
setup | +0.128 | +0.247 | +2.978 | +3.465 |
| mister | pll_hdmi|pll_hdmi_inst|altera_pll_i|cyclonev_pll|counter[0].output_counter|divclk |
hold | +0.257 | +0.222 | +0.137 | +0.115 |
| mister | pll_hdmi|pll_hdmi_inst|altera_pll_i|cyclonev_pll|counter[0].output_counter|divclk |
recovery | +4.044 | +4.149 | +5.190 | +5.419 |
| mister | pll_hdmi|pll_hdmi_inst|altera_pll_i|cyclonev_pll|counter[0].output_counter|divclk |
removal | +0.953 | +0.844 | +0.494 | +0.369 |
| mister | emu|pll|pll_inst|altera_pll_i|general[0].gpll~PLL_OUTPUT_COUNTER|divclk |
setup | +0.307 | +0.489 | +8.090 | +8.454 |
| mister | emu|pll|pll_inst|altera_pll_i|general[0].gpll~PLL_OUTPUT_COUNTER|divclk |
hold | +0.213 | +0.234 | +0.135 | +0.120 |
| mister | emu|pll|pll_inst|altera_pll_i|general[0].gpll~PLL_OUTPUT_COUNTER|divclk |
recovery | +16.729 | +16.896 | +18.954 | +19.427 |
| mister | emu|pll|pll_inst|altera_pll_i|general[0].gpll~PLL_OUTPUT_COUNTER|divclk |
removal | +3.217 | +2.974 | +1.749 | +1.364 |
| mister | sysmem|fpga_interfaces|clocks_resets|h2f_user0_clk |
setup | +2.012 | +1.949 | +5.515 | +6.212 |
| mister | sysmem|fpga_interfaces|clocks_resets|h2f_user0_clk |
hold | +0.324 | +0.322 | +0.159 | +0.142 |
| mister | sysmem|fpga_interfaces|clocks_resets|h2f_user0_clk |
recovery | +3.970 | +4.235 | +6.339 | +6.997 |
| mister | sysmem|fpga_interfaces|clocks_resets|h2f_user0_clk |
removal | +1.751 | +1.639 | +0.926 | +0.732 |
| mister | FPGA_CLK1_50 |
setup | +7.994 | +7.594 | +13.770 | +14.520 |
| mister | FPGA_CLK1_50 |
hold | +0.415 | +0.411 | +0.177 | +0.164 |
| mister | FPGA_CLK1_50 |
recovery | +16.857 | +17.079 | +18.262 | +18.541 |
| mister | FPGA_CLK1_50 |
removal | +1.322 | +1.244 | +0.624 | +0.534 |
| mister | FPGA_CLK2_50 |
setup | +10.982 | +11.291 | +15.177 | +15.935 |
| mister | FPGA_CLK2_50 |
hold | +0.266 | +0.254 | +0.140 | +0.123 |
| mister | pll_audio|pll_audio_inst|altera_pll_i|general[0].gpll~PLL_OUTPUT_COUNTER|divclk |
setup | +24.088 | +23.525 | +32.186 | +33.158 |
| mister | pll_audio|pll_audio_inst|altera_pll_i|general[0].gpll~PLL_OUTPUT_COUNTER|divclk |
hold | +0.266 | +0.254 | +0.141 | +0.126 |
Program images
Copy to games/PPC603e/ on the SD card and open one with the core's OSD entry Load program (MiSTer core).
| File | SHA-256 |
|---|---|
DOOM1.WAD |
1d7d43be501e67d927e415e0b8f3e29c3bf33075e859721816f652a526cac771 |
pak0.pak |
35a9c55e5e5a284a159ad2a62e0e8def23d829561fe2f54eb402dbc0a9a946af |
ppc603e-doom-le.bin |
e22b2f4a2df6fb2a100720f881e0705f6a2eb49db9c19b3acbc954ed96614137 |
ppc603e-doom.bin |
fe7a68437f436adac726a135abd2e398b93fcdef650a724f1faf5950f933de18 |
ppc603e-embench.bin |
b6e11fb86daa4fd39f5a0aed915dc0853d33bc1a3063b631d16fdad2723f4405 |
ppc603e-nbench-hf.bin |
ee2aef98ddbed47e22bf8400b4677d4b2dd362ed018cc496f76f70fec2f407f7 |
ppc603e-nbench.bin |
609f9d672451ba49897b0eac73fcb42e53dffd00a6ca300337f2046afbf3df59 |
ppc603e-quake-le.bin |
2922ba1047b78befd6060e282d9d1b974ac94a9a392dc34331e2022a94948f5b |
ppc603e-quake-sf.bin |
16b8a67bc1e95e6b581f23eadc15da0f6a5b98cefe389ddd6e13aab510396b94 |
ppc603e-quake.bin |
594a486efe04ff3d9cd0d6c5d48902c394aa00bda629524db4d62eeb8def5c33 |
ppc603e-selftest.bin |
79aab7734193bece68624bbc9927eeb01ec4ec5e3d9c48fcfa33c27027b9e528 |
ppc603e-whetstone-hf.bin |
884723918dd9662600c858d21a3ec229f54935a9a7708dc5cfc3f4142e839362 |
ppc603e-whetstone.bin |
3b6dae83439d85e31f6969fc720b7dc603f673f632cbf518dbe6b0d9b64f15af |
Pins
| Input | Pin |
|---|---|
| Quartus Prime Lite 17.0.2 | theypsilon/quartus-lite-c5@sha256:f638634df509786bc7507dbcb45673acd6adf32e5278c7b4e64ce67ae8ac2c70 |
| Cross-compiler base | debian:bookworm-20250811-slim@sha256:b1a741487078b369e78119849663d7f1a5341ef2768798f7b7406c4240f86aef, Debian snapshot 20250811T000000Z |
| DingusPPC (comparison only) | 5b292af4d7b34467b9023b57a48834bea75535f3 |
MiSTer framework sys/ (GPL-2.0) |
3ea1134cf05d |
Licences
The core is GPL-2.0-or-later. A MiSTer .rbf also contains the MiSTer framework (GPL-2.0), so a distributed .rbf is covered by GPL-2.0. Its corresponding source is this repository at 5427d00f9a6b and the framework at 3ea1134cf05d.
GPL-3.0 build: the Embench bitstream's program RAM, or the Embench program image, holds Embench-IoT object code (GPL-3.0-or-later), so that file is GPL-3.0. Source offer: its corresponding source, offered from the same place as the image under GPL-3.0 section 6(d), is this repository at 5427d00f9a6b, Embench-IoT at 0466a18e4f6b, and the pinned compiler and runtime sources listed in docs/BENCHMARKS.md; the attached ppc603e-source.tar.gz holds all of them and ppc603e-embench.SOURCE.txt lists them. Check that the combination with the GPL-2.0 framework is acceptable before redistributing an Embench bitstream.
Doom: ppc603e-doom.bin (big-endian) and ppc603e-doom-le.bin (little-endian) hold doomgeneric object code (GPL-2.0), so they are GPL-2.0; their corresponding source is this repository at 5427d00f9a6b, doomgeneric at dcb7a8dbc7a1 and the soft-float sources listed in docs/BENCHMARKS.md, all in the attached ppc603e-source.tar.gz and listed in ppc603e-doom.SOURCE.txt. DOOM1.WAD is id Software's shareware Doom v1.9 IWAD, distributed unmodified as its own file under the shareware terms (free redistribution of the unmodified file, not for sale); SHA-256 1d7d43be501e67d927e415e0b8f3e29c3bf33075e859721816f652a526cac771. Load it with Load data for the big-endian image or Load data (little-endian) for the little-endian one, then load the program.
Quake: ppc603e-quake.bin (hard float, big-endian, PowerPC assembly renderer), ppc603e-quake-le.bin (hard float, little-endian, the same renderer) and ppc603e-quake-sf.bin (soft float, any core) run a looping timedemo demo1. They hold quakegeneric object code (GPL-2.0), and the first two also assembly from Frank Wille's Amiga Quake 1.09 v2.30 source (GPL-2.0), so they are GPL-2.0; their corresponding source is this repository at 5427d00f9a6b, quakegeneric at 13052102577c, the Amiga source archive (SHA-256 f61211db6e16b277771a79e6e2d2f41b100301293c9aa5e0b99c355f42c50d30) and the runtime sources listed in docs/BENCHMARKS.md, all in the attached ppc603e-source.tar.gz and listed in ppc603e-quake.SOURCE.txt. pak0.pak is id Software's Quake v1.06 shareware data file, distributed unmodified as its own file under the shareware terms (free redistribution of the unmodified file, not for sale); SHA-256 35a9c55e5e5a284a159ad2a62e0e8def23d829561fe2f54eb402dbc0a9a946af. Load it with Load data for the big-endian images or Load data (little-endian) for the little-endian one, then load the program.
nbench: ppc603e-nbench.bin (soft float, any core) and ppc603e-nbench-hf.bin (hard float, FPU cores) hold BYTE's nbench 2.2.3 object code, which carries no licence beyond BYTE's as-is disclaimer and the port's warranty disclaimer. They are redistributed under that notice; ppc603e-nbench.SOURCE.txt reproduces it and points to the source: nbench at 592e671e0c21 and this repository at 5427d00f9a6b, both in the attached ppc603e-source.tar.gz.