Patent ID: 8108810

Claim:
A method for forming a specification for a synchronous digital system according to a specification of an asynchronous nondeterministic digital system, the method comprising: accepting the specification of the asynchronous system, including accepting (a) a specification of a plurality of data elements, and (b) a specification of a plurality of rules for updating values of the data elements of the asynchronous system, each rule including a condition required to be satisfied by the values of the data elements, and an operation for calculating updated values of one or more of the data elements if the condition is satisfied, wherein any sequence of values of data elements of the asynchronous system corresponds to a sequence of atomic applications of the rules; and forming, using a computer, the specification for the synchronous digital system, including forming specifications of (a) a plurality of circuit components including storage elements each implementing a corresponding one of the data elements, (b) circuitry for determining if required conditions of the rules are satisfied and for selecting rules according to which to update the storage elements with updated values in each cycle during operation of the synchronous system, and circuitry for implementing the operations for calculating the updated values, and (c) circuitry for passing values stored in the circuit components implementing the data elements to the circuitry for determining if the conditions are satisfied, and circuitry for passing values from circuitry implementing the operations to the circuit components implementing the data elements; wherein any sequential updated values of the storage elements of the synchronous system correspond to some sequential atomic application of rules of the asynchronous system.