Even if you are a DSP industry insider, you may not have heard of UK-based Oxford Digital. Since its founding in 2006, the company has established itself primarily as a provider of design consulting services for audio applications. Through its consulting work, Oxford Digital has created a small configurable DSP core called TinyCore and an associated graphical programming environment. With these assets in hand, Oxford Digital now aims to make its mark licensing silicon intellectual property to chip designers, particularly those in need of customized solutions for streaming audio applications.
TinyCore is not intended for standards-based audio compression tasks, but rather for specialized processing, such as equalizing an audio signal to improve the sound quality rendered by small, inexpensive speakers, like those found in tablet PCs.
Oxford Digital supplies TinyCore as a customizable, register-transfer-level design that design teams can synthesize for implementation in an FPGA or ASIC. The company doesn’t use traditional processor-design terms to describe the range of configuration options. Instead, it describes the range of available core configurations in terms that an audio engineer might use to think about an application.
For example, according to Oxford Digital, the fixed-point TinyCore can support 1 to 32 audio channels with data word widths from 16 to 48 bits. The core can be configured to process 128 to 8,192 instructions per audio sample period. The core can include up to three single- or dual-ported RAM blocks for data storage, each capable of storing 32 to 4,096 words. The core includes a separate block of RAM for program storage. Design teams specify the core configuration through Verilog directives.
Characteristics such as die size, power consumption, and clock speed vary with the core configuration and target process technology. According to Oxford, a typical TinyCore built in a 180 nm mixed-signal process can run at 45 MHz and some implementations have reached 90 MHz. These are modest clock speeds compared to the GHz speeds now being seen for the highest performance cores, but such modest speeds are often adequate for audio processing, where, for example, a 48 MHz processor clock speed might enable 500 instructions per audio sample when operating on a 48 KHz stereo audio stream.
A 24-bit, 180 nm TinyCore implementation executing 1,024 instructions per sample on a 48 KHz audio stream would consume less than 9 mW at a 49 MHz clock rate, according to Oxford Digital. Such a core with three 512-word, dual-ported data RAM blocks and stereo I/O would measure between 0.5 and 1.0 mm2 , including the memories.
All TinyCore instructions execute in a single clock cycle. Regardless of core configuration, the core can execute a biquad IIR filter in five instructions, including saturating arithmetic.
The software development process for TinyCore is also unique. The company offers a graphical, audio-centric programming toolset called TinyTools. As shown in Figure 1, the design team utilizes a schematic-capture-like process to create an application based on building-block functions and DSP kernels provided by Oxford Digital. The toolset generates the assembly code that executes on TinyCore. The company also offers a tool called Simulink-2-Tiny that design teams can utilize to implement algorithms created in The MathWorks’ Simulink tool.
Figure 1: The Oxford Digital TinyTools toolset allows a user to design an algorithm graphically based on supplied function and kernel blocks, and then automatically generates assembly language that implements the algorithm.
Oxford claims that its tools create more efficient code than software developers can produce by hand-coding assembly language. Such efficiency has long been the goal of graphical tool developers—and of conventional high-level language compiler developers—but has rarely if ever been consistently achieved. Has Oxford Digital finally done it? We’ll have to wait to see. Another benefit of graphical programming is that the source code—essentially the graphical description of the program—can be retargeted to any configuration of the core, according to Oxford Digital.
Oxford Digital also offers a couple of application-oriented, audio-centric tools that teams can use to develop TinyCore applications or to target other cores. FixFx is a suite of audio DSP effects that can enhance the quality of audio produced by consumer products. MajEq is an automatic tuning application that design teams can use to equalize the spectral response of consumer audio products.
To illustrate the capabilities of the complete product offering, the company uses a scenario of improving sound quality via removing the resonances produced by small, inexpensive speakers. In such a scenario, a designer could utilize an Oxford evaluation board and the MajEq tool to capture the frequency response of a speaker. MajEq then allows the user to produce a corrective equalization curve and test the results via the evaluation board.
The team can experiment with the number of biquad filters used in the equalization while using TinyTools to implement the equalizer on the TinyCore, trading off the level of audio quality versus the size and clock speed of the TinyCore implementation required to implement the equalizer. The equalizer code is ultimately assembled using the TinyTools and executed on the core. Coefficients for the filters come from the MajEq tool.
In the crowded market for DSP silicon intellectual property, Oxford Digital is taking a unique approach. Typical modern SoCs incorporate multiple processor cores, and in many cases it’s tempting for designers to perform all of their audio processing on cores that are already included for other purposes, rather than incorporating a separate core for audio post-processing tasks. On the other hand, Oxford’s unique, audio-centric graphical programming environment may be attractive to designers who understand the problem they’re trying to solve, but lack the expertise or time to delve into the details of processor instruction sets, pipelines, and code optimization. And in chips that require only a modest amount of audio processing, doing that processing on a specialized core may be more energy efficient than doing it on a larger, more complex core, particularly if the larger core can be powered-down for significant periods of time while the smaller core cranks out the audio stream.
While the silicon IP business is a challenging one, Oxford is hoping that it’s found a profitable niche where it’s architecture, tools, and application expertise is uniquely valuable.