Data Constraint Generation Technology for Microprocessor Instruction Verification Based on SMT Solver

被引:0
|
作者
Tan J. [1 ]
Luo Q. [1 ]
Wang L. [1 ]
Hu X. [1 ]
Fan H. [1 ]
Xu Z. [1 ]
机构
[1] Jiangnan Institute of Computing Technology, Wuxi
关键词
Constraint solving; Datapaths; Instruction function; Parallel acceleration; SMT solver; Verification data;
D O I
10.7544/issn1000-1239.2020.20190718
中图分类号
学科分类号
摘要
During the development of the processor, it is necessary to fully verify the instructions datapaths. The existing simulation verification methods have insufficient functional coverage in terms of instruction result operands constraints, relationship constraints between operands, and internal constraints of instructions, etc. This paper proposes an instruction constraint solving method based on satisfiability modulo theory (SMT) solver. The SMT solver is introduced to convert the instruction function verification tasks into constraint satisfaction problems. Constraint satisfaction problem techniques are used to generate validation tuple data, which can be used to verify the functional correctness of the instructions set. The modeling processes and examples are given in four aspects: the instruction result operand constraints, the instruction operand constraints, the instruction internal constraints, and float-pointing instructions operand constraints. In order to improve the modeling efficiency, we propose two strategies. First, once the time threshold is reached, the current process is terminated; second, using process management and thread management technology, a parallel solution framework for instruction function constraints is implemented, and a series of serial solving tasks are assigned to multiple threads that can be executed in parallel, and the speed of solution is accelerated under the conditions of the same constraints coverage. Our experiences show that under the right circumstances, instruction constraint solving technology based on SMT provides technical support for system-level functional verification to achieve test coverage of complex scenarios. © 2020, Science Press. All right reserved.
引用
收藏
页码:2694 / 2702
页数:8
相关论文
共 14 条
  • [1] Shen Haihua, Wei Wenli, Chen Yunji, A survery on coverage directed generation technology, Journal of Computer-Aided Design and Computer Graphics, 21, 4, pp. 419-431, (2009)
  • [2] Kaivola R, Ghughal R, Narasimhan N, Et al., Replacing testing with formal verification in Intel CoreTMi7 processor execution engine validation, LNCS 5643: Proc of the 21st Int Conf on Computer Aided Verification, pp. 414-429, (2009)
  • [3] Naveh Y, Rimon M, Jaeger I, Et al., Constraint-based random stimuli generation for hardware verification, AI Magazine, 28, 3, pp. 13-30, (2007)
  • [4] IBM constraint solver
  • [5] Adir A, Almog E, Fournier L, Et al., Genesys-Pro: Innovations in test program generation for functional processor verification, IEEE Design & Test of Computers, 21, 2, pp. 84-93, (2004)
  • [6] Aharoni M, Asaf S, Fournier L, Et al., FPgen-A test generation framework for datapath floating-point verification, Proc of the 8th IEEE Int High-Level Design Validation and Test Workshop, pp. 17-22, (2003)
  • [7] Moura L D, Bjorner N., Satisfiability modulo theories, Communications of the ACM, 54, 9, pp. 69-77, (2011)
  • [8] Moura L D, Bjorner N., Z3: An efficient SMT solver, Proc of the 14th Int Conf on Tools and Algorithms for the Construction and Analysis of Systems, pp. 337-340, (2008)
  • [9] Barrett1 C, Conway C L, Deters M, Et al., LNCS 6806: Proc of the 23rd Int Conf on Computer Aided Verification, pp. 171-177, (2011)
  • [10] Jin Jiwei, Ma Feifei, Zhang Jian, Brief introduction to SMT solving, Journal of Frontiers of Computer Science and Technology, 9, 7, pp. 769-780, (2015)