Git Product home page Git Product logo

altor32's Introduction

AltOr32 - Alternative Lightweight OpenRisc CPU

AltOR32 is an OpenRISC 1000 architecture derived RISC CPU targeted at small FPGAs and contains only the most basic ISA features from the OpenRisc project. Instructions & registers relating to Vector, floating-point, 64-bit extensions, MMU & Cache have been omitted. The aim of AltOR32 is to provide a simple 32-bit soft CPU architecture aimed at control applications that can fit in low-end FPGA technology.

This design implements all instructions that cannot be disabled. Anything else is viewed as beyond the scope of this cut-down soft-CPU implementation.

AltOR32 does not make use of delay slots, unlike the original OpenRisc implementation. Due to this, the or1knd toolchain is required.

Toolchain

The 'or1knd' toolchain is required for this target.

To build from source:

git clone git://github.com/openrisc/or1k-src.git git clone git://github.com/openrisc/or1k-gcc.git

Build the first set of tools, binutils etc:

../or1k-src/configure --target=or1knd-elf --prefix=/opt/or1k-toolchain --enable-shared --disable-itcl --disable-tk --disable-tcl --disable-winsup --disable-libgui --disable-rda --disable-sid --disable-sim --disable-gdb --with-sysroot --disable-newlib --disable-libgloss --disable-werror make make install

Build gcc:

../or1k-gcc/configure --target=or1knd-elf --prefix=/opt/or1k-toolchain --enable-languages=c --disable-shared --disable-libssp --disable-werror make make install

Verilator

The project contains a Verilator cycle accurate model of the CPU which can execute the same code as the simulator. Waveforms can be outputted and viewed in GTKWave.

Current Status
  • Pipelined Verilog core with optional instruction & data cache.
  • Synthesizes to ~100MHz on a Xilinx Spartan 6 LX9 -3
  • Harvard architecture (separate instruction & data cache / memory interfaces).
  • Support for interrupts & tick timer.
  • Also contains a smaller non-pipelined 'lite' version.
Instruction Set Simulator
  • A simple simulator for OpenRisc instructions.
  • Able to execute OpenRisc 1000 (ORBIS32) code compiled with the following options: -msoft-div -msoft-float -msoft-mul -mno-ror -mno-cmov -mno-sext
  • Extensible

altor32's People

Contributors

ultraembedded avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar

altor32's Issues

How to run altor32

hi,
I have installed virtualbox with ubuntu system. Then how can I work with altor32? The biggest problem is I do not know how to deal with altor32, or1k-scr and or1k-gcc that I have downloaded. Where shall I put them and how can I connect them with ubuntu?
I tried to type the following commands, but they do not work. The system always tells me 'no directory or no file'.

../or1k-src/configure --target=or1knd-elf --prefix=/opt/or1k-toolchain --enable-shared --disable-itcl --disable-tk --disable-tcl --disable-winsup --disable-libgui --disable-rda --disable-sid --disable-sim --disable-gdb --with-sysroot --disable-newlib --disable-libgloss --disable-werror make make install

Bootloader

Hi, I am working on a fork of this project and wanted to modify the bootloader. It looks like this is stored in program.vhd and hardcoded into the RAM. Is there a way to put an arbitrary elf file into this BRAM, perhaps using Xilinx Data2Mem, and if so, do you have a .BMM file that describes the RAM layout. Your help is much appreciated.

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.