CN110598309A - 一种基于强化学习的硬件设计验证系统及方法 - Google Patents
一种基于强化学习的硬件设计验证系统及方法 Download PDFInfo
- Publication number
- CN110598309A CN110598309A CN201910845889.6A CN201910845889A CN110598309A CN 110598309 A CN110598309 A CN 110598309A CN 201910845889 A CN201910845889 A CN 201910845889A CN 110598309 A CN110598309 A CN 110598309A
- Authority
- CN
- China
- Prior art keywords
- state
- reward
- coverage rate
- excitation
- verification
- 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.)
- Granted
Links
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N20/00—Machine learning
Abstract
本发明涉及强化学习技术领域和芯片验证技术领域,尤其涉及一种基于强化学习的硬件设计验证系统及方法;其核心在于使用强化学习算法自动生成硬件设计验证平台激励使得覆盖率达到100%,适用于行覆盖率、条件覆盖率、状态机覆盖率和功能覆盖率的收敛。本发明使用强化学习生成验证平台激励的方式,相比于手动构造激励,由于自动生成激励从而极大地缩短了验证工作周期,大幅度降低了人力成本;并且由于生成激励的数量和种类更加丰富,也使得验证的完备性有了很大提高;由此验证工作人员可以投入更多的精力在参考模型的完善以及新项目上,大大加快了芯片验证的流程。
Description
技术领域
本发明涉及强化学习技术领域和芯片验证技术领域,尤其涉及一种基于强化学习的硬件设计验证系统及方法。
背景技术
机器学习(Machine Learning,ML)是一门多领域交叉学科,专门研究计算机怎样模拟或实现人类的学习行为,以获取新知识或技能,重新组织已有的知识结构使之不断改善自身的性能。
强化学习(Reinforcement Learning,RL)又称为再励学习、评价学习,是一种重要的机器学习算法,在智能控制机器人及分析预测等领域有着许多应用,AlphaGo就是采用的强化学习算法。强化学习是智能体(Agent)以“试错”的方式进行学习,通过于环境进行交互获得奖赏知道行为,目标是使得智能体获得最大的奖赏。强化学习中由环境提供的强化信号是对产生动作的好坏作出评价(通常为标量信号),而不是告诉强化学习系统RLS(reinforceme nt learning system)如何去产生正确的动作;由于外部环境提供的信息很少,RLS必须依靠自己的经历进行学习。通过这种方式,RLS在行动-评价的环境中获得知识,改进行动方案以适应环境。
验证是确保设计和预定的设计期望一致的过程,随着芯片设计的规模和复杂度不断提高,验证的工作也日益复杂和重要,验证周期已经达到甚至超过整个芯片设计周期的70%。硬件设计验证平台可通过verilog、systemverilog或systemC搭建,是针对硬件设计测试构造的验证环境,验证工程师可以构建具有标准化层次结构和接口的功能验证环境。随着待测设计的复杂性的增加,提升验证覆盖率的难度也越来越大,手动添加测试用例的方法耗时低效。
经过对于硬件设计验证以及强化学习算法的研究发现,可以将强化学习算法应用到验证平台中,以覆盖率作为奖励,通过对于激励产生的训练,可以实现验证平台激励自产生。
发明内容
本发明的目的在于针对现有硬件设计验证平台的激励产生需要完全依赖于手动产生的问题,提出了一种基于强化学习的硬件设计验证系统及方法;本发明将强化学习与硬件设计验证相结合,将原本需要手动生成的验证平台激励通过强化学习生成,从而极大地减少了人力成本、缩短了验证收敛的时间、大幅度提升了验证的可靠性和完备性。
为实现上述目的,本发明采用的技术方案如下:
一种基于强化学习的硬件设计验证系统,根据覆盖率反馈自动生成激励,不断提高覆盖率直至覆盖率达到100%,包括:
一个待测设计模块,作为验证系统的测试对象;
一个智能体,由动作控制模块、事务和激励序列三部分构成,其中,动作控制模块用于构建全局动作集合,并完成智能体的动作控制,控制激励序列产生对应激励发送给硬件设计验证平台和待测设计模块;
一个硬件设计验证平台,用于接收智能体输入的激励,并将其按时序要求分别输入待测设计模型和参考模型,并且会监测待测设计模块的输入、输出,比对仿真结果,生成覆盖率并反馈给奖励模块;
一个奖励模块,用于设定回报机制,以覆盖率为强化学习的奖励回报,发送至全局状态模型;
一个全局状态模型,根据待测设计模块的覆盖率构建全局状态集合,并将奖励回报发送至状态控制模块;
一个状态控制模块,用于构建全局状态转移表,并根据接收到的奖励回报判断系统当前时刻所处状态以及控制状态转移,并将下一时刻状态转移信息反馈至智能体的动作控制模块。
进一步的,所述全局动作集合的构建过程为:根据待测设计模块的输入数量m,从m个输入中选取任一输入进行随机化、同时其他输入保持不变作为一种动作,分别表示为:a1,a2,...,am,共m种动作构成全局动作集合。
进一步的,所述全局状态集合的构建过程为:根据覆盖率规划出状态:0%覆盖率为S0,大于0%且小于100%覆盖率的状态平均划分为n-2个状态,分别记作S1,S2,...Sn-2,100%覆盖率为Sn-1,共n个状态构成全局状态集合。
进一步的,所述全局状态转移表的构建过程为:以n种状态作为纵坐标、m种动作作为横坐标,以在各个状态下采取相应动作后的最大未来奖励期望为值构造全局状态转移表Q-table,初始化均为0;所述值根据Q函数计算得到:
Q(St,at)=R(St,at)+γ·max{Q(St+1,at+1)}
其中,R表示t时刻在状态St下采取动作at获得的奖励回报,γ为折扣因子、满足0≤γ≤1,max{Q(St+1,at+1)}表示下一状态St+1的最大期望Q值。
上述基于强化学习的硬件设计验证系统的验证方法,包括以下步骤:
步骤1,根据待测设计模块的需求文档以及设计方案制定验证方案,按照验证方案搭建硬件设计验证平台;
步骤2,调试仿真环境,将待测设计模块和硬件设计验证平台联合仿真,调试仿真工具的覆盖率收集功能;
步骤3,根据待测设计模块的覆盖率规划出以下状态:0%覆盖率为S0,大于0%且小于100%覆盖率的状态平均划分为n-2个状态,分别记作S1,S2,...Sn-2,100%覆盖率为Sn-1,共n个状态构成全局状态集合;
步骤4,根据待测设计模块输入信号的数量m,将对于m个输入中的选取任一输入进行随机化、同时其他输入保持不变作为一种动作,分别表示为:a1,a2,...,am,共m种动作构成全局动作集合;
步骤5,确定以覆盖率作为强化学习的奖励回报,并且以n种状态作为纵坐标、m种动作作为横坐标,以在各个状态下采取相应动作后的最大未来奖励期望为值构造出状态转移表Q-table;
步骤6,初始化Q-table的所有值为0,得到Q-table0态;
步骤7,根据Q-table0态,选择全局状态S0为起始状态;并设定循环的最大迭代次数N、训练目标点为Sn-1;
步骤8,根据状态转移表,在当前状态St的所有列中,选择Q值最大的一列记为动作at;
步骤9,智能体采取动作at后,将生成的激励发送给硬件设计验证平台和待测设计模块;
步骤10,硬件设计验证平台接收到激励后开启仿真,将激励输入参考模型,并通过虚接口将激励灌入待测设计模块,在仿真结束后获得仿真结果,包括覆盖率报告;
步骤11,判断仿真结果是否正确,若仿真结果正确、则进入步骤12,否则、终止验证并报错;
步骤12,奖励模块获取覆盖率报告,将覆盖率作为奖励回报,奖励模块记录奖励回报并将其发送给全局状态模型;
步骤13,全局状态模型接收到奖励回报后,由状态控制模块根据覆盖率判断当前状态为St+1,采用Q函数计算出Q值,并更新至Q-table对应状态St下采取动作at的Q值;
步骤14,由状态控制模块判断当前状态St+1是否为全局状态中的目标点,若是、则进入步骤16,否则、进入步骤15;
步骤15,迭代次数加1,并判断迭代次数是否为最大迭代次数N,若是、则进入步骤16,否则、进入步骤8;
步骤16,完成硬件设计验证目标,结束训练。
本发明的有益效果在于:
本发明提供基于强化学习的硬件设计验证系统及方法,其核心在于使用强化学习算法自动生成硬件设计验证平台激励使得覆盖率达到100%,适用于行覆盖率、条件覆盖率、状态机覆盖率和功能覆盖率的收敛。本发明使用强化学习生成验证平台激励的方式,相比于手动构造激励,由于自动生成激励从而极大地缩短了验证工作周期,大幅度降低了人力成本;并且由于生成激励的数量和种类更加丰富,也使得验证的完备性有了很大提高;由此验证工作人员可以投入更多的精力在参考模型的完善以及新项目上,大大加快了芯片验证的流程。
附图说明
为了更清楚地说明本发明实例中的技术方案,下面将对实施实例描述中需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实例,对于本领域普通技术人员来说,在不付出创造性劳动的前提下,还可以根据这些附图获得其他附图。
图1是本发明中强化学习部分基本原理图;
图2是本发明中智能体的结构示意图;
图3是本发明中硬件设计验证平台的结构示意图;
图4是本发明中整个系统完整架构图;
图5是本发明中系统执行的流程图。
具体实施方式
下面结合附图和实施例对本发明做进一步详细说明。
本发明提出了一种基于强化学习的、以100%覆盖率为目标的自动生成激励的验证平台,由于验证覆盖率包括行覆盖率、条件覆盖率、状态机覆盖率以及功能覆盖率等,以上覆盖率类型本发明均适用,以下描述中仅以其中一种覆盖率为例。
如图1所示为本发明中强化学习部分基本原理图;典型的强化学习系统一般由环境、智能体、回报模块和全局状态模型构成,强调如何基于环境而行动,以取得最大化的期望利益;具体实现方式为:智能体在初始状态下采取行动,通过环境给出的回报以反馈给智能体,智能体根据回报以决定在下一状态下应该采取的行动,重复训练直至达到目标点。
基于此,本实施例提供一种基于强化学习的硬件设计验证系统,如图4所示;根据覆盖率反馈自动生成激励,不断提高覆盖率直至覆盖率达到100%,具体包括:
一个待测设计模块,作为测试平台运行过程中的测试对象;进一步的,所述待测设计模块应包含一定数量的输入端口,验证平台的激励从输入端口输入;记待测设计模块的输入端口数量是m,其中,每个输入端口依次记作input_1、input_2、input_3…input_m;每个输入都可以通过智能体单独生成,并将这些输入发送给硬件设计验证平台和待测设计模块;
一个硬件设计验证平台,用于接收智能体输入的激励,并将其按时序要求分别输入待测设计和参考模型,并且会监测待测设计模块的输入、输出,比对仿真结果,生成覆盖率并反馈给回报模块;进一步的,如图3所示,所述硬件设计验证平台应包括:虚接口(virtual_if)、驱动组件(driver)、激励序列组件(sequencer)、输入监测组件(in_monitor)、参考模型(ref_model)、输出监测组件(out_monitor)、记分板模块(scoreboard)以及这些组件的上层组件(environment),但是本发明整个验证系统的激励产生组件独立于硬件设计验证平台,包含在智能体当中;
一个全局状态模型,根据待测设计模块的覆盖率规划出以下n个状态:0%覆盖率为S0,大于0%且小于100%覆盖率的状态平均划分为n-2个状态,分别记作S1,S2,...Sn-2,100%覆盖率为Sn-1,当覆盖率达到100%即完成训练;
一个智能体,由动作控制模块、事务和激励序列三部分构成,其中,动作控制模块用于控制智能体的动作控制,从全局动作集合中选择一种动作,并控制激励序列产生对应激励发送给硬件设计验证平台和待测设计模块;进一步的,如图2所示,所述智能体根据所需产生激励的类型和数量,控制验证平台激励的随机化和产生;并且其动作控制模块根据当前所处状态以及上一状态的奖励回报以确定当前执行的动作,具体为:根据当前状态的覆盖率和上一次仿真得到的覆盖率确定当前产生的事务的随机方式,从m个输入中选取一个输入信号进行随机,并以指令的形式将输入信号产生信息发送给激励序列组件;
一个奖励模块,用于设定回报机制;进一步的,所述回报模块包含了在当前状态下执行指定动作后所获得的奖励回报,即在执行指定输入信号随机化后、输入待测设计和验证平台、执行仿真、得到仿真结果、收集覆盖率,以覆盖率作为强化学习的奖励回报;
一个状态控制模块,用于判断系统所处状态以及控制状态切换;所述状态控制模块通过全局状态模块接收仿真结果和覆盖率,在仿真结果正确的前提下,记录覆盖率并且根据全局状态转移表判断状态的转移情况,确定当前状态以及获得新覆盖率后所要跳转到的状态;进一步的,状态控制模块获取了奖励回报后,结合全局状态转移表即可构造出Q_table,用以描述在各个的状态下采取相应动作获得的最大未来期望;对于Q_table,将全局状态集合以及动作集合作为二维坐标构造一个矩阵,其中,将全局状态集合中的每个状态作为行、将全局动作集合中的每个动作作为列,将在对应状态下所获得的奖励回报根据Q函数得到Q值,其公式如下:
Q(St,at)=R(St,at)+γ·max{Q(St+1,at+1)}
其中,R表示t时刻在状态St下采取动作at获得的奖励,γ为折扣因子满足0≤γ≤1,max{Q(St+1,at+1)}表示下一状态St+1下的最大期望Q值,而最大期望Q值所对应的动作at+1则为t+1时刻采取的动作,即状态转移信息;将对应状态和所采取动作下的Q值作为矩阵的元素,即构造出Q_table。
上述基于强化学习的硬件设计验证系统的执行流程如图5所示,包括以下步骤:
步骤1,根据待测设计模块的需求文档以及设计方案制定验证方案,按照验证方案搭建硬件设计验证平台;
步骤2,调试仿真环境,将待测设计模块和硬件设计验证平台联合仿真,调试仿真工具的覆盖率收集功能;
步骤3,根据待测设计模块的覆盖率规划出以下状态:0%覆盖率为S0,大于0%且小于100%覆盖率的状态平均划分为n-2个状态,分别记作S1,S2,...Sn-2,100%覆盖率为Sn-1,共n个状态构成全局状态集合;本实施例中,规划11个状态:0%~10%覆盖率、11%~20%覆盖率、21%~30%覆盖率、31%~40%覆盖率、41%~50%覆盖率、51%~60%覆盖率、61%~70%覆盖率、71%~80%覆盖率、81%~90%覆盖率、91%~99%覆盖率、100%覆盖率;
步骤4,根据待测设计模块输入信号的数量m,将对于m个输入中的任一输入进行随机化、同时其他输入保持不变作为一种动作,分别表示为:a1,a2,...,am,共m种动作构成全局动作集合;
步骤5,确定以覆盖率作为强化学习的奖励回报,并且以n种状态作为纵坐标、m种动作作为横坐标,以在各个状态下采取相应动作后的最大未来奖励期望为值构造出Q-table,如表1所示;该值由Q函数计算得出;
表1
State/action | a<sub>1</sub> | a<sub>2</sub> | a<sub>3</sub> | … | a<sub>m</sub> |
S<sub>0</sub> | Q(S<sub>0</sub>,a<sub>1</sub>) | Q(S<sub>0</sub>,a<sub>2</sub>) | Q(S<sub>0</sub>,a<sub>3</sub>) | … | Q(S<sub>0</sub>,a<sub>m</sub>) |
S<sub>1</sub> | Q(S<sub>1</sub>,a<sub>1</sub>) | Q(S<sub>1</sub>,a<sub>2</sub>) | Q(S<sub>1</sub>,a<sub>3</sub>) | … | Q(S<sub>1</sub>,a<sub>m</sub>) |
S<sub>2</sub> | Q(S<sub>2</sub>,a<sub>1</sub>) | Q(S<sub>2</sub>,a<sub>2</sub>) | Q(S<sub>2</sub>,a<sub>3</sub>) | … | Q(S<sub>2</sub>,a<sub>m</sub>) |
… | … | … | … | … | … |
S<sub>n-1</sub> | Q(S<sub>n-1</sub>,a<sub>1</sub>) | Q(S<sub>n-1</sub>,a<sub>2</sub>) | Q(S<sub>n-1</sub>,a<sub>2</sub>) | … | Q(S<sub>n-1</sub>,a<sub>m</sub>) |
上表以全局11种状态为列、以m种动作为行,根据在对应状态下采取对应动作所得的期望回报Q-value为表格元素值,每个Q-value都是通过Q函数计算得到的,它所表示的并非是采取某一动作后当次所获得的奖励回报最大,而是使得未来获得的奖励折扣之和最大,即获得最大的折扣奖励期望;
步骤6,初始化Q-table的所有值为0,得到Q-table0态;
步骤7,根据初始化后的Q-table0,选择第一行的全局状态为起始状态S0,即覆盖率为0%的状态;并设定循环的最大迭代次数N、训练目标点为Sn-1;
步骤8,针对Q-table,在当前状态St的所有列中,选择Q值最大的一列记为动作at,若存在多列Q值相同且为最大值的情况则从中随机选择一列;
步骤9,智能体采取动作at后,将生成的激励发送给硬件设计验证平台和待测设计模块;
步骤10,硬件设计验证平台接收到激励后开启仿真,将激励输入参考模型,并通过虚接口将激励灌入待测设计模块,在仿真结束后获得仿真结果,仿真结果中包含覆盖率;
步骤11,在获得仿真结果后判断其是否正确,若仿真结果正确、则进入步骤12,否则、终断所有进程并报错,通知验证人员修复bug;
步骤12,在仿真结束后,奖励模块获取覆盖率报告,将覆盖率作为奖励回报,奖励模块会记录奖励回报并将其发送给全局状态模型;
步骤13,全局状态模型接收到奖励回报后,由状态控制模块根据覆盖率判断当前状态为St+1,采用Q函数计算出Q值,并更新至Q-table对应状态St下采取动作at的Q值;
步骤14,由状态控制模块判断当前状态St+1是否为全局状态中的目标点,若是、则进入步骤16,否则、进入步骤15;
步骤15,迭代次数加1,并判断迭代次数是否为最大迭代次数N,若是、则进入步骤16,否则、进入步骤8;
步骤16,当前状态即为目标点,达到100%覆盖率,完成硬件设计验证目标,结束训练。
本实施例中,经过对强化学习算法的研究发现,强化学习算法能够通过根据覆盖率回报以调整激励的产生,通过不断训练使得覆盖率达到100%;采用强化学习生成激励的方式,可以将验证人员从覆盖率收集的困局中解脱出来。
以上所述,仅为本发明的具体实施方式,本说明书中所公开的任一特征,除非特别叙述,均可被其他等效或具有类似目的的替代特征加以替换;所公开的所有特征、或所有方法或过程中的步骤,除了互相排斥的特征和/或步骤以外,均可以任何方式组合。
Claims (3)
1.一种基于强化学习的硬件设计验证系统,包括:
一个待测设计模块,作为验证系统的测试对象;
一个智能体,由动作控制模块、事务和激励序列三部分构成,其中,动作控制模块用于构建全局动作集合,并完成智能体的动作控制,控制激励序列产生对应激励发送给硬件设计验证平台和待测设计模块;
一个硬件设计验证平台,用于接收智能体输入的激励,并将其按时序要求分别输入待测设计模型和参考模型,并且会监测待测设计模块的输入、输出,比对仿真结果,生成覆盖率并反馈给奖励模块;
一个奖励模块,用于设定回报机制,以覆盖率为强化学习的奖励回报,发送至全局状态模型;
一个全局状态模型,根据待测设计模块的覆盖率构建全局状态集合,并将奖励回报发送至状态控制模块;
一个状态控制模块,用于构建全局状态转移表,并根据接收到的奖励回报判断系统当前时刻所处状态以及控制状态转移,并将下一时刻状态转移信息反馈至智能体的动作控制模块。
2.按权利要求1所述基于强化学习的硬件设计验证系统,其特征在于,所述全局动作集合的构建过程为:根据待测设计模块的输入数量m,从m个输入中选取任一输入进行随机化、同时其他输入保持不变作为一种动作,分别表示为:a1,a2,...,am,共m种动作构成全局动作集合;
所述全局状态集合的构建过程为:根据覆盖率规划出状态:0%覆盖率为S0,大于0%且小于100%覆盖率的状态平均划分为n-2个状态,分别记作S1,S2,...Sn-2,100%覆盖率为Sn-1,共n个状态构成全局状态集合。
所述全局状态转移表的构建过程为:以n种状态作为纵坐标、m种动作作为横坐标,以在各个状态下采取相应动作后的最大未来奖励期望为值构造全局状态转移表Q-table,初始化均为0;所述值根据Q函数计算得到:
Q(St,at)=R(St,at)+γ·max{Q(St+1,at+1)}
其中,R表示t时刻在状态St下采取动作at获得的奖励回报,γ为折扣因子、满足0≤γ≤1,max{Q(St+1,at+1)}表示下一状态St+1的最大期望Q值。
3.按权利要求1所述基于强化学习的硬件设计验证系统的验证方法,包括以下步骤:
步骤1,根据待测设计模块的需求文档以及设计方案制定验证方案,按照验证方案搭建硬件设计验证平台;
步骤2,调试仿真环境,将待测设计模块和硬件设计验证平台联合仿真,调试仿真工具的覆盖率收集功能;
步骤3,根据待测设计模块的覆盖率规划出以下状态:0%覆盖率为S0,大于0%且小于100%覆盖率的状态平均划分为n-2个状态,分别记作S1,S2,...Sn-2,100%覆盖率为Sn-1,共n个状态构成全局状态集合;
步骤4,根据待测设计模块输入信号的数量m,将对于m个输入中的选取任一输入进行随机化、同时其他输入保持不变作为一种动作,分别表示为:a1,a2,...,am,共m种动作构成全局动作集合;
步骤5,确定以覆盖率作为强化学习的奖励回报,并且以n种状态作为纵坐标、m种动作作为横坐标,以在各个状态下采取相应动作后的最大未来奖励期望为值构造出状态转移表Q-table;
步骤6,初始化Q-table的所有值为0,得到Q-table0态;
步骤7,根据Q-table0态,选择全局状态S0为起始状态;并设定循环的最大迭代次数N、训练目标点为Sn-1;
步骤8,根据状态转移表,在当前状态St的所有列中,选择Q值最大的一列记为动作at;
步骤9,智能体采取动作at后,将生成的激励发送给硬件设计验证平台和待测设计模块;
步骤10,硬件设计验证平台接收到激励后开启仿真,将激励输入参考模型,并通过虚接口将激励灌入待测设计模块,在仿真结束后获得仿真结果,包括覆盖率报告;
步骤11,判断仿真结果是否正确,若仿真结果正确、则进入步骤12,否则、终止验证并报错;
步骤12,奖励模块获取覆盖率报告,将覆盖率作为奖励回报,奖励模块记录奖励回报并将其发送给全局状态模型;
步骤13,全局状态模型接收到奖励回报后,由状态控制模块根据覆盖率判断当前状态为St+1,采用Q函数计算出Q值,并更新至Q-table对应状态St下采取动作at的Q值;
步骤14,由状态控制模块判断当前状态St+1是否为全局状态中的目标点,若是、则进入步骤16,否则、进入步骤15;
步骤15,迭代次数加1,并判断迭代次数是否为最大迭代次数N,若是、则进入步骤16,否则、进入步骤8;
步骤16,完成硬件设计验证目标,结束训练。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201910845889.6A CN110598309B (zh) | 2019-09-09 | 2019-09-09 | 一种基于强化学习的硬件设计验证系统及方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201910845889.6A CN110598309B (zh) | 2019-09-09 | 2019-09-09 | 一种基于强化学习的硬件设计验证系统及方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN110598309A true CN110598309A (zh) | 2019-12-20 |
CN110598309B CN110598309B (zh) | 2022-11-04 |
Family
ID=68858052
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201910845889.6A Active CN110598309B (zh) | 2019-09-09 | 2019-09-09 | 一种基于强化学习的硬件设计验证系统及方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN110598309B (zh) |
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN113609802A (zh) * | 2020-05-04 | 2021-11-05 | 辉达公司 | 基于强化学习的集成电路中的路由连接 |
CN115496034A (zh) * | 2022-11-14 | 2022-12-20 | 沐曦集成电路(上海)有限公司 | 多模式gpu联合仿真系统 |
CN115796089A (zh) * | 2022-11-25 | 2023-03-14 | 南京金阵微电子技术有限公司 | 覆盖率驱动的验证方法、验证装置、介质及电子设备 |
Citations (10)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20040163059A1 (en) * | 2003-02-19 | 2004-08-19 | Saravanan Subbarayan | Method and system for entropy driven verification |
CN102436521A (zh) * | 2011-09-27 | 2012-05-02 | 浪潮(北京)电子信息产业有限公司 | 随机验证方法和系统 |
CN103150264A (zh) * | 2013-01-18 | 2013-06-12 | 浪潮电子信息产业股份有限公司 | 一种基于扩展型Cache Coherence协议的多级一致性域仿真验证和测试方法 |
CN103530216A (zh) * | 2013-10-12 | 2014-01-22 | 江苏华丽网络工程有限公司 | 一种基于uvm验证方法学的pcie验证方法 |
CN107463473A (zh) * | 2017-09-01 | 2017-12-12 | 珠海泰芯半导体有限公司 | 基于uvm和fpga的芯片软硬件仿真环境 |
CN107480382A (zh) * | 2017-08-21 | 2017-12-15 | 中国电子科技集团公司第五十四研究所 | 一种快速收敛的覆盖率驱动验证方法 |
CN107480782A (zh) * | 2017-08-14 | 2017-12-15 | 电子科技大学 | 一种片上学习神经网络处理器 |
CN108573303A (zh) * | 2018-04-25 | 2018-09-25 | 北京航空航天大学 | 一种基于改进强化学习的复杂网络局部破坏的自改进恢复策略 |
CN109059931A (zh) * | 2018-09-05 | 2018-12-21 | 北京航空航天大学 | 一种基于多智能体强化学习的路径规划方法 |
CN109948781A (zh) * | 2019-03-21 | 2019-06-28 | 中国人民解放军国防科技大学 | 用于自动驾驶车辆的连续动作在线学习控制方法及系统 |
-
2019
- 2019-09-09 CN CN201910845889.6A patent/CN110598309B/zh active Active
Patent Citations (10)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20040163059A1 (en) * | 2003-02-19 | 2004-08-19 | Saravanan Subbarayan | Method and system for entropy driven verification |
CN102436521A (zh) * | 2011-09-27 | 2012-05-02 | 浪潮(北京)电子信息产业有限公司 | 随机验证方法和系统 |
CN103150264A (zh) * | 2013-01-18 | 2013-06-12 | 浪潮电子信息产业股份有限公司 | 一种基于扩展型Cache Coherence协议的多级一致性域仿真验证和测试方法 |
CN103530216A (zh) * | 2013-10-12 | 2014-01-22 | 江苏华丽网络工程有限公司 | 一种基于uvm验证方法学的pcie验证方法 |
CN107480782A (zh) * | 2017-08-14 | 2017-12-15 | 电子科技大学 | 一种片上学习神经网络处理器 |
CN107480382A (zh) * | 2017-08-21 | 2017-12-15 | 中国电子科技集团公司第五十四研究所 | 一种快速收敛的覆盖率驱动验证方法 |
CN107463473A (zh) * | 2017-09-01 | 2017-12-12 | 珠海泰芯半导体有限公司 | 基于uvm和fpga的芯片软硬件仿真环境 |
CN108573303A (zh) * | 2018-04-25 | 2018-09-25 | 北京航空航天大学 | 一种基于改进强化学习的复杂网络局部破坏的自改进恢复策略 |
CN109059931A (zh) * | 2018-09-05 | 2018-12-21 | 北京航空航天大学 | 一种基于多智能体强化学习的路径规划方法 |
CN109948781A (zh) * | 2019-03-21 | 2019-06-28 | 中国人民解放军国防科技大学 | 用于自动驾驶车辆的连续动作在线学习控制方法及系统 |
Non-Patent Citations (3)
Title |
---|
姚爱红 等: "功能覆盖率驱动的TAU/MVBC模块验证", 《计算机应用研究》 * |
姚爱红 等: "基于模拟的SoC功能验证研究", 《微电子学与计算机》 * |
魏小义: "基于Transaction模式的SoC软硬件协同验证方法研究", 《中国优秀博硕士学位论文全文数据库(硕士)信息科技辑》 * |
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN113609802A (zh) * | 2020-05-04 | 2021-11-05 | 辉达公司 | 基于强化学习的集成电路中的路由连接 |
CN115496034A (zh) * | 2022-11-14 | 2022-12-20 | 沐曦集成电路(上海)有限公司 | 多模式gpu联合仿真系统 |
CN115796089A (zh) * | 2022-11-25 | 2023-03-14 | 南京金阵微电子技术有限公司 | 覆盖率驱动的验证方法、验证装置、介质及电子设备 |
Also Published As
Publication number | Publication date |
---|---|
CN110598309B (zh) | 2022-11-04 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN110598309B (zh) | 一种基于强化学习的硬件设计验证系统及方法 | |
Brilleman et al. | Simulating survival data using the simsurv R package | |
JP2007249974A (ja) | プロセッサ設計を特徴付けるための方法、装置、論理プログラム及びシステム | |
CN109242099A (zh) | 强化学习网络的训练方法、装置、训练设备及存储介质 | |
US8762115B2 (en) | System and method for evaluating nuclear reactor fueling plan | |
CN102147727A (zh) | 一种新增软件项目的软件工作量预测方法 | |
CN106850289A (zh) | 结合高斯过程与强化学习的服务组合方法 | |
CN113077052A (zh) | 用于稀疏奖励环境的强化学习方法、装置、设备及介质 | |
CN106796533A (zh) | 自适应地选择执行模式的系统和方法 | |
CN104484548B (zh) | 一种改进的序贯故障诊断策略优化方法 | |
White | A control system project development model derived from System Dynamics | |
GB2420886A (en) | Scoring mechanism for automatically generated test programs | |
Tailor et al. | Comparative analysis of software cost and effort estimation methods: a review | |
CN112488542A (zh) | 基于机器学习的智慧工地智能物料调度方法及系统 | |
CN110659199B (zh) | 一种基于传递依赖的类集成测试序列生成方法 | |
CN108563565B (zh) | 飞行着陆引导系统可靠性定量分析模型建立方法 | |
CN113377651A (zh) | 一种基于强化学习的类集成测试序列生成方法 | |
CN113822441B (zh) | 决策模型训练方法、装置、终端设备及存储介质 | |
US11295051B2 (en) | System and method for interactively controlling the course of a functional simulation | |
CN114238106A (zh) | 测试时间预测方法及装置、电子设备、存储介质 | |
Mishra et al. | Measuring project and quality aspects in agile software development | |
CN111090367A (zh) | 一种中央空调送风系统的虚拟仿真考核平台 | |
CN116151110A (zh) | 基于强化学习的强泛化能力加速器轨道校正方法和系统 | |
CN116128013B (zh) | 基于多样性种群训练的临机协同方法、装置和计算机设备 | |
Veneris et al. | Correcting multiple design errors in digital VLSI circuits |
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 |