处理器验证系统及方法与流程

文档序号:16666606发布日期:2019-01-18 23:18阅读:434来源:国知局
处理器验证系统及方法与流程

本发明涉及集成电路设计技术领域,尤其涉及一种处理器验证系统及方法。



背景技术:

随着半导体工艺的快速发展,处理器的性能得到了显著的提升。而处理器的设计也趋向于更加复杂,导致相关的验证工作也很难在短期内收敛。在处理器设计项目的后期,验证工作的完备性以及充分性成为各个处理器设计公司的瓶颈。

在处理器的验证工作后期,覆盖率的分析与收集是验证工作的重点之一,为了保证验证的完备性与充分性,需要在测试单元以及顶层都进行覆盖率的收集与分析工作,覆盖率的收集与分析工作的完成是项目收敛的一个重要节点。而覆盖率的收集与分析需要的时间随着设计复杂度的提高呈几何级别增长。因此,如何快速的使覆盖率收集工作收敛成为了项目后期的重要课题之一。

随着对处理器性能的需求越来越高,处理器内部的设计也更加复杂,不但是多核处理器系统的复杂度大大增加,而且单核处理器的设计也是越趋复杂,具体体现在各个测试单元的集成度以及复杂度都大幅提高。因此在验证工作中需要覆盖到的特征点就越来越多,在验证工作中要耗费很多时间来构造指令以及场景去覆盖这些特征点。

随机指令发生器是验证过程中生成测试指令的系统。通过随机的算法,根据输入的限制条件,生成测试用到的指令,作为测试单元的输入进行特征点的验证测试,通过覆盖率分析工具得到覆盖到的特征点以及未覆盖到的特征点。对于未覆盖到的特征点,通过分析进而改变随机指令发生器的部分输入条件,以期可正确的覆盖到所有的特征点。对于复杂的设计来说,这个反复迭代的过程需要大量的时间。

目前的随机指令发生器系统通常采用较为固定的算法,根据不同的输入进行指令生成。

在实现本发明的过程中,发明人发现现有技术中至少存在如下技术问题:

传统的随机指令发生器系统在算法上是固定的处理模式,当出现无法覆盖到的特征点时,需要人工去调整随机指令发生器的输入,费时费力而且往往很难得到好的收敛结果,验证效率较低;对于复杂的设计,需要覆盖的特征点很多,反复迭代的过程异常麻烦,导致研发周期增加。



技术实现要素:

本发明提供的处理器验证系统及方法,能够提高验证效率,缩短研发周期。

第一方面,本发明提供一种处理器验证系统,所述系统包括随机指令发生器、待覆盖的特征点分析器、覆盖率分析器和未覆盖到的特征点分析器,其中,

所述随机指令发生器,用于根据待覆盖特征点参数输入以及所述未覆盖到的特征点分析器反馈的分析结果,利用机器学习算法生成新的随机指令并输入待验证设计;

所述待覆盖的特征点分析器,用于对所述待验证设计所有需要覆盖的特征点进行分析,并将分析结果输出给所述覆盖率分析器;

所述覆盖率分析器,用于对所述待验证设计的特征点的覆盖率进行分析,确定特征点覆盖率;

所述未覆盖到的特征点分析器,用于当所述覆盖率分析器确定的特征点覆盖率小于100%时,分析得到未覆盖到的特征点并反馈给所述随机指令发生器。

可选地,所述未覆盖到的特征点分析器,还用于当所述覆盖率分析器确定的特征点覆盖率小于100%时,对特征点未覆盖到的原因进行分析;

所述覆盖率分析器,还用于根据所述未覆盖到的特征点分析器的分析结果输出覆盖率分析报告。

可选地,所述系统还包括:

计数器,用于对所述覆盖率分析器确定得到特征点覆盖率小于100%的次数进行计数;

所述未覆盖到的特征点分析器,还用于当所述计数器的计数值大于预定值时,停止向所述随机指令发生器反馈分析结果。

