/spc700-nmigen

SPC-700 CPU written in nMigen

Primary LanguagePythonGNU General Public License v3.0GPL-3.0

SPC-700 CPU written in nMigen

What is the SPC-700?

The sound chip found in the SNES. snesmusic.org has a nice intro about it.

Why?

  • I've never written a CPU before
  • I want to learn nMigen and formal verification

How am I doing it?

n6800 is an awesome video tutorial from Robert Baruch where he implements a 6800 CPU in nMigen. I've taken the formal verification framework, adapted it and started building my own core.

Regarding nMigen, documentation is still a bit lacking but the language is so easy to use it has not been a problem at all. Some things are not yet finalized so I'll try to keep hacky code to a minimum.

TODO

  • Formal verification framework
  • Implement the ALU
  • Implement all instructions (4/256)
  • Connect the RAM
  • Implement the DSP

Head over to the repo's wiki if you want to see more detailed info and progress