June 19, 2007
Turning System Design Inside Out
The sculptor Auguste Rodin was asked how he created his amazing statues. He replied, “I choose a block of marble and chip off whatever I don’t need.” Michelangelo is also sometimes attributed with a similar quote. “I saw the angel in the marble and carved until I set him free.” These two quotes are probably the origin of the well-worn story about the sculptor who, when asked how to carve a statue of a horse said, “I simply chisel away everything that doesn’t look like a horse.”
These quotes, misquotes, and stories (I’m guessing Rodin probably answered in French in real life) all point to a key difference between sculpture and painting. Painting is additive, and sculpture is subtractive. As engineers, we are accustomed to an additive approach to electronic design. We start assembling something from a collection of pre-designed parts. We are finished when this collection of parts performs the function we desire.
What if electronic design could be more like sculpture? What if we could start with a superset system (akin to an electronic block of marble) and simply remove everything that doesn’t look like our design? Altium, Ltd. thinks that would be a pretty cool way to develop FPGA-based embedded systems. They’ve even developed the block of marble and the chisel to prove it. Their development system, consisting of their Altium Designer software and the newest version of their Nanoboard hardware platform, allows rapid development and prototyping of a wide variety of electronic systems, and then facilitates transition into production by essentially taking the prototype and eliminating the parts of the development system that aren’t needed for your project.
The magic of the “marble” is the inherent flexibility of FPGAs. If you plop an FPGA or two down on a development board and connect it to a wide variety of I/O standards and useful peripherals, perhaps even provide a connector for various specialized daughter cards, you can build just about any type of electronic system you can imagine. (OK, we’re engineers and we could imagine some pretty exotic things, but you could still build a wide range of useful stuff.) As we all know, there is a wide variety of development, prototyping, and even production boards on the market that use just such a scheme. Altium did not invent this idea. (And neither did Auguste Rodin.)
Altium’s particular “marble” is their new line of Nanoboard development boards. Available in a variety of form factors, they provide a robust platform for hardware system prototyping. You can clip together a few application-specific peripherals and daughterboards for your choice of FPGAs and/or processors, and the physical construction of your prototype system is already done. All that’s left is for you to program it.
To overwork the metaphor, the “hammer” is the Altium Designer hardware/software integrated development tool suite. When we talked with Cadence Design Systems vice president Eric Filseth at the recent Design Automation Conference (DAC), he told us, “We’re seeing an increasing number of companies that don’t want to integrate point tools from multiple vendors. More people are wanting a complete, integrated design flow from a single company.” Filseth was talking about Cadence’s primary customer - the system-on-chip ASIC/ASSP designer. If that same principle applies to board-level, FPGA-based system designers, however, Altium is ready to capitalize on the trend.
For the past several years, Altium has followed a strategy of acquiring and developing a broad range of electronic and software design tools and integrating them into a single connected environment – now called Altium Designer. We’ve described Altium Designer as the “Microsoft Office” of electronic design automation. This suite has everything from high-level design capture to vendor-independent FPGA design to embedded software development and debug to PCB design and layout (the company’s original core-competence when they were known as ProTel). All the pieces are integrated into a single flow from a single vendor and priced in a range that even the typical small startup could afford as an “on every engineer’s desk” type solution.
Using the combination of the NanoBoard development board and the Altium Designer software, you can pretty quickly have a working prototype sitting on your desk – suitable for hardware debug and software development. You can easily and inexpensively replicate these systems on your embedded software team’s desks as well. Once you’re past the initial debug stage, there are even NanoBoard configurations that will allow you to make more field-ready prototypes. At Embedded Systems Conference this year, Altium was demonstrating a portable, battery-powered NanoBoard in a handheld device form factor – complete with dual touch screens. Using such a near-production form factor, you can do a lot of the real-world testing and evaluation that will get your product ready for prime time.
For some applications, the cost and capability of the NanoBoard are sufficient to even use it as the production vehicle. Of course, in such a scenario, you could do away with custom board design altogether and ship the pre-fab modules directly to your customers. For the majority of applications, however, Altium founder Nick Martin believes that custom board design will always be involved. “Even if you could meet your cost targets with a pre-designed board, there is almost always an issue with form factor. More and more products are being designed with the form factor as a major consideration, and off-the-shelf boards will never lend themselves to form-factor customization. That’s where our PCB design strategy should come into play.”
Altium has flipped the PCB design philosophy inside out. What if, instead of building your design up from a netlist and re-inventing most of the layout and structures from the beginning, you started with the design of your working prototype board and chiseled your way down to a cost-reduced, correct form-factor version suitable for high-volume production? Most of the routing and signal integrity issues for sub-sections of your design have been solved dozens of times over. (Believe it or not, you’re not the first company to put PCI or USB on a system. OK, well, one of you might be – but for all the rest of you – it’s already been done.) By taking advantage of all the work already done in creating the development board, you can dramatically simplify and streamline your board development process. This allows you to attack your design from a more macro level and think at a higher layer of abstraction.
Altium’s approach spans the gamut of electronic system design, including both hardware and software components. On the hardware side, they can take you from a robust IP library through system integration and FPGA design and onto working prototype hardware. On the software side, they have a complete set of embedded development and debug tools. For the final system integration and delivery, you can take NanoBoard-based prototypes and morph them into final, cost-reduced, form-factor-adjusted production boards using the unique features of Altium Designer’s board design software. If Altium’s vision makes it onto your desktop intact, your team may use little else in the process of getting your electronic product from concept to market.
Altium’s dedication to this concept is monumental. They have not just created a new product line. They have redesigned and reinvented their company around an idea of how electronic design should be performed, and then set about producing the products that enable that vision. For electronic products that combine commodity components and interfaces with some amount of value-added original content in software or hardware, this vision makes a lot of sense. We already see a similar concept in practice with the proliferation of pre-designed embedded computing platforms where “all you add is software” (and perhaps a case) to get your product to market. Altium is simply extending that concept to include custom hardware and modern form-factor design in the equation.