可选地,所述覆盖率分析器,还用于当所述计数器的计数值大于预定值时,根据所述未覆盖到的特征点分析器的分析结果输出覆盖率分析报告。

可选地,所述机器学习算法包括遗传算法或蚁群算法。

第二方面,本发明提供一种处理器验证方法,包括:

随机指令发生器根据待覆盖特征点参数输入生成初始随机指令并输入待验证设计;

待覆盖的特征点分析器对待验证设计所有需要覆盖的特征点进行分析,并将分析结果输出给覆盖率分析器;

所述覆盖率分析器对所述待验证设计的特征点的覆盖率进行分析,确定特征点覆盖率;

当所述覆盖率分析器确定的特征点覆盖率小于100%时,未覆盖到的特征点分析器分析得到未覆盖到的特征点并反馈给所述随机指令发生器;

所述随机指令发生器根据待覆盖特征点参数输入以及所述未覆盖到的特征点分析器反馈的分析结果,利用机器学习算法生成新的随机指令并输入待验证设计。

可选地,所述方法还包括:

当所述覆盖率分析器确定的特征点覆盖率小于100%时,所述未覆盖到的特征点分析器对特征点未覆盖到的原因进行分析;

所述覆盖率分析器根据所述未覆盖到的特征点分析器的分析结果输出覆盖率分析报告。

可选地,所述方法还包括:

计数器对所述覆盖率分析器确定得到特征点覆盖率小于100%的次数进行计数;

当所述计数器的计数值大于预定值时,所述未覆盖到的特征点分析器停止向所述随机指令发生器反馈分析结果。

可选地,所述方法还包括:

当所述计数器的计数值大于预定值时,所述覆盖率分析器根据所述未覆盖到的特征点分析器的分析结果输出覆盖率分析报告。

可选地,所述机器学习算法包括遗传算法或蚁群算法。

本发明实施例提供的处理器验证系统及方法,基于机器学习算法的随机指令发生器本身具备自我完善的学习能力,可根据待测试设计的特点以及测试场景,不管测试单元需要覆盖的特征点有多少以及测试单元本身有多么复杂,只需要将相关特征点的信息参数作为输入送到随机指令发生器,给定适当的迭代次数,运用遗传算法和蚁群算法,可以在短期内得到符合预期的最优解,从而提高验证效率;在项目开发后期,可以显著的降低研发成本以及缩短研发周期,提高项目开发的效率。

附图说明

图1为本发明实施例提供的处理器验证系统的结构示意图;

图2为本发明实施例提供的机器学习的流程图;

图3为本发明实施例提供的处理器验证方法的流程图。

具体实施方式

为使本发明实施例的目的、技术方案和优点更加清楚,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。

本发明实施提供一种处理器验证系统,如图1所示,所述系统包括随机指令发生器、待覆盖的特征点分析器、覆盖率分析器和未覆盖到的特征点分析器,其中,

所述随机指令发生器,用于根据待覆盖特征点参数输入以及所述未覆盖到的特征点分析器反馈的分析结果,利用机器学习算法生成新的随机指令并输入待验证设计;

其中,待覆盖特征点参数输入根据不同测试单元的特点和需求进行调整,是测试单元的特征点的集合,如单/双发射、立即数、读/写等。

所述随机指令发生器首先根据待覆盖特征点参数输入生成初始的随机指令并输入待验证设计,在接收到所述未覆盖到的特征点分析器反馈的分析结果之后,根据待覆盖特征点参数输入以及所述未覆盖到的特征点分析器反馈的分析结果,利用机器学习算法生成新的随机指令并输入待验证设计,使测试结果快速收敛。

其中,所述机器学习算法可以为遗传算法或蚁群算法,作为随机指令发生器的优化算法,同待覆盖特征点参数输入一同作为随机指令发生器的输入。

