From OR1K



ORPSoC is the OpenRISC Reference Platform System-on-Chip. It is intended to be a development and verification environment for IP cores and SoC designs. It is a collaboratively developed project.

As a development platform it should provide a modular, easy to use environment to perform RTL development with push-button simulation and synthesis flows. A basic software build environment is also present to support OpenRISC development in simulation and on target. The project should be easy enough for users, both new and experienced, to get started with OpenRISC designs and develop quickly and collaborate easily.


ORPSoCv2 was the version which was widely used until 2013. It is no longer actively developed, however its resources can still be found on its wiki page.


What follows on this page is instructions relating to ORPSoCv3, which is now referred to as just ORPSoC.

How it works

ORPSoC provides both system description files and the scripts to simulate and build these systems.

ORPSoC is split into more than one repository. The scripts and automation tools (fusesoc) are separate from the system and core descriptions (orpsoc-cores).

The primary interface with ORPSoC is via the fusesoc command-line executable. Users edit HDL source code and system configuration files before launching orpsoc to either launch simulation or FPGA image generation.


The fusesoc and orpsoc-cores repositories should be set up alongside each other.


This is the scripting and automation component of FuseSoC.

Latest Release

The latest release FuseSoC 1.1 can be downloaded here.

Note that the orpsoc-cores are not included in the release tar-balls.


The FuseSoC source is hosted on Olof Kindgren's github page -

Clone a copy of the repository with git like so:

git clone

ORPSoC cores

This contains the IP core and system configuration information.


The ORPSoC cores source is hosted under the OpenRISC organisation on github -

Clone a copy of the repository with git like so:

git clone

Install & set up

Instructions for setting up FuseSoC can also be found in the INSTALL file in the fusesoc repository.

The only component which may be installed is the fusesoc tool. It also is possible to use the tool without installing it on your system. See below.


Note: If you have downloaded the latest release then you may omit the autoreconf -i step below as it has already been run before archiving.

From within the fusesoc directory run the following:

autoreconf -i   # Omit this if downloaded a release archive
make install

Once this is done, then the fusesoc tool will be available.

Without installing

It's possible to just add the /<path to fusesoc location>/fusesoc/bin to your $PATH variable to able to use fusesoc

Set Up

ORPSoC can be run from an arbitrary work directory (where all intermediate and results files will be generated and stored). All that is required is that the location of the orpsoc-cores/cores and orpsoc-cores/systems directories are specified to the tool.

The easiest way to do that is via the fusesoc.conf config file. This file must exist wherever fusesoc is run from.

So the simplest set up would be to, alongside the fusesoc and orpsoc-cores directory, create an orpsoc-build directory with an fusesoc.conf file. This file (orpsoc-build/fusesoc.conf) should contain:

cores_root   = ../orpsoc-cores/cores
systems_root = ../orpsoc-cores/systems

Now fusesoc may be run from this orpsoc-build directory.


Once in the build directory, orpsoc can be run.


fusesoc --help

List available systems

fusesoc list-systems

Build system FPGA image

fusesoc build <system_name>


We ask contributors to get in touch with the developers via the mailing lists, IRC, or the forums in that order.

To Do

  • Fill out the To Do list

A TODO list can also be found in the orpsoc repository.

© copyright 1999-2017, equivalent to ORSoC AB, all rights reserved. OpenCores®, registered trademark.