Go Back

Source code

Details

Name: klc32
Created: Oct 5, 2011
Updated: Oct 6, 2011
SVN Updated: Apr 9, 2012

Other project properties

Category: Processor
Language: Verilog
Development status: Planning
Additional info:
WishBone Compliant: No
License: LGPL

Description

KLC32 is a 32 bit non-pipelined processor. This project is in the first stage of it's evolution and has a long ways to go yet, hence descriptions are a bit lacking. Read the code. First coding was Oct 4, 2011.

Programming Model

There a 32 x 32 bit registers with register R0 always reads as zero.
There are two processor modes, user and system, each with it's own stack pointer. Some instructions are restricted to system mode only.
There is a group of eight condition code registers cr0 to cr7, each of which contains four status flags: carry,overflow,negative, and zero. The compare instruction can set any one of the group of condition codes.
Many instructions update cr0 automatically.
Two address modes are supported: register indirect with displacement, and indexed addressing.