promice logo
Site layout    How to buy    Contact us     Return to homepage   
  Universal Firmware Development Tools
 
1-800-PROMICE  
   

Grammar Engine Logo

Search PromICE.com



 

Competitive Comparison

 
 
  1. What features does an ICE provide that PromICE doesn’t?
  2. How does Memory Emulation compare to In-Circuit Emulators?
  3. How does PromICE compare to In-Circuit Emulator (ICE)?
  4. How does PromICE compare to other memory emulators on the market?
  5. How does PromICE compare to BDM/JTAG emulators?

1. What features does an ICE provide that PromICE doesn’t?

An ICE (processor ICE) is a processor specific tool, where as PromICE is independent of the target CPU. As such an ICE provides complete control and monitoring of the bus cycles, processor states and control over processor execution. PromICE being a memory emulator can provide these functions only in conjunction with a ROM monitor and the software features such a monitor provides. However, for firmware development the monitor features are sufficient. In other words, you don't really need an ICE if the target hardware is known and stable, for most firmware development.

Back to top


2. How does Memory Emulation compare to In-Circuit Emulators?

As PromICE approaches its 15th Anniversary, memory emulation is shedding its image as a "poor man’s ICE" and becoming an increasing important and effective embedded development method. Traditionally, embedded systems were developed using an In-Circuit Emulator (or ICE), a complicated computer system that replaced the processor on an embedded target and contained a bond-out chip: a special version of the processor that made all the internal signals of the CPU visible to the outside world. In comparison, a memory emulator contains SRAM and control circuitry that is connected to the embedded target in place of the target memory.

These embedded market trends have combined to make ICEs less effective, and make memory emulation more effective than ever:

1. Increased CPU Complexity and Variants – As CPUs get more complex, ICEs have more restrictions. If the part has cache, the ICE cannot see traced commands. Also, pins may be shared among several functions and changed via software, causing nonsense when the ICE reads the CPU signals. In addition, semiconductor companies can easily design variants of chips with minor differences and custom feature sets, sometimes for a single application. It is economically infeasible for ICE vendors to provide a solution for each processor variant. And it is increasingly impossible: some processors have grown so complex that their manufactures no longer attempt to manufacture bond-out chips.

Because PromICE only needs to emulate external memory, it is easier for us to continue to provide this functionality. PromICE can emulate not only ROMs but also all flash memory when used as EPROMs, and in the future, FlashICE will completely duplicate the functionality of many flash chips. Because PromICE supports a variety of monitor-based debuggers for source level debugging, the chances are excellent that support for the particular processor variant is available. If it is not, the "generic" version of a software debugger can easily be used and adapted.

2. Increased CPU Speed – As bus speeds and CPU speeds increase, the speed of electrons becomes an absolute limit. The cables and circuitry of an ICE create a much larger propagation delay than when the CPU is present. No ICE will be able to perform well beyond the 50-100 MHz range.

Once again, the nature of memory emulation makes things easy for PromICE. Memory speeds are increasing at a slower rate than processors, and the SRAM used in PromICE is available in faster speeds than the EPROM or Flash memory it is emulating. As a result, PromICE is easily able to keep up with future memory speed advances.

3. IP Cores embedded in an ASIC – It is increasingly common for chip manufacturers and even some third party companies to sell intellectual property: VHDL models which describe the functionality of their processors. Embedded hardware designers then combine this code with their design and produce an ASIC with the exact feature set their product needs. Obviously, no ICE could emulate these one-of-a-kind designs, which may also run at speeds that far exceed those of the original chip in silicon.

As long as the design incorporates external memory, PromICE can easily be connected to the target and used as a development tool. Existing software debuggers ported to PromICE make an excellent debugging tool for code running on an IP core in an ASIC.

4. Fine Pitch SMT parts – Processors now come in packages with hundreds of tiny pins arrayed around the edges, making traditional "clip-over" probes extremely expensive and exceedingly difficult or impossible to use, requiring hours of setup and testing before software debugging can begin. And if the processor is available only in a BGA package, where the connections are on the bottom of the chip, the use of an ICE may be impossible.

While processor sizes decrease, many embedded designs continue to include memory in the larger DIP or PLCC footprints, which Grammar Engine has supported for years. Increasingly, however, fine pitch SMT memory as well, but as in the other cases, the memory footprint is less complex than the processor footprints. Beginning in 1995, Grammar Engine has developed cables for TSOP, PSOP and SSOP and even microBGA memories in well over 300 footprints, and after many improvements these cables are very reliable and quite cost effective. There are a wide variety of connection options available to suit every development situation.

