OpenCores

ORPSoC

From OR1K

Contents

Introduction

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

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.

ORPSoCv3

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.

Download

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

FuseSoC

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.

Repository

The FuseSoC source is hosted on Olof Kindgren's github page - https://github.com/olofk/fusesoc

Clone a copy of the repository with git like so:

git clone https://github.com/olofk/fusesoc.git

ORPSoC cores

This contains the IP core and system configuration information.

Repository

The ORPSoC cores source is hosted under the OpenRISC organisation on github - https://github.com/openrisc/orpsoc-cores

Clone a copy of the repository with git like so:

git clone https://github.com/openrisc/orpsoc-cores.git

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.

FuseSoC

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
./configure
make
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:

[main]
cores_root   = ../orpsoc-cores/cores
systems_root = ../orpsoc-cores/systems

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

Using

Once in the build directory, orpsoc can be run.

Help

fusesoc --help

List available systems

fusesoc list-systems

Build system FPGA image

fusesoc build <system_name>

Contributing

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-2016 OpenCores.org, equivalent to ORSoC AB, all rights reserved. OpenCores®, registered trademark.