XENTRAL is a simple Harvard Architecture CPU. It targets the Spartan6 FPGA present on the Digilent's Nexys3 board, but it's all written using portable behavioral VHDL1. You should be able to use your favorite FPGA, synthesizer and simulator.
All project files are available on github under the Creative Commons Attribution Non-Commercial (CC-by-NC) license.
|XENTRAL is a Harvard Architecture processor. This means that code and data are handled separately.|
XENTRAL is a Harvard Architecture processor. This means that code and data are handled separately. This effectively precludes the use of self-modifying code. It also prevents the processor from loading its own program. The program must be programmed into the instruction memory. This is a common approach for embedded devices and microcontrollers, but it does not play nice with operating systems and boot loaders. As the project grows, we will re-visit this limitation.
Overview of the Execution Unit
|Schematic representation of the execution unit|