ZPU - the worlds smallest 32 bit CPU with GCC toolchain :: Overview

Project maintainers

Details

Name: zpu
Created: Jan 2, 2008
Updated: Jun 21, 2009
SVN: Browse
Statistics: View

Other project properties

Category: Processor
Language: VHDL
Development status: Stable
Additional info: Design done, FPGA proven, Specification done,
WishBone Compliant: Yes
License:

The worlds smallest 32 bit CPU with GCC toolchain

This CPU is finding a new home at www.opencores.org, please contact me if you are willing and able to help in shaping up the www.opencores.org pages.

The HDL, GCC toolchain and eCos HAL are actually done. Mainly I could need a hand with writing up docs/web pages/examples/bug reports.

The ZPU has a BSD license for the HDL and GPL for the rest(source files are sadly out of date here, patches gladly accepted!). This allows deployments to implement any version of the ZPU they want without running into commercial problems, but if improvements are done to the architecture as such, then they need to be contributed back.

One strength of the ZPU is that it is tiny and therefore easy to implement from scratch to suit specialized needs and optimizations.

Currently there exists some pages at http://www.zylin.com/zpu.htm that explains about the ZPU. According to OpenCores policy this information should be moved to www.opencores.org. Patches gratefully accepted to do so!

Per Jan 1. 2008, Zylin has the Copyright for the ZPU, i.e. Zylin is free to decide that the ZPU shall have a BSD license for HDL + GPL for the rest.

Sincerley,

Øyvind Harboe
Zylin AS

Features

- Small size: 442 LUT @ 95 MHz after P&R w/32 bit datapath Xilinx XC3S400
- Wishbone
- Code size 80% of ARM Thumb
- GCC toolchain(GDB, newlib, libstdc++)
- eCos embedded operating system support

Status

- HDL works
- GCC toolchain works
- eCos HAL works, but could be less RAM hungry
- The main problem at this point is not usage of the CPU, but that the documentation/CVS layout needs attention
- Needs GDB stub support in eCos
- Could do with a Verilog implementation(ca. 600 lines to translate)

IMAGE: compile.PNG

FILE: compile.PNG
DESCRIPTION: Compiling ZPU application

IMAGE: simulator.PNG

FILE: simulator.PNG
DESCRIPTION: Setting up the simulator

IMAGE: simulator2.PNG

FILE: simulator2.PNG
DESCRIPTION: Choosing ZPU executable

IMAGE: simulator3.PNG

FILE: simulator3.PNG
DESCRIPTION: Debug session

Download

The ZPU source is kept in a git repository rather than CVS(OpenCores.org does not yet support git).

http://opensource.zylin.com/zpudownload.html


The OpenCores CVS server contains a snapshot of the source code before it was moved to git.

© copyright 1999-2009 Opencores.org All rights reserved