机器学习是一门涉及到多领域多种算法的学科,专门研究计算机和各种系统怎样模拟或实现人类的学习行为,以获取新的知识或技能,重新组织已有的知识结构使之不断改善自身的性能。如图2所示为一个典型的机器学习的流程框图。

机器学习分为两个部分:

学习:学习过程是机器学习的核心,一方面将分类信息作为输入送到机器算法系统;另一方面将输入经过特征解析后得到的特征点送到机器学习算法系统,机器学习算法得到分类信息和特征点的对应关系,并将对应关系送给分类模型。

预测:预测过程是检验机器学习的成果以及通过反馈不断优化的过程。输入经过特征解析得到特征点,特征点与分类模型进行匹配得到分类结果,此分类结果需经过结果分析,结果分析后反馈给机器算法模型进行算法优化完善。

机器学习的核心在于结果的反馈与机器学习算法相结合,不断完善算法和提高分类的效率。

遗传算法借鉴生物进化论,将要解决的问题模拟成一个生物进化的过程,通过复制、交叉、突变等操作产生下一代的解,并逐步淘汰掉适应度较低的解,增加适应度函数值高的解,这样进化n代后就有很大可能得到适应度函数值最高的解。

蚁群算法是一种在图中寻找优化路径的机率型算法,在众多解中寻找最优解,也是一种模拟进化的算法,通过不断的反馈,使得其中一条路逐渐成为唯一的选择,也即我们的最优解。

所述待覆盖的特征点分析器,用于对所述待验证设计所有需要覆盖的特征点进行分析,并将分析结果输出给所述覆盖率分析器;

待覆盖的特征点分析器是分析待测试设计所有需要覆盖到的特征点,是确保验证充分性和完备性的基础,用于后续比对与分析。

所述覆盖率分析器,用于对所述待验证设计的特征点的覆盖率进行分析,确定特征点覆盖率;

覆盖率分析器用于分析待验证设计的覆盖率,是重要的性能分析工具,也是作为反馈信息的基础和最终总结报告的来源,在验证工作的后期,覆盖率的收集与分析是关键的收尾工作,一般要达到100%。

所述未覆盖到的特征点分析器,用于当所述覆盖率分析器确定的特征点覆盖率小于100%时,分析得到未覆盖到的特征点并反馈给所述随机指令发生器。

未覆盖到的特征点分析器是针对覆盖率分析后未覆盖到的特征点的分析,一方面分析未覆盖到的原因,作为后续分析报告的一部分;另一方面,作为随机指令发生器的输出反馈,用于下一次迭代生成指令的信息来源,结合机器学习算法完成新一轮指令的生成。

所述未覆盖到的特征点分析器,还用于当所述覆盖率分析器确定的特征点覆盖率小于100%时,对特征点未覆盖到的原因进行分析;

所述覆盖率分析器,还用于根据所述未覆盖到的特征点分析器的分析结果输出覆盖率分析报告。

覆盖率分析报告是最后的结论总结,会给出一个不同需求的覆盖率分析结论,如果相关覆盖率未能达到100%,会给出相应的原因分析,最终的输出以覆盖率分析报告为准。

进一步地,所述系统还可以包括:

计数器,用于对所述覆盖率分析器确定得到特征点覆盖率小于100%的次数进行计数;

所述未覆盖到的特征点分析器,还用于当所述计数器的计数值大于预定值时,停止向所述随机指令发生器反馈分析结果。

可选地,所述覆盖率分析器,还用于当所述计数器的计数值大于预定值时,根据所述未覆盖到的特征点分析器的分析结果输出覆盖率分析报告。

所述随机指令发生器在一次迭代生成指令的过程中,由于采用了机器学习算法,理论上每一轮的结果都会优于上一轮的结果,在经过20~30次的迭代后,很大程度上会得到一个最优解,也即我们所要的指令序列参数最优的输入组合。

