掌桥专利:专业的专利平台
掌桥专利
首页

监测和控制DUT内部信号的方法

文献发布时间:2023-06-19 13:49:36


监测和控制DUT内部信号的方法

技术领域

本发明涉及RTL设计验证方法技术领域,特别涉及一种监测和控制DUT内部信号的方法。

背景技术

在对RTL设计做验证的时候,会存在如下需求:直接访问RTL设计的内部信号来给定一个值;驱动RTL设计内部信号进行人为错误注入的验证;对RTL设计内部的一些断言以做细节性的检查验证;动态监测RTL设计内部的信号值。

基于上述要求,需要对RTL设计内部的信号进行监测和控制,现有的技术方案如图1所示,通常是将相应的internal_signal写到interface上,在合适的时间将RTL设计内部信号通过driver驱动到interface上,最后通过调用interface的相关接口方法来实现监测和控制,但现有技术方案存在如下缺陷:

RTL设计内部信号和实际的输入输出接口信号都通过interface接口来实现,需要手动将RTL设计内部的信号与该interface的相关信号进行连接,如果RTL设计层次复杂,会使得后续的验证代码变得不可重用,降低了开发效率;

需要编写实现RTL设计内部信号的driver和monitor逻辑,甚至在其对应的transaction也要增加相应的信号成员,实现起来麻烦;

为了观测RTL设计内部的信号就将这些内部信号通过interface进行连接和实现,代码冗余笨重,不方便管理,也不符合原先interface接口的使用原则。

发明内容

根据本发明实施例,提供了一种监测和控制DUT内部信号的方法,包含如下步骤:

建立接口组件,获取外部的RTL设计中的DUT的内部信号;

建立抽象类,在抽象类中创建若干个纯虚方法供接口组重载;

在抽象类中封装若干个纯虚方法,获得虚方法包;

导入虚方法包至接口组件,接口组件继承抽象类,并派生子类;

接口组件重载子类中的若干个纯虚方法,获得派生类;

建立配置数据库,获取并传递派生类;

创建抽象类句柄并获取配置数据库传递的派生类;

获取抽象类句柄,调用抽象句柄中的若干个纯虚方法。

进一步,接口组件与RTL设计中的DUT绑定在一起。

进一步,重载的若干个虚方法含:第一虚方法、第二虚方法、第三虚方法与第四虚方法;

第一虚方法对RTL设计中的内部信号进行赋值;

第二虚方法解除RTL设计中的内部信号的赋值;

第三虚方法检测RTL设计中的内部信号的输出;

第四虚方法定义等待时间。

进一步,抽象类句柄在验证环境的组件或对象中创建。

根据本发明实施例的监测和控制DUT内部信号的方法,解决了现有技术中存在的缺陷,减少了开发工作量,代码清晰整洁易于维护,避免了RTL设计与验证环境作用域不同的问题,便于被其它验证平台重用,对大型芯片项目的验证有重要的意义。

要理解的是,前面的一般描述和下面的详细描述两者都是示例性的,并且意图在于提供要求保护的技术的进一步说明。

附图说明

图1为现有技术中监测和控制DUT内部信号的方法的原理图;

图2为根据本发明实施例监测和控制DUT内部信号的方法的原理图;

图3为根据本发明实施例监测和控制DUT内部信号的方法的的流程图。

具体实施方式

以下将结合附图,详细描述本发明的优选实施例,对本发明做进一步阐述。

首先,将结合图2~3描述根据本发明实施例的监测和控制DUT内部信号的方法,用于检测和控制DUT(Design under Test,待测设计)内部信号,其应用场景广阔。

如图2所示,本发明实施例的监测和控制DUT内部信号的方法,包含如下步骤。

在S1中,如图2~3所示,建立接口组件(interface wrapper),获取外部的RTL(Register Transfer Level)设计中的DUT的内部信号。

进一步,接口组件(interface wrapper)与RTL设计中的DUT绑定在一起,便于直接访问RTL(Register Transfer Level,寄存器传输级)设计的内部信号,无需手动将RTL设计内部的信号与interface的相关信号进行连接,避免因RTL设计层次复杂而使得后续的验证代码变得不可重用,降低开发效率。

在S2中,如图2所示,建立抽象类,在抽象类中创建若干个纯虚方法供接口组重载。

在S3中,如图2所示,在抽象类中封装若干个纯虚方法,获得虚方法包。

在S4中,如图2~3所示,导入虚方法包至接口组件(interface wrapper),接口组件(interface wrapper)继承抽象类,并派生子类。

在S5中,如图2~3所示,接口组件(interface wrapper)重载子类中的若干个虚方法,获得派生类。

进一步,重载的若干个虚方法含:第一虚方法、第二虚方法、第三虚方法与第四虚方法;第一虚方法用于对RTL设计中的内部信号强行赋值;第二虚方法解除RTL设计中的内部信号强行赋值;第三虚方法检测RTL设计中的内部信号的输出;第四虚方法用于等待一定数量的时钟上升沿。

在S6中,如图2~3所示,建立配置数据库(config_db),获取并传递派生类至RTL设计的验证环境,解决了现有技术中设计与验证环境不同的问题。

在S7中,如图2~3所示,创建抽象类句柄并获取配置数据库(config_db)传递的派生类。

进一步,抽象类句柄在验证环境的组件或对象中创建,验证环境的组件或对象即driver组件、monitor组件和sequencer组件。

在S8中,如图2所示,在需要的地方获取抽象类句柄,调用抽象句柄中的若干个虚方法,达到对RTL设计内部信号的检测与控制的效果。

以上,参照图2~3描述了根据本发明实施例的监测和控制DUT内部信号的方法,解决了现有技术中存在的缺陷,减少了开发工作量,代码清晰整洁易于维护,避免了RTL设计与验证环境作用域不同的问题,便于被其它验证平台重用,对大型芯片项目的验证有重要的意义。

需要说明的是,在本说明书中,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者设备所固有的要素。在没有更多限制的情况下,由语句“包含……”限定的要素,并不排除在包括所述要素的过程、方法、物品或者设备中还存在另外的相同要素。

尽管本发明的内容已经通过上述优选实施例作了详细介绍,但应当认识到上述的描述不应被认为是对本发明的限制。在本领域技术人员阅读了上述内容后,对于本发明的多种修改和替代都将是显而易见的。因此,本发明的保护范围应由所附的权利要求来限定。。

相关技术
  • 监测和控制DUT内部信号的方法
  • 电力设备内部故障光信号采集和在线监测方法
技术分类

06120113821842