CN116627496B - 基于uvm的寄存器模型构建、验证方法、系统与电子设备 - Google Patents
基于uvm的寄存器模型构建、验证方法、系统与电子设备 Download PDFInfo
- Publication number
- CN116627496B CN116627496B CN202310219739.0A CN202310219739A CN116627496B CN 116627496 B CN116627496 B CN 116627496B CN 202310219739 A CN202310219739 A CN 202310219739A CN 116627496 B CN116627496 B CN 116627496B
- Authority
- CN
- China
- Prior art keywords
- register
- model
- uvm
- indirect
- type
- 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.)
- Active
Links
- 238000012795 verification Methods 0.000 title claims abstract description 80
- 238000000034 method Methods 0.000 title claims abstract description 74
- 238000010276 construction Methods 0.000 title abstract description 22
- 238000013507 mapping Methods 0.000 claims abstract description 95
- 238000013461 design Methods 0.000 claims description 18
- 238000004590 computer program Methods 0.000 claims description 9
- 238000010200 validation analysis Methods 0.000 claims description 2
- 230000008569 process Effects 0.000 abstract description 13
- 238000011161 development Methods 0.000 abstract description 6
- 238000010586 diagram Methods 0.000 description 13
- 230000006870 function Effects 0.000 description 8
- 238000012986 modification Methods 0.000 description 5
- 230000004048 modification Effects 0.000 description 5
- 238000012545 processing Methods 0.000 description 4
- 230000008878 coupling Effects 0.000 description 3
- 238000010168 coupling process Methods 0.000 description 3
- 238000005859 coupling reaction Methods 0.000 description 3
- 238000005516 engineering process Methods 0.000 description 3
- 230000010354 integration Effects 0.000 description 3
- 238000012423 maintenance Methods 0.000 description 3
- 230000003287 optical effect Effects 0.000 description 3
- 230000002093 peripheral effect Effects 0.000 description 3
- 238000004891 communication Methods 0.000 description 2
- 230000000694 effects Effects 0.000 description 2
- 230000001965 increasing effect Effects 0.000 description 2
- 239000007787 solid Substances 0.000 description 2
- 238000006243 chemical reaction Methods 0.000 description 1
- 238000013500 data storage Methods 0.000 description 1
- 230000002708 enhancing effect Effects 0.000 description 1
- 239000000284 extract Substances 0.000 description 1
- 239000000835 fiber Substances 0.000 description 1
- 230000003993 interaction Effects 0.000 description 1
- 230000000135 prohibitive effect Effects 0.000 description 1
- 239000004065 semiconductor Substances 0.000 description 1
- 238000006467 substitution reaction Methods 0.000 description 1
- 230000001502 supplementing effect Effects 0.000 description 1
- 238000012360 testing method Methods 0.000 description 1
- 238000012546 transfer Methods 0.000 description 1
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/30—Arrangements for executing machine instructions, e.g. instruction decode
- G06F9/30098—Register arrangements
- G06F9/30105—Register structure
Abstract
本发明提供一种基于UVM的寄存器模型构建、验证方法与系统,其中,构建方法包括:构建中间寄存器模型;基于所述中间寄存器模型生成间接寄存器映射模型;基于所述间接寄存器映射模型利用UVM类型重载得到顶层寄存器模型。本发明提出的间接寄存器模型,访问时在很多方面上打破了UVM所提供的间接寄存器具有的诸多局限性,在具备通用性的同时,兼具较大的自由度与可扩展性,适用于复杂的SOC验证环境,其次在验证时可以让验证人员以更小的代价实现更灵活、可靠的间接寄存器访问,从而帮助组建高效的寄存器模型架构,从而降低芯片开发过程中的开销与风险。
Description
技术领域
本发明涉及芯片验证技术领域,特别是涉及一种基于UVM的寄存器模型构建、验证方法与系统。
背景技术
随着芯片工艺制程的日益先进,流片成本也以指数级增长,字芯片验证工作在全芯片流程中的重要性也越来越突出,UVM凭借其优异的可重用性、可解释性和易用性已成为数字芯片验证领域的主流方法学。
通常情况下,通用验证方法学(UVM,Universal Verification Methodology)提供的寄存器模型(RAL,Register Abstraction Layer)可以非常方便的对待验证设计(DUT,Design Under Test)中的寄存器进行建模,并且提供了一系列的寄存器访问接口方法来方便的对DUT中寄存器的读写访问以及其功能进行验证。
如图1所示,将一套间接寄存器数据类包含于寄存器抽象模型的设计中,通过建立的一套间接寄存器数据类以及一个用以执行间接前门访问的驱动序列实现,尽管该方法可以实现间接访问的意图,但在实际应用中会有非常大的局限性。
发明内容
本发明提供一种基于UVM的寄存器模型构建、验证方法与系统,用于解决UVM寄存器间接访问的技术问题。
第一方面,本申请提供了一种基于UVM的寄存器模型构建方法,所述方法包括:
构建中间寄存器模型;
基于所述中间寄存器模型生成间接寄存器映射模型;
基于所述间接寄存器映射模型利用UVM类型重载得到顶层寄存器模型。
其中,本申请提出的间接寄存器模型,访问时在很多方面上打破了UVM所提供的间接寄存器具有的诸多局限性,在具备通用性的同时,兼具较大的自由度与可扩展性,适用于复杂的SOC验证环境,具体地,首先它没有对中间寄存器加以限制,更不会反过来约束芯片的设计架构。即表明中间寄存器可以以任意结构存在,包括但不限于中间地址寄存器、中间数据寄存器等,从而支持更复杂的间接访问操作;其次,由于本方案中的间接寄存器映射类仅仅作为传统UVM寄存器映射类的重载,而对目的内部寄存器的地址等信息并不敏感,这从根本上避免了UVM间接寄存器中对内部寄存器偏址必须从零开始的设置要求。
在本申请一个可能的实现方式中,所述构建中间寄存器模型,具体包括:
获取输入的被验证设计参数;
基于所述被验证设计参数得到目标寄存器类型,所述目标寄存器类型至少包括中间地址寄存器、中间数据寄存器以及中间状态寄存器中的一种;
基于所述目标寄存器类型增加相应句柄得到所述中间寄存器模型。
在本申请一个可能的实现方式中,所述基于所述中间寄存器模型生成间接寄存器映射模型,具体包括:
获取输入的配置参数得到配置文件,所述配置文件包括接口信息以及映射关系;
重载原生读写任务以及输入的任务参数得到任务文件,所述任务文件在调用时用于结合所述接口信息以及所述映射关系完成对应的任务类型;
基于所述配置文件、所述任务文件以及所述中间寄存器模型得到所述间接寄存器映射模型。
在本申请一个可能的实现方式中,所述基于所述间接寄存器映射模型利用UVM类型重载得到顶层寄存器模型,具体包括:
构建标准寄存器模型,所述标准寄存器模型对应一个或多个寄存器块映射关系;
基于所述间接寄存器模型利用UVM类型重载得到UVM寄存器映射关系,所述UVM寄存器映射关系包括所述间接寄存器模型与所述标准寄存器模型之间的映射关系;
基于所述标准寄存器模型、所述间接寄存器映射模型以及所述UVM寄存器映射关系得到所述顶层寄存器模型。
第二方面,本申请提供了一种基于UVM的寄存器模型验证方法,所述方法包括:
获取输入的验证数据;
基于所述验证数据应用于构建好的顶层寄存器模型中进行验证,其中,基于所述验证数据识别对应的物理接口并进行接口绑定;
基于所述验证数据以及所述顶层寄存器模型中的UVM寄存器映射关系进行访问操作验证
其中,本申请提供了对多种物理接口映射关系的支持,且不论从定义还是使用上来说都相当简便,更适用于复杂的SOC验证环境;其次,本申请还可以扩展支持对内存的间接访问、突发访问等操作,适用于多种需求。
在本申请一个可能的实现方式中,所述基于所述验证数据识别对应的物理接口并进行接口绑定,具体包括:
基于所述顶层寄存器模型中的间接寄存器模型获取配置文件,从而得到接口配置参数;
基于所述接口配置参数识别对应的物理接口,从而基于所述物理接口的驱动进行绑定。
在本申请一个可能的实现方式中,所述基于所述验证数据以及所述顶层寄存器模型中的UVM寄存器映射关系进行访问操作验证,具体包括:
基于所述顶层寄存器模型中的间接寄存器模型获取目标寄存器类型和任务文件;
基于所述目标寄存器类型以及所述任务文件确定任务类型,其中,所述任务类型包括读/写任务;
利用UVM寄存器映射关系识别待验证的寄存器块,并结合所述任务类型进行访问操作。
在本申请一个可能的实现方式中,所述目标寄存器类型至少包括中间地址寄存器、中间数据寄存器以及中间状态寄存器中的一种。
第三方面,本申请提供了一种基于UVM的寄存器模型构建系统,所述系统包括:构建模块,用于构建中间寄存器模型;生成模块,用于基于所述中间寄存器模型生成间接寄存器映射模型;重载模块,用于基于所述间接寄存器映射模型利用UVM类型重载得到顶层寄存器模型。
第四方面,本申请提供了一种基于UVM的寄存器模型验证系统,所述系统包括:获取模块,用于获取输入的验证数据;验证模块,用于基于所述验证数据应用于构建好的顶层寄存器模型中进行验证,其中,基于所述验证数据识别对应的物理接口并进行接口绑定;以及基于所述验证数据和所述顶层寄存器模型中的UVM寄存器映射关系进行访问验证。
第五方面,本申请提供了一种电子设备,包括存储器,用于存储计算机程序;处理器,用于执行所述计算机程序,实现所述的基于UVM的寄存器模型构建方法或UVM的寄存器模型验证方法。
如上所述,本发明的基于UVM的寄存器模型构建、验证方法与系统,在应用上采用了UVM工厂方法类型重载技术,不论是从零搭建验证环境,还是在现有环境的寄存器模型基础上进行增强整合该方案,所付出的代价都非常小,可维护性强,尤其对现有环境基础上的整合提供便利,基本不需要对当前寄存器模型结构进行修改,验证人员只需要建立个性化的间接寄存器映射类,并将它重载至UVM寄存器映射类即可。如此对内部寄存器模型的弱依赖性也意味着在芯片开发过程中,一旦建立了本方案提出的寄存器间接访问映射关系,不论后续内部寄存器做如何改动,都不需要在间接访问方面做任何修改,极大的减少了验证人员对环境的维护开销。另外来说,本申请可以让验证人员以更小的代价实现更灵活、可靠的间接寄存器访问,从而帮助组建高效的寄存器模型架构,来最大程度上降低芯片开发过程中的开销与潜在风险。
附图说明
图1显示为常规的寄存器模型的结构示意图;
图2显示为本发明的基于UVM的寄存器构建方法于一实施例中的方法步骤示意图;
图3显示为本发明的基于UVM的寄存器构建方法于一实施例中的标准的UVM寄存器模型结构示意图;
图4显示为本发明的基于UVM的寄存器构建方法于一实施例中的方法步骤示意图;
图5显示为本发明的基于UVM的寄存器构建方法于一实施例中的中间寄存器结构示意图;
图6显示为本发明的基于UVM的寄存器构建方法于一实施例中的方法步骤示意图;
图7显示为本发明的基于UVM的寄存器构建方法于一实施例中的方法步骤示意图;
图8显示为本发明的基于UVM的寄存器构建方法于一实施例中的间接寄存器映射模型结构示意图;
图9显示为本发明的基于UVM的寄存器构建方法于又一实施例中的顶层寄存器模型结构示意图;
图10显示为本发明的基于UVM的寄存器验证方法于又一实施例中的方法步骤示意图;
图11显示为本发明的基于UVM的寄存器验证方法于一实施例中的验证环境结构示意图;
图12显示为本发明的基于UVM的寄存器构建系统于一实施例中的结构示意图;
图13显示为本发明的基于UVM的寄存器验证系统于一实施例中的结构示意图。
元件标号说明
S202~S206 步骤
S402~S406 步骤
S602~S606 步骤
S802~S806 步骤
S1002~S1006 步骤
120 基于UVM的寄存器构建系统
121 构建模块
122 生成模块
123 重载模块
130 基于UVM的寄存器验证系统
131 获取模块
132 验证模块
具体实施方式
以下通过特定的具体实例说明本发明的实施方式,本领域技术人员可由本说明书所揭露的内容轻易地了解本发明的其他优点与功效。本发明还可以通过另外不同的具体实施方式加以实施或应用,本说明书中的各项细节也可以基于不同观点与应用,在没有背离本发明的精神下进行各种修饰或改变。需说明的是,在不冲突的情况下,以下实施例及实施例中的特征可以相互组合。
需要说明的是,以下实施例中所提供的图示仅以示意方式说明本发明的基本构想,遂图式中仅显示与本发明中有关的组件而非按照实际实施时的组件数目、形状及尺寸绘制,其实际实施时各组件的型态、数量及比例可为一种随意的改变,且其组件布局型态也可能更为复杂。
UVM针对数字芯片中的寄存器建立了一套寄存器抽象层方法,帮助验证人员根据实际待验模块建立层次化的寄存器模型,提供多种如读、写、更新等实用的函数。在SOC中,通常会提供如I2C,MDIO,SPI等外设接口,作为以调试、配置等目的的片内寄存器访问手段。而受到此类轻量级接口协议的限制,比如“MDIO Clause 22”仅支持五位地址,难以覆盖高达三十二位甚至更宽的SOC片内寄存器、内存地址。为了解决这类问题,绝大多数SOC在设计时考虑了间接访问模式。即直接暴露给外设接口的为一组中间寄存器,往往只包含地址寄存器,数据寄存器,指令寄存器以及状态寄存器。外设接口可通过将目的寄存器地址、数据以及指令依次写入中间寄存器,以此驱动SOC进行内部寄存器访问,并返回执行状态或读取数据,与外设接口完成交互。
在背景技术中也有说明现有的方法存在缺点,举例来说,第一,现有方法灵活性弱,其对芯片在寄存器结构上的设计提出要求,中间寄存器只包含地址寄存器和数据寄存器,且要求相关模块对物理接口的协议进行解析直接转换为读、写操作指令。而在很多时候,设计往往会对简介访问增加其他中间寄存器,如状态寄存器,指令仅存器等来支撑更复杂的指令,如按地址连续读、块状写入等等,现有方法便不能支持。第二,现有方法维护性差,由于其视内部寄存器为阵列结构,即要求其地址映射为连续的,若要求SOC中所有内部寄存器地址连续且从零开始,几乎不现实,再若SOC中各个模块各自有从零开始的连续偏址作为其内部寄存器的地址映射,不仅需要做额外地址偏移处理,还需对每组内部寄存器都单独建立一套间接寄存器数据实例,面对实际芯片中可能达到上百个位于不同模块层次的内部寄存器组,冗余度非常大,实现和维护的复杂度也让人望而却步。第三,现有方法在复杂SOC场景下可扩展性弱。如上文所述,复杂的SOC会引入多种物理接口,且对不同的接口由于其协议各不相同,芯片在设计上可能会针对某个接口提出差异化的间接访问方法,而UVM提供的间接寄存器难以实现这一点。第四,现有方法不支持对内部内存的间接访问,这是由于UVM只提供了间接寄存器数据类,并没有提供类似的间接内存数据类。因此,为了解决UVM提供的间接寄存器方案的不足,本申请提出一种更具通用性、可扩展性以及易用性的间接寄存器访问方案来克服上述缺点。
请参阅图2,于发明一实施例中,本发明的基于UVM的寄存器模型构建方法,所述方法包括如下步骤:
步骤S202,构建中间寄存器模型;
步骤S204,基于所述中间寄存器模型生成间接寄存器映射模型;
步骤S206,基于所述间接寄存器映射模型利用UVM类型重载得到顶层寄存器模型。
需要说明的是,于本实施例中,本申请提出的UVM寄存器模型遵从UVM的语法和理念,以自定义的寄存器映射重载UVM原生的寄存器映射,在其中进行个性化的间接寄存器访问流程,包括对物理接口的选择、切换,甚至其他更复杂的差异化操作,其中,标准的UVM寄存器模型架构如图3所示。在构造时,每个寄存器都会与一个或多个寄存器映射进行关联,一般来说寄存器映射是与物理接口一一对应的,以此来实现通过不同的物理接口对同一个寄存器进行操作。在访问过程中,UVM会根据所选的寄存器映射调用其中的操作函数(do_write/do_read)将寄存器访问指令传递给与之绑定的物理接口驱动器,进而在物理总线上发起写/读操作。
具体地,如图4所示,所述构建中间寄存器模型,具体包括如下步骤:
步骤S402,获取输入的被验证设计参数;
步骤S404,基于所述被验证设计参数得到目标寄存器类型,所述目标寄存器类型至少包括中间地址寄存器、中间数据寄存器以及中间状态寄存器中的一种;
步骤S406,基于所述目标寄存器类型增加相应句柄得到所述中间寄存器模型。
需要说明的是,于本实施例中,所述中间寄存器模型可以被用户定义,具体可以通过获取用户端输入的所述被验证设计参数来识别对应的目标寄存器类型,相应地,所述目标寄存器类型至少包括中间地址寄存器、中间数据寄存器以及中间状态寄存器中的一种,通过增加相应的不同类型的目标寄存器模型的句柄可以得到所述中间寄存器模型,其中,如图5所示,本实施例中的中间寄存器模型就包括了中间地址寄存器、中间数据寄存器、中间状态寄存器以及其他中间寄存器。
进一步地,于发明一实施例中,如图6所示,所述基于所述中间寄存器模型生成间接寄存器映射模型,具体包括如下步骤:
步骤S602,获取输入的配置参数得到配置文件,所述配置文件包括接口信息以及映射关系;
步骤S604,重载原生读写任务以及输入的任务参数得到任务文件,所述任务文件在调用时用于结合所述接口信息以及所述映射关系完成对应的任务类型;
步骤S606,基于所述配置文件、所述任务文件以及所述中间寄存器模型得到所述间接寄存器映射模型。
需要说明的是,上述实施例中说明了关于中间寄存器模型的构建内容,本实施例中将说明生成间接寄存器映射模型的内容,如图7所示,所述间接寄存器映射模型包括了所述中间寄存器模型以及配置文件以及多种任务文件,其中,通过获取用户端输入的配置参数得到所述配置文件,所述配置文件内包括了接口信息以及映射关系,在应用时,可以通过配置文件获取当前所选的物理接口,从而基于映射关系指定后续用以访问的中间寄存器的映射类型,相应地,关于所述任务文件一方面重载了UVM原生的读写任务(do_read和do_write),另一方面结合用户端输入的任务参数获取到用户端自定义的do_indirect_access任务,并且所述任务文件在调用时用于结合所述接口信息以及所述映射关系完成对应的任务类型。
进一步地,于发明一实施例中,如图8所示,所述基于所述间接寄存器映射模型利用UVM类型重载得到顶层寄存器模型,具体包括如下步骤:
步骤S802,构建标准寄存器模型,所述标准寄存器模型对应一个或多个寄存器块映射关系;
步骤S804,基于所述间接寄存器模型利用UVM类型重载得到UVM寄存器映射关系,所述UVM寄存器映射关系包括所述间接寄存器模型与所述标准寄存器模型之间的映射关系;
步骤S806,基于所述标准寄存器模型、所述间接寄存器映射模型以及所述UVM寄存器映射关系得到所述顶层寄存器模型。
需要说明的是,本申请提出的通用的UVM寄存器构建方法主要包括了中间寄存器模型的构建以及间接寄存器的映射模型的构建,还包括了间接寄存器模型在映射应用过程中的顶层寄存器模型,相应地,上述实施例中已经介绍过了所述中间寄存器模型以及所述间接寄存器映射模型,因此于本实施例中,将介绍所述顶层寄存器模型,其中,所述顶层寄存器模型又称为内部寄存器模型,如图9所示,具体地,首先构建标准寄存器模型,所述标准寄存器模型对应一个或多个寄存器块映射关系,图9中的“模块A寄存器模型”以及“模块B寄存器模型”即对应所述标准寄存器模型,每个标准寄存器模型对应设置有偏址,而所述顶层寄存器模型中还包括了间接寄存器映射模型,通过基于所述间接寄存器模型利用UVM类型重载得到UVM寄存器映射关系,相应地,所述UVM寄存器映射关系包括所述间接寄存器模型与所述标准寄存器模型之间的映射关系。具体地,在实际应用时,采用了UVM工厂化方法(factory)中的类型/实例重载技术(如set_inst_override函数),仅需简单的步骤便可以将间接寄存器模型与标准的UVM寄存器模型进行整合,从而可以在不改动基于标准UVM寄存器架构搭建的全芯片寄存器模型前提下完成,因此,本方案既可用于全新搭建的寄存器模型,也适用于在开发中途对寄存器模型的增强性补充。
请参阅图10,于发明一实施例中,本发明的基于UVM的寄存器模型验证方法,所述方法包括如下步骤:
步骤S1002,获取输入的验证数据;
步骤S1004,基于所述验证数据应用于构建好的顶层寄存器模型中进行验证,其中,基于所述验证数据识别对应的物理接口并进行接口绑定;
步骤S1006,基于所述验证数据以及所述顶层寄存器模型中的UVM寄存器映射关系进行访问操作验证。
需要说明的是,在基于UVM的寄存器模型构建结束后,要进行验证,具体通过用户端输入的验证数据进行验证,具体地,基于所述验证数据应用于构建好的顶层寄存器模型中进行验证,具体基于所述顶层寄存器模型中的间接寄存器模型获取配置文件,从而得到接口配置参数;进而基于所述接口配置参数识别对应的物理接口,从而基于所述物理接口的驱动进行绑定。
进一步地,基于所述验证数据结合所述顶层寄存器模型中的UVM寄存器映射关系进行访问操作验证,具体地,基于所述顶层寄存器模型中的间接寄存器模型获取目标寄存器类型和任务文件;基于所述目标寄存器类型结合所述任务文件确定任务类型,其中,所述任务类型包括读/写任务;利用UVM寄存器映射关系识别待验证的寄存器块,并结合所述任务类型进行访问操作,相应地,所述目标寄存器类型至少包括中间地址寄存器、中间数据寄存器以及中间状态寄存器中的一种。
具体地,参考图11,上述实施例中说明了顶层寄存器模型又称为内部寄存器模型,因此图11中为被验设计中显示为内部寄存器,此外被验设计具有两组不同的物理接口,图11中显示为物理接口A和物理接口B,外部设备可通过任一物理接口访问中间寄存器组包含的中间地址、数据、状态寄存器,而后由间接访问模块进行解析与转换操作,进一步实现对内部寄存器的间接访问,在验证数据中的验证用例运行时,通过配置文件获取当前所选的物理接口,解析并提取UVM寄存器事务项中关于此次访问的信息(例如操作类型、目的寄存器、元素类型或者待写数据)进行访问操作,其中,查找目的寄存器在当前映射关系中的地址作为后续写入中间地址寄存器的数据,获取UVM寄存器事务项中的元素类型为寄存器还是内存,为后续访问提供差异化表示。进一步地,所述操作类型包括写操作、读操作甚至突发操作等,其中,以写操作为例,将地址写入中间地址寄存器,将数据写入中间数据寄存器,轮询中间状态寄存器直至显示成功标识,以读操作为例,将地址写入中间地址寄存器,轮询中间状态寄存器直至显示成功标识,从中间数据寄存器中读出数据,并赋予给UVM寄存器事务项并予以返回,从而完成访问操作验证。
本申请实施例还提供一种基于UVM的寄存器构建系统,所述基于UVM的寄存器构建系统可以实现本申请所述的基于UVM的寄存器构建方法,但本申请所述的基于UVM的寄存器构建方法的实现装置包括但不限于本实施例列举的基于UVM的寄存器构建系统的结构,凡是根据本申请的原理所做的现有技术的结构变形和替换,都包括在本申请的保护范围内。
请参阅图12,在一实施例中,本实施例提供的一种基于UVM的寄存器构建系统120,所述系统包括:
构建模块121,用于构建中间寄存器模型;
生成模块122,用于基于所述中间寄存器模型生成间接寄存器映射模型;
重载模块123,用于基于所述间接寄存器映射模型利用UVM类型重载得到顶层寄存器模型。
请参阅图13,在一实施例中,本实施例提供的一种基于UVM的寄存器验证系统130,所述系统包括:
获取模块131,用于获取输入的验证数据;
验证模块132,用于基于所述验证数据应用于构建好的顶层寄存器模型中进行验证,其中,基于所述验证数据识别对应的物理接口并进行接口绑定;以及基于所述验证数据结合所述顶层寄存器模型中的UVM寄存器映射关系进行访问验证。
由于本实施例的具体实现方式与前述方法实施例对应,因而于此不再对同样的细节做重复赘述,本领域技术人员也应当理解,图12和图13实施例中的各个模块的划分仅仅是一种逻辑功能的划分,实际实现时可以全部或部分集成到一个或多个物理实体上,且这些模块可以全部以软件通过处理元件调用的形式实现,也可以全部以硬件的形式实现,还可以部分模块通过处理元件调用软件的形式实现,部分模块通过硬件的形式实现。
此外,本实施例提供一种电子设备,详细的,电子设备至少包括通过总线连接的:存储器、处理器,其中,存储器用于存储计算机程序,处理器用于执行存储器存储的计算机程序,以执行前述方法实施例中的全部或部分步骤。
综上所述,本发明的基于UVM的寄存器模型构建、验证方法与系统,在应用上采用了UVM工厂方法类型重载技术,不论是从零搭建验证环境,还是在现有环境的寄存器模型基础上进行增强整合该方案,所付出的代价都非常小,可维护性强,尤其对现有环境基础上的整合提供便利,基本不需要对当前寄存器模型结构进行修改,验证人员只需要建立个性化的间接寄存器映射类,并将它重载至UVM寄存器映射类即可。如此对内部寄存器模型的弱依赖性也意味着在芯片开发过程中,一旦建立了本方案提出的寄存器间接访问映射关系,不论后续内部寄存器做如何改动,都不需要在间接访问方面做任何修改,极大的减少了验证人员对环境的维护开销。另外来说,本申请可以让验证人员以更小的代价实现更灵活、可靠的间接寄存器访问,从而帮助组建高效的寄存器模型架构,来最大程度上降低芯片开发过程中的开销与潜在风险。
在本申请所提供的几个实施例中,应该理解到,所揭露的系统、装置或方法,可以通过其它的方式实现。例如,以上所描述的装置实施例仅是示意性的,例如,模块/单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个模块或单元可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口,装置或模块或单元的间接耦合或通信连接,可以是电性,机械或其它的形式。
作为分离部件说明的模块/单元可以是或者也可以不是物理上分开的,作为模块/单元显示的部件可以是或者也可以不是物理模块,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部模块/单元来实现本申请实施例的目的。例如,在本申请各个实施例中的各功能模块/单元可以集成在一个处理模块中,也可以是各个模块/单元单独物理存在,也可以两个或两个以上模块/单元集成在一个模块/单元中。
本领域普通技术人员应该还可以进一步意识到,结合本文中所公开的实施例描述的各示例的单元及算法步骤,能够以电子硬件、计算机软件或者二者的结合来实现,为了清楚地说明硬件和软件的可互换性,在上述说明中已经按照功能一般性地描述了各示例的组成及步骤。这些功能究竟以硬件还是软件方式来执行,取决于技术方案的特定应用和设计约束条件。专业技术人员可以对每个特定的应用来使用不同方法来实现所描述的功能,但是这种实现不应认为超出本申请的范围。
本申请实施例还提供了一种计算机可读存储介质。本领域普通技术人员可以理解实现上述实施例的方法中的全部或部分步骤是可以通过程序来指令处理器完成,所述的程序可以存储于计算机可读存储介质中,所述存储介质是非短暂性(non-transitory)介质,例如随机存取存储器,只读存储器,快闪存储器,硬盘,固态硬盘,磁带(magnetic tape),软盘(floppy disk),光盘(optical disc)及其任意组合。上述存储介质可以是计算机能够存取的任何可用介质或者是包含一个或多个可用介质集成的服务器、数据中心等数据存储设备。该可用介质可以是磁性介质(例如,软盘、硬盘、磁带)、光介质(例如数字视频光盘(digital video disc,DVD))、或者半导体介质(例如固态硬盘(solid state disk,SSD))等。
本申请实施例还可以提供一种计算机程序产品,所述计算机程序产品包括一个或多个计算机指令。在计算设备上加载和执行所述计算机指令时,全部或部分地产生按照本申请实施例所述的流程或功能。所述计算机指令可以存储在计算机可读存储介质中,或者从一个计算机可读存储介质向另一计算机可读存储介质传输,例如,所述计算机指令可以从一个网站站点、计算机或数据中心通过有线(例如同轴电缆、光纤、数字用户线(DSL))或无线(例如红外、无线、微波等)方式向另一个网站站点、计算机或数据中心进行传输。
所述计算机程序产品被计算机执行时,所述计算机执行前述方法实施例所述的方法。该计算机程序产品可以为一个软件安装包,在需要使用前述方法的情况下,可以下载该计算机程序产品并在计算机上执行该计算机程序产品。
上述各个附图对应的流程或结构的描述各有侧重,某个流程或结构中没有详述的部分,可以参见其他流程或结构的相关描述。
上述实施例仅例示性说明本申请的原理及其功效,而非用于限制本申请。任何熟悉此技术的人士皆可在不违背本申请的精神及范畴下,对上述实施例进行修饰或改变。因此,举凡所属技术领域中具有通常知识者在未脱离本申请所揭示的精神与技术思想下所完成的一切等效修饰或改变,仍应由本申请的权利要求所涵盖。
Claims (5)
1.一种基于UVM的寄存器模型构建方法,其特征在于,所述方法包括:
构建中间寄存器模型,其中,具体包括:获取输入的被验证设计参数;基于所述被验证设计参数得到目标寄存器类型,所述目标寄存器类型至少包括中间地址寄存器、中间数据寄存器以及中间状态寄存器中的一种;基于所述目标寄存器类型增加相应句柄得到所述中间寄存器模型;
基于所述中间寄存器模型生成间接寄存器映射模型,其中,具体包括:获取输入的配置参数得到配置文件,所述配置文件包括接口信息以及映射关系;重载原生读写任务以及输入的任务参数得到任务文件,所述任务文件在调用时用于结合所述接口信息以及所述映射关系完成对应的任务类型;基于所述配置文件、所述任务文件以及所述中间寄存器模型得到所述间接寄存器映射模型;
基于所述间接寄存器映射模型利用UVM类型重载得到顶层寄存器模型,其中,具体包括:构建标准寄存器模型,所述标准寄存器模型对应一个或多个寄存器块映射关系;基于所述间接寄存器模型利用UVM类型重载得到UVM寄存器映射关系,所述UVM寄存器映射关系包括所述间接寄存器模型与所述标准寄存器模型之间的映射关系;基于所述标准寄存器模型、所述间接寄存器映射模型以及所述UVM寄存器映射关系得到所述顶层寄存器模型。
2.一种基于UVM的寄存器模型验证方法,其特征在于,所述方法包括:
获取输入的验证数据;
基于所述验证数据应用于构建好的顶层寄存器模型中进行验证,其中,基于所述验证数据识别对应的物理接口并进行接口绑定,其中,所述基于所述验证数据识别对应的物理接口并进行接口绑定,具体包括:基于所述顶层寄存器模型中的间接寄存器模型获取配置文件,从而得到接口配置参数;基于所述接口配置参数识别对应的物理接口,从而基于所述物理接口的驱动进行绑定;
基于所述验证数据以及所述顶层寄存器模型中的UVM寄存器映射关系进行访问操作验证,其中,具体包括:基于所述顶层寄存器模型中的间接寄存器模型获取目标寄存器类型和任务文件;基于所述目标寄存器类型以及所述任务文件确定任务类型,其中,所述任务类型包括读/写任务;利用UVM寄存器映射关系识别待验证的寄存器块,并结合所述任务类型进行访问操作,且所述目标寄存器类型至少包括中间地址寄存器、中间数据寄存器以及中间状态寄存器中的一种。
3.一种基于UVM的寄存器模型构建系统,其特征在于,所述系统包括:
构建模块,用于构建中间寄存器模型,其中,具体包括:获取输入的被验证设计参数;基于所述被验证设计参数得到目标寄存器类型,所述目标寄存器类型至少包括中间地址寄存器、中间数据寄存器以及中间状态寄存器中的一种;基于所述目标寄存器类型增加相应句柄得到所述中间寄存器模型;
生成模块,用于基于所述中间寄存器模型生成间接寄存器映射模型,其中,具体包括:获取输入的配置参数得到配置文件,所述配置文件包括接口信息以及映射关系;重载原生读写任务以及输入的任务参数得到任务文件,所述任务文件在调用时用于结合所述接口信息以及所述映射关系完成对应的任务类型;基于所述配置文件、所述任务文件以及所述中间寄存器模型得到所述间接寄存器映射模型;
重载模块,用于基于所述间接寄存器映射模型利用UVM类型重载得到顶层寄存器模型,其中,具体包括:构建标准寄存器模型,所述标准寄存器模型对应一个或多个寄存器块映射关系;基于所述间接寄存器模型利用UVM类型重载得到UVM寄存器映射关系,所述UVM寄存器映射关系包括所述间接寄存器模型与所述标准寄存器模型之间的映射关系;基于所述标准寄存器模型、所述间接寄存器映射模型以及所述UVM寄存器映射关系得到所述顶层寄存器模型。
4.一种基于UVM的寄存器模型验证系统,其特征在于,所述系统包括:
获取模块,用于获取输入的验证数据;
验证模块,用于基于所述验证数据应用于构建好的顶层寄存器模型中进行验证,其中,基于所述验证数据识别对应的物理接口并进行接口绑定,其中,所述基于所述验证数据识别对应的物理接口并进行接口绑定,具体包括:基于所述顶层寄存器模型中的间接寄存器模型获取配置文件,从而得到接口配置参数;基于所述接口配置参数识别对应的物理接口,从而基于所述物理接口的驱动进行绑定;
以及基于所述验证数据和所述顶层寄存器模型中的UVM寄存器映射关系进行访问验证,其中,具体包括:基于所述顶层寄存器模型中的间接寄存器模型获取目标寄存器类型和任务文件;基于所述目标寄存器类型以及所述任务文件确定任务类型,其中,所述任务类型包括读/写任务;利用UVM寄存器映射关系识别待验证的寄存器块,并结合所述任务类型进行访问操作,且所述目标寄存器类型至少包括中间地址寄存器、中间数据寄存器以及中间状态寄存器中的一种。
5.一种电子设备,其特征在于,包括:
存储器,用于存储计算机程序;
处理器,用于执行所述计算机程序,实现权利要求1所述的基于UVM的寄存器模型构建方法或权利要求2所述的基于UVM的寄存器模型验证方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202310219739.0A CN116627496B (zh) | 2023-03-08 | 2023-03-08 | 基于uvm的寄存器模型构建、验证方法、系统与电子设备 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202310219739.0A CN116627496B (zh) | 2023-03-08 | 2023-03-08 | 基于uvm的寄存器模型构建、验证方法、系统与电子设备 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN116627496A CN116627496A (zh) | 2023-08-22 |
CN116627496B true CN116627496B (zh) | 2023-12-29 |
Family
ID=87640583
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202310219739.0A Active CN116627496B (zh) | 2023-03-08 | 2023-03-08 | 基于uvm的寄存器模型构建、验证方法、系统与电子设备 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN116627496B (zh) |
Citations (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN109117518A (zh) * | 2018-07-21 | 2019-01-01 | 中国人民解放军战略支援部队信息工程大学 | 一种寄存器读写访问验证系统及方法 |
CN111259618A (zh) * | 2020-01-10 | 2020-06-09 | 何刚 | 一种基于寄存器流程工具的设计验证芯片方法 |
CN111859834A (zh) * | 2020-06-12 | 2020-10-30 | 苏州浪潮智能科技有限公司 | 一种基于uvm的验证平台开发方法、系统、终端及存储介质 |
CN112131829A (zh) * | 2020-09-18 | 2020-12-25 | 山东云海国创云计算装备产业创新中心有限公司 | 一种芯片寄存器的验证方法、系统及相关装置 |
CN112270149A (zh) * | 2020-10-16 | 2021-01-26 | 山东云海国创云计算装备产业创新中心有限公司 | 验证平台自动化集成方法、系统及电子设备和存储介质 |
CN113076227A (zh) * | 2021-04-28 | 2021-07-06 | 深圳市汇春科技股份有限公司 | Mcu验证方法、系统和终端设备 |
CN114707449A (zh) * | 2022-04-21 | 2022-07-05 | 杭州云合智网技术有限公司 | 寄存器间接访问的验证模型实现框架 |
CN114840254A (zh) * | 2022-04-21 | 2022-08-02 | 杭州云合智网技术有限公司 | 使用c语言对uvm环境中寄存器的读写访问方法 |
CN115081367A (zh) * | 2022-06-13 | 2022-09-20 | 杭州云合智网技术有限公司 | 基于uvm存储模型的寄存器突发访问的建模方法 |
-
2023
- 2023-03-08 CN CN202310219739.0A patent/CN116627496B/zh active Active
Patent Citations (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN109117518A (zh) * | 2018-07-21 | 2019-01-01 | 中国人民解放军战略支援部队信息工程大学 | 一种寄存器读写访问验证系统及方法 |
CN111259618A (zh) * | 2020-01-10 | 2020-06-09 | 何刚 | 一种基于寄存器流程工具的设计验证芯片方法 |
CN111859834A (zh) * | 2020-06-12 | 2020-10-30 | 苏州浪潮智能科技有限公司 | 一种基于uvm的验证平台开发方法、系统、终端及存储介质 |
CN112131829A (zh) * | 2020-09-18 | 2020-12-25 | 山东云海国创云计算装备产业创新中心有限公司 | 一种芯片寄存器的验证方法、系统及相关装置 |
CN112270149A (zh) * | 2020-10-16 | 2021-01-26 | 山东云海国创云计算装备产业创新中心有限公司 | 验证平台自动化集成方法、系统及电子设备和存储介质 |
CN113076227A (zh) * | 2021-04-28 | 2021-07-06 | 深圳市汇春科技股份有限公司 | Mcu验证方法、系统和终端设备 |
CN114707449A (zh) * | 2022-04-21 | 2022-07-05 | 杭州云合智网技术有限公司 | 寄存器间接访问的验证模型实现框架 |
CN114840254A (zh) * | 2022-04-21 | 2022-08-02 | 杭州云合智网技术有限公司 | 使用c语言对uvm环境中寄存器的读写访问方法 |
CN115081367A (zh) * | 2022-06-13 | 2022-09-20 | 杭州云合智网技术有限公司 | 基于uvm存储模型的寄存器突发访问的建模方法 |
Non-Patent Citations (1)
Title |
---|
非对称密码算法的硬件设计与验证;董海涛;《中国优秀硕士学位论文全文数据库 (信息科技辑)》;I136-528 * |
Also Published As
Publication number | Publication date |
---|---|
CN116627496A (zh) | 2023-08-22 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US7240268B2 (en) | Test component and method of operation thereof | |
CN109597640A (zh) | 一种应用程序的账号管理方法、装置、设备和介质 | |
US9710575B2 (en) | Hybrid platform-dependent simulation interface | |
CN115146568A (zh) | 一种基于uvm的芯片验证系统及验证方法 | |
CN114707453A (zh) | 芯片功能的验证方法、装置、电子设备及存储介质 | |
CN114510432B (zh) | 一种寄存器调试平台和调试方法 | |
US20040260528A1 (en) | Co-simulation via boundary scan interface | |
CN114970411A (zh) | 一种仿真验证方法及系统 | |
CN113657069A (zh) | 片上系统soc仿真验证方法、装置、验证服务器及存储介质 | |
CN110221867A (zh) | 一种xp系统下脉冲i/o功能卡通信驱动系统及方法 | |
CN112434478B (zh) | 仿真逻辑系统设计的虚拟接口的方法及相关设备 | |
CN111176926B (zh) | 一种基于双口sram的ip核仿真系统及仿真方法 | |
CN116627496B (zh) | 基于uvm的寄存器模型构建、验证方法、系统与电子设备 | |
CN116738901A (zh) | 一种芯片验证方法及装置 | |
CN116340150A (zh) | 一种基于uvm的可重用的寄存器性能交互验证系统及其应用 | |
US6813751B2 (en) | Creating standard VHDL test environments | |
JP7101709B2 (ja) | シミュレータを実現するための方法、装置、デバイス及び媒体 | |
WO2020138386A1 (ja) | 以前のトレースデータを使用する協調シミュレーションリピータ | |
CN110327626B (zh) | 虚拟服务器创建方法及装置 | |
US20030046641A1 (en) | Representing a simulation model using a hardware configuration database | |
CN117251118B (zh) | 支持虚拟NVMe仿真与集成方法及系统 | |
CN113835757B (zh) | 多主机共享寄存器模型的方法、装置及电子设备 | |
US20230267253A1 (en) | Automated synthesis of virtual system-on-chip environments | |
CN107832496A (zh) | 用于仿真的方法及系统 | |
CN114579189B (zh) | 单核以及多核访问寄存器数据的方法、处理器和系统 |
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 |