WaveCore Technology feature summary

The WaveCore technology consists of a programming methodology, a scalable processor softcore and DSP application development tools (compiler, simulator, development board). The technology has the following features:

  • Scalable, programmable softcore processor technology
  • MIMD processor concept
  • Scales naturally with Moore's law
  • Optimized to FPGA, but ASIC target is also possible
  • Processor, ISA, compiler and programming methodology developed in one holistic concept
  • Floating-point technology
  • Processor architecture abstraction for the programmer
  • Data-flow model, compliant to Kahn Process Network methodology
  • Natural fit in heterogeneous system architecture
  • Application domain: streaming DSP
  • WaveCore powered Digilent Atlys development platform (WaveKick) available
  • Very efficient: WaveKick offers 13x real-time performance, compared to Beagle board
  • WaveCore programming language is an efficient functional language target (like functional language Faust)
  • Seamless scalability: easy to map the technology on high-end FPGA platforms like Virtex7 (15x WaveKick processing capacity)
  • Proven technology: many example algorithms exercised

Technology abstract

The WaveCore technology consists of a programmable DSP core, associated DSP software development tools, and an FPGA development platform. The technology is highly optimized to streaming DSP application domain.

The WaveCore technology is developed in a holistic concept, where the programming methodology/language, the processor core and the associated compiler/simulator are co-developed. This has resulted in a very efficient concept in many ways (e.g. FPGA resource efficiency, power, memory footprint, etc.)

The programming methodology is based on the description of Process Networks (PN). Processes within a WaveCore PN are described as a hierarchical network of processing elements. A processing element is a primitive mathematical function. Next to this, the WaveCore language has constructs to describe process edges and PN connectivity. Edge fifo's and associated data are allocated in (system) memory. Hence it is easy to embed a WaveCore solution in a heterogeneous context.

The WaveCore programming methodology is functional, and has many similarities with functional languages/methodologies like Simulink or the functional audio programming language Faust. Hence it is possible to develop functional cross-compilers from a functional language to WaveCore language.

The technology is available on a Digilent Atlys FPGA platform. This platform allows to develop media centric applications with HDMI and analog audio I/O. A large number of WaveCore applications have been prototyped on this platform.

A benchmark study has been conducted in cooperation with Stanford University (CCRMA). Within this study a complex and scalable mathematical/acoustical model which is described in Faust has been used as reference algorithm. This representative algorithm has been compiled to TI-OMAP on Beagle board, and compiled to WaveCore with a Faust to WaveCore cross-compiler. This study has shown that WaveCore on the Atlys board (Xilinx Spartan LX45) offers 13x more real-time performance, compared to the same algorithm on Beagle board. The WaveCore instance on the Spartan LX45 FPGA can execute up to 1.1 Gflops. Furthermore, this WaveCore instance can execute a 10000 taps FIR filter at 48kHz sampling frequency.

© Mathlon Technology, KvK 53524276