0% found this document useful (0 votes)
49 views11 pages

Debugging and Simulation Tools Overview

The document discusses various debugging and simulation tools used in hardware development, including debuggers, simulators, emulators, in-circuit emulators, and logic analyzers. It highlights the functionalities of each tool, such as program execution control, environment mimicry, and signal analysis. Logic analyzers are particularly noted for their ability to sample multiple signals simultaneously and provide insights into system operations through state and timing modes.

Uploaded by

crystal2moon2004
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PPTX, PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
49 views11 pages

Debugging and Simulation Tools Overview

The document discusses various debugging and simulation tools used in hardware development, including debuggers, simulators, emulators, in-circuit emulators, and logic analyzers. It highlights the functionalities of each tool, such as program execution control, environment mimicry, and signal analysis. Logic analyzers are particularly noted for their ability to sample multiple signals simultaneously and provide insights into system operations through state and timing modes.

Uploaded by

crystal2moon2004
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PPTX, PDF, TXT or read online on Scribd

Debugger

• It loads object code program into system memory, execute


program and troubleshoot or debug it.

• It allows to look at contents of registers and memory locations


after program runs and change it.

• It also allows to set breakpoint at any point in program.

• Program execution will stop in breakpoint itself.


Simulator

• It mimics the real world environment in virtual mode.

• Helpful in design and testing.

• Reduce the cost and duration in a project.


Hardware Development Tools

• Emulator

• In-circuit Emulator

• Logic analyzer
Emulator

• An emulator is a mixture of hardware and software.

- It is used to test and debug the hardware and software of an


external system, such as the prototype of a microprocessor
based instrument.
In-circuit emulator

• When software tools are insufficient to debug system, hardware aids can

be deployed.

• In-circuit emulator (ICE) is a specialized hardware tool that can help

debug software in a working embedded system.

• It allows to read internal registers of microprocessor when it is stopped.

• It provides with additional logic that allows user to specify breakpoints and

examine and modify the CPU state.


Logic Analyzer
• Think of a logic analyzer as an array of inexpensive oscilloscopes—the analyzer can
sample many different signals simultaneously (tens to hundreds) but can display only 0,
1, or changing values for each.

• All these logic analysis channels can be connected to the system to record the activity
on many signals simultaneously.

• It records the values on the signals into an internal memory and then displays the results
on a display once the memory is full or the run is aborted.

• It can capture thousands or even millions of samples of data on all of these channels,
providing a much larger time window into the operation of the machine than is possible
with a conventional oscilloscope.
Logic Analyzer
• A typical logic analyzer can acquire data in either of two modes that are
typically called state and timing modes.

• The measurement resolution on each signal is reduced in both voltage


and time dimensions.

• The reduced voltage resolution is accomplished by measuring logic


values (0, 1, x) rather than analog voltages.

• The reduction in timing resolution is accomplished by sampling the signal,


rather than capturing a continuous waveform as in an analog oscilloscope.
Logic Analyzer
• State and timing mode represent different ways of sampling the values.

• Timing mode uses an internal clock that is fast enough to take several samples per clock period in a

typical system.

• State mode, on the other hand, uses the system’s own clock to control sampling, so it samples each

signal only once per clock cycle.

• As a result, timing mode requires more memory to store a given number of system clock cycles.

• On the other hand, it provides greater resolution in the signal for detecting glitches.

• Timing mode is typically used for glitch-oriented debugging, while state mode is used for sequentially

oriented problems.
Logic Analyzer
• The system’s data signals are sampled at a latch within the logic analyzer; the latch is
controlled by either the system clock or the internal logic analyzer sampling clock,
depending on whether the analyzer is being used in state or timing mode.

• Each sample is copied into a vector memory under the control of a state machine.

• The latch, timing circuitry, sample memory, and controller must be designed to run at high
speed because several samples per system clock cycle may be required in timing mode.

• After the sampling is complete, an embedded microprocessor takes over to control the
display of the data captured in the sample memory.
Logic Analyzer

• Logic analyzers typically provide a number of formats for viewing data.

• One format is a timing diagram format.

• Many logic analyzers allow not only customized displays, such as giving names to
signals, but also more advanced display options.

• For example, an inverse assembler can be used to turn vector values into
microprocessor instructions.

• The logic analyzer does not provide access to the internal state of the components,
but it does give a very good view of the externally visible signals. That information can
be used for both functional and timing debugging.
Logic Analyzer
samples

System
data

You might also like