Passive-Active Flowgraphs for Efficient Modeling and Design of Signal Processing Systems

  • PDF / 1,842,908 Bytes
  • 19 Pages / 595.224 x 790.955 pts Page_size
  • 50 Downloads / 215 Views

DOWNLOAD

REPORT


Passive-Active Flowgraphs for Efficient Modeling and Design of Signal Processing Systems Yaesop Lee1

· Yanzhou Liu1 · Karol Desnos2 · Lee Barford3 · Shuvra S. Bhattacharyya1,4

Received: 15 May 2019 / Revised: 26 June 2020 / Accepted: 16 July 2020 © Springer Science+Business Media, LLC, part of Springer Nature 2020

Abstract In dataflow representations for signal processing systems, applications are represented as directed graphs in which vertices represent computations and edges correspond to buffers that store data as it passes among computations. The edges in the dataflow graph are single-input, single-output components that manage data transmission in a first-in, first-out (FIFO) fashion. In this paper, we formulate the vertices and edges into concepts called “active blocks” and “passive blocks”, respectively in the graph representation. Computation in the dataflow graph is represented as “active blocks”, while the concept of dataflow buffers is represented as “passive blocks”. Like dataflow edges, passive blocks are used to store data during the intervals between its production and consumption by actors. However, passive blocks can have multiple inputs and multiple outputs, and can incorporate operations on and rearrangements of the stored data subject to certain constraints. We define a form of flowgraph representation that is based on replacing dataflow edges with the proposed concept of passive blocks. We present a structured design methodology for utilizing this new form of signal processing flowgraph, and demonstrate its application to improving memory management efficiency, and execution time performance. Keywords Buffer management · Dataflow · Signal processing systems · Model-based design

1 Introduction Dataflow modeling is widely used in design processes and tools for signal processing systems. In this form of modeling, applications are represented as directed graphs, called dataflow graphs, in which vertices (actors) represent discrete computations that are executed iteratively (fired) to process infinite streams of input data. Each edge e = (x, y) in a dataflow graph represents a logical communication channel between actors x and y. More specifically, each e = (x, y) represents a first-in, first-out (FIFO) buffer that stores data during the

 Yaesop Lee

[email protected] 1

University of Maryland, College Park, MD USA

2

Univ Rennes, INSA Rennes, CNRS, IETR – UMR 6164, Rennes, France

3

Keysight Laboratories, Keysight Technologies Inc., Reno, NV USA

4

INSA/IETR/INRIA, Rennes, France

period between its production by actor x and its consumption by actor y. A single unit of data that is communicated across a dataflow edge is referred to as a token. Actors can be fired when certain conditions, referred to as firing rules, are satisfied [17]. For a given firing of an actor x, the numbers of tokens produced by x onto its output FIFOs and consumed by x from its input FIFOs are referred to as dataflow rates. If the dataflow rate consumed or produced on every FIFO that is connected to a given actor is co