Bottleneck analysis and alleviation in pipelined systems: A fast hierarchical approach

G Gill, M Singh - 2009 15th IEEE Symposium on Asynchronous …, 2009 - ieeexplore.ieee.org
G Gill, M Singh
2009 15th IEEE Symposium on Asynchronous Circuits and Systems, 2009ieeexplore.ieee.org
Fast bottleneck detection and elimination is an important component of any design flow that
aims at producing high-throughput systems. Bottlenecks can be difficult to find and correct,
because their causes are diverse and often subtle. In this paper, we build on our method for
performance analysis to develop a method for bottleneck identification and alleviation for
pipelined asynchronous systems. More specifically, this paper makes two contributions.
First, we introduce a method that, given a throughput goal, identifies which parts of the …
Fast bottleneck detection and elimination is an important component of any design flow that aims at producing high-throughput systems. Bottlenecks can be difficult to find and correct, because their causes are diverse and often subtle. In this paper, we build on our method for performance analysis to develop a method for bottleneck identification and alleviation for pipelined asynchronous systems. More specifically, this paper makes two contributions. First, we introduce a method that, given a throughput goal, identifies which parts of the pipelined system constrain its throughput. Each such bottleneck is categorized based on the type of structural transformation that could potentially alleviate it: increase degree of pipelining (stage splitting, stage duplication, and loop unrolling); decrease forward latency (stage merging and parallelization); and perform slack matching. The second contribution is a method that guides the user to systematically apply these modifications to alleviate the bottlenecks and reach a target throughput goal. We have validated the bottleneck analysis method on several examples and were able to attain the desired throughput goal in each case through iterative application of our bottleneck alleviation method. Runtimes were negligible in all cases (less than 50 ms).
ieeexplore.ieee.org