Title :
Buffer assignment algorithms on data driven ASICs
Author :
Chatterjee, Mitrajit ; Banerjee, Savita ; Pradhan, Dhiraj K.
Author_Institution :
Intergrated Device Technol. Ltd., Santa Clara, CA, USA
fDate :
1/1/2000 12:00:00 AM
Abstract :
Data driven architectures have significant potential in the design of high performance ASICs. By exploiting the inherent parallelism in the application, these architectures can maximize pipelining. The key consideration involved with the design of a data driven ASIC is ensuring that throughput is maximized while a relatively low area is maintained. Optimal throughput can be realized by ensuring that all operands arrive simultaneously at their corresponding operator node. If this condition is achieved, the underlying data flow graph is said to be balanced. If the initial data flow graph is unbalanced, buffers must be inserted to prevent the clogging of the pipeline along the shorter paths. A novel algorithm for the assignment of buffers in a data flow graph is proposed. The method can also be applied to achieve wave-pipelining in digital systems under certain restrictions. The algorithm uses a new application of the retiming technique; the number of buffers here is shown to be equal to the minimum number of buffers achieved by integer programming techniques. We also discuss an extension of this algorithm which can further reduce the number of buffers by altering the DFG without affecting functionality or performance. The time complexities of the proposed algorithms are O(V×E) and O(V2×logV), respectively, a considerable improvement over the existing strategies. Also proposed is a novel buffer distribution algorithm that exploits a unique feature of data driven operation. This procedure maximizes throughput by inserting substantially fewer buffers than other techniques. Experimental results show that the proposed algorithms outperform the existing methods
Keywords :
application specific integrated circuits; computational complexity; data flow computing; integer programming; parallel architectures; buffer assignment algorithms; clogging; data driven ASICs; data driven operation; data flow graph; high performance ASICs; integer programming; optimal throughput; pipelining; retiming; throughput; time complexities; wave-pipelining; Algorithm design and analysis; Application specific integrated circuits; Clocks; Computer architecture; Digital systems; Flow graphs; Linear programming; Parallel processing; Pipeline processing; Throughput;
Journal_Title :
Computers, IEEE Transactions on