BDTI has released BDTI DSP Kernel Benchmarks™ results for the SideWorks signal processing engine from CoreWorks, a Portugal-based vendor of licensable silicon intellectual property. SideWorks is a licensable DSP accelerator targeting cost and power-sensitive applications such as multimedia and communications. The core is both configurable (i.e., hardware resources included in a specific implementation are selected prior to fabrication) and reconfigurable (i.e., the movement of data and some aspects of execution unit functionality are programmable at run time). SideWorks is not designed to run as a stand-alone processor; it is intended to be coupled to a general-purpose “host” processor that manages program flow and data input/output. For this reason, BDTI’s benchmark results are implemented on a SideWorks core coupled to CoreWorks’ “FireWorks” CPU core.
Based on the requirements of a particular application, an “instance” of the SideWorks core is configured at the hardware level to include an appropriate number of functional units (e.g., multipliers, ALUs, shifters, etc.) and an array of embedded memories. For example, the SideWorks core used to implement the BDTI DSP Kernel Benchmarks includes four 16-bit multiplier units, six 32-bit ALUs, five shift units, six data multiplexing units, two data de-multiplexing units, two bit-reverse units, a bit unpack unit, 6 Kbytes of data memory, and three 120-byte context register files.
Run-time reconfiguration is managed by the host processor, which controls the operation of the SideWorks instance by loading predefined “contexts” that define the specific behaviors of the functional units and interconnects between the functional units and memories to achieve the desired functionalities. In other words, the SideWorks core is not programmed in the traditional sense, but is reconfigured to perform specific functions; an instance of a SideWorks core is a customized, application-specific coprocessor, while the contexts perform the role of software in a more conventional processor, reconfiguring the instance to implement particular tasks.
A SideWorks instance can include multiple reconfiguration registers to hide the switching time between contexts. While one context is executing on SideWorks, the host processor can pre-load the next required context, minimizing idle time.
CoreWorks’ initial business model is to license fully preconfigured standard IP modules (including both the hardware instance and software contexts) based on the SideWorks architecture; a mixed-radix FFT module is currently available, and modules targeting digital audio are under development, including Dolby Digital 5.1, AAC, and MPEG1/2 Audio Layers 1, 2, and 3. Depending on the specific functionality needed, a single instance may be able to run multiple codecs. Modules also include software for the host (which is responsible for the main algorithmic flow) along with contexts for a SideWorks instance. Potential future target application areas include video compression and communications (e.g., OFDM).
CoreWorks also works with licensees to develop custom SideWorks-based modules. Today, all SideWorks modules (both the hardware instance and software contexts) must be developed by CoreWorks based on customer specifications. CoreWorks’ future plans include productizing the tools required to enable licensees to both configure and reconfigure SideWorks themselves.
Since CoreWorks currently provides both the customized hardware design and contexts that control its functionality, SideWorks modules are essentially fixed-function processing engines from a user’s perspective. This is in contrast with IP vendors ARC and Tensilica, which enable licensees to create their own customized processors and generate software to control their functionality.
Add new comment