📄️ Implement CPU by Software Oriented Approach
Considering to implement highly configurable CPU, we should use a very software oriented approach , in which there are few things that are fixed. This article borrows a lot from VexRiscv, a RISC-V CPU written in SpinalHDL , source code is here. In VexRiscv, nearly everything is plugin based, which means we can simply expand it or shrink it. Besides, there is an automatic tool allowing plugins to insert data at a given stage and other plugins to read it in another stage. There is also a service system which provides a very dynamic framework to handle exception.