skip navigational linksPJRC
Shopping Cart Checkout Shipping Cost Download Website
Home MP3 Player 8051 Tools All Projects PJRC Store Site Map
You are here: OSU8 Microprocessor Overview Search PJRC

OSU8 Microprocessor
selected Overview
CPU Programming
Hardware Info
Schematic
Implementation
Download Files

OSU8 Microprocessor Project (1994)

OSU8 began as a student project in 1994 to create a simple but functional 8-bit microprocessor, starting with a definition of the architecture to implementation in a Xilinx FPGA chip, and full-custom CMOS implementation.

Over a period of about six months, the project came together and was, more or less, a success. The Xilinx-based hardware actually ran some code, but would crash after several dozen instructions. Gate-level simulation would run code correctly. Perhaps someday I'll revisit the project and troubleshoot the real hardware, and maybe even fab the full-custom CMOS chip.

These web pages are an attempt to document the project, and make the design and software tools available publicly (for free). All of the OSU8 design material presented here is an original work by Paul Stoffregen and has been placed in the public domain. This material is provided in the hope that it will be useful, but without any warranty, not even a warranty of merchantability or fitness for a particular purpose.

The Project

The first step was to define the instruction set, and overall architecture of the microprocessor. This led to the next step, writing the assembler and software simulator.

With the definition and software tools, I designed the ALU and data path circuitry. These require many control signals. Several attempts were made to design the control state machine, which ultimately showed the need to create a microcode programming language. With this tool, I wrote the microcode that describes how the control state machine will cause the hardware to execute code. Turning the crank of logic synthesis produced the control circuitry, completing the hardware design.

The complete schematic (extracted from screen captures) is on-line, and also has a map to make navigating it a bit easier.

The first verification was simulation of code execution. With a functional design, I built a Xilinx-based board, which was able to run some code, though not reliably. Some initial work has been done to create a full-custom CMOS implementation.

Free Download

All of the material is available at the OSU8 download page.

Main Content

Incomplete This red dot indicates an empty placeholder page.


OSU8: Simple 8-Bit Microprocessor Design; Paul Stoffregen
http://www.pjrc.com/tech/osu8/index.html
Last updated: February 24, 2005
Status: These pages are a work-in-progress
Comments, Suggestions: <paul@pjrc.com>