OpenHWloosely based on Jamil Khatib's article "Designs for configurable computing" (source: OpenIPCore 20-Jan-2004 see end of the text for all the references)
OpenHW is a new design methodology based on publishing all information about :
- the hardware implementation,
- how it can be interfaced to other systems
- and how it can be used.
Usually all these information are made available for free without any restriction. There are several groups that try to define the Open Hardware in terms of the available information such as OpenCollector and OpenIPCore organizations. One of their definition terms is the availability of the hardware design files which includes but not limited to HDL, schematic, layout files and all information needed to reproduce the design. The Open Hardware Certification Program also requires that ``the manufacturer makes a set of promises about the availability of documentation for programming the device-driver interface of a specific hardware device''
Programmable logic devices and Hardware Description Languages have made great impact on Hardware design methodology. The programmable logic designs are getting closer to software specially when Run time reconfiguration designs are considered. The Programmable logic devices provide more software-like flexibility to designers since they can change the hardware as simple as software recompilations.
The ease of hardware design using HDLs and its implementation and modification using Programmable logic devices have attracted many engineers around the world to develop their own home made designs. OpenHW designers found that these devices provide them with risk-free implementation and testing for their designs. They even have the possibility to implement full computer (FCCM) using OpenHW designs downloaded from the Internet range from simple IO controllers and up to powerful CPUs all on programmable components. The Hardware description languages ``HDL'' are becoming very popular for digital design and modeling. They are used in a software programming style to develop large chips and IP cores.. .
Even more they adopted the Linux operating system model by publishing their designs for free. The idea of open source has succeeded for software because it can be easily reproduced and distributed over the Internet. The concept of configurable devices and Hardware Description Languages (HDLs), makes the hardware more and more closer to software. Designers can develop hardware using traditional software programming languages by HDLs. The result of these programs are compiled to produce the hardware interpretation of the initial description. This interpretation can be programmed directly to the PLDs to produce the real hardware. This advancement in the hardware design strategy attracts the hardware designers to produce open source free hardware designs where hardware can be free in this way just like free software when all HDL files are made free and targeted to FPGAs. This is instead of wiring components and soldering resistors for free. The FPGA prototyping boards will act as the PCs do for software, and HDL codes which describe IP cores can be made available through the Internet, like what OpenCores organization is doing. These codes can be downloaded to FPGA plug-in boards attached to PCs to add extra functionality or accelerate some (first implementation of a Hardware Computing Resource Protocol). In this case the users will be able to get latest updated hardware for their system without the need to change everything. Some companies such as Xilinx thought about Internet related issues. It has program called IRL (acronym forInternet Reconfigurable Logic),that provides online update of hardware via standard java applications. Such programs will push towards Home Networking and easily control and update all home devices such as VCR, TV and even wash machines.
Such efforts will start new era of system design where all hardware design will be as simple as software in every system.
One of the main problems that faces OpenHW designers is the implementation of their designs because hardware requires a large initial investment in time, and money to set up a production run for something. Some of the designers have satisfied with simulating the designs. The luckiest ones got some support from companies to build their designs, such as OpenCores organization. This problem does not prevent designers from making more designs. They start looking for cheap way to implement and test their designs. The configurable computing devices such as FPGAs (Field-Programmable Gate Arrays) and CPLDs (Complex Programmable Logic Devices) are becoming more stable and can hold large number of physical resources. Such devices are suitable for OpenHW designers because they can fit wide range of designs and can be easily modified if bugs are found which make risk free implementation. Moreover, they can be programmed and tested at home using not so expensive prototyping boards. Computers for example will change from the traditional architecture that is based on Software that executes on hardware resources, into algorithms that run on hardware. So the future PCs will be built of boards that contain FPGAs and connectors to external world. The hardware designers will be able to code modules (cores) for FCCM (Future PCs, See TunesMachine Draft Proposal)
Internet, the basic platform for OpenHW designers, will be affected by the concept of dynamic reconfiguration and OpenHW concepts. FPGA boards can be connected to the Internet to act as free computing and debugging machines. I think in the future new service can be added to the Internet that is called Hardware Computing Resource Protocol or ``hcrp://''. Such service will enable people to design their algorithms (based on hardware cores) and upload them to these machines to run them. These services can enable companies to show real execution and customization of their hardware on line.