You are on page 1of 3

Legacy documentation refer to the Altium Wiki for current information

Honey, I Shrunk the Board!

Article AR0125 (v2.0) March 03, 2008

The three most-heard catchcries in electronic product design are make it smaller, make it more feature rich and make it by next week! The ready availability of lowcost, high-capacity FPGAs presents some interesting design possibilities.

In technology terms, FPGA devices have been around for quite a while. However, to some extent, they have struggled to find their place in mainstream product design. Up until a few years ago, limits on the maximum available gate count saw most FPGAs used as convenient containers for glue logic in designs that were fundamentally built on discrete components. At the other end of the scale, leading-edge FPGA devices are being used as a proving ground for ASIC designs, particularly those designs that integrate processors on the chip so called system-on-chip (SoC) design. FPGAs used in these applications tend to be expensive devices unsuited to production runs.

A Step back from the Cutting Edge

Lying somewhere between simple FPGAs for glue logic and state-of-the-art chips used as ASIC replacements is a middle ground that is crying out to be explored and exploited the possibility of using medium-density FPGAs as a platform on which to implement entire processor-based circuit designs that would traditionally have been built using discrete components. Take for example the Xilinx Spartan or Altera Cyclone series of FPGAs. These devices offer 500 thousand plus gate counts with prices in the tens of dollars range. The size of these devices is such that the FPGA could comfortably accommodate a small microcontroller (such as an 8051 or PIC), as well as a range of peripheral circuitry. This means that you can effectively take an entire 8051 microprocessor board and put it inside an FPGA costing less that US$30. Small 8-, 12- and 16-bit processors are really the workhorses of the electronics industry, and power everything from your washing machine to the 8051-based system controlling NASA's Sojourner Mars rover. The application range here is enormous! Whats more, the ubiquitous Moores law will make sure that bigger and better FPGA devices will be coming your way soon at ever lower prices, continually expanding the complexity of processors and applications that can be targeted.

Shrinking the Board

The fact that these devices can house an entire embedded system is all well and good, but the real question is, why would you want to design this way? One obvious reason is to minimize the size and complexity of the board design. In many applications commonly found in industrial sensors, automotive parts, communications and aerospace devices, physical design limitations require circuitry to be squeezed into extremely small spaces. This requires designers to resort to expensive fabrication technologies such as blind and buried vias, laser drilling, build-up layering and extremely fine track widths and clearances. Employing such technologies at the fabrication stage can significantly add to the cost of the finished board. By implementing the circuit inside an FPGA you may be able to decrease the component count and complexity of the board to the point where expensive fabrication techniques are not required. Of course the added cost of the FPGA itself may, in some cases, outweigh the savings made in manufacturing. But even without a pure cost advantage, an FPGA solution has other, and to some extent, more compelling reasons to recommend itself.

Soft Hardware
One of the most exciting possibilities with FPGAs is the prospect of being able to update your hardware as easily as you can update the software. More than that, it opens the door to the possibility of field-upgradeable hardware. Many designs, particularly those used in communications applications, operate in an environment where standards and protocols change rapidly. By implementing the design within an FPGA, the core structure of the circuit can be updated without altering the underlying physical hardware. This means that products can be released to market earlier and subsequent hardware revisions made quickly and easily without the need to rework the board or change the fabrication process. Other possibilities include extending the life of existing physical processor-based designs. Take a soft version of a physical processor like an 8051 for example: it can be run inside an FPGA at many times the clock speed of its physical counterpart. This would allow companies to breathe new life into existing product lines without the need for a full redesign or porting thier designs to a more powerful processor architecture.
AR0125 (v2.0) March 03, 2008

Legacy documentation refer to the Altium Wiki for current information

Honey, I Shrunk the Board!

The Barriers to Implementation

The idea of using low-cost FPGAs as a platform for small to medium sized processor designs has many attractions, but currently there are a number of barriers to utilizing this design methodology. The primary one is the lack of suitable tools. Most design tools targeted at implementing processor system design on FPGAs are focused on ASIC design flows. They therefore tend to be expensive solutions aimed at the cutting edge of design, rather than tools for the mass market of engineers. This poses a problem not only because of the price tag, but also because these solutions are predominantly HDL-based. Also, tools based on ASIC design flows tend to be heavily focused on verification, an absolute necessity in chip design because of the high NRE costs but of lesser importance in the burn and learn world of low-cost programmable hardware. The main stumbling block with current FPGA design flows is the difficulty of bringing the processor into the chip. While we see many designs making extensive use of FPGAs these days, they almost always include a stand-alone processor external to the FPGA. This has led to huge increases in IO counts, necessary to connect glue logic to the processor systems but negating some of the benefits of the chip-level integration the FPGA brings. Other barriers to bringing the processor into the FPGA with current design flows include the complexity of communicating with the processor inside the FPGA for software development purposes, and the difficulty of sourcing and licensing suitable IP-based processors and other high-level devices. To make a low-cost FPGA platform approach accessible to the majority of engineers, tools must be developed that allow engineers to utilize the experience gained in board-level design and apply it directly to the design of systems on an FPGA platform, including bringing the processor into the chip and developing the software to run on it. This approach and the required feature set needed to realize it, can be found in an appropriately-licensed version of Altium Designer.

