Patent ID: 7389453

Claim:
A method of producing test data for testing the operation of an electronic circuit comprising: determining independent portions and non-independent portions of at least one circuit testing algorithm, the independent portions being portions of the at least one circuit testing algorithm that are independent of results from the performance of other portions of the at least one circuit testing algorithm, and wherein the non-independent portions of the at least one circuit testing algorithm depend upon the results from performing at least one other portion of the at least one circuit testing algorithm and wherein the circuit testing algorithm is at least one of a test pattern generation algorithm or a fault simulation algorithm; performing at least one of the independent portions of the at least one circuit testing algorithm non-sequentially to generate results for said at least one of the independent portions; performing at least one of the non-independent portions of the at least one circuit testing algorithm sequentially using results from a previously performed portion to generate results for said at least one of the non-independent portions of the at least one circuit testing algorithm; processing the results for said at least one of the independent portions with the results for the non-independent portions to determine at least one of (i) a test pattern for use in testing the electronic circuit; and (ii) fault simulation results; and operating a controlling processor to allocate a plurality of the independent portions of the at least one circuit testing algorithm to at least one controlled processor for performance of the allocated portions by the at least one controlled processor to generate results for the allocated portions, and associating at least one queue having a queue length is associated with each controlled processor to which algorithm portions are allocated, the queue length being controlled by the controlling processor and corresponding to the number of algorithm portions that can be allocated to the associated controlled processor.