# A Complexity Theory for VLSI

The established methodologies for studying computational complexity can be applied to the new problems posed by very large-scale integrated (VLSI) circuits. This thesis develops a ''VLSI model of computation'' and derives upper and lower bounds on the silicon area and time required to solve the problems of sorting and discrete Fourier transformation. In particular, the area *A* and time *T* taken by any VLSI chip using any algorithm to perform an *N*-point Fourier transform must satisfy *AT*^{2} ≥ *c N*^{2 }*log*^{2 }*N*, for some fixed *c *> 0. A more general result for both sorting and Fourier transformation is that *AT*^{2x} = Ω(*N*^{1 + x }*log*^{2x }N) for any *x* in the range 0 < *x* < 1. Also, the energy dissipated by a VLSI chip during the solution of either of these problems is at least Ω(*N*^{3/2 }log *N*). The tightness of these bounds is demonstrated by the existence of nearly optimal circuits for both sorting and Fourier transformation. The circuits based on the shuffle-exchange interconnection pattern are fast but large: *T* = *O*(*log*^{2 }*N*) for Fourier transformation, *T* = *O*(*log*^{3 }*N*) for sorting; both have area *A* of at most *O*(*N*^{2} / *log*^{1/2 }*N*). The circuits based on the mesh interconnection pattern are slow but small: *T* = *O*(*N*^{1/2 }*loglog* *N*), *A* = *O*(*N log*^{2} *N*).