1 Algorithm Transformation and Data Broadcast Elimination for Systolic Implementation Alaa E. Aljanaby Nadia Y. Yousif Sana J. Alyaseri Lecturer, Computer Dept., Associate Prof., Computer Dept., Lecturer, Al-husin College, Zarka Private Univ., Jordan Philadelphia Univ., Jordan Al-Balqaa Applied Univ., Jordan Abstract The problem of synthesizing systolic arrays form a high level specification of an iterative algorithm is concerned. A method to develop the iterative algorithm to the single assignment form of recurrence equations and a method for data broadcast elimination are presented. The resultant recurrences are with constant dependences and can be mapped directly onto systolic array using the dependence method producing different designs. Keywords: Systolic Arrays, Data Broadcasting, Recurrence Equations. 1. Introduction Systolic Arrays (SAs) are first proposed by H.T. Kung [1] as an excellent matching to the criteria concerning the design of special-purpose VLSI systems. The systolic system consists of a set of simple interconnected cells of few types that move data in a regular fashion. An array structure for such a system provides simple, regular and local communication paths between cells. Information in SA flows between cells in a pipelined fashion, and communication with outside world occurs only at the boundary cells. The basic principle of SA approach –in comparison with the traditional architecture of a computer system – is that the single processing unit is replaced by an array of Processing Elements (PEs) each capable of doing simple operations. A much higher computation throughput can be achieved without having to increase memory bandwidth, see Fig. 1. Thus focus of SA researchers is to make sure that once a data item is brought out from memory, it will be effectively used many times while traveling along the SA. SAs are not always linear; they can be two- dimensional, rectangular, triangular or hexagonal to make use of higher degree of parallelism. SAs can be effectively