Project management

What is needed for a project

Make a difference and standout from the rest of the crowd: make your core OpenCores compliant!

continue reading further this page

Follow a reference example to learn about the structure of a project: you can pick a popular project, and see what its maintainers did to make it so good.


For every OpenCores projects a number of pages are created upon startup:

  1. Overview
  2. News
  4. Bugtracker

Only the maintainer(s) are allowed to apply changes to a project.

New pages, di erent from the default ones, can also be added.

For the default pages their content is described below.


The overview always contains a block with project details: name, start date, etc.

An other fundamental block is other project details: this is for information regarding source language, wishbone compliancy etc.

As a maintainer you can add blocks to this page. A new block has a title and content.

Pictures describing project functionality or intended use can be added. Pictures must first be included in the download page. Details regarding adding pictures are described later in this documnet.

The order of the block can be changed by clicking on the little arrow symbol on the right of the project heading.


Add any news regarding project progress or usage in specific project or products


Add pictures or documents related to the projects.

Each item, document or picture, can be included in the Overview or other page added to the project.

Please note: in order to avoid broken links to references on other pages, uploaded files cannot be deleted. If a new version of a file is created, please consider re-uploading it with a new file name. References to the project SVN repository are also very encouraged.


This page is used for the unlikely event of problems related to the project. Apart from bug reporting a user can add other project related information. New item are categorized into the following four types

  1. REQUEST - Request for new functionallity
  2. BUG - For bugs found in the IP
  3. IDEA - Ideas that hopefully could be implemented in upcoming releases
  4. REMINDER - Could be note to self

Status of a project

Every project can be labelled as:

  • Planning: the design is in its conceptual stage, meaning that it will probably consist of a description on the project page, and some specification documents in the repositories
  • Alpha: the design gets its initial code sketch out, the sources are versioned along with some basic testbenches
  • Beta: the code get further refined, testbenches completed, documentation finalized
  • Stable: the code gets fully tested and validated by the project developers and other community members, its status accepted to be appropriate to the quality standards of the OpenCores
  • Mature: the code is extensively used by the project maintainers, verification in hardware is compulsory to consider a core at this level

OpenCores Certified Projects

The number of projects being started here at OpenCores is constantly increasing. We would like to encourage all project maintainers to ensure that their project is developed to stage where it is considered completed. By this we mean the project contains:

  1. RTL design files (VHDL / Verilog / C / assembler / etc).
  2. Testbenches (self-checking).
  3. Documentation (design and testbench specifications, FPGA/ASIC size information).
  4. Make-scripts (compile-, testbench-, synthesis scripts).
  5. Information about Design-usage meaning, has it been verified on actual hardware, is it being used in commercial products. This information builds allot of creditability.

To help users identify those projects which have reached this stage, we will now apply a "OpenCores Certified Project"-logo to the project. We hope that this also provide some incentive to developers to fully complete their project, as it likely those projects which have been certified will see greater use.

Those labeled "OpenCores Certified Project" will also be presented on a separate projects list, highlighting these "mature/solid" projects to the maximum. The procedure to get a project "OpenCores Certified Project"-approved is simple, just send an email to when your project fulfils the above criteria. We will then review your project and apply the certified stamp if it applies.

We have also started to actively clean-up the project list, if a project doesn't have design files checked into the SVN repository after 3 month, then we will contact the maintainer and check the status of the project.

Project FAQ

  1. How to add a picture

    Add the picture in the download page. Select show embedd-tag. Copy content in pop-up window. Paste in block content.

  2. How to add a documnet

    Same as adding a picture

  3. Block content formatting corrupt, no newline

    If the block content is plain text with no HTML tags carrige returns will showed as line break. If the text contain valid HTML tags the whole text will be treated as HTML and should have valid HTML tag formatting the text.

    Note that a hyper text link is a HTML tag.

  4. How to add line break

    Use the following HTML tag: <br />

  5. How to format text

    Information on normal text formatting can be found here

  6. How to include tables

    Information on how to include tables can be found here

  7. How to format example of code snippets or examples on how to build targets

    To get monospace font and ligh gray background use paragraph where class="cmd"


    `make all`

    will show as

    make all