BANGALORE, India A new DSP design tool developed by Dacs Software here targets the porting of DSP application code to new architectures.
The DSP Virtual Machine combines language and translator functions and can run algorithms across a range of DSP architectures, including Texas Instruments' C54X and C62XX, Motorola's 563XX and Analog Devices' ADSP 21XX, without the fresh porting of code.
Dacs said the tool is being positioned as a faster alternative to the Java virtual machine in DSP-based embedded systems. It was developed in collaboration with the Indian Institute of Technology in Chennai. The DSP tool will be demonstrated by Dacs at ICSPAT 2000 in Dallas, Oct. 16-19.
Dacs, an eight-year-old company employing about 30 people, intends to use the DSP Virtual Machine to raise the company's profile and attract venture capital. The company also focuses on embedded solutions, speech recognition and speech processing.
Sameer Sawarkar, formerly with Motorola in India, is Dacs' managing director.
"DSPs and hardware architectures are now emerging more rapidly than [ever] . . . [and that] means a huge amount of time is taken to port an application to a new platform if a low-level language is chosen for developing the applications," Sawarkar said.
Choosing a higher-level language such as C or Matlab means that the application efficiency suffers, he added. "Most application developers choose to develop applications in a mix of high- and low-level languages helped by profiling and hot-spot identification. This is the trade-off they make, and we recognized the limitations of such a way of developing applications," Sawarkar said.
Even now, DSP application development suffers from having to spend more time and money to port applications to newer platforms, Sawarkar said. Dacs' virtual machine and an accompanying DSP application development kit are designed to speed the pace of development.
Com piler technology is not mature enough for optimum DSP code generation, and technologies such as Java while suitable for a networked environment are considered by Dacs to be unsuitable for DSP code generation because of inherent inefficiencies in the execution engine.
Dacs engineers said most DSP application developers use assembly programming because it allows them to optimize applications an expensive undertaking, given the effort required. Dacs' virtual machine was designed to make DSP applications portable across different platforms while simultaneously maintaining optimal code.
The company has also unveiled a proprietary virtual DSP architecture and a corresponding virtual instruction-set definition. The latter is designed to map to a variety of DSPs, thereby highlighting advantages specific to the architectural feature-set.
"The DSP Virtual Machine concept is novel," said DSP expert Will Strauss, president of Forward Concepts (Tempe, Ariz.). "It sounds somewhat like Tra nsmeta's 'code-morphing' technology in the X86 world. Some would simply call it code emulation software, which implies 'slow,' and that's something the DSP crowd does not like." added Strauss. "Hopefully, Dacs has developed an efficient method of making portable DSP code," he said.
Dacs believes it has solved problems associated with porting code to new architectures.
"DSP application teams need to only pick an already available application from the [virtual machine's] applications bank and specify the fresh architecture," Sawarkar said.
The efficiency of the code generated using Dacs' virtual machine technology matches manual development efficiency using the low-level language for a given architecture. Dacs claims an order-of-magnitude boost in efficiency for its method over the traditional method of using higher-level languages for application development.
Beta testing of the DSP Virtual Machine has begun and Sawarkar said the results would be available soon on Dacs' Web site.