
I spend most of my week staring at web APIs and container orchestration, so I go looking for excuses to read Verilog. TinyTapeout gave me one this week: a project on the SKY 25b shuttle that recreates the Yamaha YM2413, the FM synthesis chip better known as the OPLL, in real silicon.
Quick background for anyone who has not run into TinyTapeout before. It is a shared silicon program that lets individual engineers submit small digital (and sometimes analog) designs to ride along on a multi-project wafer. Instead of paying the full cost of a chip fabrication run yourself, you get a small tile on a shared die with a few hundred other designs, and a few months later you get back an actual physical chip you can plug into a demo board. It has turned into a genuine community, with everything from RISC-V cores to VGA pattern generators showing up on each shuttle.
The project I picked is tt_um_rejunity_ym2413_ika_opll, built by developer rejunity on the TinyTapeout SKY 25b shuttle. It is not a toy. The YM2413 was a real, mass-produced chip found in the Sega Master System’s FM sound unit, several MSX computers, and a pile of cheap keyboards from the late 80s. It does FM synthesis with two operators per channel, up to nine channels (six if you want the built-in rhythm section), and exactly one user-programmable instrument patch, because Yamaha cut corners everywhere they could to hit a low price point. The other fifteen instrument voices are burned into ROM and cannot be touched.
What makes this project interesting is where the actual logic came from. The core Verilog, called IKAOPLL, was reverse engineered by Sehyeon Kim, not from a datasheet with a full logic diagram, but from die shots of the real chip. Someone decapped a YM2413, photographed the silicon layers, and traced out the gates by hand. rejunity took that FPGA-oriented core, made the minimal changes needed to make it ASIC-friendly, and pushed it through the TinyTapeout flow onto SkyWater’s 130nm process.
That is the part I keep coming back to. Most hobbyist chip projects on these shuttles are clean-room designs: somebody writes an ALU or a UART from scratch because it is fun and well within reach for one person over a weekend. This one is different. It is an attempt at a cycle-accurate replica of a specific historical chip, built from evidence rather than from a spec sheet. If it works the way IKAOPLL claims, the output should sound bit-identical to what a real YM2413 produces on the original hardware, including whatever quirks and rounding errors that chip has baked into its DAC and its logarithmic sine tables.
I have some real respect for that as an engineering exercise, and also some skepticism about how far “cycle accurate” survives the trip from FPGA logic to a tiny TinyTapeout tile. IKAOPLL has a fully synchronous mode built in specifically to make FPGA and ASIC implementations easier, and the project README leans on that. But TinyTapeout tiles are small and clocked conservatively, and I would want to see the actual audio output compared against a real YM2413 on a scope before I fully believed the die-shot reverse engineering carried through cleanly. The project’s own docs punt on a full explanation of how it works and point back at the upstream IKAOPLL README instead, which is a reasonable move for a TinyTapeout submission but leaves a reader like me wanting more detail on what, if anything, got trimmed to fit the tile budget.
The alternative approach here is worth naming: instead of a bit-accurate replica, you could build a “good enough” FM synth core that approximates the sound using a simpler phase accumulator and a smaller lookup table, trading a few bits of precision and some historical accuracy for a much smaller gate count. Plenty of chiptune synth cores do exactly that, and on a resource-constrained tile like TinyTapeout’s, a simplified FM engine would leave more silicon budget for extra channels or a bigger patch RAM. The tradeoff is that you lose the “this is what actually shipped in a Sega Master System” claim, which is really the whole point of a reverse-engineered replica. If your goal is preservation and accuracy, you pay for it in area. If your goal is just making chiptune noises, you probably do not need a die-shot-accurate core at all.
Either way, getting an FM synth chip from the 1980s replicated on modern open silicon, driven off pins on a shared multi-project wafer, is the kind of project that makes me want to go dig up my own die shots and start tracing gates. Whether the audio ends up sounding right on real silicon is something I will only know once someone hooks up a working chip and an amp.
Repo: github.com/rejunity/tt-ym2413-IKAOPLL
Shuttle: tinytapeout.com/chips/ttsky25b