Stochastic computing is an alternative to binary computing that is inherently fault tolerant. A number is encoded probabilistically as the number of 1s in a stream of N bits. Stochastic representation of numbers is highly redundant, which translates to fault tolerance. In many applications where exactness of computations is less important, stochastic computing may be a desired alternative. Its drawbacks include longer latency and orders of magnitude increase in storage requirements. Nevertheless, in deep submicron technology where fault tolerance is highly desirable, the stochastic computing approach may provide certain advantages. Very little is understood about the performance of Digital Signal Processing (DSP) algorithms implemented using stochastic computing. This project will attempt to understand how various DSP functions can be implemented using stochastic computing. Efforts will be directed towards understanding characteristics such as fault-tolerance, finite precision effects, conversion of two's complement to stochastic numbers, etc. Applications in video coding will be explored to demonstrate the utility of the stochastic computing approach for digital signal processing applications.
The approach, if proven successful, may be useful in many applications that require fault tolerance, but can tolerate some error. The impact of the research could then be translated to new products and new markets in the semiconductor industry. The proposed research will train graduate students through related course projects. Graduate research students will transfer technology to industries. Women and minorities will be recruited to participate in this project. Results of the project will be disseminated through publications in journals and conferences, and by talks by the PI in semiconductor industries.