Synthesis of a unidirectional systolic array for matrix-vector multiplication

In this paper we present a procedure, based on data dependencies and space-time transformations of index space, to design a unidirectional linear systolic array (ULSA) for computing a matrix-vector product. The obtained array is optimal with respect to the number of processing elements (PEs) for a given problem size. The execution time of the array is the minimal possible for that number of PEs. To achieve this, we first derive an appropriate systolic algorithm for ULSA synthesis. In order to design a ULSA with the optimal number of PEs we then perform an accommodation of the index space to the projection direction vector. The performance of the synthesized array is discussed and compared with the bidirectional linear SA. Finally, we demonstrate how this array can be used to compute the correlation of two given sequences.