Data-driven process decomposition for circuit synthesis

Catherine G. Wong, Alain J. Martin · 2002

This paper presents a new method for decomposing a high-level program description of a circuit into a collection of small modules in the same program notation. The modules are simple enough to be immediately implemented as transistor networks. The method consists of two main steps: the description is first put into Dynamic Single Assignment form in which each variable is assigned at most once in each execution; secondly, the DSA program is projected on different sets of variables and channels to produce each module. The decomposed system is semantically equivalent to the original one under the assumption of slack elasticity: the communicating channels between the modules can have an arbitrary slack (buffer length). In some cases, the decomposition produces modules that are too small and have to be grouped together. Unlike all other methods for circuit synthesis from high-level programs, this method is not syntax-directed. Rather it is based on data dependency among the different variables and channels of the system. The method is general: it is not restricted to asynchronous implementation.

Read the paper · More papers on PaperTik