Eylon Caspi

EECS Department, University of California, Berkeley

Technical Report No. UCB/EECS-2005-27

December 16, 2005

http://www2.eecs.berkeley.edu/Pubs/TechRpts/2005/EECS-2005-27.pdf

RTL design methodologies are struggling to meet the challenges of modern, large system design. Their reliance on manually timed design with fully exposed device resources is laborious, restricts reuse, and is increasingly ineffective in an era of Moore's Law expansion and growing interconnect delay. We propose a new hardware design methodology rooted in an abstraction of communication timing, which provides flexibly timed module interfaces and automatic generation of pipelined communication. Our core approach is to replace inter-module wiring with streams, which are FIFO buffered channels. We develop a process network model for streaming systems (TDFPN) and a hardware description language with built in streams (TDF). We describe a complete synthesis methodology for mapping streaming applications to a commercial FPGA, with automatic generation of efficient hardware streams and module-side flow control. We use this methodology to compile seven multimedia applications to a Xilinx Virtex-II Pro FPGA, finding that stream support can be relatively inexpensive. We further propose a comprehensive, system-level optimization flow that uses information about streaming behavior to guide automatic communication buffering, pipelining, and placement. We discuss specialized stream support on reconfigurable, programmable platforms, with intent to provide better results and compile times than streaming on generic FPGAs. We also show how streaming can support an efficient abstraction of area, allowing an entire system to be reused with automatic performance improvement on larger, next generation devices.

Advisors: John Wawrzynek


BibTeX citation:

@phdthesis{Caspi:EECS-2005-27,
    Author= {Caspi, Eylon},
    Title= {Design Automation for Streaming Systems},
    School= {EECS Department, University of California, Berkeley},
    Year= {2005},
    Month= {Dec},
    Url= {http://www2.eecs.berkeley.edu/Pubs/TechRpts/2005/EECS-2005-27.html},
    Number= {UCB/EECS-2005-27},
    Abstract= {RTL design methodologies are struggling to meet the challenges of modern, large system design.  Their reliance on manually timed design with fully exposed device resources is laborious, restricts reuse, and is increasingly ineffective in an era of Moore's Law expansion and growing interconnect delay.  We propose a new hardware design methodology rooted in an abstraction of communication timing, which provides flexibly timed module interfaces and automatic generation of pipelined communication.  Our core approach is to replace inter-module wiring with streams, which are FIFO buffered channels.  We develop a process network model for streaming systems (TDFPN) and a hardware description language with built in streams (TDF).  We describe a complete synthesis methodology for mapping streaming applications to a commercial FPGA, with automatic generation of efficient hardware streams and module-side flow control.  We use this methodology to compile seven multimedia applications to a Xilinx Virtex-II Pro FPGA, finding that stream support can be relatively inexpensive.  We further propose a comprehensive, system-level optimization flow that uses information about streaming behavior to guide automatic communication buffering, pipelining, and placement.  We discuss specialized stream support on reconfigurable, programmable platforms, with intent to provide better results and compile times than streaming on generic FPGAs.  We also show how streaming can support an efficient abstraction of area, allowing an entire system to be reused with automatic performance improvement on larger, next generation devices.},
}

EndNote citation:

%0 Thesis
%A Caspi, Eylon 
%T Design Automation for Streaming Systems
%I EECS Department, University of California, Berkeley
%D 2005
%8 December 16
%@ UCB/EECS-2005-27
%U http://www2.eecs.berkeley.edu/Pubs/TechRpts/2005/EECS-2005-27.html
%F Caspi:EECS-2005-27