The Dataflow Interchange Format (DIF): A Framework for Specifying, Analyzing, and Integrating Dataflow Representations of Signal Processing Systems Shuvra.

Slides:



Advertisements
Similar presentations
Embedded System, A Brief Introduction
Advertisements

© 2003 Xilinx, Inc. All Rights Reserved Course Wrap Up DSP Design Flow.
A reconfigurable system featuring dynamically extensible embedded microprocessor, FPGA, and customizable I/O Borgatti, M. Lertora, F. Foret, B. Cali, L.
Presented by: Thabet Kacem Spring Outline Contributions Introduction Proposed Approach Related Work Reconception of ADLs XTEAM Tool Chain Discussion.
Extensible Processors. 2 ASIP Gain performance by:  Specialized hardware for the whole application (ASIC). −  Almost no flexibility. −High cost.  Use.
1 HW/SW Partitioning Embedded Systems Design. 2 Hardware/Software Codesign “Exploration of the system design space formed by combinations of hardware.
Behavioral Design Outline –Design Specification –Behavioral Design –Behavioral Specification –Hardware Description Languages –Behavioral Simulation –Behavioral.
Models of Computation for Embedded System Design Alvise Bonivento.
November 18, 2004 Embedded System Design Flow Arkadeb Ghosal Alessandro Pinto Daniele Gasperini Alberto Sangiovanni-Vincentelli
UCB November 8, 2001 Krishna V Palem Proceler Inc. Customization Using Variable Instruction Sets Krishna V Palem CTO Proceler Inc.
Trend towards Embedded Multiprocessors Popular Examples –Network processors (Intel, Motorola, etc.) –Graphics (NVIDIA) –Gaming (IBM, Sony, and Toshiba)
HW/SW Co-Synthesis of Dynamically Reconfigurable Embedded Systems HW/SW Partitioning and Scheduling Algorithms.
Foundation and XACTstepTM Software
1 A survey on Reconfigurable Computing for Signal Processing Applications Anne Pratoomtong Spring2002.
Development in hardware – Why? Option: array of custom processing nodes Step 1: analyze the application and extract the component tasks Step 2: design.
Chap. 1 Overview of Digital Design with Verilog. 2 Overview of Digital Design with Verilog HDL Evolution of computer aided digital circuit design Emergence.
COMPUTER SCIENCE &ENGINEERING Compiled code acceleration on FPGAs W. Najjar, B.Buyukkurt, Z.Guo, J. Villareal, J. Cortes, A. Mitra Computer Science & Engineering.
Sogang University Advanced Computing System Chap 1. Computer Architecture Hyuk-Jun Lee, PhD Dept. of Computer Science and Engineering Sogang University.
IEEE ICECS 2010 SysPy: Using Python for processor-centric SoC design Evangelos Logaras Elias S. Manolakos {evlog, Department of Informatics.
1 Towards Optimal Custom Instruction Processors Wayne Luk Kubilay Atasu, Rob Dimond and Oskar Mencer Department of Computing Imperial College London HOT.
Page 1 Reconfigurable Communications Processor Principal Investigator: Chris Papachristou Task Number: NAG Electrical Engineering & Computer Science.
Generative Programming. Automated Assembly Lines.
MILAN: Technical Overview October 2, 2002 Akos Ledeczi MILAN Workshop Institute for Software Integrated.
MAPLD 2005/254C. Papachristou 1 Reconfigurable and Evolvable Hardware Fabric Chris Papachristou, Frank Wolff Robert Ewing Electrical Engineering & Computer.
DIPARTIMENTO DI ELETTRONICA E INFORMAZIONE Novel, Emerging Computing System Technologies Smart Technologies for Effective Reconfiguration: The FASTER approach.
System-level power analysis and estimation September 20, 2006 Chong-Min Kyung.
Architecture View Models A model is a complete, simplified description of a system from a particular perspective or viewpoint. There is no single view.
Hy-C A Compiler Retargetable for Single-Chip Heterogeneous Multiprocessors Philip Sweany 8/27/2010.
Static Translation of Stream Program to a Parallel System S. M. Farhad The University of Sydney.
CoDeveloper Overview Updated February 19, Introducing CoDeveloper™  Targeting hardware/software programmable platforms  Target platforms feature.
Automated Software Generation and Hardware Coprocessor Synthesis for Data Adaptable Reconfigurable Systems Andrew Milakovich, Vijay Shankar Gopinath, Roman.
SUBJECT : DIGITAL ELECTRONICS CLASS : SEM 3(B) TOPIC : INTRODUCTION OF VHDL.
Marilyn Wolf1 With contributions from:
Programmable Logic Devices
Fang Fang James C. Hoe Markus Püschel Smarahara Misra
Advanced Computer Systems
ASIC Design Methodology
Support for Program Analysis as a First-Class Design Constraint in Legion Michael Bauer 02/22/17.
Chapter 1 Introduction.
Dynamo: A Runtime Codesign Environment
Mixed-Digital/Analog Simulation and Modeling Research
Ph.D. in Computer Science
System On Chip.
A Methodology for System-on-a-Programmable-Chip Resources Utilization
Chapter 1 Introduction.
课程名 编译原理 Compiling Techniques
FPGAs in AWS and First Use Cases, Kees Vissers
Overview of Embedded SoC Systems
John Ford2, Andrew Harris3, and Shuvra S. Bhattacharyya1
Anne Pratoomtong ECE734, Spring2002
Gabor Madl Ph.D. Candidate, UC Irvine Advisor: Nikil Dutt
Model-Driven Analysis Frameworks for Embedded Systems
The Extensible Tool-chain for Evaluation of Architectural Models
Introduction to cosynthesis Rabi Mahapatra CSCE617
Reconfigurable Computing
Digital Processing Platform
Digital Processing Platform
Matlab as a Development Environment for FPGA Design
Compiler Back End Panel
Compiler Back End Panel
The Extensible Tool-chain for Evaluation of Architectural Models
ECE-C662 Introduction to Behavioral Synthesis Knapp Text Ch
Modeling Languages and Abstract Models
Software Engineering with Reusable Components
ECE 699: Lecture 3 ZYNQ Design Flow.
Architectural-Level Synthesis
An Introduction to Software Architecture
HIGH LEVEL SYNTHESIS.
Automated Analysis and Code Generation for Domain-Specific Models
LabVIEW Based Embedded Design
Presentation transcript:

The Dataflow Interchange Format (DIF): A Framework for Specifying, Analyzing, and Integrating Dataflow Representations of Signal Processing Systems Shuvra S. Bhattacharyya, University of Maryland at College Park, with contributions from Chia-Jui Hsu, Ivan Corretjer, Ming-Yung Ko, and William Plishker. University of Wisconsin at Madison, November 29, 2007

Motivation Implementation of digital signal processing (DSP) applications on System-on-chips (SoCs) is a multi-faceted problem Typical design flow consists of several complex steps Implementation constraints and objectives are multidimensional and complex Dataflow-based analysis and optimizations provide an effective class of techniques in the design flow for deriving more efficient solutions

DSP Hardware and Software Implementation Wide range of established and emerging processing architectures Programmable DSPs, FPGAs, embedded multiprocessors, ASICs, etc. Multi-dimensional implementation constraints Performance (latency, throughput, ...) Energy and power consumption Buffering constraints and memory requirements Cost Accuracy DIF provides a framework for designing, optimizing, integrating, and evolving software/firmware code in designs involving heterogeneous components and constraints

Dataflow Models of Computation Used widely in design tools for DSP system design Application is modeled as a directed graph Nodes (actors, components) represent functions. Edges represent communication channels between functions. Nodes produce and consume data from edges. Edges buffer data in FIFO (first-in first-out) fashion. Data-driven execution model A node can execute whenever it has sufficient data on its input edges. The order in which nodes execute is not part of the specification. The order is typically determined by the compiler, the hardware, or both. Iterative execution Body of loop to be iterated a large or infinite number of times Static periodic schedules are often used: a schedule is constructed once and executed over and over again for as many samples that need to be processed. Bounded memory verification is crucial for such schedules because they operate on large, sometimes unbounded volumes of input data.

Example: Dataflow-based design for DSP Example from Agilent ADS tool

Dataflow Example: QAM Transmitter in National Instruments LabVIEW Rate Control QAM Encoder Transmit Filters Passband Signal Source: [Evans 2005]

Dataflow Features and Advantages We emphasize that we employ dataflow primarily as a programming model Exposes high-level structure that facilitates analysis, verification, and optimization. Captures multi-rate behavior. Encourages desirable software engineering practices: modularity and code reuse. Intuitive to DSP algorithm designers: signal flow graphs. A wide range of different programming languages can be derived based on the dataflow framework, depending on the specific form of dataflow (dataflow model) that is chosen as the semantic basis for the language.

DSP Modeling Design Space: Co-design of Dataflow Models and Transformations Verification/Synthesis Simplicity/Intuitive Appeal Expressive Power DDF BDF C PCSDF PSDF MDSDF WBDF CSDF SSDF SDF

DSP Modeling Co-design: Key Challenges Providing increasing expressive power while leveraging techniques and properties from more restricted dataflow models For example, from synchronous dataflow (SDF) Designing static, dynamic, and hybrid scheduling techniques Common bridge between abstract application models and concrete implementations Handling large scale and repetitive graph structures Proving common representations and analysis techniques Across related dataflow models For meta-modeling techniques

High Level Dataflow Transformations A well designed dataflow representation exposes opportunities for high level algorithm and architecture transformations. High level of abstraction  high implementation impact Dataflow representation is suitable both for behavior-level modeling, structural modeling, and mixed behavior-structure modeling Transformations can be applied to all three types of representations to focus subsequent steps of the design flow on more favorable solutions Complementary to advances in C compiler technology (intra-actor functionality) Object oriented methods (library management, application service management) hardware (HDL) synthesis (intra-actor functionality)

Representative Classes of Dataflow Transformations Clustering of actors into atomic scheduling units to incrementally constrain the design space Buffer minimization: minimize communication cost Multirate loop scheduling: optimize code/data trade-off Parallel scheduling and pipeline configuration Heterogeneous task mapping and co-synthesis Quasi-static scheduling: minimize run-time overhead Probabilistic design: adapt system resources and exploit slack Data partitioning: exploit parallel data memories Vectorization: improve context switching, pipelining Synchronization optimization: efficient self-timed implementation

Dataflow Interchange Format (DIF) Project Designing a standard, textual language for specifying dataflow semantics. Dataflow Interchange Format [5, 6] DIF support for configuration of complex graphs [1] Developing a software package for working with, developing, and integrating dataflow models and techniques. DIF package [5] Porting DSP applications across design tools. DIF-based porting methodology [4] Automated derivation of implementations from dataflow modeling specifications. DIF-to-C software synthesis framework [3] Integrating VSIPL support in DIF Intermediate actor library [2] DIF-to-VSIPL software synthesis [2]

The DIF Package DIF representation DIF front-end (language parser) Java classes for representing and manipulating dataflow graphs. DIF front-end (language parser) Translates between DIF specifications and DIF representations. Algorithm implementations Dataflow-based analysis, scheduling, and optimization. Infrastructure Porting Software synthesis

DIF-based Design Flow for Hardware Synthesis HDL-based module libraries, encapsulated and characterized as dataflow components. Application constraints and optimization objectives Dataflow graph analysis and transformations DIF based application model The DIF-based application model can be derived automatically from another dataflow environment, or written directly in DIF. Code generation HDL implementation (Verilog / VHDL) Conventional HDL-based synthesis flow

Trends in FPGA-based System Design Heterogeneous resources Hard vs. soft processor cores Fabric for implementing random logic Domain-specific accelerators (e.g., “DSP slices”) Different kinds of memory resources Potential to customize the interprocessor communication network Optimized IP (intellectual property) modules are highly specialized for specific platforms Performance/cost-trade-offs are highly parameter- and platform-specific

DIF-based design flow for FPGA implementation HDL-based and block-box-IP module libraries Constraints in terms of performance and FPGA resource utilization Characterization: performance and resource costs Platform-specific resource-sharing models Dataflow graph analysis and transformations DIF-based application model Code generation HDL implementation Conventional HDL-based synthesis flow

Next Steps Starting with the current trigger system, model components and subsystems as DIF actors Determine a suitable dataflow model for each module Revise the interface of the module implementation so it is consistent with this dataflow model The module can then be represented as a DIF actor in any DIF program (regardless of how the module is implemented internally) Model system-level interfaces and performance constraints in terms of DIF graph properties Continue our ongoing work on CAL-to-DIF translation Lays a foundation for integrating DIF-based analysis and transformation techniques with the CAL language and Xilinx back-end capabilities.