Imagine a design world where you could reproduce in hardware any design you could read about.
Could you read a conference or journal paper describing a new chip design and–from that paper alone–be able to recreate that author’s chip in hardware and verify all of the written performance claims? Does that sound possible or simply ridiculous? I think most people would say the latter. But let’s put our initial reaction aside and ask another question. Would you as a reader want to have the confidence that you could reproduce in hardware and verify the results of any chip-design paper you read? It sounds appealing, doesn’t it? Imagine how your own designs could benefit from that ability. Let’s suppose you read about an interesting new technique used to design a high-speed FIR filter that uses less area and power while operating at a higher clock rate than your best effort so far. Suppose further that in addition to being able to understand the technique at a block-diagram level (as written in the paper), you are able to link directly from the paper to the author’s website and download the Verilog source for this chip, the GDSII layout and netlist files, and all of the design-rule specifics. You can then observe the area of the filter through your layout viewer, run a simulation to see the timing, extract the FIR filter code out of the design, and modify it to suit your requirements. This allows you to verify directly how the techniques in that paper could benefit your designs. Appealing, isn’t it?This scenario I described is the goal of reproducible research recast into the chip-design arena. Reproducible research is a topic gaining currency in a number of widely disparate scientific communities including signal processing, neurophysiologic research, econometrics, and epidemiology. The idea originally started in the computer-science community with Donald Knuth and “literate programming.” It was reborn in the ’90s. Reproducible research (RR) refers to the idea that the ultimate product of scientific research is not just a published paper, but rather the whole environment used to produce the claimed results. Thus, an RR paper that described a new algorithm and its performance would include all software necessary for anyone to implement that algorithm, guaranteeing that the claimed performance advantages could be independently and completely verified by the reader. Think of RR as open-source knowledge instead of just open-source code.
Clearly reproducible research is applicable to those scientific endeavors for which research can be captured digitally rather than, say, high-end experimental sciences like particle physics (partly due to the lack of personal-desktop linear accelerators). So how does reproducible research apply to chip design? I believe it is a possibility for chip and FPGA design in the future.
My goal in this article is to speculate on how that future might come about.
First, let’s look at this issue from a hard-headed commercial viewpoint. The reader from a company that must make money from its designs might ask: Why should I give away my technical secrets? What do I get in return? Companies protect their IP even when they publish details about it through low-resolution die photos, vague block diagrams, high-level descriptions, and even buzzword-laced marketing jargon. Sounds like the opposite of reproducible, doesn’t it? In fact, proprietary agreements with other companies often mean that talking about your own design has inherited restrictions from others, as shown in Figure 1.

