ESL by any other name
The latest hot topic in the chip design world recently has been electronic system level design, says Rob Irwin, Product Marketing Manager at Altium.
The latest hot topic in the chip design world recently has been electronic system level (ESL) design, the idea being to raise the level of abstraction at which system designers can work.
This higher abstraction is necessary to deal with the increasing complexity that occurs when designing processor-based systems.
Dealing with this level of complexity at the register level is not practical because of the exponential blow-out in design and verification times that occur when working with fairly low-level primitives.
Although ESL tools and design methodologies are available, they are not well understood by the majority of system designers and require the adoption of radically different design methodologies and the acquisition of completely new skills.
In a practical sense, board-level system designers have been working at a high level of abstraction for years.
The complexity of gate-level or RTL design is to a large extent hidden by the use of large complex logic blocks in the form of "off-the-shelf" components.
At the board level the system designer only has to deal with the interconnection of the components and the interface between components.
The underlying logic, which may entail many millions of gates, is effectively hidden inside the components.
The practical effect of this is that system designers can quickly build very complex applications without the need to resort to new design methods or schemas such as System C.
Of course board-level system design is not usually considered ESL design because the high level of abstraction offered by the component connection paradigm has not traditionally been applied to creating systems on a chip.
At their core, however, the two concepts are trying to achieve the same thing - allowing designers to develop sophisticated systems without having to deal with gate or register level complexity.
FPGA technology has progressed to the point where vast capacity is available in devices priced in the tens of dollars range.
The Altera Cyclone and Cyclone II families and the Xilinx Spartan-II and Spartan-3 families are prime examples of this.
The high capacity and low cost of these devices make them a perfect platform on which to build processor-based systems for production applications.
What makes FPGAs so good as system platforms is their potential to bring the same level of freedom to hardware design that moving functions into software gave to developers when microprocessors became widely available.
For development, the reprogrammable nature of FPGAs is a boon, allowing hardware design changes to be made without inherent time and cost penalties.
What's more, hardware design changes can be made right up until the time the product goes out the door - or even in the field.
These luxuries currently enjoyed on the software side of the development process, can now be extended to the hardware.
However, for the mainstream of engineers to be able to adopt and use these devices in numbers in system development, it will require the availability of a complete and integrated hardware and software solution that enables hardware design, software development, IP block (component) integration, verification and debug in a cohesive and easy-to-use design environment.
In other words, the same level of abstraction and design ease offered at the board-level must be available at the FPGA design level to system designers.
So from a device standpoint, the stage is set for mass adoption of FPGAs as a system development platform.
What's needed from a tool perspective is an FPGA design methodology that provides a high level of abstraction, but is accessible to the majority of engineers out there who are currently engaged in system design.
The current crop of ESL tools may make some sense in the high NRE cost world of ASIC design, but they won't act as the catalyst that brings embedded system design on an FPGA platform to the mainstream of engineers.
The learning curve is too steep, and the risks too great.
Altium, a leading developer of electronic product development solutions, offers a unique design system called Altium Designer that brings a completely new approach to the problem of system development on FPGAs.
Altium Designer allows engineers to approach system design on FPGAs using the skills and methodologies common in board-level and embedded design, and then carry the design through to the development of the physical platform - the PCB - all within a single, unified environment.
Central to Altium Designer's approach is the inclusion of libraries of presynthesised, read-to-use components that can be wired together graphically in a schematic environment to create the system hardware.
As well as generic logic blocks, Altium Designer includes high-level devices such as VGA controllers, CAN controllers, LCD drivers etc, as well as several device independent soft processor cores.
These FPGA components have been presynthesised for a variety of target devices and are treated as "black boxes" during synthesis.
Currently Altium Designer includes a 32bit soft processor, the TSK3000, and several 8bit processors that are instruction set compatible with the common discrete microcontrollers.
On-chip debug (OCD) versions of the processor cores are complemented by the inclusion of full software development tool chains to enable coding and source-level debugging of the embedded software from within Altium Designer, allowing for integrated hardware and software design.
Another interesting feature of Altium Designer is the inclusion of a set of "virtual instruments", such as logic analysers, frequency counters/generators and I/O blocks.
Like the FPGA components, these virtual instruments are presynthesised and can be connected into the design at the schematic level.
Once the design has been downloaded to Altium's unique development board, the NanoBoard, or another suitable FPGA development board, the engineer can communicate with the instruments (and the processors) via a secondary "soft" JTAG chain, controlling the instruments with soft front panels on the connected PC.
These virtual instruments give the designer the ability to easily see inside the FPGA during system debugging, and allow for an interactive system development without the need to rely on simulation.
The combination of ready-to-use FPGA components, integrated software development, virtual instrumentation and the versatile NanoBoard development platform allow system developers to work at a high level of abstraction, while taking an interactive approach to the design process, running real software on real hardware right from the start of the design cycle.
Altium calls this interactive design methodology LiveDesign, and it provides a scalable environment in which to rapidly develop complex embedded systems on an FPGA platform in an intuitive and "hands-on" way.
What's more, Altium Designer provides a design methodology that is easily accessible to the mainstream of system designers.
This accessibility is in contrast to other chip-level ESL approaches, and is in harmony with direction that FPGA device development itself is taking.
As FPGA prices continue to tumble, the number of applications that can benefit from system-level design on a programmable platform increases exponentially, and more engineers will need to be able to work in this design space.
Altium Designer provides a migration path that takes advantage of system designers' existing skills, rather than forcing them to learn completely new disciplines.
And this migration is essential for the potential of high-capacity, low-cost FPGA to be fully exploited as a system platform in mainstream products.
Not what you're looking for? Search the site.
Browse by category
- Active components (13640)
- Passive components (3618)
- Design and development (10264)
- Enclosures and panel products (4012)
- Interconnection (3682)
- Electronics manufacturing, packaging (3491)
- Industry news (2106)
- Optoelectronics (1972)
- Power supplies (3043)
- Subassemblies (5657)
- Test and measurement (5824)