AUTOFOCUS Self Calibration

The embedded tools company

AUTOFOCUS Self Calibration
Successfully deployed for trace port data rates in excess of 600 Mbit/s per trace channel
Up to 40 trace channels
Up to 16 Gbit/s total bandwidth
Data eye recognition capability
78 ps time resolution
Automatic adjustment of termination voltage
Automatic adjustment of threshold voltage separately for all clock and data channels
Automatic adjustment of clock delay
Automatic adjustment of data delay for every single channel
Automatic trace port test
These days microcontrollers with trace port data rates in excess of 600 Mbit/s are no longer unusual. The time window for sampling the valid data is thus becoming ever narrower. Consequently small run time differences between the trace channels or other minor faults in the target hardware can easily become a source of errors for the trace recording. As a result fine tuning of the sampling instant is becoming an increasingly important factor. This is even more crucial, if the application that is supposed to be traced is constantly changing the CPU frequency during the trace capture as it commonly done in mobile applications.

Appl. note High Speed Parallel Trace
Appl. note changing clock frequencies during trace capture
Appl. note Debugging your target hardware with Lauterbach's Eye-Finder



Sampling high-speed parallel buses requires special concepts to compensate for the effects of wave reflections, component tolerances, different trace lengths, limited pad driver capabilities, signal coupling etc.. All these effects might add up to a reduced signal amplitude, jitter and channel to channel skew. TPAs (Trace Port Analyzers) that cannot compensate for these issues might not be able to trace high speed targets, even if they support high data rates in theory. The real challenge however is not to process high speed data within a digital design, but to get the trace signals from the target into the TPA hardware without any information loss. Trace probes with AUTOFOCUS technology meet that challenge!


Automatic Adjustment

Lauterbach′s TRACE32 Software provides a push-button-solution for optimal hardware configuration including a trace port test. Just push the AutoFocus button and a small test programm is downloaded to the target causing worst case test patterns on the trace port. Trace probes with AUTOFOCUS are capable of recognizing data eyes, adjusting reference voltage such that clocks are stable and data channels have broad data eyes. Last not least optimal sampling points are calculated and setup for every data channel. An automatic hardware configuration will setup the following:

  • the ideal termination voltage
  • the ideal reference voltage separately for all clock and data channels
  • the ideal clock delay
  • the ideal delay for every single data line

Above is an example for an 8-bit ETMv1.3 trace port with data rates of 312 Mbit/s in HalfRate (data on both trace clock edges). Please note, that in the example above there is not even a common sampling point were the complete bus would have valid data. In fact a TPA (Trace Port Analyzer) that cannot compensate for channel to channel skew would fail for this real life example. Trace probes with AUTOFOCUS technology on the other hand report:

Since data arrives on both edges of the clock the reported trace port clock frequency is 156 MHz, yet the CPU clock is 312 MHz.



Finally the outcome of the automatic hardware configuration will be tested by comparing the captured trace data with "golden patterns" known to the TRACE32 software. The trace test will either report a "data capture o.k." or give further information on what might have gone wrong. The information reported during trace port test proofed to be very valuable to many of our customers, since it helped them find erros on their own target hardware at an early stage.

Let′s be honest: almost everybody works with ′cut & paste′ these days, which makes it even more important to find errors as soon as possible. The trace port test is a powerfull tool in doing so.

All this is done for you behind the scenes merely by pushing a button! (Of course for firm believers in the command line everything represented in the TRACE32 GUI is also scriptable or executable on the command line)

Eye Finder

Lauterbach′s Trace32 software in combination with the AutoFocus Preprocessors enable the user to perform an extensive analysis of the physics of the trace port. In addition to the test.ShowFocus window that is showing the data eyes for the current reference voltage level for all active trace port channels, there is another window called trace.ShowFocusEye that makes a third dimension visible. Besides time (x-axis), channel (y-axis for trace.ShowFocus, z-axis for trace.ShowFocusEye), the data reference voltage is shown on the y-axis of the trace.ShowFocusEye window, thus enabeling the user to view the data eyes (within the AutoFocus Preprocessor) for all trace channels.


How to select the right TPA (Trace Port Analyzer)?

Here are a couple of questions you might want to ask yourself and/or your tool vendor before deciding on a tool set:

  • What is the maximum trace port data rate (not core clock frequency!) the tool can handle?
    For example it is true that the Lauterbach tools allow core clock frequencies in excess of 1.2 GHz, e.g. for 4-bit Demux for an ETMv1.x or even up to 2.4 GHz for an ETMv3.x in "1/4" mode. But is that what you want to know?
    Probably what you really want to know is the maximum trace port data rate, not the core clock frequency reported by many tool vendors.
  • What setup/hold time requirements has the TPA and what is the maximum channel to channel skew the tool can handle?
    Will your target board be able to meet these requirements?
    Let′s face it, with trace port data rates beyond 300 Mbit/s a bus is just no longer synchronous. In fact, if you look at the example above, the order of magnitude of the channel to channel skew is half a clock period (see Automatic Adjustment).
  • What trace port data rate has the fastest real life target the tool was successfully deployed with?
  • Was any promise beyond that tested with real hardware (e.g. a testpattern generator?)
  • Does the TPA require a continuous clock with constant clock frequency (e.g. if the TPA′s clock shifting is done with PLLs) and what are your requirements?

Copyright © 2023 Lauterbach GmbH, Altlaufstr.40, 85635 Höhenkirchen-Siegertsbrunn, Germany   Impressum     Privacy Policy
The information presented is intended to give overview information only.
Changes and technical enhancements or modifications can be made without notice. Report Errors
Last generated/modified: 13-Jan-2023