CN111930444B - 处理器核验证的指令耦合装置、方法、设备及存储介质 - Google Patents
处理器核验证的指令耦合装置、方法、设备及存储介质 Download PDFInfo
- Publication number
- CN111930444B CN111930444B CN202011107190.9A CN202011107190A CN111930444B CN 111930444 B CN111930444 B CN 111930444B CN 202011107190 A CN202011107190 A CN 202011107190A CN 111930444 B CN111930444 B CN 111930444B
- Authority
- CN
- China
- Prior art keywords
- instruction
- coupling
- constraint data
- configuration information
- constraint
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Active
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/44—Arrangements for executing specific programs
- G06F9/445—Program loading or initiating
- G06F9/44505—Configuring for program initiating, e.g. using registry, configuration files
- G06F9/4451—User profiles; Roaming
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/36—Preventing errors by testing or debugging software
- G06F11/3668—Software testing
- G06F11/3672—Test management
- G06F11/3676—Test management for coverage analysis
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/36—Preventing errors by testing or debugging software
- G06F11/3668—Software testing
- G06F11/3672—Test management
- G06F11/3684—Test management for test design, e.g. generating new test cases
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F30/00—Computer-aided design [CAD]
- G06F30/30—Circuit design
- G06F30/32—Circuit design at the digital level
- G06F30/327—Logic synthesis; Behaviour synthesis, e.g. mapping logic, HDL to netlist, high-level language to RTL or netlist
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- Computer Hardware Design (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Software Systems (AREA)
- Quality & Reliability (AREA)
- Evolutionary Computation (AREA)
- Geometry (AREA)
- Test And Diagnosis Of Digital Computers (AREA)
Abstract
本发明公开了一种处理器核验证的指令耦合装置、方法、设备及存储介质,处理器核验证的指令耦合装置包括:配置信息解析器、约束求解器、指令生成器和指令发射器,配置信息解析器用于将处理器核中测试用例的配置信息解析为第一约束数据;约束求解器用于基于第一约束数据进行约束求解,确定求解约束的结果,基于第一约束数据生成第二约束数据;指令生成器用于基于第二约束数据生成耦合指令或非耦合指令;指令发射器用于将耦合指令或非耦合指令发送至驱动器,将生成的指令信息反馈至约束求解器。本发明将配置信息和指令发射器中的指令信息耦合,使得各个指令之间相互关联和依赖,提升了测试覆盖率收敛效率。
Description
技术领域
本发明涉及指令耦合和逻辑测试领域,尤其涉及一种处理器核验证的指令耦合装置、方法、设备及存储介质。
背景技术
目前处理器核验证指令耦合方法主要是测试用例产生配置信息,并将配置信息发送至配置信息解析器,配置信息解析器将接收到的配置信息解析为约束,约束在经过约束求解器处理后,指令生成器就可以在约束指定的集合内生成指令。生成的指令由指令发射器发送给驱动器进行处理。约束求解器、指令生成器和指令发射器会运行多轮,每一轮生成一个指令,直到总的发送指令数达到了测试用例指定的指令数。每一轮生成的指令的类型只依赖于约束,指令间的关系都是相互独立的。如果用大量的随机单一指令流冲刷待测设计的功能点,可能会遗漏特定应用场景的测试,忽略处理器核设计的特性,会导致测试覆盖率收敛难以收敛。由此可知,目前处理器核验证指令耦合方法的测试覆盖率收敛效率低。
发明内容
本发明的主要目的在于提供一种处理器核验证的指令耦合装置、方法、设备及存储介质,旨在解决目前处理器核验证指令耦合方法的测试覆盖率收敛低的技术问题。
为实现上述目的,本发明提供一种处理器核验证的指令耦合装置、方法、设备及存储介质,所述处理器核验证的指令耦合装置应用于RISC-V处理器,所述处理器核验证的指令耦合装置包括:配置信息解析器、约束求解器、指令生成器和指令发射器,其中,所述配置信息解析器用于将处理器核中测试用例对应的配置信息解析为对应的第一约束数据;所述约束求解器用于基于所述第一约束数据进行约束求解,确定求解约束的结果,并基于所述第一约束数据生成对应的第二约束数据;所述指令生成器用于基于所述第二约束数据生成对应的耦合指令或非耦合指令;所述指令发射器用于将所述耦合指令或所述非耦合指令发送至驱动器,以及将生成的指令信息反馈至约束求解器。
可选地,所述测试用例对应的配置信息包括非耦合配置信息和耦合配置信息,所述配置信息解析器包括非耦合配置信息解析器和耦合配置信息解析器,所述指令生成器包括耦合指令生成器和非耦合指令生成器,其中,所述非耦合配置信息包括测试指令的指令数量和指令类型,以及测试模式;所述耦合配置信息包括耦合类型和耦合度;所述非耦合配置信息解析器用于解析所述非耦合配置信息;所述耦合配置信息解析器用于解析所述耦合配置信息;所述耦合指令生成器用于基于所述第二约束数据生成所述耦合指令;所述非耦合指令生成器用于基于所述第二约束数据生成所述非耦合指令。
此外,为实现上述目的,本发明还提供一种处理器核验证的指令耦合方法,应用于上述的处理器核验证的指令耦合装置,所述处理器核验证的指令耦合方法应用于RISC-V处理器,所述处理器核验证的指令耦合方法包括以下步骤:
获取处理器核中测试用例对应的配置信息,基于所述配置信息确定对应的约束数据;
获取基于指令发射器产生的指令信息,基于所述指令信息和所述约束数据确定对应的求解约束数据,并检测所述求解约束数据中是否存在耦合指示;
若检测到所述求解约束数据中存在所述耦合指示,则基于所述求解约束数据生成对应的耦合指令。
可选地,所述若检测到所述求解约束数据中存在所述耦合指示,则基于所述求解约束数据生成对应的耦合指令的步骤包括:
若检测到所述求解约束数据中存在所述耦合指示,则基于约束求解器将所述求解约束数据生成对应的第一耦合约束数据,并基于所述约束求解器将所述第一耦合约束数据发送至耦合指令生成器;
基于所述耦合指令生成器将所述第一耦合约束数据生成对应的耦合指令。
可选地,所述获取处理器核中测试用例对应的配置信息,基于所述配置信息确定对应的约束数据的步骤包括:
获取所述处理器核中测试用例对应的配置信息,所述配置信息包括非耦合配置信息和耦合配置信息;
基于非耦合配置信息解析器将所述非耦合配置信息解析为非耦合约束数据,并基于耦合配置信息解析器将所述耦合配置信息解析为第二耦合约束数据;
将所述非耦合约束数据和所述第二耦合约束数据确定为所述约束数据。
可选地,所述获取基于指令发射器产生的指令信息,基于所述指令信息和所述约束数据确定对应的求解约束数据,并检测所述求解约束数据中是否存在耦合指示的步骤包括:
获取指令发射器在上次循环完成时产生的指令信息,基于约束求解器将所述指令信息和非耦合约束数据和第二耦合约束数据进行约束求解,确定所述求解约束数据;
基于所述约束求解器检测所述求解约束数据中是否存在产生耦合指令的耦合指示。
可选地,所述获取基于指令发射器产生的指令信息,基于所述指令信息和所述约束数据确定对应的求解约束数据,并检测所述求解约束数据中是否存在耦合指示的步骤之后,还包括:
若检测到所述求解约束数据中不存在所述耦合指示,则基于所述求解约束数据生成对应的非耦合约束数据,并将所述非耦合约束数据发送至非耦合指令生成器;
基于所述非耦合指令生成器将所述非耦合约束数据生成对应的非耦合指令。
可选地,所述若检测到所述求解约束数据中存在所述耦合指示,则基于所述求解约束数据生成对应的耦合指令的步骤之后,还包括:
基于指令生成器将所述耦合指令发送至所述指令发射器,基于所述指令发射器将所述耦合指令产生的指令信息发送至约束求解器;
基于所述指令发射器将所述耦合指令转化为对应的耦合指令流,并基于所述指令发射器将所述耦合指令流发送至驱动器,以供所述驱动器基于所述耦合指令流进行对应的逻辑测试设计。
此外,为实现上述目的,本发明还提供一种处理器核验证的指令耦合设备,所述处理器核验证的指令耦合设备包括存储器、处理器和存储在所述存储器上并在所述处理器上运行的处理器核验证的指令耦合程序,所述处理器核验证的指令耦合程序被所述处理器完成时实现如上所述的处理器核验证的指令耦合方法的步骤。
此外,为实现上述目的,本发明还提供一种计算机可读存储介质,所述计算机可读存储介质上存储有处理器核验证的指令耦合程序,所述处理器核验证的指令耦合程序被处理器执行时实现如上所述的处理器核验证的指令耦合方法的步骤。
本发明实现通过获取处理器核中测试用例对应的配置信息,基于所述配置信息确定对应的约束数据;获取基于指令发射器产生的指令信息,基于所述指令信息和所述约束数据确定对应的求解约束数据,并检测所述求解约束数据中是否存在耦合指示;若检测到所述求解约束数据中存在所述耦合指示,则基于所述求解约束数据生成对应的耦合指令。由此可知,本实施例在生成耦合指令的过程中,通过将处理器核中测试用例对应的配置信息进行解析得到约束数据,然后通过获取基于指令发射器产生的指令信息,将指令信息和约束数据确定对应的求解约束数据,根据求解约束数据中的耦合指示将指令信息和约束数据生成对应的耦合指令,在确定求解约束数据的过程中,不仅要借助于配置信息,而且还要结合指令发射器中产生的指令信息,从而将之前发送的指令进行耦合,使得各个指令之间相互关联和依赖,避免相互独立,从而丰富了测试场景,提升了测试覆盖率收敛效率。
附图说明
图1是本发明处理器核验证的指令耦合装置较佳的结构示意图;
图2是配置信息解析器的组成示意图;
图3是指令生成器的组成示意图;
图4是本发明处理器核验证的指令耦合方法第一实施例的流程示意图;
图5是本发明处理器核验证的指令耦合方法第一实施例的工作流程示意图;
图6是本发明实施例方案涉及的硬件运行环境的结构示意图。
本发明目的的实现、功能特点及优点将结合实施例,参照附图做进一步说明。
具体实施方式
应当理解,此处所描述的具体实施例仅用以解释本发明,并不用于限定本发明。
本发明提供一种处理器核验证的指令耦合装置,参照图1,图1为本发明处理器核验证的指令耦合装置较佳的结构示意图。
所述处理器核验证的指令耦合装置应用于RISC-V处理器,所述处理器核验证的指令耦合装置包括:配置信息解析器10、约束求解器20、指令生成器30和指令发射器40,其中,所述配置信息解析器10用于将RISC-V处理器核中测试用例对应的配置信息解析为对应的第一约束数据;所述约束求解器20用于基于所述第一约束数据进行约束求解,确定求解约束的结果,并基于所述第一约束数据生成对应的第二约束数据;所述指令生成器30用于基于所述第二约束数据生成对应的耦合指令或非耦合指令;所述指令发射器40用于将所述耦合指令或所述非耦合指令发送至驱动器,以及将生成的指令信息反馈至约束求解器20。
具体地,配置信息解析器10获取RISC-V处理器核中测试用例,测试用例是为了验证RISC-V处理器核的功能,测试用例中携带有对应的配置信息,然后将配置信息进行解析,得到配置信息对应的第一约束数据,并将解析得到的第一约束数据发送至约束求解器20,约束求解器20接收到第一约束数据后,获取指令发射器40上次循环完成时产生的指令信息,然后将约束数据和指令信息进行求解约束,根据求解约束的结果确定是否产生耦合指令,并根据求解约束的结果将第一约束数据生成对应的第二约束数据,将第二约束数据发送至指令生成器30,指令生成器30根据第二约束数据生成对应的耦合指令或非耦合指令,并将耦合指令或非耦合指令发送至指令发射器40,指令发射器40接收到耦合指令或非耦合指令后,将耦合指令或非耦合指令发送至驱动器,以及将生成的指令信息反馈至约束求解器20。
需要说明的是,完成一次循环包括以下步骤,配置信息解析器对配置信息进行解析,得到约束数据、约束求解器对约束数据进行约束求解,得到约束求解的结果、指令生成器根据约束数据生成对应的指令,以及指令发射器将指令发送至驱动器。
进一步地,参照图2和图3,图2是配置信息解析器的组成示意图,图3是指令生成器的组成示意图,所述测试用例对应的配置信息包括非耦合配置信息和耦合配置信息,所述配置信息解析器10包括非耦合配置信息解析器102和耦合配置信息解析器104,所述指令生成器30包括耦合指令生成器302和非耦合指令生成器304,其中,所述非耦合配置信息包括测试指令的指令数量和指令类型,以及测试模式;所述耦合配置信息包括耦合类型和耦合度;所述非耦合配置信息解析器102用于解析所述非耦合配置信息;所述耦合配置信息解析器104用于解析所述耦合配置信息;所述耦合指令生成器302用于基于所述第二约束数据生成所述耦合指令;所述非耦合指令生成器304用于基于所述第二约束数据生成所述非耦合指令。
具体地,配置信息解析器10获取RISC-V处理器核中测试用例对应的配置信息,配置信息包括非耦合配置信息和耦合配置信息,然后非耦合配置信息解析器102将非耦合配置信息进行解析,得到测试指令的指令数量、指令类型以及测试模式等约束数据,耦合配置信息解析器104将耦合配置信息进行解析,得到耦合类型和耦合度等约束数据,配置信息解析器10将解析得到的指令数量、指令类型、耦合类型以及耦合度等第一约束数据发送至约束求解器20,约束求解器20接收到第一约束数据后,获取指令发射器40上次循环完成时产生的指令信息,将指令数量、指令类型、耦合类型以及耦合度等第一约束数据和该指令信息进行求解约束,得到求解约束的结果,并检测在求解约束的结果中是否存在产生耦合指令的耦合指示,约束求解器20若检测到在求解约束的结果中存在产生耦合指令的耦合指示,则基于第一约束数据生成对应的第二约束数据,并将该第二约束数据发送至耦合指令生成器302,耦合指令生成器302根据该第二约束数据生成对应的耦合指令,并将耦合指令发送至驱动器,以及将对应的指令信息发送至约束求解器20。约束求解器20若检测到在求解约束的结果中不存在产生耦合指令的耦合指示,则基于第一约束数据生成对应的第二约束数据,并将该第二约束数据反馈至非耦合指令生成器304,非耦合指令生成器304根据该第二约束数据生成对应的非耦合指令,并将非耦合指令发送至驱动器,以及将对应的指令信息反馈至约束求解器20。其中,耦合指示是一种在求解约束的结果中是否存在产生耦合指令的提示标识。
在本实施例中,通过指令耦合装置中的配置信息解析器、约束求解器、指令生成器和指令发射器,将RISC-V处理器核中测试用例对应的配置信息进行解析得到约束数据,然后通过获取基于指令发射器产生的指令信息,将指令信息和约束数据确定对应的求解约束数据,根据求解约束数据中的耦合指示将指令信息和约束数据生成对应的耦合指令,在确定求解约束数据的过程中,不仅要借助于配置信息,而且还要结合指令发射器中产生的指令信息,从而将之前发送的指令进行耦合,使得各个指令之间相互关联和依赖,避免相互独立,从而丰富了测试场景,提升了测试覆盖率收敛效率。
本发明提供一种处理器核验证的指令耦合方法,参照图4,图4为本发明处理器核验证的指令耦合方法第一实施例的流程示意图。
本发明实施例提供了处理器核验证的指令耦合方法的实施例,需要说明的是,虽然在流程图中示出了逻辑顺序,但是在某些数据下,可以以不同于此处的顺序完成所示出或描述的步骤。
处理器核验证的指令耦合方法用于RISC-V处理器,处理器核验证的指令耦合方法包括:
步骤S10,获取处理器核中测试用例对应的配置信息,基于所述配置信息确定对应的约束数据。
耦合指令发包器获取RISC-V处理器核中测试用例对应的配置信息,然后通过耦合指令发包器中各类配置信息解析器将对应的配置信息进行解析,得到配置信息中各类约束数据。
其中,耦合指令发包器包括但不限制于配置信息解析器、约束求解器、指令生成器和指令发射器,耦合指令发包器中有多种配置信息解析器,配置信息解析器包括但不限制于非耦合配置信息解析器和耦合配置信息解析器,同时也有多种指令生成器,指令生成器包括但不限制于非耦合指令生成器和耦合指令生成器。配置信息解析器用于对配置信息进行解析,约束求解器用于对约束数据进行求解约束,指令生成器用于生成对应的耦合指令或非耦合指令,指令发射器用于发射耦合指令或非耦合指令,以及将对应的指令信息反馈至约束求解器。
进一步地,所述步骤S10包括:
步骤a,获取所述处理器核中测试用例对应的配置信息,所述配置信息包括非耦合配置信息和耦合配置信息;
步骤b,基于非耦合配置信息解析器将所述非耦合配置信息解析为非耦合约束数据,并基于耦合配置信息解析器将所述耦合配置信息解析为第二耦合约束数据;
步骤c,将所述非耦合约束数据和所述第二耦合约束数据确定为所述约束数据。
具体地,耦合指令发包器获取RISC-V处理器核中测试用例对应的配置信息,然后通过耦合指令发包器中的非耦合配置信息解析器将配置信息中的非耦合配置信息解析为非耦合约束数据,得到测试指令的指令数量、指令类型以及测试模式等约束数据,并通过耦合指令发包器中的耦合配置信息解析器将配置信息中的耦合配置信息解析为第二耦合约束数据,得到耦合类型和耦合度等约束数据,耦合指令发包器将指令数量、指令类型、测试模式、耦合类型和耦合度等约束数据确定为配置信息对应的约束数据。
需要说明的是,非耦合约束数据作用于指令生成器中的所有指令,第二耦合约束数据作用于指令生成器中的耦合指令。
步骤S20,获取基于指令发射器产生的指令信息,基于所述指令信息和所述约束数据确定对应的求解约束数据,并检测所述求解约束数据中是否存在耦合指示。
耦合指令发包器获取指令发射器产生的指令信息,然后将指令信息和约束数据进行求解约束,得到配置信息对应的求解约束数据,并检测求解约束数据中是否存在产生耦合指令的耦合指示,若检测到求解约束数据中存在产生耦合指令的耦合指示,耦合指令发包器根据指令信息和约束数据产生对应的耦合约束数据,若检测到求解约束数据中不存在产生耦合指令的耦合指示,耦合指令发包器根据指令信息和约束数据产生对应的非耦合约束数据。
进一步地,所述步骤S20包括:
步骤d,获取指令发射器在上次循环完成时产生的指令信息,基于约束求解器将所述指令信息和非耦合约束数据和第二耦合约束数据进行约束求解,确定所述求解约束数据;
步骤e,基于所述约束求解器检测所述求解约束数据中是否存在产生耦合指令的耦合指示。
具体地,耦合指令发包器获取指令发射器在上次循环完成时产生的指令信息,然后通过耦合指令发包器中的约束求解器将该指令信息和约束数据中的指令数量、指令类型和测试模式等非耦合约束数据,以及耦合类型和耦合度等第二耦合约束数据进行约束求解,得到对应的求解约束数据,并检测求解约束数据中是否存在产生耦合指令的耦合指示,若检测到求解约束数据中存在产生耦合指令的耦合指示,约束求解器则根据指令信息和指令数量、指令类型、测试模式、耦合类型以及耦合度等约束数据产生对应的耦合约束数据,若检测到求解约束数据中不存在产生耦合指令的耦合指示,约束求解器则根据指令信息和指令数量、指令类型、测试模式、耦合类型以及耦合度等约束数据产生对应的非耦合约束数据。
步骤S30,若检测到所述求解约束数据中存在所述耦合指示,则基于所述求解约束数据生成对应的耦合指令。
耦合指令发包器若检测到求解约束数据中存在耦合指示,则根据指令信息和指令数量、指令类型、测试模式、耦合类型以及耦合度等约束数据产生对应的耦合约束数据,并根据该耦合约束数据生成对应的耦合指令。
进一步地,所述步骤S30包括:
步骤f,若检测到所述求解约束数据中存在所述耦合指示,则基于约束求解器将所述求解约束数据生成对应的第一耦合约束数据,并基于所述约束求解器将所述第一耦合约束数据发送至耦合指令生成器;
步骤g,基于所述耦合指令生成器将所述第一耦合约束数据生成对应的耦合指令。
具体地,耦合指令发包器若检测到求解约束数据中存在耦合指示,则通过耦合指令发包器中的约束求解器将指令信息和指令数量、指令类型、测试模式、耦合类型以及耦合度等约束数据生成对应的第一耦合约束数据,然后将该第一耦合约束数据发送至耦合指令生成器,耦合指令生成器接收到该第一耦合约束数据后,根据该第一耦合约束数据生成对应的耦合指令。
进一步地,处理器核验证的指令耦合方法还包括:
步骤h,若检测到所述求解约束数据中不存在所述耦合指示,则基于所述求解约束数据生成对应的非耦合约束数据,并将所述非耦合约束数据发送至非耦合指令生成器;
步骤i,基于所述非耦合指令生成器将所述非耦合约束数据生成对应的非耦合指令。
具体地,耦合指令发包器若检测到求解约束数据中不存在耦合指示,则通过耦合指令发包器中的约束求解器将指令信息和指令数量、指令类型、测试模式、耦合类型以及耦合度等约束数据生成对应的非耦合约束数据,然后将该非耦合约束数据发送至耦合指令生成器,耦合指令生成器接收到该非耦合约束数据后,根据该非耦合约束数据生成对应的非耦合指令。
进一步地,参照图5,图5是本发明处理器核验证的指令耦合方法第一实施例的工作流程示意图。S201为验证RISC-V处理器核验证核功能的测试用例,测试用例中携带有对应的配置信息,配置信息包括非耦合配置信息和耦合配置信息,非耦合配置信息定义了本测试用例生成的测试指令的指令数量、指令类型以及测试模式等特性,耦合配置信息定义了耦合指令的耦合类型和耦合度等特性。S202为非耦合配置信息解析器,用于将非耦合配置信息解析为约束1,约束1作用于指令生成器中的所有指令。S203为耦合配置信息解析器,用于将耦合配置信息解析为约束2,约束2定义了指令生成器中耦合指令的耦合类型、耦合度和耦合范围等特性,约束2作用于指令生成器中的耦合指令。S204为约束求解器,用于将约束1、约束2和指令生成器发送的指令信息进行约束求解,并确定是否要产生耦合指令,若确定产生耦合指令,约束求解器则产生对应的约束3,若确定不产生耦合指令,约束求解器则产生对应的约束4。S205为若确定产生耦合指令,约束求解器则将约束3发送到耦合指令生成器,若确定不产生耦合指令,约束求解器则将约束4发送到非耦合指令生成器。S206为耦合指令生成器根据约束3生成耦合指令,非耦合指令生成器根据约束4生成非耦合指令。S207为指令发射器将接收到的指令经过格式转换后送给驱动器,同时反馈至约束求解器。S208为指令发射器确定所有指令是否完成发送,若确定所有指令完成发送,指令发射器则结束发包,若确定所有指令未完成发送,指令发射器则继续发包。
本实施例通过获取处理器核中测试用例对应的配置信息,基于所述配置信息确定对应的约束数据;获取基于指令发射器产生的指令信息,基于所述指令信息和所述约束数据确定对应的求解约束数据,并检测所述求解约束数据中是否存在耦合指示;若检测到所述求解约束数据中存在所述耦合指示,则基于所述求解约束数据生成对应的耦合指令。由此可知,本实施例在生成耦合指令的过程中,通过将处理器核中测试用例对应的配置信息进行解析得到约束数据,然后通过获取基于指令发射器产生的指令信息,将指令信息和约束数据确定对应的求解约束数据,根据求解约束数据中的耦合指示将指令信息和约束数据生成对应的耦合指令,在确定求解约束数据的过程中,不仅要借助于配置信息,而且还要结合指令发射器中产生的指令信息,从而将之前发送的指令进行耦合,使得各个指令之间相互关联和依赖,避免相互独立,从而丰富了测试场景,提升了测试覆盖率收敛效率。
进一步地,提出本发明处理器核验证的指令耦合方法第二实施例。
所述处理器核验证的指令耦合方法第二实施例与所述处理器核验证的指令耦合方法第一施例的区别在于,所述处理器核验证的指令耦合方法还包括:
步骤j,基于指令生成器将所述耦合指令发送至所述指令发射器,基于所述指令发射器将所述耦合指令产生的指令信息发送至约束求解器;
步骤k,基于所述指令发射器将所述耦合指令转化为对应的耦合指令流,并基于所述指令发射器将所述耦合指令流发送至驱动器,以供所述驱动器基于所述耦合指令流进行对应的逻辑测试设计。
具体地,指令生成器将耦合指令发送至指令发射器,指令发射器接收到该耦合指令后,将该耦合指令产生对应的指令信息发送至约束求解器,同时,指令发射器将耦合指令进行格式转换,转化为对应的耦合指令流,然后将所有的耦合指令流发送至驱动器,并检测所有的耦合指令流是否都完成发送,若检测到所有的耦合指令流都完成发送,指令发射器则停止发送,若检测到耦合指令流中至少存在一个耦合指令流未完成发送,指令发射器则继续发送。驱动器接收到耦合指令流后,根据耦合指令流完成对应的逻辑测试设计,并根据对应的逻辑测试设计进行不同的测试。
进一步地,指令生成器可将非耦合指令发送至指令发射器,指令发射器接收到该非耦合指令后,将该非耦合指令产生对应的指令信息发送至约束求解器,同时,指令发射器将非耦合指令进行格式转换,转化为对应的非耦合指令流,然后将所有的非耦合指令流发送至驱动器。
本实施例通过基于指令生成器将所述耦合指令发送至所述指令发射器,基于所述指令发射器将所述耦合指令产生的指令信息发送至约束求解器;基于所述指令发射器将所述耦合指令转化为对应的耦合指令流,并基于所述指令发射器将所述耦合指令流发送至驱动器,以供所述驱动器基于所述耦合指令流进行对应的逻辑测试设计。由此可知,本实施例将耦合指令进行格式转换,转化为对应的耦合指令流,然后将所有的耦合指令流发送至驱动器,驱动器接收到耦合指令流后,根据耦合指令流完成对应的逻辑测试设计,并根据对应的逻辑测试设计进行不同的测试,通过耦合指令流进行不同的逻辑测试设计,从而避免遗漏了特定应用场景的测试和忽略处理器核设计的特性,使得测试场景多样化。
此外,本发明还提供一种处理器核验证的指令耦合设备。如图6所示,图6是本发明实施例方案涉及的硬件运行环境的结构示意图。
需要说明的是,图6即可为处理器核验证的指令耦合设备的硬件运行环境的结构示意图。
如图6所示,该处理器核验证的指令耦合设备可以包括:处理器1001,例如CPU(Central Processing Unit,中央处理器),存储器1005,用户接口1003,网络接口1004,通信总线1002。通信总线1002用于实现这些组件之间的连接通信。用户接口1003可以包括显示屏(Display)、输入单元比如键盘(board),可选用户接口1003还可以包括标准的有线接口(如USB(Universal Serial Bus,通用串行总线)接口)、无线接口(如蓝牙接口)。网络接口1004可选的可以包括标准的有线接口、无线接口(如WI-FI((Wireless-Fidelity))接口)。存储器1005可以是高速RAM存储器,也可以是稳定的存储器(non-volatile memory),例如磁盘存储器。存储器1005可选的还可以是独立于前述处理器1001的存储装置。
可选地,处理器核验证的指令耦合设备还可以包括RF(Radio Frequency,射频)电路,传感器、WiFi模块等等。
本领域技术人员可以理解,图6中示出的处理器核验证的指令耦合设备结构并不构成对处理器核验证的指令耦合设备的限定,可以包括比图示更多或更少的部件,或者组合某些部件,或者不同的部件布置。
如图6所示,作为一种计算机存储介质的存储器1005中可以包括操作设备、网络通信模块、用户接口模块以及处理器核验证的指令耦合程序。其中,操作设备是管理和控制处理器核验证的指令耦合设备硬件和软件资源的程序,支持处理器核验证的指令耦合程序以及其它软件或程序的运行。
在图所示的处理器核验证的指令耦合设备中,用户接口1003主要用于驱动器,以将指令流按接口协议驱动到待测设计,达到测试逻辑设计功能点的目的;网络接口1004主要用于耦合指令发包器,以执行对应的操作;处理器1001可以用于调用存储器1005中存储的处理器核验证的指令耦合程序,并完成如上所述的处理器核验证的指令耦合设备的控制方法的步骤。
本发明处理器核验证的指令耦合设备具体实施方式与上述处理器核验证的指令耦合方法各实施例基本相同,在此不再赘述。
此外,本发明实施例还提出一种计算机可读存储介质,所述计算机可读存储介质上存储有处理器核验证的指令耦合程序,所述处理器核验证的指令耦合程序被处理器执行时实现如上所述的处理器核验证的指令耦合方法的步骤。
本发明存储介质具体实施方式与上述处理器核验证的指令耦合方法各实施例基本相同,在此不再赘述。
需要说明的是,在本文中,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者装置不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者装置所固有的要素。在没有更多限制的数据下,由语句“包括一个……”限定的要素,并不排除在包括该要素的过程、方法、物品或者装置中还存在另外的相同要素。
上述本发明实施例序号仅仅为了描述,不代表实施例的优劣。
通过以上的实施方式的描述,本领域的技术人员可以清楚地了解到上述实施例方法可借助软件加必需的通用硬件平台的方式来实现,当然也可以通过硬件,但很多数据下前者是更佳的实施方式。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分可以以软件货物的形式体现出来,该计算机软件货物存储在一个存储介质(如ROM/RAM、磁碟、光盘)中,包括若干指令用以使得一台处理器核验证的指令耦合装置完成本发明各个实施例所述的方法。
Claims (10)
1.一种处理器核验证的指令耦合装置,所述处理器核验证的指令耦合装置应用于RISC-V处理器,其特征在于,所述处理器核验证的指令耦合装置包括:配置信息解析器、约束求解器、指令生成器和指令发射器,其中,所述配置信息解析器用于将处理器核中测试用例对应的配置信息解析为对应的第一约束数据;所述约束求解器用于基于所述第一约束数据进行约束求解,确定求解约束的结果,并基于所述第一约束数据生成对应的第二约束数据;所述指令生成器用于基于所述第二约束数据生成对应的耦合指令或非耦合指令;所述指令发射器用于将所述耦合指令或所述非耦合指令发送至驱动器,以及将生成的指令信息反馈至约束求解器。
2.如权利要求1所述的处理器核验证的指令耦合装置,其特征在于,所述测试用例对应的配置信息包括非耦合配置信息和耦合配置信息,所述配置信息解析器包括非耦合配置信息解析器和耦合配置信息解析器,所述指令生成器包括耦合指令生成器和非耦合指令生成器,其中,所述非耦合配置信息包括测试指令的指令数量和指令类型,以及测试模式;所述耦合配置信息包括耦合类型和耦合度;所述非耦合配置信息解析器用于解析所述非耦合配置信息;所述耦合配置信息解析器用于解析所述耦合配置信息;所述耦合指令生成器用于基于所述第二约束数据生成所述耦合指令;所述非耦合指令生成器用于基于所述第二约束数据生成所述非耦合指令。
3.一种处理器核验证的指令耦合方法,其特征在于,所述处理器核验证的指令耦合方法应用于RISC-V处理器,所述处理器核验证的指令耦合方法包括以下步骤:
获取处理器核中测试用例对应的配置信息,基于所述配置信息确定对应的约束数据;
获取基于指令发射器产生的指令信息,基于所述指令信息和所述约束数据确定对应的求解约束数据,并检测所述求解约束数据中是否存在耦合指示;
若检测到所述求解约束数据中存在所述耦合指示,则基于所述求解约束数据生成对应的耦合指令。
4.如权利要求3所述的处理器核验证的指令耦合方法,其特征在于,所述若检测到所述求解约束数据中存在所述耦合指示,则基于所述求解约束数据生成对应的耦合指令的步骤包括:
若检测到所述求解约束数据中存在所述耦合指示,则基于约束求解器将所述求解约束数据生成对应的第一耦合约束数据,并基于所述约束求解器将所述第一耦合约束数据发送至耦合指令生成器;
基于所述耦合指令生成器将所述第一耦合约束数据生成对应的耦合指令。
5.如权利要求3所述的处理器核验证的指令耦合方法,其特征在于,所述获取处理器核中测试用例对应的配置信息,基于所述配置信息确定对应的约束数据的步骤包括:
获取所述处理器核中测试用例对应的配置信息,所述配置信息包括非耦合配置信息和耦合配置信息;
基于非耦合配置信息解析器将所述非耦合配置信息解析为非耦合约束数据,并基于耦合配置信息解析器将所述耦合配置信息解析为第二耦合约束数据;
将所述非耦合约束数据和所述第二耦合约束数据确定为所述约束数据。
6.如权利要求4所述的处理器核验证的指令耦合方法,其特征在于,所述获取基于指令发射器产生的指令信息,基于所述指令信息和所述约束数据确定对应的求解约束数据,并检测所述求解约束数据中是否存在耦合指示的步骤包括:
获取指令发射器在上次循环完成时产生的指令信息,基于约束求解器将所述指令信息和非耦合约束数据和第二耦合约束数据进行约束求解,确定所述求解约束数据;
基于所述约束求解器检测所述求解约束数据中是否存在产生耦合指令的耦合指示。
7.如权利要求3所述的处理器核验证的指令耦合方法,其特征在于,所述获取基于指令发射器产生的指令信息,基于所述指令信息和所述约束数据确定对应的求解约束数据,并检测所述求解约束数据中是否存在耦合指示的步骤之后,还包括:
若检测到所述求解约束数据中不存在所述耦合指示,则基于所述求解约束数据生成对应的非耦合约束数据,并将所述非耦合约束数据发送至非耦合指令生成器;
基于所述非耦合指令生成器将所述非耦合约束数据生成对应的非耦合指令。
8.如权利要求3至7任一项所述的处理器核验证的指令耦合方法,其特征在于,所述若检测到所述求解约束数据中存在所述耦合指示,则基于所述求解约束数据生成对应的耦合指令的步骤之后,还包括:
基于指令生成器将所述耦合指令发送至所述指令发射器,基于所述指令发射器将所述耦合指令产生的指令信息发送至约束求解器;
基于所述指令发射器将所述耦合指令转化为对应的耦合指令流,并基于所述指令发射器将所述耦合指令流发送至驱动器,以供所述驱动器基于所述耦合指令流进行对应的逻辑测试设计。
9.一种处理器核验证的指令耦合设备,其特征在于,所述处理器核验证的指令耦合设备包括存储器、处理器和存储在所述存储器上并在所述处理器上运行的处理器核验证的指令耦合程序,所述处理器核验证的指令耦合程序被所述处理器完成时实现如权利要求3至8中任一项所述的处理器核验证的指令耦合方法的步骤。
10.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质上存储有处理器核验证的指令耦合程序,所述处理器核验证的指令耦合程序被处理器执行时实现如权利要求3至8中任一项所述的处理器核验证的指令耦合方法的步骤。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202011107190.9A CN111930444B (zh) | 2020-10-16 | 2020-10-16 | 处理器核验证的指令耦合装置、方法、设备及存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202011107190.9A CN111930444B (zh) | 2020-10-16 | 2020-10-16 | 处理器核验证的指令耦合装置、方法、设备及存储介质 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN111930444A CN111930444A (zh) | 2020-11-13 |
CN111930444B true CN111930444B (zh) | 2021-02-05 |
Family
ID=73334568
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202011107190.9A Active CN111930444B (zh) | 2020-10-16 | 2020-10-16 | 处理器核验证的指令耦合装置、方法、设备及存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN111930444B (zh) |
Families Citing this family (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN112231164B (zh) * | 2020-12-11 | 2021-08-27 | 鹏城实验室 | 处理器验证方法、设备及可读存储介质 |
CN117235188B (zh) * | 2023-11-15 | 2024-01-30 | 成都三合力通科技有限公司 | 一种基于联盟计算的数据全域共享系统及方法 |
Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN106815031A (zh) * | 2017-02-22 | 2017-06-09 | 百度在线网络技术(北京)有限公司 | 内核模块加载方法和装置 |
CN111400997A (zh) * | 2020-03-26 | 2020-07-10 | 超验信息科技(长沙)有限公司 | 一种基于同步执行的处理器核验证方法、系统及介质 |
Family Cites Families (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US9891917B2 (en) * | 2013-03-06 | 2018-02-13 | Infineon Technologies Ag | System and method to increase lockstep core availability |
-
2020
- 2020-10-16 CN CN202011107190.9A patent/CN111930444B/zh active Active
Patent Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN106815031A (zh) * | 2017-02-22 | 2017-06-09 | 百度在线网络技术(北京)有限公司 | 内核模块加载方法和装置 |
CN111400997A (zh) * | 2020-03-26 | 2020-07-10 | 超验信息科技(长沙)有限公司 | 一种基于同步执行的处理器核验证方法、系统及介质 |
Non-Patent Citations (1)
Title |
---|
RISC-V处理器约束随机指令生成平台的设计;刘涛;《中国优秀硕士学位论文全文数据库 信息科技辑》;20200215;I135-307 * |
Also Published As
Publication number | Publication date |
---|---|
CN111930444A (zh) | 2020-11-13 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN111930444B (zh) | 处理器核验证的指令耦合装置、方法、设备及存储介质 | |
CN101068206B (zh) | 分组交换机、网络节点、分组交换架构及数据包路由方法 | |
US8010828B2 (en) | Method of providing interoperatibility of different network devices capable of error handling and network device using the same | |
CN110287109A (zh) | 协议接口的测试方法、装置、计算机设备及其存储介质 | |
CN108052474B (zh) | 数据格式转换方法、装置、设备及计算机可读存储介质 | |
CN113360301B (zh) | 一种消息传输系统及方法 | |
CN113612654B (zh) | 一种基于数据库的车载网关功能测试方法 | |
KR20140106857A (ko) | 프로토콜 적합성 검증 방법, 이를 실행하는 장치 및 이를 실행하는 시스템 | |
CN101715147A (zh) | 一种机顶盒性能测试方法、应用下载管理方法及设备 | |
CN111090589A (zh) | 软件测试方法、软件测试装置及可读存储介质 | |
CN111917607A (zh) | 通信系统测试方法、通信系统测试装置及系统 | |
CN109308257A (zh) | 测试任务执行方法、装置、电子设备及计算机存储介质 | |
CN109976834B (zh) | 一种协议栈参数配置方法及装置 | |
CN111159048A (zh) | 应用程序的测试方法、装置及计算机可读存储介质 | |
CN114745681B (zh) | 富媒体信息展示方法、设备及计算机存储介质 | |
CN113407444B (zh) | 一种接口的测试用例生成方法、装置、设备及存储介质 | |
CN113438226B (zh) | 基于混合传输协议的报文生成、解析方法、设备及系统 | |
CN112838938B (zh) | 一种物联网平台的测试系统 | |
CN109862352B (zh) | 视频质量测试方法、机顶盒和存储介质 | |
KR101310609B1 (ko) | Yaml을 이용하여 lte 계측 장비를 위한 데이터 및 인터페이스 생성장치 및 생성방법 | |
CN103118080B (zh) | 基于Android浏览器的下载管理方法及装置 | |
CN103188117A (zh) | 信息交互服务器仿真测试装置及方法 | |
CN114003484A (zh) | 接口测试的日志输出方法、装置、设备及存储介质 | |
US10306493B2 (en) | Measurement device and measurement method | |
CN111641505A (zh) | 信息处理方法、装置、电子设备及可读存储介质 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |