一种残膜回收机防缠绕挑膜装置的制 一种秧草收获机用电力驱动行走机构

对设计与验证平台连接集成的改进方法、存储介质与流程

2022-08-13 20:39:30 来源:中国专利 TAG:


1.本发明涉及芯片验证技术领域,特别涉及一种对设计与验证平台连接集成的改进方法和存储介质。


背景技术:

2.通常我们使用virtual interface的方式连接dut和验证平台(testbench)。
3.通常我们在对dut(design under test,待测设计)进行验证时,广泛使用uvm(universal verification methodology,通用验证方法学)来搭建验证平台(testbench)。基于该验证方法学,我们需要将该dut连接集成到验证平台中以对其功能特性进行验证测试,往往我们会使用virtual interface接口的方式来进行两者的连接。
4.如图1所示,是一个基于uvm验证平台的典型架构。从中可以看到,我们往往会通过interface将dut连接到我们的验证平台。此时,我们通常需要在顶层模块中完成以下几件事:(1)声明interface接口;(2)将interface接口连接到dut;(3)通过uvm的配置数据库set config_db向验证环境(env)传递interface接口;(4)验证环境中的验证组件再从uvm的配置数据库中拿到该interface接口,从而获取到dut上的信号。
5.下面来看现有方案的简单示例:首先来看interface接口,如图2所示,其中有两个数据信号成员,分别是field1和field2。
6.然后来看对应的验证组件,以驱动器driver为例,如图3所示,首先在build_phase里从uvm的配置数据库中拿到该interface接口,然后在run_phase里首先对interface接口信号进行复位,然后不断获取序列器sequencer过来的激励请求,如果为空则继续进行复位操作,如果不为空,则将激励请求信号驱动到interface接口上,从而施加给dut的输入端口。
7.主要缺陷采用上述方案是最常见的做法,但是并不符合软件开发的松耦合的原则,因为这会将验证平台中的验证组件和interface接口形成紧耦合的关系。如果interface接口在开发过程中有修改,那么与该接口紧耦合的很多验证组件代码相应的也需要进行修改。比如在rtl(register transfer level,寄存器传输级)设计和验证的过程中,设计人员可能会修改部分rtl中的接口信号,那么验证人员开发的验证平台的代码也要同步进行修改,此时,验证人员通常可以采用如下两种方法来同步:(1)直接去修改原先验证环境中的代码;(2)将原先验证环境中的代码整个复制下来然后再做修改;第一种方法,永远只有一份最新的验证环境的代码,无法对以往的代码版本进行
追溯。
8.第二种方法,尽量不要在多个地方出现重复的代码是软件开发的原则,首先复制的过程可能会遗漏出错,其次万一需要对重复部分的代码进行修改,那么需要修改多个地方,繁琐且容易出错。
9.因此,以上两种方法既不方便代码管理,又显得非常笨拙。更优的做法是,提供一种类似软件版本管理的方式,对原先已经编写好的验证平台的代码进行复用,从而尽可能降低将来代码管理的难度,同时提高验证人员开发工作的效率。
10.

技术实现要素:

