By BDTI, 12/12/2005
Signal processing is becoming important in an
increasingly broad range of embedded systems. As signal processing
workloads become more widespread, these workloads are increasingly
assigned to embedded processors that were not designed with signal
processing in mind. Because these processors were not designed for
signal processing tasks, the processors’ software development tools
often lack critical features needed for signal processing software
development.
The tool features needed for signal
processing software development overlap with the features needed for
general embedded software development, but there are some critical
differences. One such difference is the need to support data
visualization features, such as eye diagrams, constellation diagrams,
and scope plots. Data visualization is extremely useful for debugging
signal processing software, but is rarely used in developing other
types of embedded software. Similarly, signal processing software often
uses fractional (rather than integer) data types, so debug tools should
be able to display data in this format.
Signal processing software also differs from many other kinds of
embedded software in that signal processing software typically requires
aggressive optimization to meet speed and memory-use constraints.
Processor tool chains are critical to these optimization efforts. For
example, it is important to have good support for software profiling.
Profiling allows programmers to identify the processing-intensive
sections of their code, often called “hot spots.” The tools should also
allow programmers to understand the cycle-by-cycle timing of these hot
spots. Without good profiling tools, the programmer is often left
guessing about the performance of the code and how to optimize it. This
can be a serious problem, particularly if the processor has dynamic
features—such as superscalar execution, caches, or branch
prediction—that make it difficult to determine cycle counts by hand.
A number of major processor vendors have engaged BDTI to help them
improve their tools for signal processing software development. In some
cases, BDTI has made recommendations on new tools and their key
features. In other cases, BDTI has performed in-depth evaluations of
existing tools, providing detailed suggestions for improvement. BDTI’s
strong background in both signal processing software development and
signal processing tool evaluation puts it in a unique position to help
companies create top-notch tools for signal processing software
development.
To learn more about how BDTI can help your company deploy tools that
give you a competitive advantage, contact Jeremy Giddings at +1 510 665
1600 or at giddings@BDTI.com.
|