DIF

Dataflow Interchange Format

      Modeling of DSP applications based on coarse-grain dataflow graphs is widespread in the DSP design community, and a large and growing set of DSP design tools support such dataflow semantics. Since a variety of dataflow modeling styles and accompanying semantic constructs have been developed for DSP design tools, a critical problem in the process of technology transfer to, from, and across such tools is a common, vendor-independent language, and associated suite of intermediate representations and algorithms for DSP-oriented dataflow modeling.
      As motivated above, the dataflow interchange format (DIF) and the associated software package, the DIF package, have been developed. The dataflow interchange format is a language for specifying mixed-grain dataflow models for digital signal processing (DSP) systems and other streaming-related application domains. It provides designers a unique, integrated set of semantic features that are relevant to dataflow modeling and dataflow-based DSP application programming. DIF is not centered around any particular form of dataflow, and is designed instead to express different kinds of dataflow semantics. Specifically, it is designed to describe graph topologies and hierarchies as well as to specify dataflow-related and actor-specific information. The dataflow semantics of a DSP application have a common representation in DIF regardless of the particular tool used originally to enter the application specification. In addition to the language, the associated DIF package is a Java software package that provides dataflow-based representations, algorithm implementations, and various facilities for specifying and working with DSP applications across the evolving family of dataflow-based design tools.
      Our present version of DIF, version 0.2, includes built-in support for synchronous dataflow (SDF) semantics, which have emerged as an important common denominator across many DSP design tools and support powerful algorithms for analysis and software synthesis. DIF also includes support for the closely related cyclo-static dataflow (CSDF) model, and has specialized support for various restricted versions of SDF, in particular, homogeneous and single-rate dataflow, which are often used in multiprocessor scheduling and hardware synthesis. Additionally, support for Boolean dataflow (BDF) and parameterized dataflow, and for general constructs involving dynamic, variable-parameter dataflow quantities (production rates, consumption rates, and delays) is provided in DIF.
      The current version of the DIF package provides complete dataflow representations for all of the aforementioned dataflow graphs. In addition, the DIF package provides an integrated set of front-end tools that can parse DIF specifications and construct the corresponding DIF representations. In the SDF domain, various scheudling algorithms and optimization techniques have also been implemented.

Porting through DIF

      As mentioned before, dataflow semantics are widely used in many design and rapid prototyping tools for DSP systems. These tools generally support different sets of dataflow models, DSP libraries, and target platforms. Developing or migrating designs across multiple tools often becomes desirable because different tools may have complementary features (e.g., simulation vs. synthesis, hardware vs. software support, etc.), and different generations of designs may be best suited to different types of tools. Therefore, even though the heterogeneous semantics, libraries and platform support make it very challenging, portability is an important concern in the use of DSP design tools. Note that portability of DSP designs across tools, when it is comprehensively supported, is equivalent to portability across all underlying embedded processing platforms and DSP code libraries supported by them. Such porting typically requires tedious effort and is highly error-prone. This portability can be a powerful capability if it is attained through a high degree of automation, and a correspondingly low level of manual or otherwise ad-hoc fine-tuning. This motivates a new porting approach that we have developed through the dataflow information captured by the DIF language, and through additional infrastructure for converting dataflow-based application models to and from DIF, as well as for mapping tool-specific actors based on the information specified by the actor interchange format.
      In this work, we have developed a systematic porting approach that integrates DIF tightly with the specific exporting and importing mechanisms that interface DIF to specific DSP design tools. In conjunction with this porting mechanism, we have also introduced a novel language, called the actor interchange format (AIF), and an efficient actor mapping mechanism for transferring relevant information pertaining to DSP library components across different tools. Through a case study of a synthetic aperture radar application, we have demonstrated the high degree of automation offered by our DIF-based porting approach.


This research was supported by the U. S. Defense Advanced Research Projects Agency (DARPA) via the U.S. Army Aviation and Missile Command (Contract Number DAAH01-03-C-R236).