Embedded computer systems must be fast and efficient. A European consortium has created a new modeling framework that lets designers strike the best balance between static, reconfigurable and analog hardware and the software that runs on it.
A typical desktop PC contains an all-purpose processor and many different software programs that allow it to do a huge range of tasks. It gets things done, not always as efficiently as possible, but well enough for most purposes.
Embedded systems are different. These specialized computers can be found everywhere from aircraft to cars to washing machines. They are built to do one job extremely well, and usually that means that a lot of processing work which might be done in software on a normal computer is done by a purpose-made — and efficient — hardware chip.
The trick is to get the right balance between software and hardware. "Software is flexible, but it requires fast and expensive processors and can be too slow for very computation-intensive tasks," says Frank Oppenheimer, of the OFFIS research center in Oldenburg. "Hardware in embedded systems is efficient but usually static — that is, a piece of hardware can be used in exactly one specific way."
In recent years industrial designers have become interested in dynamically reconfigurable hardware. It comes in programmable modules which can rewire themselves to do different tasks, so combining the processing muscle of hardware with the flexibility of software.
It sounds an ideal solution, but designers report that while they look good on paper these reconfigurable hardware modules are not easy to use in practice. "They are a nightmare when you try to use them in real designs," Oppenheimer says. "Most of the time, you have to fight with the technology rather than concentrate on the application you want to implement."
On top of that, reconfigurable hardware must work smoothly with the static hardware, analog hardware and software that make up a typical embedded system. "Each of these four 'domains' comes with its own design tools but these tools are not integrated," Oppenheimer explains. "You can simulate the hardware part, you can simulate the analog part and you can simulate the software part of your final system, but if you want to have an integrated view, that is very difficult."
Four Domains, One View
The EU-funded ANDRES project set out to find ways to help designers of embedded systems strike the best balance between the four domains — essential if the design is to be efficient and cost-effective — as well as make reconfigurable hardware easier to use.
The answer is a design process that allows the designer to work up an idea from an initial concept to a physical system. It includes a modeling language and FOSSY, a design tool to help with reconfigurable hardware.
"At the core of this ANDRES framework is a modeling language plus component libraries that enable the designer to describe these integrated systems containing hardware, software and analog components," says Oppenheimer, the project coordinator. "That means you can focus on the application, not the technologies."
Within the framework the designer can simulate the proposed system to see how it works and try out modifications before specifying how it will be implemented. The language is an extension of SystemC, an IEEE standard modeling language already used in industry.
The extensions mean that the ANDRES framework can be used with existing simulators for SystemC. The complete package will be made available with an open-source license, to encourage the design community to adopt and further improve it.
First applications are likely to be in the telecoms industry where high-performance embedded systems are used as routers and switches in backbone data networks. "They are very, very computation-intensive," says Oppenheimer. "They have huge data throughput requirements — up to hundreds of gigabits per second per line."
Reconfigurable hardware will let the routers and switches adapt to multiple standards at moderate costs in hardware.
Design Service Spin-Off
The motor industry is also interested. "In a car with a driver assistance system, using cameras and radar, there is a lot of data coming in and a lot of processing is required. Today's processors are simply too weak for that. This is where the ANDRES approach comes into play, where you have a real heterogeneous application."
Another outcome will be a spin-off company, as yet unnamed, to market design services using the project's FOSSY synthesis tool for reconfigurable hardware. Currently seeking start-up support, the company is expected to be launched in 2010.
Oppenheimer points out that while routine electronic design can now be done anywhere in the world, the really challenging tasks still require design skills and engineering know-how found largely in Europe, the USA or Japan.
ANDRES is the successor to two earlier projects devoted to embedded systems, ODETTE and ICODES — all three were funded by the Fifth and Sixth Framework Program for research.
From ICT Results