Quantcast
        LOGIN   :::   RECOVER PASS   :::   FOR DEVELOPERS    
Browse
  • Projects
  • Code (CVS)
  • Forums
  • News
  • Articles
  • Polls
  •  
    OpenCores
  • FAQ
  • CVS HowTo
  • Mission
  • Media
  • Tools
  • Sponsors
  • Mirrors
  • Logos
  • Contact us
  •  
    Tools
  • Search
      
  • Download Cores (CVSGet)
  •  
    More
  • Wishbone
  • Perlilog
  • EDA tools
  • OpenTech CD
  •  
    Overview :: News :: Downloads :: Tracker :: Discussions (cores) :: CVS    

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

    Details

    Name: zpu
    Created: 02-Jan-2008 19:35:18
    Updated: 09-May-2008 08:27:48
    CVS: browse

    Other project properties

    Category :: Microprocessor
    Language :: VHDL
    Phaze :: Design done
    Phaze :: FPGA proven
    Phaze :: Specification done
    Standard :: Wishbone compliant core
    Development status :: Beta
    Development status :: Production/Stable

    Project maintainers

  • Øyvind Harboe
  • Statistics

  • view
  • 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

    Survey

    Please take the time to fill in this short survey so we can gather information about where the ZPU can be the most useful:

    http://www.zylin.com/zpusurvey.html

    Download

    The simplest way to get the ZPU HDL source and tools is to check it out from CVS:

    cvs -d :pserver:anonymous@cvs.opencores.org:/cvsroot/anonymous co zpu/zpu

    Start by reading zpu/zpu/hdl/index.html


    If you have an changes, modify the files locally, create a patch and email it to zylin-zpu at zylin.com:

    cd zpu
    cvs diff -upN . > mypatch.txt

    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)

    Simulator

    The ZPU simulator is integrated into the Zylin Embedded CDT plugin to ease debugging of ZPU applications:

    http://www.zylin.com/embeddedcdt.html

    The ZPU simulator has many features besides debugging an application:

    • taking output from simulation(e.g. ModelSim) and matching that against the Java simulator, thus making it much easier to debug HDL implementations and also getting real world timing information
    • can generate gprof output
    • generate various statistics
    The plugin is still pretty rough around the edges, and needs to get GUI support for enabling the ModelSim trace input feature.


    Compiling ZPU application


    Setting up the simulator


    Choosing ZPU executable


    Debug session


     

     
    Copyright (c) 1999 OPENCORES.ORG. All rights reserved.