DMG-CPU Research
On this page
  1. Purpose of the Research
  2. Contents
  3. Latch vs DFF vs DLatch vs FF
  4. Signals Disclaimer
  5. Progress
  6. Reference

DMG-CPU Research Wiki

Nintendo_DMG_CPU_1 1

Purpose of the Research

DMG-CPU is a fairly well researched chip. It is difficult to add something and not to repeat :-) That's why we will try to make the result of the research an addition to what is already known.

The main goal (as in our other projects) is to get a netlist on Verilog, preferably as close as possible to the real chip ("die-perfect"). For this purpose we use the Deroute utility, which allows us to export ready-to-use Verilog at once.

Then the reader has 2 options: either to "understand" the decompiled netlist (which in principle has already been done in @msinger's work), or to use it "without understanding" in other projects.

Contents

Latch vs DFF vs DLatch vs FF

On this site we use the following conventions for terminology:

You may have heard other definitions on other sites/Wikipedia, but they are different everywhere (depending on the context), so we clearly define them.

Signals Disclaimer

I understand that everyone wants the signals to be called by human-readable and proper names. DMG-CPU study was conducted at different times, so sometimes you can see strange signal names.

Do not expect that all of them are quickly renamed to proper names. Such a process runs the risk of turning the study into signal renaming and nothing more.

From experience - frequent renaming of signals also contributes to various errors and confusion.

Renaming a signal does not make it work differently ๐Ÿ˜„

Signal names are mostly in snake_case notation, if another one is used, it was before snake_case was decided to be used :)

Progress

Case Top-Level Pads Memory DAC ClkGen Ser MMIO Arb PPU APU SM83
Topology โœ… โœ… โœ… โœ… โœ… โœ… โœ… โœ… โœ…
List of ports with description โœ… โœ… โœ… โœ… โœ… โœ… โœ… โœ… โœ… โœ… โœ…
Map of cells/modules โœ… - โœ… โœ… โœ… โœ… โœ… โœ… โœ…
Netlist โœ… - โœ… โœ… โœ… โœ… โœ… โœ… โœ…
Verilog โœ… โœ… โœ… โœ… โœ… โœ… โœ… โœ… โœ…
Design extracted from PlanAhead โœ… - โœ… โœ… โœ… โœ… โœ… โœ… โœ…
Verification with @msinger โœ… โœ… - โœ… โœ… โœ… โœ… โœ… โœ… -

Reference


  1. DMG-CPU A Photo by Christian Bassow: https://commons.wikimedia.org/wiki/File:Nintendo_DMG_CPU_1.jpg