uvm 形式验证_一种连接UVM验证平台的搭建方法与流程

本发明提出一种连接UVM验证平台的搭建方法,通过UVM平台产生激励并同时发送给RTL代码和Matlab模型,比较两者输出一致性以验证RTL代码的正确性。利用SystemVerilog的DPI接口连接UVM与Matlab,通过C头文件实现两者协同,通过脚本控制仿真器,确保逻辑和算法仿真器同步运行,提高芯片验证效率。
摘要由CSDN通过智能技术生成

技术领域本发明涉及芯片设计验证领域,具体地说是一种实用性强、连接UVM验证平台的搭建方法。

背景技术:

伴随着芯片集成度增加,各种通信与信号处理算法被集成到系统芯片中,这些算法通常需要先利用Matlab或Simulink进性算法层的建模,然后利用Matlab自带的转换器转换成RTL代码,或者人工将Matlab代码转换为RTL代码,供系统芯片集成,仿真综合使用。这种转换过程,尤其是人工转换,需要确保其功能的正确性,也就是算法层与逻辑层的功能相一致。这就需要进性一些验证与测试。UVM验证方法是芯片验证业界最新研发的一种验证方法学。工程师用它可创建坚实、可重用、具互操作性的验证组件和验证平台。UVM提供基于SystemVerilog语言开发的一套库函数,工程师通过调用库可以省去自己从零开始开发验证环境的麻烦。此套方法已经在芯片开发的行业得到较广泛应用,它的受控随机数产生机制能大大提高验证效率,对于算法实现类的模块的验证尤其适用。UVM本身是针对SystemVerilog语言开发的,所以若想将这套验证环境与Matlab环境连接,还是需要解决一些具体问题的。为了有效的利用UVM验证方法的优点,来验证算法实现电路的功能,本发明构建一个验证平台中同时运行针对SystemVerilog的仿真以及Matlab模型的仿真。

技术实现要素:

本发明的技术任务是针对以上不足之处,提供一种实用性强、连接UVM验证平台的搭建方法。一种连接UVM验证平台的搭建方法,其搭建过程为:通过UVM验证平台产生激励,将激励同时发送给RTL代码被测对象以及Matlab模型,比较两者输出的一致性,来确认RTL代码的正确性。其具体搭建过程为:设置UVM验证平台;设置Matlab模型;通过SystemVerilog的动态程序接口DPI连接UVM验证平台与Matlab模型;设置仿真器及可控制仿真器的脚本,并运行验证平台。所述UVM验证平台内置计分板,该记分板里嵌入上述Matlab模型,该UVM验证平台产生激励数据包并发送给RTL代码被测对象,同时将此数据记录下来,发送给记分板;RTL代码被测对象再输出数据信号给UVM验证平台,UVM验证平台进行收集后也发送给记分板,记分板对两组数据流进性比较,判断是否正确。UVM验证平台里嵌入Matlab模型的具体过程为:首先实现SystemVerilog与Matlab的协同,两者的协同通过一个C程序的头文件来实现,即:通过Matlab自带的C函数库实现对Matlab的控制,调用Matlab的启动、关闭、输入输出;SystemVerilog的动态程序接口DPI直接导入和导出上述C函数库中的函数,从而实现通过SystemVerilog调用C程序然后控制Matlab,实现把Matlab模型嵌入UVM验证平台。所述仿真器包括逻辑仿真器和算法仿真器,并通过脚本实现对仿真器控制,来打开DPI的使能以及使Matlab工具与逻辑仿真器同时启动,以便完成验证平台的数据监测功能;通过使用SystemVerilogDPI连接UVM验证平台与Matlab模型使得逻辑仿真器与算法仿真器同时运行,保证了算法到逻辑映射转换的正确性。本发明的一种连接UVM验证平台的搭建方法,具有以下优点:本发明提供的一种连接UVM验证平台的搭建方法通过利用UVM验证平台产生激励,将激励同时发送给RTL代码被测对象以及高层次Matlab模型,比较两者输出的一致性来,来确认RTL代码的正确性,有效的利用UVM验证方法的优点,来验证算法实现电路的功能,能极大提高带有各种复杂算法的芯片验证的效率,缩短芯片开发周期,实用性强,易于推广。附图说明附图1为本发明的UVM验证平台示意图。附图2为UVM验证平台与Matlab模型的连接关系图。附图3为Matlab控制的C头文件图。附图4为Matlab控制的SystemVerilog调用过程图。具体实施方式下面结合附图和具体实施例对本发明作进一步说明。如附图1、图2所示,本发明的一种连接UVM验证平台的搭建方法,其搭建过程为:通过UVM验证平台产生激励,将激励同时发送给RTL代码被测对象以及高层次Matlab或simulink模型,比较两者输出的一致性,来确认RTL代码的正确性。其具体搭建过程为:设置UVM验证平台;设置Matlab模型;通过SystemVerilog的动态程序接口DPI连接UVM验证平台与Matlab模型;设置仿真器及可控制仿真器的脚本,并运行验证平台。所述UVM验证平台内置计分板,该记分板里嵌入上述Matlab模型,该UVM验证平台产生激励数据包并发送给RTL代码被测对象,同时将此数据记录下来,发送给记分板;RTL代码被测对象再输出数据信号给UVM验证平台,UVM验证平台进行收集后也发送给记分板,记分板对两组数据流进性比较,判断是否正确。与普通UVM验证平台不用的唯一一点是记分板里接入了一个Matlab模型,来运行被测对象的算法实现。为了让SystemVerilog实现的UVM验证平台与Matlab模型同时运行,需要正确的连接他们,图2表示了这种连接的实现。UVM验证平台里嵌入Matlab模型的具体过程为:首先实现SystemVerilog与Matlab的协同,两者的协同通过一个C程序的头文件来实现,即:通过Matlab自带的C函数库实现对Matlab的控制,调用Matlab的启动、关闭、输入输出,图3是这个C头文件的示例;SystemVerilog的动态程序接口DPI直接导入和导出上述C函数库中的函数,从而实现通过SystemVerilog调用C程序然后控制Matlab,实现把Matlab模型嵌入UVM验证平台,图4是SystemVerilog调用C控制Matlab的过程示例。所述仿真器包括逻辑仿真器和算法仿真器,并通过脚本实现对仿真器控制。对于不同的仿真器,也需要加入一些特别的仿真器控制指令,即上述控制脚本来打开DPI的使能以及使Matlab工具与逻辑仿真器同时启动,以便完成验证平台的数据监测功能。通过使用SystemVerilogDPI连接UVM验证平台与Matlab模型能使得逻辑仿真器与算法仿真器同时运行,保证了算法到逻辑映射转换的正确性,提高了开发效率。上述具体实施方式仅是本发明的具体个案,本发明的专利保护范围包括但不限于上述具体实施方式,任何符合本发明的一种连接UVM验证平台的搭建方法的权利要求书的且任何所述技术领域的普通技术人员对其所做的适当变化或替换,皆应落入本发明的专利保护范围。

  • 0
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值