本发明实施例提供的处理器验证系统,基于机器学习算法的随机指令发生器本身具备自我完善的学习能力,可根据待测试设计的特点以及测试场景,不管测试单元需要覆盖的特征点有多少以及测试单元本身有多么复杂,只需要将相关特征点的信息参数作为输入送到随机指令发生器,给定适当的迭代次数,运用遗传算法和蚁群算法,可以在短期内得到符合预期的最优解,从而提高验证效率;在项目开发后期,可以显著的降低研发成本以及缩短研发周期,提高项目开发的效率。

本发明实施例还提供一种处理器验证方法,如图3所示,所述方法包括:

s11、随机指令发生器根据待覆盖特征点参数输入生成初始随机指令并输入待验证设计。

s12、待覆盖的特征点分析器对待验证设计所有需要覆盖的特征点进行分析,并将分析结果输出给覆盖率分析器。

其中,所述待验证设计是待测试单元,可以是单个测试单元,也可以是处理器的顶层。

s13、所述覆盖率分析器对所述待验证设计的特征点的覆盖率进行分析,确定特征点覆盖率。

s14、当所述覆盖率分析器确定的特征点覆盖率小于100%时,未覆盖到的特征点分析器分析得到未覆盖到的特征点并反馈给所述随机指令发生器。

可选地,当所述覆盖率分析器确定的特征点覆盖率小于100%时,所述未覆盖到的特征点分析器对特征点未覆盖到的原因进行分析;所述覆盖率分析器根据所述未覆盖到的特征点分析器的分析结果输出覆盖率分析报告。

进一步地,所述方法还包括:

计数器对所述覆盖率分析器确定得到特征点覆盖率小于100%的次数进行计数;当所述计数器的计数值大于预定值时,所述未覆盖到的特征点分析器停止向所述随机指令发生器反馈分析结果,所述覆盖率分析器根据所述未覆盖到的特征点分析器的分析结果输出覆盖率分析报告。

计数器用于统计迭代的次数,在求解最优解与所用的时间上需要做一个权衡,一方面,理论上迭代的次数越多,越接近最优解;另一方面,迭代次数的增多也意味着所用的时间和成本也会显著增加。根据遗传算法和蚁群算法的迭代和收敛规律,迭代次数设定为30次是较为合理的。当迭代次数超过30时特征点覆盖率仍小于100%可以强制结束。其中,所述迭代次数可根据不同的测试场景以及待测试设计的大小和复杂程度进行动态调整。

s15、所述随机指令发生器根据待覆盖特征点参数输入以及所述未覆盖到的特征点分析器反馈的分析结果,利用机器学习算法生成新的随机指令并输入待验证设计。

步骤s15执行完成之后,转至步骤s12并继续执行后续的流程,直至所述覆盖率分析器确定的特征点覆盖率为100%。

可选地,所述机器学习算法包括遗传算法或蚁群算法。

本发明实施例提供的处理器验证方法,基于机器学习算法的随机指令发生器本身具备自我完善的学习能力,可根据待测试设计的特点以及测试场景,不管测试单元需要覆盖的特征点有多少以及测试单元本身有多么复杂,只需要将相关特征点的信息参数作为输入送到随机指令发生器,给定适当的迭代次数,运用遗传算法和蚁群算法,可以在短期内得到符合预期的最优解,从而提高验证效率;在项目开发后期,可以显著的降低研发成本以及缩短研发周期,提高项目开发的效率。

本领域普通技术人员可以理解实现上述实施例方法中的全部或部分流程,是可以通过计算机程序来指令相关的硬件来完成,所述的程序可存储于一计算机可读取存储介质中,该程序在执行时,可包括如上述各方法的实施例的流程。其中,所述的存储介质可为磁碟、光盘、只读存储记忆体(read-onlymemory,rom)或随机存储记忆体(randomaccessmemory,ram)等。

以上所述,仅为本发明的具体实施方式,但本发明的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本发明揭露的技术范围内,可轻易想到的变化或替换,都应涵盖在本发明的保护范围之内。因此,本发明的保护范围应该以权利要求的保护范围为准。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1