/clash-cpu

writing a CPU with a custom instruction set in clash (not part of qbaylogic internship)

Primary LanguageHaskellMIT LicenseMIT

Instruction set specs / features:

  • 64-bit registers
  • 16-bit instructions
  • Kernel vs. user mode
  • Hardware and software interrupts
  • Memory mapped IO
  • Very uniform instruction set
  • All operations support being run conditionally (easy branchless programming)
  • Jumps are done via writing to PC register

Need to do:

  • Virtual addressing
  • Memory permissions