Design Automation


A brief look at emulation technologies

25 September 2002 Design Automation

Microcontrollers have I/O lines for user applications. Sometimes these lines can be used either as I/O or bus, depending on the memory location. If the microcontroller is a ROMless device, instructions are fetched outside the device and as the bus is always there, an emulator can be built around it. The main issue is how to emulate a microcontroller in ROM mode, which means when the instructions are fetched inside the chip memory and the I/O lines remain unchanged until a related instruction that affects them is executed. ROM is now not necessarily a Read Only Memory, but it can also be a device with Flash technology, meaning a memory that holds the user code without being erased while power goes down.

Figure 1. Standard microcontroller
Figure 1. Standard microcontroller

Bond-outs

Emulators need access to the internal bus especially when the bus signals are shared with I/O lines or when there is no external bus available at all. As a solution the silicon manufacturers used to produce bond-out chips which are the same microcontrollers mounted in a bigger package with more pins that provide the internal bus, status and control signals. I/O lines and the internal bus are accessible through different pins in the chip. Bond-outs are needed only for the emulator vendors.

Figure 2. Bond-out
Figure 2. Bond-out

Emulation mode

A solution came a few years ago that consisted of multiplexing the I/O lines with the internal bus while entering the chip into a special emulation mode - an undocumented feature licensed only to emulator vendors. A pattern is sent to the standard chip through one of the pins while the microcontroller is reset. With the addition of external logic, I/O lines are sampled and reconstructed, while the internal bus is available on a different time slot. The major advantage of the emulation mode is that all the emulation functions are already implemented in the standard silicon, so with new versions of the chip also the emulators are automatically updated. This mode is also called 'Emulation Hooks'. I/O lines are fully reconstructed and the user has available all I/O features as in the actual devices.

Figure 3. Emulation mode
Figure 3. Emulation mode

ROM and ROMless support

Some silicon vendors do not have any solution for emulators - this means their microcontrollers do not have Emulation Mode or available bond-outs. Therefore, there are a few solutions for emulation:

1. Use a similar chip from other vendor in the emulator. For the emulator it does not matter which is the memory technology (EPROM, Flash, etc) so for example a chip like 89C51 (Flash type) can be emulated by an 87C51 (EPROM type).

2. Use the chip in ROMless mode. In this case the emulator may have placed exactly the same silicon as the final design. Nevertheless, the chip will work in ROMless mode. This is not a problem in some cases. For example if the device is an 8051 derivative and the user code executes MOVX instructions to access data outside the microcontroller, activating Port 0 and 2 as buses, a ROMless type can be used because in any case port contents are changed.

Low pin count microcontrollers

Sometimes these devices can be emulated using a similar device with standard pinout and a socket converter. For example most of the 20-pin devices have a 40-pin superset with all the same functionality and more. This may not solve all the problems because the small devices may also have pins with dedicated functions not available in any other device.

Flash microcontrollers

The Flash technology is now being added to all new microcontrollers to implement the code memory. Flash technology includes ISP and IAP. The ISP (in-system programming) allows loading the user code without removing the chip from the target circuit. The IAP (in-application programming) may be used to let the code to modify itself without affecting I/O lines or activating a bus, and this is also a very basic need of emulators.

All the available emulators work in emulation mode or using bond-outs or in ROMless mode, thus allowing access to the internal buses. Therefore, the actual code is in the emulator overlay RAM memory and not in the microcontroller Flash. So, ISP or IAP is never used by the emulators. This is a problem for many users that want to emulate these features. Ceibo developed a new technology that is being implemented by several silicon vendors, which with the addition of a few internal registers inside the microcontroller, all the basic emulation functions are already inside the chip. These capabilities are trace memory, breakpoints, code downloading, register modifications and others. The FE-xxxx series of emulators is now available for microcontrollers produced by Atmel M&W, Dallas Semiconductors, Winbond and Philips. Some others will be added soon.



Credit(s)



Share this article:
Share via emailShare via LinkedInPrint this page

Further reading:

AMD Vivado Design Suite 2025.1
Design Automation
AMD Vivado Design Suite 2025.1 is here, and now with support for AMD Spartan UltraScale+ and next-generation Versal devices.

Read more...
Siemens streamlines design of integrated 3D ICs
Design Automation
Siemens Digital Industries Software recently introduced two new solutions to its EDA portfolio.

Read more...
Webinar: Designing in a connected environment
Design Automation
With Altium Designer and its data management platform, the team will always be up to date with the latest design documents and be able to comment on schematic, PCB, BOM and assembly drawings.

Read more...
ST’s graphical no-code design software
Design Automation
MEMS-Studio is a complete desktop software solution designed to develop embedded AI features, evaluate embedded libraries, analyse data, and design no-code algorithms for the entire portfolio of ST’s MEMS sensors.

Read more...
LibGSM – A powerful, modular GSM library
eiTech Systems Design Automation
Whether you are building SMS, MQTT, HTTP or other GSM-based applications, eiTech’s LibGSM library helps streamline development with its carefully structured design.

Read more...
NECTO Studio V7.2 IDE with code assistant
Design Automation
MIKROE recently announced that NECTO Studio 7.2 IDE now includes NECTO Code Assistant, an AI tool that enables users to create code for multi-Click projects.

Read more...
MPLAB unified compiler licenses
Design Automation
Offering an efficient way to manage multiple licenses, Microchip Technology has launched MPLAB XC unified compiler licenses for its MPLAB XC8, XC16, XC-DSC and XC32 C compilers.

Read more...
MPLAB PICkit Basic
ASIC Design Services Design Automation
To make its robust programming and debugging capabilities accessible to a wider range of engineers, Microchip Technology has launched the MPLAB PICkit Basic in-circuit debugger.

Read more...
Accelerating RF PCB design in a 5G world
ASIC Design Services Editor's Choice Design Automation
Billions of IoT devices coming online in the coming years will require RF design capabilities that support ultra-fast 5G speeds.

Read more...
NECTO Studio has been updated
Design Automation
NECTO Studio V7.1 IDE from MIKROE now includes full programmer and debug support for Microchip tools and also adds support for Microchip’s SAM MCU and STMicroelectronics’ STM32L4 series of ultra-low-power MCUs.

Read more...









While every effort has been made to ensure the accuracy of the information contained herein, the publisher and its agents cannot be held responsible for any errors contained, or any loss incurred as a result. Articles published do not necessarily reflect the views of the publishers. The editor reserves the right to alter or cut copy. Articles submitted are deemed to have been cleared for publication. Advertisements and company contact details are published as provided by the advertiser. Technews Publishing (Pty) Ltd cannot be held responsible for the accuracy or veracity of supplied material.




© Technews Publishing (Pty) Ltd | All Rights Reserved