update repo
3 files changed
tree: b17d0859dba48244303d0ecaeb95d2767392a17d
  1. .github/
  2. def/
  3. docs/
  4. gds/
  5. lef/
  6. lib/
  7. mag/
  8. maglef/
  9. mpw_precheck/
  10. openlane/
  11. sdc/
  12. sdf/
  13. signoff/
  14. spef/
  15. spi/
  16. tapeout/
  17. verilog/
  18. .gitignore
  19. LICENSE
  20. Makefile
  21. README.md
README.md

VerilogBoy GFMPW0

Uses VerilogBoy design from https://github.com/zephray/VerilogBoy.

VerilogBoy is a GameBoy-compatible system design in synthesizable Verilog RTL. The submission for GFMPW0 includes the following components:

  • SM83 (GBZ80) CPU core
  • Pixel processing unit
  • Programmable sound generator
  • Timer
  • Stereo PDM audio output

To form a complete GB system, users need to provide the following additional components:

  • Generic 16KB Async SRAM
  • Some buttons for input
  • 160x144 LCD
  • Low pass filter and audio amplifier
  • Unmodified GameBoy game cartridge
  • Small amount of glue logic

The simtop.v maybe used as a reference on external components required.

A Verilator-based testbench is provided in verilog/sim.

Implementation Results

The implementation has 43% ultilization of a 1.5mm x 1.5 mm core area. The Fmax is around 20MHz at typical corner, 3.3V with no hold violation. The design is supposed to run up to 4MHz at 5V.

License

Unless otherwise stated, HDL codes are licensed under OHDL 1.0, and software codes are licensed under MIT.