Natalius is a compact, capable and fully embedded 8 bit RISC processor core described 100% in Verilog. This processor includes a very tiny VGA Controller suitable for VideoGames :)
The instruction memory is implemented in two BlockRAM Memories, it stores 2048 instructions, each instruction has a width of 16 bits (2048x16). Each instruction takes 3 clock cycles to be executed.
- 8 Bit ALU
- 8x8 Register File
- 2048x16 Instruction Memory
- 32x8 Ram Memory
- 16x11 Stack Memory
- Three CLK/Instruction
- Carry and Zero flags
- No operation Instruction (nop)
- 8 bit Address Port (until 256 Peripherals)
- LDI, LDM, STM (Memory Access Instructions)
- CMP, ADD, ADI, SUB (Arithmetic Instructions)
- AND, OOR, XOR, NOP, SL0, SL1, SR0, SR1, RRL, RRR (Logical Instructions)
- JMP, JPZ, JNZ, JPC, JNC, CSR, RET, CSZ, CNZ, CSC, CNC (Flow Control Instructions)