"I knew that open-source hardware was a necessity to redesign into newer hardware..."
Marcus Erlandsson has been in the semiconductor business since 1998. He started as a field programmable gate array (FPGA) and application-specific integrated circuit (ASIC) design consultant, a job which gave him a lot of insight into the methodologies that product companies used. "It was during this period that I realised that most of the times we try to 'reinvent the wheel'." His interest in open source hardware was kindled.
In 2000, he moved into the ASIC development business, and one of the key focus areas of the company he worked for was FPGA-to-ASIC and ASIC-to-ASIC conversion. "I met a lot of companies that had difficulties keeping their products alive in the market due to end-of-life issues with components. And, since component lifecycles were constantly becoming shorter, I knew that open-source hardware was a necessity to enable smooth redesign into newer hardware." It was during this period that he identified and began to participate deeply in OpenCores, a Web community which hosts a repository of free, open source intellectual property (IP) cores including chip designs, system-on-a-chip and supplemental boards. Erlandsson's involvement in OpenCores became so deep that it eventually became a part of ORSoC (OpenRISC System-on-Chip), an FPGA/ASIC design house that he founded with two other colleagues in 2004.
We caught up with Erlandsson on the significance of open hardware, the OpenCores journey, the business case behind it, how it is benefiting engineers worldwide, and more business and technical doubts that commonly crop up...The birth and growth of OpenCores.org...What caused the birth of OpenCores.org?
OpenCores was started by a Slovenian engineer in 1999. The goal was to design the world's first open-source, 32-bit, reduced instruction set computer (RISC) processor licensed under the Lesser General Public License (LGPL).How big was the initial team, and how big is it now?
There were just five to ten engineers initially. Today OpenCores has around 850 maintainers taking care of around 770 projects, and the number is growing rapidly.At what stage did OpenRISC System-on-Chip (ORSoC) enter the picture and take over the ownership and management of OpenCores.org? Why? Is there some symbiotic relationship by which ORSoC also benefits?
ORSoC has, since it started way back in 2004, focused on the design of complex system-on-chips. We have always promoted the benefits of open-source in hardware and worked a lot with OpenCores' intellectual properties (IP). In 2007, we took over OpenCores. It was a natural step since we saw the potential and wanted to make sure to take it to the next level.Is there some organisational structure governing OpenCores.org, or does it continue to be an informal team?
ORSoC has a dedicated team working on the development of OpenCores, including the actual website, and of course also developing different hardware IP cores, especially the OpenRISC processor project. In the case of certain projects, there is a company behind the IP cores, and for others there are private persons (or a group of persons) maintaining them.How did the website survive the initial, most challenging time frame, and grow to be what it is today? Was it a challenge convincing folks about open hardware? Did you take any efforts to promote OpenCores, or did the message spread through what is now tagged as the 'viral effect'?
Shortly after the start in 1999, a company called Flextronics Semiconductor identified this promising website and hired a team of engineers (dedicated users) for the same. For some years, Flextronics Semiconductor was funding OpenCores and its development. It is not a challenge to convince people and companies to use open-source hardware -- the benefits of total control of the source code are so great that the message spreads quickly and widely. ORSoC has also made it a point to promote OpenCores via interesting articles and the monthly newsletter.It is more than a decade since OpenCores.org was started, isn't it? Has it seen as much growth as you expected? If not, what dampened the adoption?
OpenCores expanded rapidly in the beginning and then it stabilised in speed during the electronics market recession during 2003-2005. The growth really kick-off again during 2007, after ORSoC took over the maintenance and has constantly been increasing ever since. We have today around 85,000 registered users and we get approximately 100-200 new users everyday. Even the number of visitors to the site and the number of page impressions has grown rapidly.Do you notice any significant change in the 'status' of open source hardware in recent times? That is, has the outlook towards open hardware started changing favourably... correspondingly, has the growth of OpenCores.org also accelerated in recent years?
Yes, I have been promoting OpenCores and open-source hardware since 2001 and the acceptance level has really changed since 2006-2007. Open-source hardware has got a lot of help from Linux. Linux introduced open-source into commercial companies and this has helped OpenCores to get acceptance. Also, the fact that ORSoC (a professional design company) is standing behind OpenCores has helped to raise the status of open-source hardware, since there is the assurance that there is a company offering professional support related to this technology.Business-speak...Is OpenCores.org for-profit or not-for-profit?
I would say a mix between the two. We offer banner advertising on the site, and it has become quite popular amongst global companies within the electronics business. OpenCores also offers a service to help companies find suitable resources, for employment or as consultants. We try to cover the existing costs of running and maintaining the OpenCores servers.Do you charge something for the projects on OpenCores.org, or is it completely free for the users?
We do not charge anything from our users and there are no costs involved in starting a project at OpenCores. It is also totally free to download and use the different cores available.If somebody wishes to use an intellectual property (IP) core from OpenCores.org for a commercial purpose, can they? Do they have to pay a fee? Or are there some conditions governing how they are allowed to use the IP core?
OpenCores advices our users to use the LGPL license for their projects, and this license enables users to use the IP core in commercial projects as well. The GPL license can also be used, but it contains a 'grey zone' regarding how it affects hardware, since this license was originally designed for software. No fees or royalties are needed for LGPL and GPL IP cores.If not monetarily, in what other way can users contribute back to OpenCores?
It is very important that we share the information on how the different projects (IPs) are being used in different designs, as this provides creditability. It is also important that potential bugs are reported back into the Bugtracker system at OpenCores.Serving its purpose...What do you think is the most important indicator to judge the growth of a website like OpenCores that lives for a purpose... is it the number of users, the number of projects (ongoing or completed), number of projects for which designs from OpenCores.org have been used, or something else? How do you, personally, measure the popularity of OpenCores.org?
That's a hard question, the overall goal is to make sure that OpenCores promotes and hosts good quality IP cores that are being frequently used in all kinds of projects. This is however not that easy to measure, so the focus is somewhat pointing on the number of registered users.In what stages of system design and development do open IP cores prove to be most handy? Why?
Since functionality in hardware is getting more and more complex, this also means that the verification efforts needed are increasing almost exponentially. This means that it is very beneficial to release your IP core as open-source in order to get sufficient verification. To handle all verification internally within a company will become too costly for 90 per cent of the functions, at least for the standard peripheral functions.Apart from that, at what other stages would open-sourcing be useful?
Open-source IPs do not "lock you in a corner"; this is very important if you have products with a long lifecycle. If the design is 100 per cent open-source, it is easy to port the design to other hardware technologies. And, if embedded processors are used, then it is possible to guarantee exactly the same software behaviour for a future redesign of the product. And, since the software-related costs in today's products are increasing, this methodology is vital now, so that the engineers can spend time on the next-generation products instead of redesigning old products.How would you explain what opencores.org is to engineers who are still studying, and what promise this initiative holds for the electronics industry?
OpenCores serves an important role to engineers who want to learn hardware design. The ability to review many different project source codes (VHDL, Verilog, assembler, C) and test-methodologies gives the engineers a faster learning curve, compared to inventing everything on their own.
The electronics industry benefits both from increased competence-levels as well as all the other benefits that come with using open-source IPs.What types of cores (processor, memory, controller, communication, etc) are most abundant on OpenCores.org?
The OpenRISC processor project is very popular and many commercial companies use this processor in their products. And, of course, all peripheral input-output (I/O) projects are also popular (Ethernet, PCI, USB, SPI, UART and different memory controllers).Are any cores or tools lacking... that is, some project that you wish users would initiate?
The suitcase existing today is very well equipped, but I'm sure that many maintainers would be glad if more engineers would help out with all kinds of workload (verification, design, Linux driver development etc).What type of projects do you think are more important at this nascent stage of open source hardware?
I would say platforms, meaning those that include I/O peripheral cores, embedded processors with tool-chains, and an operating system with I/O drivers.Is there a computer aided software engineering (CASE) tool recommended by OpenCores.org? Which one, and why?
We strongly promote open-source electronic design automation (EDA) tools, for example, Icarus Verilog simulator, GHDL VHDL simulator and GTKwave waveform viewer.
We feel that it is important to get a complete open-source EDA tool-chain that allows engineers to design and simulate at the register transfer level, and perform synthesis. It is vital to learn all these in order to become professional engineers in hardware design.What about tools for circuit simulation, logic simulation, FPGA/ASIC design, etc, etc?
There are more open-source tools available then people know, we use many of the tools that are, for example, collected in one of Fedora's project, the Fedora Electronics Lab
.Are the open-source IP cores available on OpenCores being used only for verification, etc, or has a chipset been designed and manufactured completely using open cores? Why or why not?
There are loads of companies using IP cores from OpenCores in their designs for commercial products. The companies are however not marketing it actively since they do not want to "flag" this to their competitors. Linux had the same trend initially until began to be noted as a strength and companies started publishing that they used Linux; the same will soon happen with OpenCores.
I can tell you that ORSoC has helped many commercial companies to implement OpenCores IP cores into their commercial products within every industry segment (telecom, multimedia, industrial, space etc). As I said, 95 per cent of them are not publicising it; that is all.Future plans...Open hardware still raises a few (more than a few, actually) eyebrows! Is uptake of the open hardware concept slower than the acceptance of open source software?
The hardware community is much smaller than the software community, which forces us to be more active in order to get feedback and promote the advantages. But we have seen a drastic change after the software community started to accept Linux and other open-source software systems. Open-source hardware is a couple of years behind software, but I can assure you that we will see the same impressive growth in open-source hardware in the coming years.How key a role will OpenCores.org play in boosting the popularity of open hardware?
We already see that hardware development is on its way to the next level. The hardware community has started to interact, meaning that we can now create a large portfolio with different IP cores (typically peripherals, standard IP cores) that are used by a majority of companies throughout the world. The development focus can then be moved from low-level development to a higher level where companies focus on solving more specific functional challenges, not spending time on developing another USB MAC or Ethernet MAC.
OpenCores' role is to promote this new way of thinking and try to get the community to see the huge advantages that we will get if we all join and try to achieve this goal.What is your dream for OpenCores.org? What do you hope it will become in the next few years, and what steps are being taken towards achieving this?
ORSoC want to make OpenCores the natural place where all hardware engineers actively develop all their IP cores, and where the community constantly helps out with the ever-growing verification workload.
To evolve hardware development and take it to the next level, we really need to start building systems with pre-designed building blocks, meaning well-designed and verified open-source IP cores. Still, today, a lot of engineers are reinventing the wheel over and over again!--Janani Gopalakrishnan Vikram