In circuit emulators
In this page I will try to put information about the in circuit emulators available. I will try to give a short description of each of them, as well as any personal expecience. Please contribute with your information and experiences by sending me a mail.
An in circuit emulator, often called an ICE, is an invaluable software developers tool in embedded design. The processor or microcontroller of the target hardware will be replaced by the ICE. Often a smaller part of the emulator, the pod, is put into the hardware, while the main emulator functionality resides in a box which is connected to the pod with cables.
An ICE can emulate the replaced processor or uC in real time. The developer loads the program into the emulator and can then run, step and trace into it, much like it is done on PC:s. Many emulators have more advanced features like performance analysis, coverage analysis, a trace buffer and advanced trigger and breakpoint possibilities.
Inside the ICE, or usually on the pod, is a processor of the kind the emulator replaces, or a special bond-out version of the same chip. Bond-out chips have normally internal signals and/or busses bonded out to its legs. This is in order to let the ICE, and the developer, get a more complete picture of the status of the chip. Often emulators that use bond-out chips have more features then those that don't.
example of an emulator user-interface
Lauterbach is a well known company in the embedded tools market. Their
prime products are the Trace32 ICE and the FIRE32 ICE, which are universial
emulators and support a large number of processors and microcontrollers,
with both bondout or normal productions chips.
Trace32 ICE and FIRE32 ICE
They are built in a very modular design, which means that they are very
flexible. The communications is done via parallell port, ethernet or
fibreoptic cable. In a sense, this is the Rolls-Royce of the emulation
market. It is very capable, but also quite expensive.
It supports most features that usually comes with an ICE, including performance analysis, coverage analysis, a trace buffer and advanced trigger and breakpoint possibilities. A port analyzer and a timing analyzer can also be included. Both HLL and assembler debugging is supported.
The Lauterbach comes with a graphical interface for various windows environments. Many operations are supported by menu operations and pop-up dialogs. Even so, this is not a very easy system to learn, although the very basic operations such as running and stepping though code, and setting basic breakpoints, is easy. More advanced features requires that the user has time to read the manual carefully, and try things out.
Nowadays, most operations and features can be accessed through menus, but due to the complexity and capability of the system, some still have not been fit in. Originally, the user interface was command line oriented, and the command line is still the only possibility to access some commands.
The Lauterbach interface has two kinds of script files that it can run. The first is the .cmm files, called PRACTICE files. They are just a collection of command line commands. They are often used to set up the emulator for different tasks. The second type is the trigger ( or analyzer) script, through which it is possible to program very advanced trigger conditions and actions. Analyzer scripts can be embedded into the cmm files.
The manual is quite extensive but can still be difficult to use, although it has improved over the years. Rather than helping the user to achieve specific tasks, the manuals only describe the commands one at a time.
I have personal expecience of the Lauterbach Trace 32 ICE, using it with a Siemens C167CR and CS microcontrollers. It is a powerful tool that I can recommend. However, make sure that you also get a support agreement, and that the personel are properly educated. Also make sure that the supplier helps you to set up the emulator the way you want it.
Trace 32 ICD
Lauterbach call this little box an In Circuit Debugger. It is used as a ROM emulator or by using the on chip debug interface like BDM, JTAG, COP etc. The hardware of the ICD-Debuggers is universal and allows the debugger to interface to the specific target processor simple by changing the software.
The ICD can be used as a cheap alternative or as a compliment to the Trace32 ICE. A good setup is to buy one ICD for each programmer, and one ICE to use as a common resource for advanced debugging and analysis.
The user interface is identical between the ICE and the ICD. The only difference is that more advanced operations, that can not be performed by the ICD, have been removed. Examples of such operations are peformance analysis, coverage analysis and advanced trigger options. The decrease in functionality also means a decrease in complexity. The result is that the ICD is easier to learn than the ICE. In fact, it takes a very short time to be able to use the ICD.
I have used the Lauterbach Trace32 ICD as a ROM emulator with the Siemens C167 microcontroller. It is an excellent compliment to the Trace32 ICE.
The Lauterbach products are described at the Lauterbach web site.
If you consider buying the ICE or the ICD, and would like further information of my personal experience of these products, please send me a mail.
In Sweden, Lauterbach is represented by Nohau. They give excellent support and can be recommended as a supplier of embedded development tools.
The Kontron development tools have recently been aquired by Hitex.
I have no knowledge about Hitex emulators, other than that it is a well known and generally respected company. If you do have any experience with Hitex equipment, please send me a mail and report on your experiences!
The feedback I have had is about poor service at Hitex in Sunnyvale, California, where they were not possible to contact by phone and they didn't return messages on voice mail.
If you have any experience, good or bad, with Hitex and their emulators,
please let me know!
Nohau is a well-known Swedish-American company, whose in circuit emulators have a very good reputation.They have emulators for many different processors and microcontrollers. Their emulators are not as the Lauterbach adaptable to all supported processors. Instead, each emulator supports one target family.
The emulator is connected to the PC through an ISA or PCMCIA card or through the parallell port.
Although it is not as powerful as the Lauterbach Trace32 ICE (which emulator is? ), the Nohau emulators do seem to have a sufficient range of features. The user interface runs in a DOS and/or Windows environment, depending on the target family.
More information is available on the Nohau US web site.
ISystem is a German manufacturer of in circuit emulators. They currently have four ranges of emulators - the IC1000, IC2000, PC3000 and, not surprising, IC4000, all with the suffix "Poweremulator"
This is a compact universal 4/8 bit emulator which supports a wide range of microcontrollers. Only the pod needs to be changed if a different microcontroller is to be used.
A universal in-circuit emulator which supports 8-bit to 32 bit devices. It has a modular concept with a base unit, the emulator, a trace unit and an analyser unit. Also uses a pod which is the only controller-specific part.
This is a compact emulator using the built-in debugging interface, such as SDI, BDM, OnCE and JTAG, that exists on many modern controllers. It supports 8 to 32 bit micros.
A universell 8/16/32 bits emulator, which uses the BDM/JTAG
style of interface. Optional
All ISystem products share the same user interface. It is an integrated user environment, which contains an integrated editor and high level debugger. It also allows you to integrate 3rd party tools, uch as compilers, into the system.
a screen snapshot of the debugger
Check out the ISystem web site.
In Sweden, check out former ESE, now
Applied Microsystems has a few different in circuit emulators and debuggers, and also sell hardware-software codevelopment tools.
SuperTAB is a very small ICE that fit in the palm of your hand. It is available for Intel and AMD x86 processors up to the 486, as well as for Motorola 68302 and MPC.
It seems that Dr Krohn & Stiller has gone out of business, but I
include it here in case you are in the marked for a used emulator.
The E32 is an universial in circuit emulator, which supports a wide range of processor families. It communicates with the PC through a serial or parallell link. It has a the normal range of features, including two four stage sequencers that can track events independently from each other or may be armed for complex trigger problems.
The E32 includes a DOS or Windows debugger.
I have personal experience of the E32 emulator with a Siemens C166 microcontroller. Although the emulator had a good set of features, it was almost impossible to use due to its instability. It was sent to dr Krohn & Stiller in Germany several times, but it never worked properly.
I do not know if this is a common problem. The Italian sister company of my enmployer at the time had an emulator of the same kind, but never had any problems with it. What I do find very disturbing is that Dr Krohn & Stiller despite several attempts never was able to make our emulator work.
Due to my experiences with the E32 ICE, I can NOT recommend it to anybody. If you need an emulator, buy it from a well-known, respected company like Lauterbach, Nohau or Hitex instead!
The Dr Krohn & Stiller web site in Germany has been down for some years now.
If you wish additional information about our problems, send me a mail.
This page has had
visits since 1998-01-10
If you have any suggestions on what could be added to this page, or if
you found any misinformation on this page, please contact me. I, Staffan
Nilsson, can be contacted at