Figure 1: Who can I tell about my design?
Given the requirement of corporate IP protection, how could the ideas of RR be used in this setting? Of course, this philosophy can be used inside a company or division. Internal groups can have internal reports and web pages that allow all of their designs to be examined and reproduced by other design teams in other divisions. If different design teams incorporated this philosophy to share their designs, the company as a whole would benefit. It also could break down walls and allow design reuse in far more situations.
However, let’s examine a more controversial and global viewpoint. Imagine a world (here the reader can also imagine John Lennon singing his signature song) in which IC design houses described their proudest creations in public documents that tell the world every detail. Any reader could download the GDSII file, complete netlist, Verilog source, block diagrams, and every parameter needed to recreate the chip being described. Sounds far-fetched, doesn’t it? This might seem ridiculous in 2007. But consider the world of computers and software 25 years ago:
- IBM sells mainframes, job control language, and expensive computer operator support.
- DEC (Digital Equipment Corp.) sells PDPs and VAXs with VMS.
- The main languages are FORTRAN and COBOL.
- The operating systems are closed and proprietary.
- Customers cannot imagine seeing the source code for IBM and DEC’s flagship software products, let alone tinker with the operating-system source and its device drivers.
Now consider the world of today:
- The main competitor to Microsoft’s Windows OS is an open-source operating system called Linux with thousands of user-contributed device drivers.
- Richard Stallman created the concept of a copyleft instead of a copyright. As a result, when you use such software for your own creation, you must in turn give others the same rights that you had.
- A complete office suite (OpenOffice) is distributed across the world for free for use on all of the main operating systems and processors.
Several factors enable t his kind of activity in software:
- Software may cost money to design, but its manufacture and distribution are essentially free.
- The Internet enables a single worldwide distribution system that can be accessed by anyone.
- A common high-quality development base has grown that underpins much of this new shared world: GCC, X11, and Linux. (In fact, commercial tools like Visual Studio and Windows are also used to create much of this open source.)
- The ubiquitous PC provides a common hardware base.
How is chip design and FPGA programming any different? Design costs are high, but the files required for building chips or programming devices can be distributed around the world on the Internet for essentially no cost. How about the development base? Here, the situation is not as well developed as it is in the software world:
- Open-source Verilog and VHDL compilers and synthesizers are not as robust as commercial versions.
- The list of supported target devices is quite small.
- Cell libraries and layout generators are primitive compared to commercial ones.
Yet the analogous situation was present in the software world not too many years ago with compilers, device drivers, and system libraries being in a similar primitive state. What really helped was the vast array of volunteers made possible by the open-source revolution.
What if this brave new world of shared hardware knowledge came about? What would it look like to both the companies and designers? First, let’s look at the positive side of such a revolution. Taking our cue from software, what might people do with such riches of knowledge? One thing is customization. Linux with KDE, GNOME, or any of the other window managers is infinitely customizable as an OS–both for free download and commercially supported versions of Linux. Similarly, enterprising companies could take the MOSIS foundry model of many shared designs on a single wafer (farmed out to foundries with extra capacity) for a very low cost [see Chip Design, February-March 2007 issue]. With high-quality design tools in hand, sophisticated customers could create customized handheld devices using widely available IP to handle the myriad functions required.
Maybe the base device (corresponding to the generic PC) is a handheld “cellpod” and the extras get programmed on a socketed internal chip that the user designs and installs. This actually does make sense in context. A computer sits on your desk and occupies a certain fixed space defined by keyboard, power supply, monitor, etc. So the motivation to customize its hardware down at the chip level is minimal. But handheld devices–with their compromises in power, size, user interface, and screen area- -benefit much more through customized hardware choices. Companies (yes, the money-making kind) could then be formed around this basic device to help consumers with this process. This still sounds somewhat far-fetched to me as I write it. But maybe that’s always true when looking at the future.
Now, let’s turn the coin and look at the negative side. Could a knockoff house take your designs, manufacture them, and sell them while undercutting your price? (After all, they have no design costs to amortize.) Sure. This sounds exactly like the DVD situation in the Far East, where Shanghai and Beijing hawkers sell multihundred million-dollar Hollywood blockbusters for $1. So what could be done to prevent this? One way is to create cripplechips that show most of the design details, but leave out critical pieces or have limitations embedded in the design [see Chip Design August-September 2006 iDesign issue]. This violates the spirit of RR, but still serves many useful purposes. Perhaps a better way (as in the cellpod example) is to embrace the open platform and its open socket where the custom chip will go. It would then be much easier to give out complete design examples and tools, as you have tied these to a money-making product.
To give a feel for what chip-design resources are available without restrictions, Table 1 lists the latest count of the completed IP projects at http://www.opencores.org in each project area.

Table 1: OpenCores Projects
Table 2 lists a sampling of the many websites that have GPL or open-source hardware design tools.

Table 2: GPL/open-source design tools
Still, the question lingers. Why would companies embrace reproducible chip design? What would be their perceived benefits? Imagine an army of chipmakers (i.e., consumers) creating specialized functions on this cellpod or whatever the device might be. What would they come up with? The remarkable thing is: We don’t know! But chances are, those creations won’t be the same ones that are generated internally by the small group that’s actually involved in any initial device specification. Some claim that creativity grows as the square of the number of people involved, while others would say that it is exponential (due to all the possible interconnections between people and ideas). Reproducible chip design might have the ability to harness this potential.
Dr. Gary Ray is an Associate Technical Fellow at Boeing in the Phantom Works corporate research division. He has over 20 years experience in signal, communications and image processing, including several years at Hughes Aircraft and Westinghouse Hanford. He has published over 20 papers and was group lead at both Hughes Aerospace and the Boeing High Technology Center. Gary earned his doctorate from the University of Washington.
Discover more from JB Systems Media and Tech
Subscribe to get the latest posts sent to your email.
JB Systems Media and Tech Covering the High-Tech Semi-Electronics-Systems Industries