Machine learning techniques for circuit design verification
A method includes obtaining a set of simulated signal values for an integrated circuit, providing the obtained set of simulated signal values to a machine learning model, and obtaining, from the machine learning model, one or more predicted output signal values of the integrated circuit. The method also includes comparing the predicted output signal values to actual output signal values of the integrated circuit to validate the integrated circuit.
1 . A method, comprising:
analyzing a plurality of test cases to obtain coverage metrics indicative of an extent to which respective test cases cover a plurality of states of a finite-state-machine (FSM) associated with an integrated circuit;
obtaining a set of simulated signal values for the integrated circuit based on a subset of the plurality of test cases, the subset of the plurality of test cases including fewer test cases than the plurality of test cases, the subset selected based the coverage metrics;
providing the obtained set of simulated signal values to a machine learning model;
obtaining, from the machine learning model, one or more predicted output signal values of the integrated circuit; and
comparing the predicted output signal values to actual output signal values of the integrated circuit to validate the integrated circuit.
2 . The method of claim 1 , wherein the set of simulated signal values is associated with internal signals identified based on a linear regression model and a non-linear regression model.
3 . The method of claim 1 , wherein the machine learning model predicts an FSM state based on a provided set of analog signal values.
4 . The method of claim 3 , further comprising obtaining, from the machine learning model, a predicted finite state machine state for the integrated circuit.
5 . The method of claim 1 , wherein the machine learning model includes one or more sub-models.
6 . The method of claim 1 , further including ranking the plurality of test cases in descending order of the coverage metrics.
7 . The method of claim 6 , wherein top test cases are selected based on the ranking.
8 . A non-transitory program storage device comprising instructions stored thereon to cause one or more processors to:
analyze a plurality of test cases to obtain coverage metrics indicative of an extent to which respective test cases cover a plurality of states of a finite-state-machine (FSM) associated with an integrated circuit;
obtain a set of simulated signal values for the integrated circuit based on a subset of the plurality of test cases, the subset of the plurality of test cases including fewer test cases than the plurality of test cases, the subset selected based the coverage metrics;
provide the obtained set of simulated signal values to a machine learning model;
obtain, from the machine learning model, one or more predicted output signal values of the integrated circuit; and
compare the predicted output signal values to actual output signal values of the integrated circuit to validate the integrated circuit.
9 . The non-transitory program storage device of claim 8 , wherein the set of simulated signal values is associated with internal signals identified based on a linear regression model and a non-linear regression model.
10 . The non-transitory program storage device of claim 8 , wherein the machine learning model predicts an FSM state based on a provided set of analog signal values.
11 . The non-transitory program storage device of claim 10 , wherein the instructions further cause the processors to obtain, from the machine learning model, a predicted finite state machine state for the integrated circuit.
12 . The non-transitory program storage device of claim 8 , wherein the machine learning model includes one or more sub-models.
13 . The non-transitory program storage device of claim 8 , wherein the instructions further cause the processors to rank the plurality of test cases in descending order of the coverage metrics.
14 . The non-transitory program storage device of claim 13 , wherein top test cases are selected based on the ranking.
15 . A system for debugging an integrated circuit, comprising:
a memory; and
one or more processors operatively coupled to the memory, wherein the one or more processors are configured to execute instructions causing the one or more processors to:
analyze a plurality of test cases to obtain coverage metrics indicative of an extent to which respective test cases cover a plurality of states of a finite-state-machine (FSM) associated with the integrated circuit;
obtain a set of simulated signal values for the integrated circuit based on a subset of the plurality of test cases, the subset of the plurality of test cases including fewer test cases than the plurality of test cases, the subset selected based the coverage metrics;
provide the obtained set of simulated signal values to a machine learning model;
obtain, from the machine learning model, one or more predicted output signal values of the integrated circuit; and
compare the predicted output signal values to actual output signal values of the integrated circuit to validate the integrated circuit.
16 . The system of claim 15 , wherein the set of simulated signal values is associated with internal signals identified based on a linear regression model and a non-linear regression model.
17 . The system of claim 15 , wherein the machine learning model predicts an FSM state based on a provided set of analog signal values.
18 . The system of claim 17 , wherein the instructions further cause the processors to obtain, from the machine learning model, a predicted finite state machine state for the integrated circuit.
19 . The system of claim 15 , wherein the instructions further cause the processors to rank the plurality of test cases in descending order of the coverage metrics.
20 . The system of claim 19 , wherein top test cases are selected based on the ranking.