KPU-RISC / KPU

KPU - the RISC based Open Source CPU

Home Page:http://www.cpu-design.at

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

KPU - the RISC based Open Source CPU

This repository contains complete source code and buillding files for the KPU - a RISC based CPU (Central Processing Unit). The whole CPU is emulated, simulated, and modelled on the lowest level only with primitive AND, OR, XOR, and NOT gates.

It implements a 8-bit wide Data Bus, and a 16-bit wide Address Bus. The following 8-bit wide registers are implemented:

  • D (General Purpose)
  • E (General Purpose)
  • F (General Purpose)
  • G (General Purpose)
  • H (General Purpose)
  • XL (Lower part of the 16-bit wide "X" register
  • XH (Upper part of the 16-bit wide "X" register

The following 16-bit wide registers are implemented:

  • SP (Stack Pointer)
  • BP (Base Pointer)
  • PC (Program Counter)
  • M (Memory Addressing)
  • J (Jump Destination Addressing)
  • X (General Purpose)
  • Y (General Purpose)
  • Z (General Purpose)

The project contains the following sub components:

  • Assembler: The Assembler generates from the assembly language binary code that can be executed by the CPU. It is written in C#, and uses ANTLR for the syntax processing.
  • Emulation: The C#-based Emulator is able to run binary code in a Console application or within a WinForms application (used for debugging purposes).
  • VHDL: This folder contains the whole CPU implementation as VHDL description files.
  • Eagle: This folder contains the whole schematics and board files ready for a physical implementation of the CPU based on 74LS TTL logic chips.
  • Logicly: This folder contains early Proof-Of-Concept files for the Logicly simulation program.

For more detailed technical information about the CPU, please visit the project website at http://www.cpu-design.at

About

KPU - the RISC based Open Source CPU

http://www.cpu-design.at

License:MIT License


Languages

Language:C# 78.7%Language:VHDL 13.1%Language:Assembly 5.9%Language:ANTLR 2.0%Language:C 0.2%Language:Prolog 0.1%Language:Batchfile 0.0%