Scaling Input Stimulus Generation through Hybrid Static and Dynamic Analysis of RTL

被引:10
作者
Liu, Lingyi [1 ]
Vasudevan, Shobha [1 ]
机构
[1] Univ Illinois, Urbana, IL 61801 USA
基金
美国国家科学基金会;
关键词
Design; Reliability; Verification; Static analysis; symbolic execution; design verification; coverage; SMT; DIRECTED TEST-GENERATION; HARDWARE; VERIFICATION; ABSTRACTION; VALIDATION;
D O I
10.1145/2676549
中图分类号
TP3 [计算技术、计算机技术];
学科分类号
0812 ;
摘要
We enhance STAR, an automatic technique for functional input vector generation for design validation. STAR statically analyzes the source code of the Register-Transfer Level (RTL) design. The STAR approach is a hybrid between RTL symbolic execution and concrete simulation that offsets the disadvantages of both. The symbolic execution, which follows the concrete simulation path, extracts constraints for that path. The guard in the path constraints is then mutated and passed to an SMT solver. A satisfiable assignment generates a valid input vector. However, STAR suffers the problem of path explosion during symbolic execution. In this article, we present an explored symbolic state caching method to attack path explosion. Explored symbolic states are states starting from which all subpaths have been explored. Each explored symbolic state is stored in the form of bitmap encoding of branches to ease comparison. When the explored symbolic state is reached again in the following symbolic execution, all subpaths can be pruned. In addition, we use two types of optimizations: (a) dynamic UD chain slicing; and (b) local conflict resolution to improve the running efficiency of STAR. We demonstrate that the results of the enhanced STAR are promising in showing high coverage on benchmark RTL designs, and the runtime of the test generation process is reduced from several hours to less than 20 minutes.
引用
收藏
页码:1 / 33
页数:33
相关论文
共 49 条
  • [1] [Anonymous], LNCS
  • [2] [Anonymous], 2006, P 13 ACM C COMPUTER
  • [3] Boonstoppel P, 2008, LECT NOTES COMPUT SC, V4963, P351, DOI 10.1007/978-3-540-78800-3_27
  • [4] BRYANT RE, 1986, IEEE T COMPUT, V35, P677, DOI 10.1109/TC.1986.1676819
  • [5] Burnim Jacob, 2008, 2008 23rd IEEE/ACM International Conference on Automated Software Engineering, P443, DOI 10.1109/ASE.2008.69
  • [6] Cadar C., 2008, Proceedings of the 8th USENIX conference on Operating systems design and implementation, OSDI'08, (USA), P209
  • [7] Chen M., 2008, P 18 ACM GREAT LAK S, P139, DOI [10.1145/1366110.1366145, DOI 10.1145/1366110.1366145]
  • [8] Cimatti Alessandro, 2012, Computer Aided Verification. Proceedings 24th International Conference, CAV 2012, P277, DOI 10.1007/978-3-642-31424-7_23
  • [9] Clarke E, 2008, LECT NOTES COMPUT SC, V4171, P251
  • [10] Clarke EM, 1999, LECT NOTES COMPUT SC, V1703, P298