Tuesday, 16 August 2016

Open Source Hardware




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