Embedded System Architecture Design Based On Real-Time Emulation
Embedded System Architecture Design Based On Real-Time Emulation
Carsten Nitsch, Dr. Karlheinz Weiss, Thorsten Steckstor, Prof. Dr. Wolfgang Rosenstiel
Forschungszentrum Informatik (FZI), Embedded System Design Group, Haid-und-Neu-Straße 10, D-76131 Karlsruhe
and the University of Tübingen, Technical Computer Science, Sand 13, D-72076 Tübingen, Germany
1 Introduction The second step is mostly based on the experience and intu-
ition of the system designer. After completing this step, the com-
Developers of embedded systems1 have to design low cost, plete hardware architecture will be designed and implemented.
high performance systems and reduce the time-to-market to a After the target hardware is available, the software partitioning
minimum. The most important task a specification must com- can be implemented. The last step of this sequential methodolo-
plete is the partitioning of the system into two parts.The first part gy is the testing of the complete system, that means the evalua-
is the software which runs on a microcontroller. Powerful on- tion of the behavior of all the hardware and software
chip features, like data and instruction caches and higher clock components. Unfortunately developers can only verify the cor-
frequencies, speed up performance significantly. These hard- rectness of their hardware/software partitioning in this late de-
ware fundamentals allow Real-time Operating Systems (RTOS) velopment phase. If there are any uncorrectable errors, the
to be implemented, which leads to the rapid increase of total sys- design flow must restart from the beginning, which can result in
tem performance and functional complexity. Nevertheless, if enormous costs. For this reason, developers often use „well-
fast reaction times must be guaranteed, the software overhead known“ components rather then new available circuits. They
due to task switching becomes a limiting performance factor and want to reduce the risk of design faults and to reuse existing
application-specific hardware must be implemented. Due to the know-how. This is especially important for the design of sys-
decreasing life cycles of many high-end electronic products, tems consisting of few, but highly complex components. Anoth-
there is a gap between the enormous development costs and lim- er disadvantage of this approach is that it is not possible to start
ited reuse of an ASIC. In the last few years, so-called IP-Core software development before the design and test of the hardware
components became more and more popular. They offer the pos- architecture has finished. Software developers have to wait until
sibility of reusing hardware components in the same way as soft- a bug-free hardware architecture is available. Once again, the
ware libraries. In order to create such IP-Core components, the disadvantages of this methodology are: complete redesign in
system designer uses Field Programmable Gate Arrays instead case of design faults, reduced degrees of freedom in selection of
of ASICs. The designer still must partition the system design components (due to reuse of knowledge and experiences) and
into a hardware specific part and a microcontroller based part. time delays. Nonetheless, the hardware-first approach is still a
valueable approach to system design with low or medium com-
plexity, because the initial step of partitioning is less time-con-
2 State of the Art suming than in other approaches. For high-end embedded
systems new methods are needed to recognize errors during an
early phase of the design process.
1This work was supported in part with funds from the Deutsche For- 2.2 Hardware / Software Co-Design
schungsgemeinschaft under reference number 3221040 within the pri-
ority program “Design and Design Methodology of Embedded The first step in this approach focuses on a formal specifica-
Systems”. tion of a system design. Using several of the methods from
0-7695-0668-2/00 $10.00
Authorized licensed ã 2000
use limited IEEE DHEER. Downloaded on August 25,2023 at 13:56:55 UTC from IEEE Xplore.
to: PRASHANT Restrictions apply.
mathematics and computer sciences, this methodology tries to tems consisting of only a few, but nonetheless highly complex
build a complete description of the system’s behavior. The result components. Due to these analyses, we have developed another
is a decomposition of the system’s functional behavior, it takes the methodology which combines the advantages of the hardware-
form of a set of components which implements parts of the global first-approach and the hardware/software co-design approach.
functionality. Due to the use of formal description methods, it is
possible to find different alternatives to the implementation of
these components. The next step is a process called hardware/soft-
3 Emulation Based Methodology
ware partitioning. The functional components found in step one
can be implemented either in hardware or in software. The goal of Analyzing the hardware-first approach we have documented
the partitioning process is an evaluation of these hardware/soft- major advantage to this method. Developers using this design
ware alternatives. Depending on the properties of the functional method focus on developing a prototype as soon as possible. This
parts, like time complexity of algorithms, the partitioning process strategy complies with the major time-to-market constraints of to-
tries to find the best of these alternatives. This evaluation process day’s high tech industry. To reduce the risk of design faults and
is based on different conditions, such as metric functions like com- cost intensive redesigns, system designers often use well known
plexity or the costs of implementation. After a set of best alterna- components instead of newly available technologies.
tives is found, the next step is the implementation of the
functional specification
components. The last step is system integration. System integra- library
tion puts all hardware and software components together and eval-
initial partitioning and preselection
uates if this composition complies with the system specification,
done in step one. If not, the hardware/software partitioning process
starts again. An essential goal of today’s research is to find and op- 6WDJH2QH
(YDOXDWLRQ
timize algorithms for the evaluation of a partitioning. Due to the
6
algorithm-based concept of hardware/software co-design there are Q
R
L
W
L 6WDJH7ZR 6WDJH7ZR
R
I
W
Z
W D
many advantages to this approach. The system design can be ver- U
D
3
(PXODWLRQ (PXODWLRQ U
H
3
H D
ified and modified at an early stage in the design flow process. U
D
Z
G
U
W
L
W
L
U R
0-7695-0668-2/00 $10.00
Authorized licensed ã 2000
use limited IEEE DHEER. Downloaded on August 25,2023 at 13:56:55 UTC from IEEE Xplore.
to: PRASHANT Restrictions apply.
Figure 1 gives an more detailed overview of our methodology. The next set of criteria for the selection of suitable components
After the specification of the system design, the developer makes is the bus interface of the microcontroller. This criteria is more im-
an initial hardware/software partitioning. The outcome is a set of portant than the other criteria shown in Figure 2, such as the ini-
hardware and software IP-Cores, the potential candidates that can tialization of a component. That is why the connection of a
be used to construct the system. The candidates can be selected component to the microcontroller is essential for estimating the fi-
from a library or another data base of information. After these in- nal costs and performance of an embedded system:
troductory steps, the first stage of our methodology follows. The The best case is complete compatibility of the busses of the mi-
evaluation and selection process focuses on a set of criteria, like crocontroller and the component which are connected each other.
testability. The output is a set of components which satisfy such Another possibility is that both bus interfaces are completely in-
special criteria in the best possible manner. Refer to [5] for a de- compatible. To connect this type of hardware component to the
tailed description of this process. After establishing the criteria, microcontroller, highly complex bridges are necessary. The appar-
the already described „validation“ stage follows. Only if a compo- ent disadvantages would be increased costs and significant com-
nent passes this „test phase“, it will be used in the final system de- munication delays between the microcontroller an the newly
sign. added component. In regards to the contents of this chapter, it is
possible to construct a ranking system to choose the most suitable
3.1 Stage One: Decision-making Criteria and component using the criteria bus-interface. The evaluation of the
Ranking other criteria, like initialization, testability, the complexity of add-
ing a component to a printed circuit board, etc., follows a analog-
The previous chapter gave a short overview of the principles of ical way. For detailed information refer to [5].
our approach. The evaluation stage which was described is based
on a process that puts together a ranking for components by focus- 3.2 Stage Two: Validation by Emulation
sing on special criteria. This chapter will explain how to define
these criterias and which ranking will be used for selecting or For the emulation of hardware and software components, we
throwing out components. have developed the SPYDER System. The basic idea of the SPY-
The most important component of an embedded system is the DER-System is to get a detailed view of the internal system beha-
microcontroller. That is why there are only a few types of control- vior of complex embedded systems based on real-time emulation.
lers available, but the choice of the microcontroller determines ba- In the past, these tools were used in different research projects pu-
sics like the system bus, power supply voltages, etc. The first stage blished in [2][3][4]. The SPYDER System currently consists of two
of our emulation-based design approach is aware of such choices, components:
as Figure 2 shows. • The SPYDER-VIRTEX-X2 Board for emulating application-
The features of the microcontroller, especially performance de- specific hardware or testing IP-cores.This board covers the
termine what will be implemented assoftware.A system which is validation of the hardware partitioning of an embedded sys-
equipped with a high performance microprocessor can implement tem design, (see Figure 1).
time-consuming functions, like MPEG-decoding software.If the • The SPYDER-CORE-P2 Board is designed for emulating soft-
microcontroller fails to complete this task, additional hardware ware components in a real-time environment. We have devel-
must be added. Due to the high costs of ASIC design, the only pos- oped a Board Support Package for the VxWorks1 RTOS. Due
sibility is to select the right components from a pool of available to the availability of this BSP, a variety of state of the art soft-
chips or IP-Cores. ware IP-cores can be tested and benchmarked.
By referring back to figure 1, you can see that the hardware and
ASIC integration functionality number of pins the software partitioning be emulated and verified at the same
time. This avoids time and cost-intensive delays between the phas-
es of hardware design and software implementation in classical
methodologies, like the hardware-first approach.
bus interface technology The next generation of boards that is currently being devel-
oped will combine these two platforms with additional internet
based configuration features. This new platform will offer devel-
opers the chance to work together in a world wide distributed en-
initializing testability vironment. Refer to section 4 for detailed information.
driver availibility
final ranking ASIC integration
0-7695-0668-2/00 $10.00
Authorized licensed ã 2000
use limited IEEE DHEER. Downloaded on August 25,2023 at 13:56:55 UTC from IEEE Xplore.
to: PRASHANT Restrictions apply.
3.3 Emulation Platform Spyder-Virtex-X2 3.4 Emulation Platform SPYDER-CORE-P2
external ARBITER
download &3/'
XC95144
configuration
665$0
clock-unit
N[
7 ;LOLQ[9LUWH[)3*$
2 3&,,QWHUIDFH
/
6
, ;&9;&9
& 3/;
3
%*
1 2
Virtex is a trademark of Xilinx Inc. Tornado is a trademark of WindRiver Systems
0-7695-0668-2/00 $10.00
Authorized licensed ã 2000
use limited IEEE DHEER. Downloaded on August 25,2023 at 13:56:55 UTC from IEEE Xplore.
to: PRASHANT Restrictions apply.
4.1 Scaleability communication. The SPYDER-VIRTEX-X3 acts as a master of a
scalable environment as shown in Figure 5. Together with SPY-
In order to emulate an embedded system design, it is necessary DER-CORE or SPYDER-VIRTEX boards, the developer can use a
to test several components and their communication with each oth- powerful and flexible emulation environment for testing embed-
er at the same time. Although the SPYDER System is highly quali- ded system designs without a prototype. The configuration inter-
fied for validating hardware or IP-core components, there is a face of SPYDER-VIRTEX-X3 is based on a Hitachi SH3 CPU
limitation given by the complexity of the FPGA chip used. In prin- running the real time operating system VxWorks. Due to the avail-
ciple there are three ways to remove this barrier: ability of a TCP/IP stack, this interface can use all TCP/IP based
• Use FPGAs with a higher gate density: This solution can be protocols, for example HTTP, FTP or proprietary protocols.
used for special designs needing a fixed number of gates for Flash Memory SDRAM Ethernet
emulation. Due to increasing cost and technological and test- Flash Driver, RAM Driver, Ethernet Driver,
DOS file system DOS file system TCP/IP stack
ing problems for ballgrid chips with hundreds of pins, this
approach is not suitable as emulation environment, which
could be put into common use. Application
• Increase the ‚virtual‘ gate capacity of the FPGA by using an
approach called „run-time-reconfiguration“ (RTC). Run-time
reconfiguration is a methodology focusing to a temporal par- FPGA Driver
XCV2000E
XCV2000Eupup
to to
8 MB Flash 86
,,
XCV3200E
XCV3200E 86
10/100BaseT ,,
ethernet BGA560
BGA560 86
,
86 ,
0-7695-0668-2/00 $10.00
Authorized licensed ã 2000
use limited IEEE DHEER. Downloaded on August 25,2023 at 13:56:55 UTC from IEEE Xplore.
to: PRASHANT Restrictions apply.
ciated with device drivers. By uploading a fpga image file in such 5 Results: Automotive Industries
a directory (i.e. , Spyder_I), the files are not stored on the target’s
flash file system, but will be redirected via a driver to the Virtex In the last months, we worked closely with an automotive com-
FPGA device. This feature offers the ability to reconfigure FPGAs pany developing different applications running a real-time operat-
simply by using drag and drop. Due to the use of the FTP protocol, ing System (RTOS). The company had used the hardware first
the developer can work with any host architecture he wants. method. After developing a complex prototype, the software de-
velopers started to code their applications. While the automotive
4.2 Distributed Emulation Environment team was still developing their hardware, we had started to port the
VxWorks RTOS using our SPYDER-CORE-P2 emulations system.
Due to the TCP/IP facilities of VxWorks, the emulation envi- This was possible and not difficult even without the availability of
ronment is not limited to a simple target/host development envi- the customers own hardware. Benefiting from the debugging facil-
ronment. Although the ftp interface still offers a comfortable and ities of SPYDER-CORE-P2, VxWorks was ready to run within two
flexible working environment, there are much more powerful weeks, before the hardware of our partner company was available.
ways to benefit from the internet capabilities of SPYDER-VIRTEX- Using the SPYDER emulation system, the behavior of the target’s
X3. microcontroller architecture could be analyzed in detail by con-
Due to the global structure of todays business, classical work- necting it to a standard logic analyzer. It was possible to detect
ing environments become more and more obsolete. Imagine a vir- some tricky bugs and to fix them. Because the emulation system
tual company developing and producing high-end electronic itself was tested, developers can focus on debugging their own ap-
products. There are software developing offices in the United plications, without regard for the problems of newly available pro-
States, the hardware developers are Europeans and the production totypes. To gain from the benefits of an emulation-based design
labs are located in Asia. The developer teams can work in different methodology, our partner company has decieded to use this ap-
locations, some of them develop parts of the system like ASICs, proach in the future by using the SPYDER tool set.
other engineers have to integreate all parts of an embedded system.
The challange is to enable a „distributed office“, that means offer-
ing the ability to work together in a simple fashion. Classical com-
6 Summary
munication paths like email or the world-wide web are powerful,
but sometimes restricted. These restrictions are based on the dif- The major advantages of our methodology is a parallel design
ferent know-how of the parties working together. Software devel- flow for hardware and software, rapid prototyping and the avoid-
opers have very good skills in debugging code of any kind, but ance of dangerous design risks. We have developed an emulation
they are not able to understand a complex hardware design in de- system called SPYDER to use our approach with real system de-
tail. Developing very complex systems, like an airplane or space- signs. The methodology and the SPYDER tool set are successfully
craft, each developer only knows a part of the whole design in applied in industrial OEM development projects. The basic goal of
detail. Imagine the following situation as an illustration of this our research activities is a world wide distributed development en-
point. A hardware developer team designs a high-end ASIC with vironment as introduced in section 4.2.
millions of transistors. Due to the complexity of the chip, there are
more than one team, each developing a part of the chip. The sys- References
tem designers have to integrate the ASIC in an embedded system.
Due to the complexity of the chip, it appears as a black box for [1] I. Katchan, C. Oetker, T. Steckstor, K. Weiß: SPYDER-VIR-
these people. To fix a bug in the IP-Core design, normally the re- TEX-X2 user manual, version 1.0, http://www.fzi.de/sim/spy-
sponsible ASIC team would have to change their design and to up- der.html, september 1999.
grade the ASIC. Of course they have to guarantee the consitence
[2] K. Weiß, T. Steckstor, C. Nitsch, W. Rosenstiel: Perfor-
of the design. Due to the complexity of such an upgrade process,
only the ASIC developers can do it. In pratice they design a new mance Analysis of Real-Time-Operation Systems by Emula-
image file for a FPGA emulating the chip and the system designers tion of an Embedded System. 10th IEEE International
have to load it onto a special FPGA to make it available on their Workshop on Rapid System Prototyping (RSP), Clearwater,
system. Unfortunately, this process needs a lot of effort in the area Florida, USA, 1999.
of communication between the teams, so it is very time consum- [3] K. Weiss, T. Steckstor, W. Rosenstiel: Exploiting FPGA-
ing. Features during the Emulation of a Fast Reactive Embedded
A solution which avoids such problems is provided by the in- System. ACM/SIGDA International Symposium on Field
ternet capabilities of the SYPDER-VIRTEX-X3 system. Using an Programmable Gate Arrays (FPGA), Monterey, CA, USA,
configuration interface like the FTP server or maybe a JAVA- 1999
based software frontend, it is possible to upgrade the entire hard-
ware of the system or parts of it via the internet. The IP-Core de- [4] K. Weiss, C. Oetker, I. Katchan, T. Steckstor, W. Rosenstiel:
velopers take care of the parts of the hardware they have Power Estimation Approach for SRAM-based FPGAs. Inter-
developed, they can exchange it on the emulation system national Symposium on Field Programmable Gate Arrays
without any help from the system integrators. The system (FPGA), USA 2000
developers can focus their work on the whole embedded [5] K. Weiß: Architekturentwurf und Emulation eingebetteter
system. Systeme. Ph-D. Thesis, University of Tübingen 15.Oktober
1999
0-7695-0668-2/00 $10.00
Authorized licensed ã 2000
use limited IEEE DHEER. Downloaded on August 25,2023 at 13:56:55 UTC from IEEE Xplore.
to: PRASHANT Restrictions apply.