Open Source Hardware
The open source software movement has had an enormous impact on today’s
techonology. We see this more and more in recent years. It has aided academic
research, it has changed the way many tech companies do business, and it has
changed our society. More recently (though not for the first time), the idea of
open source hardware has been getting a lot of attention. The purpose of this
paper is to identify the strengths and weaknesses of open source hardware, get
an overview of the current state of open source hardware, and discuss its future.
2 Defining Open Source Hardware
There is no clear and widely accepted definition of ”open source hardware”. The
Open Source Initiative (OSI) maintains what they call ”The Open Source Defi-
nition”, though it was written with software in mind. One reasonable definition
is found in the TAPR Open Hardware License[13]:
Open Hardware is a thing - a physical artifact, either electrical or mechanical
- whose design information is available to, and usable by, the public in a way
that allows anyone to make, modify, distribute, and use that thing.
[17] gives three requirements for something to ”fully qualify as ’open hardware’”:
1. The interface to the hardware must be explicitly made public, so the
hardware can be used freely.
2. The design of the hardware must be made public, so that others can
implement it and learn from it.
3. The tools used to create the design should be free, so that others can
develop and improve the design.
Since there are varying degrees to which certain designs fit into the open source
idea, [15] describes different levels of openness: Open Interface, Open Design,
and Open Implementation.
Because of the nature of hardware, and the generality of the term, there
are many things that can be considered part of the design. As described in
[14], these can include Hardware/Mechanical Diagrams, Schematics & Circuit
Diagrams, Parts List (BOM), Layout Diagrams, Core/Firmware, Software/API,
etc.
3 Challenges
Licensing for open source hardware may present some problems, depending on
the nature of the design. While open source software licenses such as the GNU
GPL deal with copyright, hardware often faces the issue of patents. This was
one of the primary motivations for the creation of the TAPR Open Hardware
License[13]. However, the OSI has been critical of the TAPR OHL[19], so it
seems unlikely that it will become very widely used for open source hardware
projects. In many cases, a license already approved by the OSI is sufficient.
Many people have been skeptical of open source hardware, with good reason.
The open source software movement was successful in part because of the ease
of copying software and modifying it. Producing hardware requires materials
and tools, and ”free as in freedom” cannot be confused for ”free as in beer”.
Somewhat surprisingly, Richard Stallman expressed this skepticism[18].
FPGAs, however, are significantly changing the playing field. They are becoming
more affordable and more advanced. They allow the hardware development
process to more closely resemble the software development process. They
make updates to hardware much easier. More and more they are becoming a
staple for hardware and embedded systems designers.
Another weakness in the open source hardware movement is an inadequate
toolchain. The open source software movement has a very mature open source
toolchain. Hardware developers frequently must rely on commercial development
tools because their open source counterparts are inferior or nonexistent.
In the case of HDL synthesis, for example, open source tools such as icarus
verilog are limited by the fact that the internal specifications of most FPGA
devices are kept secret
4 Examples of OSH Projects
Several open source hardware projects have emerged over the years. Some have
been more successful than others. I will briefly discuss a few of them.
4.1 Arduino
The Arduino[1] is an open source prototyping platform for AVR ATmega microcontrollers.
The hardware designs are available under the Creative Commons
Attribution-Share Alike 2.5 license. They also provide software libraries and
tools under LGPL and GPL. There have been many variations of the Arduino,
produced by hobbyists and other manufacturers. Many add-ons in the form
of ”shields” have also been produced. It seems that their adoption of an open
source business model has resulted in increased innovation, and has generally
been successful.
4.2 Open Graphics Project
The Open Graphics Project[5] seeks to develop a purely open graphics card.
It has resulted in the creation of the Open Hardware Foundation. The Open
Graphics Project is developing OGD1, a PCI-based FPGA development board
with one S-Video and two DVI outputs that will be used to work toward theirgoal. Because it is FPGA-based, the performance of the devepment board is
not expected to compare with modern high-end graphics cards.
4.3 RepRap
RepRap short for ”Replicating Rapid-prototyper”, is an inexpensive 3D
printer that is capable of reproducing itself. RepRap 1.0 ”Darwin” can produce
60% if its parts, and the next version is expected to be able to make its own
circuitry as well. All documents necessary to build a RepRap and corresponding
software are available under the GNU GPL. Parts are estimated to cost 500
euros.
5 OpenCores
OpenCores.org has emerged as a prominent repository for open source HDL
cores. They have reported over 20,000 registered users[16]. As of today there
are 397 projects, 236 of which are categorized as ”ready to be used”. This seems
small compared to Sourceforge.net, which boasts over 1.9 million registered
users[11] and hosts over 138,000 projects. However, OpenCores has grown quite
a bit, and hosts a number of mature and well-established projects (as well as notso-mature
projects), including microprocessor cores, DSP cores, coprocessors,
memory cores, a wide variety of communication controllers, video controllers,
and more. I will highlight a few of the more popular projects.
5.1 WISHBONE
![]() |
| Wish Bone Compatible Board |
The WISHBONE interconnect standard was developed by Silicore Corporation.
It was released to the public domain and OpenCores gained stewardship of it in
2002[9]. The goal of WISHBONE is to be simple, flexible, and open. Hosts connected
to the WISHBONE bus are masters or slaves. Multiple masters can be
connected to one bus. WISHBONE supports a variety of interconnect topologies:
point-to-point, data flow (pipelined), shared bus, and crossbar. It supports
several data transfer bus protocols such as READ/WRITE cyle, BLOCK
transfer cycle, and RMW cycle.[12] WISHBONE is the interconnect standard
of choice for OpenCores projects.
5.2 OpenRISC
OpenRISC[6] is a mature, well documented, and very flexible processor core. It
can have either a 32 or 64-bit address space, a configurable number of generalpurpose
registers, and configurable cache sizes. The Basic Instruction Set can
be augmented with a Vector/DSP extension and a floating-point extension, and
space in the instruction set is reserved for user-provided instructions. There
is also support for dynamic power management support. GCC, GNU binutils,
uClibc, BusyBox, the Linux kernel, the uCLinux kernel, and the RTEMS realtime
open source operating system have all been ported to OpenRISC.
6 The Future of Open Source Hardware
The open source hardware movement has a number of challenges to face, and
is still young. It has been gaining speed in recent years, and a lot of good
progress has been made. There is a need for better open source EDA tool
support. Higher chip complexity and SoC integration indicate that ease of
integration is , it is likely that open source hardware will become a major part
of future techonologies. Ease of itegration and open standards are key to SoC
development. Time will bring many more open source designs and will improve
existing ones.
Thank You






No comments:
Post a Comment