Loading...
机构名称:
¥ 8.0

在数字设计上下文中的验证是在释放或部署系统之前测试和验证其行为的过程。这是设计过程的基础部分,由于获得完整覆盖的复杂性,通常需要超过一半的开发时间。传统的验证技术,例如定向测试和约束随机测试,通常无法捕获复杂系统中的关键边缘病例。为了解决这一差距,本论文探讨了钢筋学习(RL)在RISC-V内核的功能验证中的应用,这些核心正在变得越来越流行,特别是通过自动生成的组装代码来增强测试覆盖范围。此调查首先要为RISC-V内核建立一个测试台,旨在使用SystemVerilog(SV)中的通用验证方法(UVM)和Spike指令将模拟器与黄金模型相同。然后将测试台转换为基于Python的环境,使用PYUVM库和Verilator作为模拟器,以启用开源设置。这有助于与流中所需的其余组件的集成,例如自定义指令生成器和覆盖范围集合,为闭环指令生成和核心状态观察提供了灵活的框架。我们此时介绍RL代理,以基于覆盖范围指标和中央处理单元(CPU)状态(例如,注册文件和程序计数器)指导指令生成器。在两种情况下,都进行了不同的状态向量和奖励功能。由于动作空间是如此巨大,并且从未被其他研究作品解决,因此第一代理实施涉及定制的RL代理,依靠体育馆对环境具有标准的API。它使用基于神经网络的深Q学习代理作为函数近似器,分为状态编码器和专业的儿童神经网络(NN),以避免动作空间大小的爆炸。第二种方法使用StableBaseline 3(SB3)库,提供已建立的RL算法,包括近端策略优化和多输入策略。最后,我们将RL代理商获得的训练后结果与通过向指令生成器请求随机指令获得的平均覆盖范围进行了比较。第一代理方法由于NN没有融合而没有显示出任何改进,这是由于

RISC-V功能验证的强化学习框架

RISC-V功能验证的强化学习框架PDF文件第1页

RISC-V功能验证的强化学习框架PDF文件第2页

RISC-V功能验证的强化学习框架PDF文件第3页

RISC-V功能验证的强化学习框架PDF文件第4页

RISC-V功能验证的强化学习框架PDF文件第5页