Frequently Asked Questions
  • About this FAQ
    • FAQ License
      This FAQ is free software; you can redistribute it and/or modify it under the terms of the http://www.gnu.org/licenses/gpl.html (GNU General Public License) as published by the Free Software Foundation; either version 2 of the License, or (at your option) any later version.

      This FAQ is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details.
    • Who is responsible for this FAQ?
      Marcus Erlandsson. Send an mail to marcus.erlandsson@OpenCores.org to contact the author about this document.
    • What is OpenCores.ORG
      OpenCores is a community that enable engineers to develop open source hardware, with a similar ethos to the free software movement. Currently the emphasis is on digital modules called 'cores' or 'IP Cores'. All activities is centered around the OpenCores web site http://www.OpenCores.org
      There is no formal affiliation between the people contribute to OpenCores. They are a bunch of people who just happen to be walking in the same direction along a road. This is a dynamic group, people regularly join and leave. As a whole, the group progresses through the independent contributions of individuals.
    • What is the purpose of this FAQ?
      This FAQ covers all aspects of OpenCores. Use it as the starting point for any FAQ you have. If an aspect of OpenCores maintains their own FAQ, this FAQ will make the appropriate referral.
  • Basics
    • Why do people contribute to OpenCores?
      A strong reason to release a core as open source is to get help with the verification. And since the verification is a major part within a development project today (~80-90%), this provides a win-win partnership between the original designer and the end-users.
      The open source methodology is the only way we can drive the technology to the next level in a cost efficient way, since we share the huge verification effort with the whole open source community.
    • Who contributes to OpenCores?
      All kinds of people: Students, HW Professionals, SW Professionals, Companies, Hobby engineers, Universities, etc. We need all kinds of people contributing with all kinds of different skills.
    • Where is OpenCores situated?
      The main server is physically located in Sweden, Europe.
    • History of OpenCores
      OpenCores was founded in October 1999, by Damjan Lampret, as an open source community for development and distribution of VHDL/Verilog IP cores (building blocks of Semiconductor chips). OpenCores soon became world wide known by ASIC and FPGA engineers.
    • Can you help me with my school/college/university project?
      In general, no. If you start exploiting opencores to get a school project done, others will rapidly tire of your questions and ignore you. Having said this, many people contribute to opencores in order to teach and learn. You can learn a lot from opencores. This knowledge will make you a better designer and indirectly help with any student projects you may have to do. Valid ways to learn include contributing to an opencores project, or running your own opencores project. Any questions directly related to a school project should be directed towards your supervisor at school.
    • What language is spoken on the mailing lists?
      The official language for the opencores mailing lists and web site is English.
    • Is advertising or SPAM allowed on the mailing lists?
      No. OpenCores reserves the right to charge for advertising or SPAM sent to any mailing list.
  • Design Guidelines
  • Licensing
    • What license is used for OpenCores?
      To simplify life for users, developers are strongly encouraged to use an unmodified LGPL (Lesser GPL) license or the modified-BSD license. The modified-BSD license is the original BSD license with the 'advertising clause' removed.

      A modified-BSD style license essentially states that no warranty is given, the core may be distributed in source or binary form and the authors copyright must be acknowledged.

      http://en.wikipedia.org/wiki/Modified_BSD_licence

      The GNU Lesser General Public License (formerly the GNU Library General Public License) or LGPL is a free software license published by the Free Software Foundation (FSF). It was designed as a compromise between the strong-copyleft GNU General Public License or GPL and permissive licenses such as the BSD licenses and the MIT License. The GNU Lesser General Public License was written in 1991 (and updated in 1999, and again in 2007) by Richard Stallman, with legal advice from Eben Moglen.

      http://en.wikipedia.org/wiki/GNU_Lesser_General_Public_License
  • Downloading Files
    • Where can I see all projects/cores?
      Select the “Projects”-link on the first page. Here is a list of all the available projects at OpenCores.
    • How do I get the source for a core?
      There are two main ways to download the code for a project:

      1. Via the website:
      The latest version of the source-code for each project can be downloaded via the “Project-list” by selecting the “download”-button.

      2. Via SVN client:
      Using a SVN client enables full access to the source-code and all its history. Instructions how to download (checkout) and upload (checkin) are available here the “SVN HowTo”-link at the first page.
    • Verilog Preprocessor VBPP for Ubuntu 9.10
      In the OpenCores community the Linux environment is very popular.
      Amongst the most commonly used distributions is Ubuntu. In the latest release of Ubuntu, 9.10 Karmic Koala, the official repositories no longer contain the Verilog Preprocessor VBPP. To ease installation of this highly usable preprocessor OpenCores will distribute Ubuntu packages. There are two versions available, 32 and 64 bit..
      VBPP is a Verilog preprocessor. It has support for most Verilog preprocessing directives and additional directives such as:
      * Statement generator ('generate' command in VHDL).
      * Expression evaluation.
      * Mathematical functions: log2, ceil, floor, round, abs, etc.
      * Conditionals: if, switch, etc.

      To install in Debian based distributions such as Ubuntu:
      sudo dpkg -i vbpp_1.1.0-6_amd64.deb To downlad the packages, click the link:
      vbpp_1.1.0-6_amd64.deb
      vbpp_1.1.0-6_i386.deb
  • Contributing to / Joining OpenCores
    • How do I send to the mailing lists?
      Start by reading the FAQ in full. In this way, you will not clutter the mailing lists with repetitive questions.

      Next, subscribe to the 'cores' mailing list. This is the main mailing list for opencores. Listen in for a few weeks to get a feel for the conversation. Once you are comfortable, feel free to contribute the the discussion in an intelligent manner. Asking a FAQ is not considered intelligent. All mailing list messages must be in PLAIN TEXT (no html) WITHOUT ATTACHMENTS. If you want to include an attachment, put the file on a server and place a URL in your mail message.

      If any of this does not make sense, do some more reading on the Internet until it does make sense. The Google search engine (http://www.google.com) is a good stating point for background reading. Type in the subject that you want to read about.
    • How do I contribute more than just sending mail?
      There are lots of ways to contribute, without running your own project. This includes helping with an existing project, helping with the web site, testing existing cores, or whatever you find interesting. Documentation and testing are especially appreciated. If this sounds interesting, please send an email to oc-team@opencores.org
    • What is a project?
      A project is basically a unit of work. Each project has a maintainer. The maintainer is a person who has volunteered to oversee the development of something. Typically each project corresponds to a single core.

      Each project has its own web page. To see the page for a project, click on the "Projects"-link under the "Browse"-menu on the left side of page. You will be presented with a list of projects. Click on the name of a project to see its pages.
    • How do I help out on an existing project?
      Send a polite email to the maintainer of that project, asking how you can help. The maintainer will be listed on the web page for that project.
    • How do I start my own project?
      Start by getting an account on OpenCores (as described above). Before requesting a new project, check if there are any other projects similar to the one you want to start. If there is, consider joining that project before starting a new one.

      To start a new project, select the "create project"-link under "My account"-page.

      Please do not set up a project simply to point to files outside the OpenCores server. All files must be located on the OpenCores server.
    • I don't want to maintain a project any more. What do I do?
      If you decide to stop working on a project, please send mail to oc-team@opencores.org. The administrator can then mark the project as unmaintained.
    • I have written a core. Can I publish it on the OpenCores web site?
      Yes. Start reading this section at the beginning.
    • I have an idea for a core, but need help to develop it.
      Send mail to the "cores"-forum", describing the project and asking for help. Someone may be interested enough to help. The source for any work developed will have to be released to the rest of OpenCores under a free or open license. If you are not prepared to release your work, don't expect much support from the rest of OpenCores.

      Developers working on someone else's project should protect themselves by claiming copyright on work they do and insisting that all files be published as they are written.
  • Information for Developers
  • Terms and conditions
    • To create project
      - Project you put online is not stolen work and you have all the copy rights
      - Code does not contain any intentional bugs but might have limitations and list of limitations is available
      - Project available on third party web site can be published but only in its entirety and not just as URL link
      - Project is complete and not just a snapshot what is available on third party web site
      - Commercial advertising is not allowed without written approval from OpenCores
      - Project has valuable information
      - Project that doesn't contain enough "value" for the opencores community will be deleted (ex. Project that is commercial advertising of a third party product, OpenCores is not a a search/index site)
      - OPENCORES.ORG reserves rights to refuse, modify or delete project if the previous terms are not fulfilled
    • To add news
      - News available on third party web site can be published but only in its entirety and not just as URL link
      - News is complete and not just a snapshot what is available on third party web site
      - News has valuable information
      - News that doesn't contain enough "value" for the opencores community will not be published (ex. News that is commercial advertising of a third party product, OpenCores is not a a search/index site)
      - OpenCores related News can't contain third party web site URLs
    • To add article
      - Article available on third party web site can be published but only in its entirety and not just as URL link
      - Article is complete and not just a snapshot what is available on third party web site
      - Article has valuable information
      - Article that doesn't contain enough "value" for the opencores community will not be published (ex. - Article that is commercial advertising of a third party product, OpenCores is not a a search/index site)
© copyright 1999-2010 OpenCores.org, equivalent to ORSoC AB, all rights reserved. OpenCores®, registered trademark.