EDA & Development
A dose of reality
Could reality be the new simulation frontier? Rob Irwin considers the impact that large-scale programmable devices could have on embedded design
A
n iconic cartoon shows an excited father and son are in their living room watching a
beautiful sunset on television. The kicker is that through the living room window we see that this very same sunset is happening for real just outside. In electronics, simulation is a useful tool in understanding the workings of the circuits we design, but sometimes the drive to simulate blinds us to the fact that if possible, building and testing the real thing is better than simulating it. Of course building and testing the
real thing is sometimes difficult, expensive and time consuming – after all that’s the reason we invented simulation – but electronics technology is rapidly changing, and this brings with it new possibilities. Like the father and son in the cartoon, we just need to look out the window to see it! From a twenty-first century
perspective it’s a bit of a challenge to understand the magnitude of change brought about by microprocessors a couple of decades ago. It wasn’t the processor itself that changed things, it was the fact that it allowed functionality to be developed and deployed as software, rather than as hard wired components. This really allowed designers to rapidly develop functionality and implement it without traditional hardware costs. They just needed memory capacity. We all know that the switch to software-based functionality was the catalyst that ignited the whole
36 April 2010
embedded industry we know today. What’s not widely recognised, though, is that there’s another disruptive technology in the wings that has the potential to have a significant impact on embedded design. I’m talking here about large-scale
programmable devices in the form of high capacity FPGAs. I know what you’re thinking. FPGAs
have been around for a while now, and there’s been no design revolution. But remember that microprocessor hit the scene many years before the embedded industry took off. The key here is ‘critical mass’. The processor revolution happened not when the processor was invented, but when it became fast, cheap and plentiful enough to be used in mainstream applications. FPGAs are reaching that critical mass today. Today you can buy for a few tens of
dollars FPGA devices that are fast, feature rich and have more than enough capacity to house an entire embedded system – processor and all. What’s more, the system hardware developed in such a way is as malleable and changeable as traditional C code. It’s soft.
The simulation fixation
So what’s all this got to do with simulation, and more importantly what does it mean for design in general? Up until now low cost FPGAs have
been viewed primarily as a convenient way to consolidate blocks of logic functionality. They’ve been treated as a
Components in Electronics
component of a bigger system. As such, FPGA development has followed the same methodology as chip development. Simulation is a key part of the process. In much the same way as software
developers rely heavily on debuggers and code emulators to track down errors and prove functionality, FPGA designers have grown accustomed to using simulation to develop the functionality they put into the chip. Indeed current FPGA design flows are predominantly centred on good simulation tools. This notion works when developing
bits of a system at a low level. But if we want go beyond this and capitalise on the potential of FPGAs as a reconfigurable system platform, we really need to raise the abstraction level at which we design inside the device. We need to be able to work with large functional blocks. Indeed the appropriate metaphor for creating FPGA-based systems is a board level one, not chip level. Breadboarding at the nano level
To a board level designer, the notion of simulating an entire system at the gate level is likely to promote hilarity, if not outright hostility. By assuming that components meet the specs of their datasheets, board level designers treat components as black boxes and focus development around component interactions. Systems are rarely simulated in their entirety. Instead, they are prototyped and run ‘live’ using test code and/or stimulation sources. And therein lies the beauty of
FPGAs. They allow designers to prototype systems to a large extent without having to manufacture the underlying hardware. They bring the mutability of software to the creation
of hardware. The old timers among us will
recognise the paradigm. It used to be called ‘breadboarding’. FPGAs take breadboarding to a new level – the nano level. But they also add a new dimension. Unlike traditional breadboards, the development done on FPGA hardware can translate directly to the finished product. In other words, the development platform and production platform become one and the same.
From simulation to virtual instrumentation
Large-capacity, feature-rich, low-cost FPGAs have the potential to become the embedded system platform of choice for next generation electronic products. But a few essential keys are needed to unlock this potential. Chief among these is the creation of
design tools that facilitate a component-based approach to FPGA design. Beyond providing a delivery mechanism for the required IP blocks necessary to construct an embedded system, and a means to connect them together, this new generation of tools will need to provide a solution to testing the interconnect signals between logic blocks inside the FPGA. Without some method of seeing ‘inside’ the programmable chip, we’re back to relying on simulation to tell us what’s likely to occur. This would negate many of the benefits of FPGA- based system design, particularly the rapid design cycle. The FPGA vendors offer some
solutions to this problem. Xilinx’s ChipScope is an example. It allows designers to incorporate IP into the design that breaks out internal FPGA signals via the JTAG programming port, allowing the status of the signals
www.cieonline.co.uk
Page 1 |
Page 2 |
Page 3 |
Page 4 |
Page 5 |
Page 6 |
Page 7 |
Page 8 |
Page 9 |
Page 10 |
Page 11 |
Page 12 |
Page 13 |
Page 14 |
Page 15 |
Page 16 |
Page 17 |
Page 18 |
Page 19 |
Page 20 |
Page 21 |
Page 22 |
Page 23 |
Page 24 |
Page 25 |
Page 26 |
Page 27 |
Page 28 |
Page 29 |
Page 30 |
Page 31 |
Page 32 |
Page 33 |
Page 34 |
Page 35 |
Page 36 |
Page 37 |
Page 38 |
Page 39 |
Page 40 |
Page 41 |
Page 42 |
Page 43 |
Page 44 |
Page 45 |
Page 46 |
Page 47 |
Page 48 |
Page 49 |
Page 50 |
Page 51 |
Page 52 |
Page 53 |
Page 54 |
Page 55 |
Page 56 |
Page 57 |
Page 58 |
Page 59 |
Page 60