Components for Success

Altium Designer provides a way for all system-level designers to take advantage of high-capacity FPGAs without the need for extensive HDL design experience. It does this by drawing on board-level design flows and adapting these for use in an FPGA context. After all, board level designers routinely develop processor-based systems that effectively contain millions of system gates, and they do this without extensive simulation overheads! At the board level engineers take off-the-shelf components, including processors, and connect them together to form complex systems. The gate-level complexity is hidden because the components are treated as black boxes without regard for their detailed internal structure. With Altium Designer the proposition is the same. Part of the underlying system is a library of IP-based components that includes a variety of processor cores and peripheral devices. Unlike traditional IP for FPGA use that is supplied as HDL source code and must be synthesized by the end user, these components are pre-synthesized and pre-verified for a variety of target FPGA architectures and come attached to schematic symbols. This allows you to use these components just like their off-theshelf counterparts simply place them on the schematic sheet and wire them together. You dont need to integrate them at the source HDL level or verify their functionality.

Interacting Live with Your Design

Of course capturing the design is one thing. Debugging it is another! Altium Designer tackles this problem with the inclusion of a special development board called a NanoBoard. The NanoBoard is an integral part of the design environment and acts like a reconfigurable hardware platform for implementing the design. This ability to make your design real and interact with it during the design process termed 'LiveDesign' is one of the most alluring features and provides the key to faster design cycles. The NanoBoard minimizes the need for simulation at the system level and allows you to take a more burn and learn approach to debugging. This is also facilitated by the inclusion of virtual instruments such as logic analyzers and frequency generators/counters, which can be embedded in your design at the schematic level. These instruments enable you to see inside the FPGA and determine the performance of your circuit running on the NanoBoard. The NanoBoard also helps with embedded code development because the embedded developer can download the latest version of hardware to the NanoBoard and then develop code directly on this hardware. This allows for parallel development of hardware and software and more flexible design partitioning.

Putting the Fun back into the Design Process

With Altium Designer, every engineer is given the ability to integrate entire embedded systems on a chip, something that has traditionally been the realm of high-cost ASIC design flows. In fact you could say that it provides a personal ASIC development solution for applications that dont sustain the entry criteria for conventional factory ASIC design.

AR0125 (v2.0) March 03, 2008

Legacy documentation refer to the Altium Wiki for current information

Honey, I Shrunk the Board! By applying familiar concepts such as schematic-based capture and ready-to-use component-based IP, an easy learning curve is presented to board-level designers and significantly lowers the barriers to taking typical embedded designs and shrinking them onto a single chip. Perhaps the most exciting aspect from the engineers perspective is the LiveDesign methodology and integrated NanoBoard. The ability to connect interactively with your design during the design process harks back to the days when breadboarding was commonplace. Theres nothing like the immediacy of making a change to a circuit schematic and seeing the results of that change reflected almost instantly in the real hardware. Altium Designer and LiveDesign give you breadboarding on a nanoscale. And thats where the fun begins

Revision History
Date 22-Dec-2003 27-May-2005 30-Nov-2005 03-Mar-2008 Version No. 1.0 1.1 1.2 2.0 Revision New product release Updated for Altium Designer SP4 Template update for Altium Designer 6.0 Updated for Altium Designer Summer 08

Software, hardware, documentation and related materials: Copyright 2008 Altium Limited. All rights reserved. You are permitted to print this document provided that (1) the use of such is for personal use only and will not be copied or posted on any network computer or broadcast in any media, and (2) no modifications of the document is made. Unauthorized duplication, in whole or part, of this document by any means, mechanical or electronic, including translation into another language, except for brief excerpts in published reviews, is prohibited without the express written permission of Altium Limited. Unauthorized duplication of this work may also be prohibited by local statute. Violators may be subject to both criminal and civil penalties, including fines and/or imprisonment. Altium, Altium Designer, Board Insight, Design Explorer, DXP, LiveDesign, NanoBoard, NanoTalk, P-CAD, SimCode, Situs, TASKING, and Topological Autorouting and their respective logos are trademarks or registered trademarks of Altium Limited or its subsidiaries. All other registered or unregistered trademarks referenced herein are the property of their respective owners and no trademark rights to the same are claimed.

AR0125 (v2.0) March 03, 2008