Patent ID: 9594654
Date: 2017-03-14
CPC Classifications: G06F

Claim:
1. A computer-implemented method for detecting the cause of a system hang, comprising: setting a dependency between a first driver and a second driver in a verification environment, the first driver and second driver being associated with a respective first hardware component and a second hardware component, the first driver and the second driver generating instructions as if the instructions were generated by the first hardware component and the second hardware component, the instructions being executed by a verification environment, the verification environment comprising additional hardware components in addition to the first hardware component and the second hardware component, the first driver and second driver replacing the first hardware component and the second hardware component, respectively, the first hardware component and the second hardware component not being included in the verification environment; assigning a first quiesce time to the first driver, the first quiesce time corresponding to a predetermined number of instruction cycles performed by the first driver, the first driver not generating new commands until the predetermined number of instruction cycles have been completed; assigning a second quiesce time to the second driver, the second quiesce time corresponding to a predetermined number of instruction cycles performed by the second driver, the second driver not generating new commands until the predetermined number of instruction cycles have been completed; preventing quiescing of the first driver until the second driver is quiesced; assigning each driver in a simulation test a mode selected from a group consisting of independent and dependent; associating each dependent driver with at least one independent driver; quiescing each independent driver at a predetermined quiesce time, the predetermined quiesce time corresponding to the first quiesce time when the first driver is an independent driver, the predetermined quiesce time corresponding to the second quiesce time when the second driver is an independent driver; preventing quiescing of each dependent driver until all of its associated independent drivers have quiesced; and, detecting whether a design under test fails due to a system hang when one or more of the first hardware component, the second hardware component, and any of the additional hardware components cannot complete execution of their associated processes.