11.根据本发明实施例,提供了一种对设计与验证平台连接集成的改进方法,包含如下步骤:创建interface接口的代理模板类;在interface接口中对代理模板类进行继承,并实现代理模板类内部的纯虚方法;声明并构造interface接口的代理;创建interface接口相关的验证组件,使用验证组件获取interface接口的代理,用代理完成对激励请求的驱动操作。
12.进一步,代理模板类可根据interface接口中预设的数据信号成员,实现相应的代理方法,用于来设置和获取信号值。
13.进一步,代理模板类内除相应的代理方法,还包含复位和时钟边沿等待的代理方法。
14.进一步,在使用验证组件获取interface接口的代理时,验证组件不再需要获取interface接口。
15.根据本发明又一实施例,提供了一种具有处理器可执行的非易失的程序代码的存储介质,程序代码使处理器运行对设计与验证平台连接集成的改进方法。
16.根据本发明实施例的对设计与验证平台连接集成的改进方法,解决验证平台中的验证组件和interface接口紧耦合的所带来的问题。加强对验证平台代码的管理,提高验证人员的开发效率。
17.要理解的是,前面的一般描述和下面的详细描述两者都是示例性的,并 且意图在于提供要求保护的技术的进一步说明。
18.附图说明
19.图1为uvm验证平台的典型架构。
20.图2为现有方案的第一代码图。
21.图3为现有方案的第二代码图。
22.图4为根据本发明实施例对设计与验证平台连接集成的改进方法的流程图。
23.图5为根据本发明实施例对设计与验证平台连接集成的改进方法的结构图。
24.图6为根据本发明实施例对设计与验证平台连接集成的改进方法的举例的第一代
码图。
25.图7为根据本发明实施例对设计与验证平台连接集成的改进方法的举例的第二代码图。
26.图8为根据本发明实施例对设计与验证平台连接集成的改进方法的举例的第三代码图。
27.具体实施方式
28.以下将结合附图,详细描述本发明的优选实施例,对本发明做进一步阐述。
29.首先,将结合图4~5描述根据本发明实施例的对设计与验证平台连接集成的改进方法,用于芯片的验证使用,其应用场景很广。
30.如图4~5所示,本发明实施例的对设计与验证平台连接集成的改进方法,包含如下步骤:在s1中,如图4所示,创建interface接口的代理模板类。在本实施例中,代理模板类必须被继承并实现其内部的纯虚方法。进一步,代理模板类可根据interface接口中预设的数据信号成员,实现相应的代理方法,用于来设置和获取信号值。代理模板类内除相应的代理方法,还包含复位和时钟边沿等待的代理方法,根据具体项目中的接口协议,可以在这里增加更多的相应代理方法。
31.在s2中,如图4所示,在interface接口中对代理模板类进行继承,并实现代理模板类内部的纯虚方法。
32.在s3中,如图4所示,声明并构造interface接口的代理。
33.在s4中,如图4所示,创建interface接口相关的验证组件,使用验证组件获取interface接口的代理,用代理完成对激励请求的驱动操作。在本实施例中,进一步,在使用验证组件获取interface接口的代理时,验证组件不再需要获取interface接口。
34.通过以上四个步骤已经完成对现有方案的替代。
35.举例如下:如果设计人员将rtl设计的端口信号增加了一个数据信号成员field3,那么可以通过以下几个步骤更新验证环境的代码。
36.第一步,如图6所示,需要继承之前接口的代理模板类并新增针对新增成员field3操作代理的纯虚方法,从而形成新的代理模板类。
37.第二步,如图7所示,在相应的interface接口中对上一步的代理模板类进行继承,然后新增实现上一步对新增成员field3操作的代理方法。
38.第三步,如图8所示,对之前的验证组件进行继承以复用之前的代码,只需要调用父类的方法并新增修改的部分即可。
39.可以看到在drive驱动方法里,通过super关键字调用了父类的方法,然后再通过接口代理的方法来驱动新增的数据信号成员,此时就完成了验证环境代码与interface接口的同步修改。
40.以上,参照图4~5描述了根据本发明实施例的对设计与验证平台连接集成的改进方法,解决验证平台中的验证组件和interface接口紧耦合的所带来的问题。加强对验证平
台代码的管理,提高验证人员的开发效率。
41.根据本发明又一实施例,提供了一种具有处理器可执行的非易失的程序代码的存储介质,程序代码使处理器运行对设计与验证平台连接集成的改进方法。
42.需要说明的是,在本说明书中,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者设备所固有的要素。在没有更多限制的情况下,由语句“包含
……”
限定的要素,并不排除在包括要素的过程、方法、物品或者设备中还存在另外的相同要素。
43.尽管本发明的内容已经通过上述优选实施例作了详细介绍,但应当认识到上述的描述不应被认为是对本发明的限制。在本领域技术人员阅读了上述内容后,对于本发明的多种修改和替代都将是显而易见的。因此,本发明的保护范围应由所附的权利要求来限定。
再多了解一些

本文用于企业家、创业者技术爱好者查询,结果仅供参考。

发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表

相关文献