An introduction to open-source hardware development
EE Times: Latest News An introduction to open-source hardware development | |
Mohamed A. Salem and Jamil I. Khatib (07/01/2004 6:00 PM EDT) URL: http://www.eetimes.com/showArticle.jhtml?articleID=22103383 | |
This paper introduces a new trend in hardware design and development — open-source hardware. It defines open-source hardware design terms, features and requirements. It presents FPGA-based platforms as the most suitable for open-source design implementation. It also discusses open-source hardware business models. Open-source hardware is proposed as a bridge for the technological, educational and cultural gaps between developing and developed countries. Open-source hardware organizations are introduced with statistics of activities. The role of the Internet with respect to hardware openness is introduced. Open source hardware's challenges, problems and suggested solutions are described. The paper aims to introduce open-source hardware to the electronic engineering community as an interesting topic of practice, study and research. 1 Introduction and motivation Open-source software has become an important part of the software development process [1]. A hardware-software analogy allows consideration of open-source hardware. HDLs resemble conventional software programming languages, and programmable implementation platforms resemble general-purpose processors. An open source phenomenon has several properties that make it interesting for study, and relevant for the discipline of engineering design. Open source eschews traditional engineering concepts such as planning and prototyping in favor of a more organic approach [2]. For instance, the open-source Linux kernel [3] is one engineering feat that reaches high quality. The economics of open source defies conventional economic principles, because participants are on volunteer basis. A COCOMO [4] analysis of widely distributed open-source programs concluded these programs would be valued at one billion U.S. dollars if they were created by conventional means. Open source is a product of the Internet, which enables open-source products to produce tangible results. The application of open source to hardware brings new benefits to the hardware development process. Open source hardware would reduce development time and design cost. Open source IP cores could be reused, in black box or white box modes. The white box model allows designers to customize a particular core to their own requirements [5]. 2 Open-source hardware definition Open source hardware is based on publishing all necessary data about the hardware. The design specification, HDL files, simulation test benches, synthesis results, utilization instructions and interfaces to other systems should be documented [6]. The openness of necessary design documentation and its disclosure to the public should be governed by the terms of GPL like licenses [7]. All information is disclosed for free, according to the terms of GPL-like licenses. The EDA tools used to develop open hardware should also be open. Openness of resources is a must to allow the community to reuse, develop and improve open designs. 3 Open-source hardware implementation Conventional hardware implementation platforms have various choices. Designs can fit in ASICs, custom silicon, FPGAs [8], and CPLDs. The question is, what suits open-source hardware design? The hardware-software analogy points to programmable implementation platforms; hence the answer is programmable logic devices such as PLDs, FPGAs, CPLDs and FPAAs. The analogy between software and hardware implementations applies to different aspects in the development process. Software programs run on general purpose processors, but open hardware designs fit on programmable logic devices. Software assemblers generate assembly code based on a processor's instruction set. Hardware synthesis tools generate a netlist of a particular device, using a digital or analog library. Software compilers generate binary code format from an assembly of set of processor's instruction set. The programming elements of an FPGA generate a bit-stream format from a netlist of device's component library. The dynamic reconfigurability [9] of FPGAs optimizes the performance of hardware designs using real-time dynamic loading and unloading of hardware components on the programmable logic array. This analogy between software and hardware execution and implementation phases helps prove the feasibility of adopting an open-source hardware strategy.
Table 1 — Hardware/software implementation analogy
4 Business models Open source hardware has a set of business models [10] that include the following:
The open source hardware roadmap [13] can be divided into three main stages as follows: Phase I (Primary) Phase II (Advanced) The vendors could produce open-source device programming tools in order to enlarge their market base. The objective of this stage is to allow an open-source hardware user to download open designs from Internet, and implement designs on prototyping boards, just as computer users download open-source software and run it on general-purpose processors in personal computers. Phase III (Run time configuration) The objective of this phase is open-source complex systems design and implementation. This assumes a seamless architecture of system models in which boundaries between software and hardware vanish. For instance, there is an effort to run a Linux kernel as a pure hardware platform that depends mainly on dynamic reconfigurability [14]. 6 High-tech promotion in developing countries Open-source hardware can contribute to bridging the technological, educational and cultural gaps between developing and developed countries. Open source can help build a high-tech base in these regions due to the following considerations:
This section introduces organizations that adopted the open source hardware model. It provides statistics of activities that run under the Handasa Arabia [15], OpenCores [16], and Opencollector [17] organizations. The organizational work is a result of volunteer engineers' efforts to manage the operations and projects under development. An open hardware design of a RISC architecture processor, open RISC1K [18], is used by some commercial companies that embed the design in their platforms. The following table (Table 2) could be considered as a performance indicator for open-source hardware. The statistics provide a sample of Handasa Arabia, OpenCores and Opencollector activities.
Table 2 — Open-source organization statistics
8 New computational engines and the Internet Open-source hardware could produce a new generation of computers and the Internet. Computational engines might change from traditional architectures that are based on software instructions that execute on hardware resources, into algorithms that process hardware functions that load and unload dynamically onto a programmable logic platform. Future personal computers might be built from FPGA-based boards that contain connectors to the external world. Hardware designers will be able to code modules or cores for specific FPGA computing machines or future computers. The Internet, the fundamental framework for open source designers, might be affected by the concept of dynamic reconfiguration and open-source hardware design. FPGA prototyping boards can be connected to the Internet to act as free computing and debugging machines. The future might give rise to a new Internet service called "Hardware Computing Resource Protocol" or HCRP. This may enable developers to design their algorithms, which are based on hardware cores, and upload them to these machines to run and implement them. The open source designs, open source computational resources, and global networking introduce a new era of innovative technologies and applications. 9 Challenges and suggested solutions There are problems that face designers and prevent them from developing open-source hardware. Cost of EDA tools Manufacturing cost Design protection Market The suggested solution is that companies might take advantage of open source as a way of bridging the gap for time and cost absorbed in R&D. The researchers might find they don't have to reinvent already existing wheels. Companies may find adoption of an open-source design with large base of customers as a win-win deal. Companies can refine the open-source design with affordable prices and make use of bug fixing provided from the community. The end result is cutting-edge reliable products with affordable prices. Credibility Conclusion The paper has presented an introduction to open-source hardware as a new trend in the hardware development process. It has defined the requirements for a hardware design to be considered as open. The business models and the phases of an open source hardware roadmap have been presented. The challenges, problems and suggested solutions have been discussed. The paper has introduced the open source hardware to the engineering community as a relevant field of practice, study and future research. References
Mohamed A. Salem is currently a teaching assistant at the School of Engineering at German University of Cairo, Egypt. He was previously a hardware design engineer at Ellipsis Digital Systems. Jamil I. Khatib is pursuing a master's degree in technology and innovation management at Brandenburg University in Germany. He was previously a senior FPGA design engineer at Exalt-Technologies (formerly Siemens ICT) in Ramallah, West Bank. The original version of this article is located at the Handasa Arabia web site. Salem and Khatib are co-founders of that site.
| |
All material on this site Copyright © 2005 CMP Media LLC. All rights reserved. Privacy Statement | Your California Privacy Rights | Terms of Service | |