Andre Yew describes the history trace debug and describes the evolution of High-Speed Serial Trace (HSST) and discusses how it replaces conventional parallel trace, especially as CPU speeds and System-on-Chip integration complexity increase.
What's next for HSST?
Do we expect CPU core speeds to increase by 300 percent in the next few
years? They may, but what is definite is that higher levels of
integration in SoC designs will output more trace data than ever, even
if CPU core speeds remain constant.
Multi-core designs will output more trace data and programmers will
increasingly depend on trace to solve the significantly more difficult
problems we will create with multi-core systems.
Timing problems will only increase, because we now have true
asynchronicity with independent CPUs running, instead of just the
simulated asynchronicity we have with single-chip multitasking. Trace
protocols must include some way of synchronizing and correlating trace
data collected from multiple cores.
SoCs will also have configurable logic, like FPGA fabrics, as well
as specialized processors to handle application-specific tasks. These
devices need debugging as well, and will also output trace data along
with normal CPU data.
ARM's Coresight system already
provides a mechanism for combining multiple sources of trace data on an
SoC for output in a single trace stream to a trace collection probe. We
now need to provide enough bandwidth for this data. Fortunately, it's
relatively straightforward to use a high-speed serial interface for
these systems.
A serializing module on the parallel outputs of an ARM Coresight
port, for example, outputs high-speed serial data to a serial receiver
which will convert the serial stream back into parallel Coresight data.
From the parallel trace port's point-of-view, nothing has changed
except for a huge bandwidth increase.
And this is not an over-simplification of HSST implementation either
as the first prototype systems used exactly this scheme. A conventional
parallel trace system was connected to a serializer that sent its
output over a cable to a deserializer that fed a conventional parallel
trace collection probe.
The parallel-trace tools had no idea that such a conversion was
being done, and worked, more or less. Of course, over time, more direct
integration will see systems transmitting serial trace directly instead
of attaching very expensive serial transceivers to existing systems,
but the concept does work in actual use.
It's an exciting time to be in the debugging tools business: we are
on the cusp of a very big change in the capabilities of our tools as
they start to make debugging of traditionally very difficult problems
manageable.
Andre Yew manages Green Hills Software's Target
Connections group, which
connects the MULTI Integrated Development Environment to hardware
targets.
The group is responsible for Green Hills' debug devices, and its
supporting
software. Andre has a Bachelor of Science in Engineering and Applied
Science from the California Institute of Technology.