Alwcpu - 16-bit light weight CPU

Alwcpu - 16-bit light weight CPU


Category: Processor

Created: May 09, 2009

Updated: January 27, 2020

Language: VHDL

Other project properties

Development Status: Alpha

Additional info: Design done, Specification done

WishBone compliant: Yes

WishBone version: n/a

License: LGPL


Alwcpu is a light weight CPU in terms of logic resources.
- 16 bit address and data bus. (Instructions are 16 bit as well)
- Wishbone interface
- Is parameterizable to optimize size, e.g. skipping of instruction groups, selectable 8 or 16 registers...
- Core size is about 52-55 FF and 335-478 LUT's (depending on configuration) in a Spartan 3-400 when compiled for Area.
- The core has 4 special registers and 4(*4) general purpose registers in minimum configuration
- If more registers needed another 8(*2) registers could be enabled through configuration. See documentation for the CPU.
- Some binary combinations for instructions are left reserved for the future for more instructions.


- Core written
- Core optimization done for now, more to do in the future
- Simulation and initial testing done
- Finally released core in SVN (Check Web-upload dir)
- Assembler development is planned.


- More instructions should be possible to disable with generics
- Maybe develop interrupt handling (register map switching is even more useful when having interrupts)