5. Rise of "off the shelf" embedded hardware – In response to continual pressure to reduce time-to-market on development projects, companies are purchasing embedded PCs, PC/104, CompactPCI or other boards from third-party companies. Hardware debugging is then accomplished not with an ICE, but with a call to the manufacture. Even if the hardware is custom-developed in-house, it is more likely that separate groups develop hardware and software, so embedded software developers are concerned only with finding bugs in their application software. An ICE is overkill for this job, it is much too expensive and too difficult to set up and use.

This is where PromICE shines. PromICE is an embedded software development tool that is easy to set up, easy to use, greatly increases a software developer’s productivity and costs just a fraction of the equivalent ICE. In this situation, where many of the ICE’s advanced features are simply not needed, a PromICE can save significant time and money for a company involved in embedded development.

Conclusion

The evidence is clear. More than ever, memory emulation makes sense as an effective and affordable embedded development method. Grammar Engine has more experience in memory emulation than all of our competitors combined, and perhaps more importantly, we are the only company that focuses exclusively on memory emulation tools. You can count on Grammar Engine to provide your company with a powerful, flexible and affordable embedded development solution. Your PromICE purchases are investments that will pay years of dividends in continued outstanding performance. We guarantee it.

Back to top


3. How does PromICE Compare to In-Circuit Emulator (ICE)?

Typically, PromICE when used with a monitor-based debugger will provide nearly all the functionality of an ICE, at a fraction of the price. The fraction varies by the processor being used. It used to be that the only features an ICE could provide were real-time trace and hardware breakpoints. With the introduction of PromICE with Trace, even these features are now available on PromICE. If the debugging situation calls for a full, source-level trace with a time stamp then an ICE or a logic analyzer with a preprocessor pod for the specific processor is needed. In the vast majority of debugging situations, PromICE can provide all the debugging capabilities an embedded software developer will ever need. And consider this: In a department, a single shared ICE and individual PromICEs can provide every engineer a powerful development tool on their desk, and access to an ICE at the rare times it is actually needed.

Back to top


4. How does PromICE compare to other memory emulators on the market?

Of course, here at Grammar Engine we believe PromICE is the best memory emulator on the market, and that it is the best choice an embedded developer can make. There are always a wide variety of memory emulators on the market. In the past 14 years, many companies have entered and left the memory emulation market, but Grammar Engine is the only company to have participated in this market for the entire period and the only one to specialize in memory emulation for that entire period.

At the "low end", there are always cheap emulators available in small memory sizes and slow access speeds. The companies who make these products may or may not be available for answering questions, handling orders promptly and providing technical support down the road. The list of these companies change frequently, but their products are usually characterized by small emulator memory sizes, slow speeds and emulation of through hole memories (DIP and PLCC in socket) only.

At the high end, emulators from companies like Lauterbach, Corelis, and Applied Microsystems can be characterized, frankly, by high prices. A comparative PromICE system can be had for a half to a quarter as much as similar emulators from these companies.

In the final analysis, what makes Grammar Engine’s PromICE the best? Besides, the best target and host connections, debugger support and memory size and speed, it comes down to longevity in the market (today and tomorrow and reliability.) In the past 15 years, PromICE has been market proven on the widest variety of embedded targets of any memory emulator. Grammar Engine’s experience ensures that PromICE is the best memory emulator available, and the one that will require the least amount of configuration and setup in a custom embedded development environment.

Click here to see a  feature comparison of Grammar Engine’s PromICE and Applied Microsystems’ NetROM.

Back to top


5. How does PromICE compare to BDM/JTAG emulators?

BDM/JTAG emulators take advantage of a chip’s on-board debugging resources to provide debugging support for source-level debuggers. Typically a download cable, this is an extremely cheap solution - if the chip being used supports BDM and JTAG, then this solution does make sense. One disadvantage of this approach is the comparatively slow download time for large files. To decrease development time, a PromICE can be used for fast downloads of code and the BDM/JTAG tool can be used with the debugger, providing the "best of both worlds" and an optimum debugging environment

Back to top


       
     
 
| ProductsCompany | Support |
 
 
| SearchContact | Purchase | PromICE | Sitemap |
 
     
 
 
 
Grammar Engine Inc. Copyright 2001 © All Rights Reserved
 
 
Site Design by Web Junkies