TY - GEN
T1 - Automatic generation of assertions from system level design using data mining
AU - Liu, Lingyi
AU - Sheridan, David
AU - Athavale, Viraj
AU - Vasudevan, Shobha
PY - 2011
Y1 - 2011
N2 - System level modeling is widely employed at early stages of system development for simplifying design verification and architectural exploration. Assertion based verification has become a well established part of RTL verification methodology. In the traditional assertion based verification flow, assertions are manually written. In this paper, we generate assertions from system level designs using GoldMine, an automatic assertion generation engine that uses data mining and static analysis. Candidate assertions are mined in the form of frequent patterns in the simulation traces of the system level designs. We consider both cycle accurate and transaction level designs and develop a methodology for the mining of each. For cycle accurate designs, we use both a decision tree based supervised learning algorithms as well as a coverage guided association mining algorithm to search for correlations in the simulation trace. For transaction level designs, sequential pattern mining is applied to generate frequent sequences of function calls and events from traces. We also use a symbolic execution engine to generalize the parameters and return values of the functions to help the data miner find relevant behavior. We show that our technique generates meaningful assertions on both a cycle accurate RISC CPU design and a transaction level AMBA-based DMA controller.
AB - System level modeling is widely employed at early stages of system development for simplifying design verification and architectural exploration. Assertion based verification has become a well established part of RTL verification methodology. In the traditional assertion based verification flow, assertions are manually written. In this paper, we generate assertions from system level designs using GoldMine, an automatic assertion generation engine that uses data mining and static analysis. Candidate assertions are mined in the form of frequent patterns in the simulation traces of the system level designs. We consider both cycle accurate and transaction level designs and develop a methodology for the mining of each. For cycle accurate designs, we use both a decision tree based supervised learning algorithms as well as a coverage guided association mining algorithm to search for correlations in the simulation trace. For transaction level designs, sequential pattern mining is applied to generate frequent sequences of function calls and events from traces. We also use a symbolic execution engine to generalize the parameters and return values of the functions to help the data miner find relevant behavior. We show that our technique generates meaningful assertions on both a cycle accurate RISC CPU design and a transaction level AMBA-based DMA controller.
UR - http://www.scopus.com/inward/record.url?scp=80052121452&partnerID=8YFLogxK
UR - http://www.scopus.com/inward/citedby.url?scp=80052121452&partnerID=8YFLogxK
U2 - 10.1109/MEMCOD.2011.5970526
DO - 10.1109/MEMCOD.2011.5970526
M3 - Conference contribution
AN - SCOPUS:80052121452
SN - 9781457701160
T3 - 9th ACM/IEEE International Conference on Formal Methods and Models for Codesign, MEMOCODE 2011
SP - 191
EP - 200
BT - 9th ACM/IEEE International Conference on Formal Methods and Models for Codesign, MEMOCODE 2011
T2 - 9th ACM/IEEE International Conference on Formal Methods and Models for Codesign, MEMOCODE 2011
Y2 - 11 July 2011 through 13 July 2011
ER -