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

基于芯片验证系统的信号控制方法、系统、介质及设备与流程

2022-09-04 02:54:36 来源:中国专利 TAG:


1.本发明涉及芯片技术领域,尤其涉及一种基于芯片验证系统的信号控制方法、系统、介质及设备。


背景技术:

2.近年来随着芯片规模的不断提升,芯片验证的复杂度也随之成指数增长。为了保证芯片的质量,加速仿真验证的时间,常常采用模块级、系统级和芯片级分别对芯片进行验证。目前业界比较主流的验证方法是采用uvm(universal verification methodology,通用验证方法)搭建仿真验证环境,开发基于uvm的测试用例,但在测试用例中对时钟、复位及旁带信号的控制非常不便捷。
3.目前常用的办法是通过sv(system verilog,系统硬件描述语言)中的interface(接口)来控制这些信号,然而这种方式迭代慢,调试并不方便。因此这种传统的验证方法已经很难满足所有待测试级的验证需求。
4.相较于uvm,c语言也常被用在芯片验证过程中,它具有编译快、调试容易等特点,常被用以在soc(system on chip,片上系统)级验证时使用。因此将c语言应用在模块级验证上,开发基于c语言的测试用例,通过dpi(direct programming interface,直接可编程接口)实现总线控制函数,用c语言替换uvm实现基本的总线访问,逐渐成为当下较为流行的方法。
5.然而在c语言中对时钟信号、复位信号及旁带信号的控制仍然缺乏较为有效的方法,大多数仍采用混合方式进行控制,即在c语言中进行总线访问,利用uvm对时钟、复位等信号进行控制。这种方式借助于传统的uvm,会造成编译迭代慢,调试不便捷等缺点。


技术实现要素:

6.有鉴于此,本发明的目的在于提出一种基于芯片验证系统的信号控制方法、系统、介质及设备,用以解决现有技术中采用c语言和uvm混合的方式对时钟、复位、旁带等信号进行控制导致编译迭代慢、调试不便捷的问题。
7.基于上述目的,本发明提供了一种基于芯片验证系统的信号控制方法,该方法使用c语言实现以下步骤:
8.将芯片验证系统中的待测器和多个验证组件分别连接在互联总线上,并为多个验证组件分配相应的地址空间;
9.响应于测试用例按照分配的地址对互联总线进行访问,由互联总线根据地址所在的地址空间确认对应的验证组件,并将命令下发至对应的验证组件与互联总线连接的端口;
10.由对应的验证组件从端口获取命令,并对命令进行解析,以识别出对应的操作码,并基于操作码生成相应的信号且执行相关操作,以使信号被待测器使用。
11.在一些实施例中,多个验证组件至少包括时钟生成器、gpio控制生成器、边带信号
控制器以及存储器。
12.在一些实施例中,基于操作码生成相应的信号且执行相关操作,以使信号被待测器使用包括:
13.响应于对应的验证组件为时钟生成器,由时钟生成器基于操作码生成多路时钟信号,并对多路时钟信号进行变频控制和使能控制,并将多路时钟信号连接到待测器相应的端口信号上以被待测器使用。
14.在一些实施例中,基于操作码生成相应的信号且执行相关操作,以使信号被待测器使用包括:
15.响应于对应的验证组件为gpio控制生成器,由gpio控制生成器基于操作码生成复位信号及电平信号,并将复位信号和/或电平信号连接到待测器相应的端口信号上以被待测器使用。
16.在一些实施例中,基于操作码生成相应的信号且执行相关操作,以使信号被待测器使用包括:
17.响应于对应的验证组件为边带信号控制器,由边带信号控制器基于操作码生成多位数据信号,并将多位数据信号发送至收发器,并由收发器对接收到的每位数据信号进行恢复后输出至端口,以使端口获得多位宽信号,并将多位宽信号连接到待测器相应的端口信号上以被待测器使用。
18.在一些实施例中,方法还包括:
19.响应于对应的验证组件为存储器,由待测器对相连的存储器进行读写操作。
20.在一些实施例中,方法还包括:
21.基于待测器的接口类型选择互联总线,互联总线至少包括ahb总线和axi总线。
22.本发明的另一方面,还提供了一种基于芯片验证系统的信号控制系统,该系统使用c语言生成,该系统包括:
23.地址空间分配模块,配置用于将芯片验证系统中的待测器和多个验证组件分别连接在互联总线上,并为多个验证组件分配相应的地址空间;
24.命令下发模块,配置用于响应于测试用例按照分配的地址对互联总线进行访问,由互联总线根据地址所在的地址空间确认对应的验证组件,并将命令下发至对应的验证组件与互联总线连接的端口;以及
25.信号控制模块,配置用于由对应的验证组件从端口获取命令,并对命令进行解析,以识别出对应的操作码,并基于操作码生成相应的信号且执行相关操作,以使信号被待测器使用。
26.本发明的又一方面,还提供了一种计算机可读存储介质,存储有计算机程序指令,该计算机程序指令被处理器执行时实现上述方法。
27.本发明的再一方面,还提供了一种计算机设备,包括存储器和处理器,存储器中存储有计算机程序,该计算机程序被处理器执行时执行上述方法。
28.本发明至少具有以下有益技术效果:
29.1.本发明的基于芯片验证系统的信号控制方法,通过采用c语言将芯片验证系统中的待测器和多个验证组件连接在互联总线上,并且为各个验证组件分配了相应的地址空间,通过真实的互联总线将c语言中对各个地址的访问路由到对应的验证组件上,各个验证
组件将接收到的命令进行解析识别,从而有效地控制非标准总线行为的信号;本发明所有的操作均可实现在c语言中,从而在芯片验证过程中避免了传统uvm带来的编译迭代慢、调试不便捷等缺点,可以极大地缩短验证周期,提高验证效率和验证质量;
30.2.此外,将验证组件挂载到互联总线上的方式具有极高的可扩展性,可以方便地外接新的定制验证组件,仅需要对新的验证组件进行开发就可实现所需的功能,具有较高的可复用性。
附图说明
31.为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的实施例。
32.图1为根据本发明实施例提供的基于芯片验证系统的信号控制方法的示意图;
33.图2为根据本发明实施例提供的实现基于芯片验证系统的信号控制方法的结构示意图;
34.图3为根据本发明实施例提供的时钟生成器的结构示意图;
35.图4为根据本发明实施例提供的gpio控制生成器的结构示意图;
36.图5为根据本发明实施例提供的边带信号控制器的结构示意图;
37.图6为根据本发明实施例提供的基于芯片验证系统的信号控制系统的示意图;
38.图7为根据本发明实施例提供的实现基于芯片验证系统的信号控制方法的计算机可读存储介质的示意图;
39.图8为根据本发明实施例提供的执行基于芯片验证系统的信号控制方法的计算机设备的硬件结构示意图。
具体实施方式
40.为使本发明的目的、技术方案和优点更加清楚明白,以下结合具体实施例,并参照附图,对本发明实施例进一步详细说明。
41.需要说明的是,本发明实施例中所有使用“第一”和“第二”的表述均是为了区分两个相同名称的非相同的实体或者非相同的参量,可见“第一”“第二”仅为了表述的方便,不应理解为对本发明实施例的限定。此外,术语“包括”和“具有”以及他们的任何变形,意图在于覆盖不排他的包含,例如,包含了一系列步骤或单元的过程、方法、系统、产品或设备固有的其他步骤或单元。
42.基于上述目的,本发明实施例的第一个方面,提出了一种基于芯片验证系统的信号控制方法的实施例。图1示出的是本发明提供的基于芯片验证系统的信号控制方法的实施例的示意图。如图1所示,本发明实施例使用c语言实现以下步骤:
43.步骤s10、将芯片验证系统中的待测器和多个验证组件分别连接在互联总线上,并为多个验证组件分配相应的地址空间;
44.步骤s20、响应于测试用例按照分配的地址对互联总线进行访问,由互联总线根据地址所在的地址空间确认对应的验证组件,并将命令下发至对应的验证组件与互联总线连
接的端口;
45.步骤s30、由对应的验证组件从端口获取命令,并对命令进行解析,以识别出对应的操作码,并基于操作码生成相应的信号且执行相关操作,以使信号被待测器使用。
46.本发明实施例的基于芯片验证系统的信号控制方法,通过采用c语言将芯片验证系统中的待测器和多个验证组件连接在互联总线上,并且为各个验证组件分配了相应的地址空间,通过真实的互联总线将c语言中对各个地址的访问路由到对应的验证组件上,各个验证组件将接收到的命令进行解析识别,从而有效地控制非标准总线行为的信号;本发明实施例所有的操作均可实现在c语言中,从而在芯片验证过程中避免了传统uvm带来的编译迭代慢、调试不便捷等缺点,可以极大地缩短验证周期,提高验证效率和验证质量;此外,将验证组件挂载到互联总线上的方式具有极高的可扩展性,可以方便地外接新的定制验证组件,仅需要对新的验证组件进行开发就可实现所需的功能,具有较高的可复用性。
47.在一些实施例中,多个验证组件至少包括时钟生成器、gpio控制生成器、边带信号控制器以及存储器。
48.本实施例中,验证组件不限于时钟生成器、gpio控制生成器、边带信号控制器以及存储器,可以便捷地实现扩展。
49.在一些实施例中,基于操作码生成相应的信号且执行相关操作,以使信号被待测器使用包括:响应于对应的验证组件为时钟生成器,由时钟生成器基于操作码生成多路时钟信号,并对多路时钟信号进行变频控制和使能控制,并将多路时钟信号连接到待测器相应的端口信号上以被待测器使用。
50.在一些实施例中,基于操作码生成相应的信号且执行相关操作,以使信号被待测器使用包括:响应于对应的验证组件为gpio控制生成器,由gpio控制生成器基于操作码生成复位信号及电平信号,并将复位信号和/或电平信号连接到待测器相应的端口信号上以被待测器使用。
51.在一些实施例中,基于操作码生成相应的信号且执行相关操作,以使信号被待测器使用包括:响应于对应的验证组件为边带信号控制器,由边带信号控制器基于操作码生成多位数据信号,并将多位数据信号发送至收发器,并由收发器对接收到的每位数据信号进行恢复后输出至端口,以使端口获得多位宽信号,并将多位宽信号连接到待测器相应的端口信号上以被待测器使用。
52.上述实施例中,通过将互联总线、多路时钟信号、复位信号、电平信号、边带单位宽信号及多位宽信号进行统一的控制,并将控制的方法导入c语言,从而在c语言中可以根据测试场景编写不同的测试用例,并在其中较为灵活的控制任意时刻时钟的改变、复位的发生及边带信号的电平高低,从而模拟真实的使用场景,提升芯片验证的质量。通过c语言实现所有端口信号的控制,可以非常方便的将待测器集成在这种验证框架中,从而实现对待测器的验证。
53.在一些实施例中,方法还包括:响应于对应的验证组件为存储器,由待测器对相连的存储器进行读写操作。
54.在一些实施例中,方法还包括:基于待测器的接口类型选择互联总线,互联总线至少包括ahb总线和axi总线。
55.本实施例中,互联总线不限于某一种总线,可根据待测器的接口类型进行灵活选
择,如当待测器对外的配置接口为ahb(advanced high performance bus,高级高性能总线),则可将互联总线选取为ahb总线,若配置接口为axi(advanced extensible interface,高级可扩展接口),则可选择axi总线为互联总线。
56.以下为本发明的基于芯片验证系统的信号控制方法的具体实施例:
57.图2示出了本实施例提供的实现基于芯片验证系统的信号控制方法的结构示意图。如图2所示,本实施例采用统一总线的方式,将待测器(即dut)和所有验证组件通过互联总线进行连接,验证组件包括时钟生成器、gpio(general purpose input/output port,通用输入输出端口)控制生成器、边带信号控制器和存储器,通过提前给各个验证组件分配不同地址,利用互联总线的地址解码功能,可以将命令发送给相应的验证组件。各个验证组件对收到的命令进行解析,识别出对应的操作码,从而实现具体的功能。另外,各个组件可以自定义命令格式及参数内容,最大程度地进行扩展。
58.具体步骤如下:
59.1)根据选取的总线类型开发对应的总线驱动任务,如基本的读写访问,并将这些读写访问通过dpi(direct programming interface,直接可编程接口)导入到c语言中,方便其调用。具体示例如下:
[0060][0061]
2)选取所需的验证组件,为每个验证组件和dut分配地址空间。本实施例中,为dut
分配的地址空间为0x0000_0000~0x0fff_ffff,为时钟生成器分配的地址空间为0x1000_0000~0x1000_00ff,为gpio控制生成器分配的地址空间为0x1000_0100~0x1000_01ff,为边带信号控制器分配的地址空间为0x1000_2000~0x1000_6000,为存储器分配的空间地址为0x2000_0000~0x4000_0000。因此c语言实现的测试程序可以根据访问的地址不同将命令下发到各自的验证组件上。
[0062]
3)实现各个组件的功能:
[0063]
当时钟生成器通过互联总线收到对自己的访问请求时,即可根据访问的地址和数据进行内容解析。图3示出了本实施例提供的时钟生成器的结构示意图。如图3所示,当测试用例依照预先分配的地址0x1000_0000进行访问总线时,互联总线会将命令下发至slave1口,则时钟生成器根据收到的命令调用相应的解析任务command_parse,根据定义的命令格式实现对多路时钟信号频率和使能的控制,同时将这些参数传递给时钟生成器clock_generator中产生出相应频率的时钟,最终将输出的时钟连接到dut相应的端口信号上。
[0064]
具体的实现过程如下,其中command_parse任务和clock_generator任务均实现在sv(system verilog,系统硬件描述语言)侧。
[0065]
[0066][0067]
gpio控制生成器中通过互联总线收到对自己的访问请求时,即可根据访问的地址和数据进行内容解析。图4示出了本实施例提供的gpio控制生成器的结构示意图。如图4所示,当测试用例依照预先分配的地址0x1000_0100进行访问总线时,互联总线会将命令下发至slave2口,则gpio控制生成器根据收到的命令调用相应的解析任务command_parse,根据定义的命令格式实现对多路信号的控制,最终将输出的复位信号或者电平信号连接到dut相应的端口信号上。具体的实现过程如下:
[0068]
[0069][0070]
边带信号控制器中通过互联总线收到对自己的访问请求时,即可根据访问的地址和数据进行内容解析。图5示出了本实施例提供的边带信号控制器的结构示意图。如图5所示,当测试用例依照预先分配的地址0x1000_2000进行访问总线时,互联总线会将命令下发至slave3口,则边带信号控制器根据收到的命令调用相应的解析任务command_parse,根据定义的命令格式实现对多位数据信号的控制,并将该信号通过串口的协议方式发送给收发器deserializer,该模块对接收到的单bit的信号(即每位数据信号)进行恢复之后输出到端口上,最终将输出的多位宽信号连接到dut相应的端口信号上。具体的实现过程如下:
[0071]
[0072][0073]
存储器作为验证环境中的从设备,主要用于存储数据,当测试用例需要提前预设一些内容到存储器中时,可以通过分配的地址进行访问控制,也可通过dpi函数实现对存储内容的便捷操作,同时将存储器与dut进行连接,当dut对存储器进行写操作时,测试程序即可通过总线访问获取存储器中相应地址上最新的值,以便判断dut的写操作是否正确。
[0074]
本实施例基于c语言实现对所有模块端口信号的控制,将验证环境中所需的验证
组件挂载在互联总线中,当在测试用例中需要控制端口信号的行为时,只需要访问相应的地址和预先定义的命令,根据分配的地址通过互联总线可自动路由到相应的验证组件中,验证组件根据接收到的命令,产生对时钟、复位、边带信号、外围存储器等多种验证组件的控制,从而实现在c语言中控制所有端口信号的行为。
[0075]
本发明实施例的第二个方面,还提供了一种基于芯片验证系统的信号控制系统。图6示出的是本发明提供的基于芯片验证系统的信号控制系统的实施例的示意图。如图6所示,一种基于芯片验证系统的信号控制系统使用c语言生成,该系统包括:地址空间分配模块10,配置用于将芯片验证系统中的待测器和多个验证组件分别连接在互联总线上,并为多个验证组件分配相应的地址空间;命令下发模块20,配置用于响应于测试用例按照分配的地址对互联总线进行访问,由互联总线根据地址所在的地址空间确认对应的验证组件,并将命令下发至对应的验证组件与互联总线连接的端口;以及信号控制模块30,配置用于由对应的验证组件从端口获取命令,并对命令进行解析,以识别出对应的操作码,并基于操作码生成相应的信号且执行相关操作,以使信号被待测器使用。
[0076]
本发明实施例的第三个方面,还提供了一种计算机可读存储介质,图7示出了根据本发明实施例提供的实现基于芯片验证系统的信号控制方法的计算机可读存储介质的示意图。如图7所示,计算机可读存储介质3存储有计算机程序指令31。该计算机程序指令31被处理器执行时实现上述任意一项实施例的方法。
[0077]
应当理解,在相互不冲突的情况下,以上针对根据本发明的基于芯片验证系统的信号控制方法阐述的所有实施方式、特征和优势同样地适用于根据本发明的基于芯片验证系统的信号控制系统和存储介质。
[0078]
本发明实施例的第四个方面,还提供了一种计算机设备,包括如图8所示的存储器402和处理器401,该存储器402中存储有计算机程序,该计算机程序被该处理器401执行时实现上述任意一项实施例的方法。
[0079]
如图8所示,为本发明提供的执行基于芯片验证系统的信号控制方法的计算机设备的一个实施例的硬件结构示意图。以如图8所示的计算机设备为例,在该计算机设备中包括一个处理器401以及一个存储器402,并还可以包括:输入装置403和输出装置404。处理器401、存储器402、输入装置403和输出装置404可以通过总线或者其他方式连接,图8中以通过总线连接为例。输入装置403可接收输入的数字或字符信息,以及产生与基于芯片验证系统的信号控制系统的用户设置以及功能控制有关的键信号输入。输出装置404可包括显示屏等显示设备。
[0080]
存储器402作为一种非易失性计算机可读存储介质,可用于存储非易失性软件程序、非易失性计算机可执行程序以及模块,如本技术实施例中的基于芯片验证系统的信号控制方法对应的程序指令/模块。存储器402可以包括存储程序区和存储数据区,其中,存储程序区可存储操作系统、至少一个功能所需要的应用程序;存储数据区可存储基于芯片验证系统的信号控制方法的使用所创建的数据等。此外,存储器402可以包括高速随机存取存储器,还可以包括非易失性存储器,例如至少一个磁盘存储器件、闪存器件、或其他非易失性固态存储器件。在一些实施例中,存储器402可选包括相对于处理器401远程设置的存储器,这些远程存储器可以通过网络连接至本地模块。上述网络的实例包括但不限于互联网、企业内部网、局域网、移动通信网及其组合。
[0081]
处理器401通过运行存储在存储器402中的非易失性软件程序、指令以及模块,从而执行服务器的各种功能应用以及数据处理,即实现上述方法实施例的基于芯片验证系统的信号控制方法。
[0082]
最后需要说明的是,本文的计算机可读存储介质(例如,存储器)可以是易失性存储器或非易失性存储器,或者可以包括易失性存储器和非易失性存储器两者。作为例子而非限制性的,非易失性存储器可以包括只读存储器(rom)、可编程rom(prom)、电可编程rom(eprom)、电可擦写可编程rom(eeprom)或快闪存储器。易失性存储器可以包括随机存取存储器(ram),该ram可以充当外部高速缓存存储器。作为例子而非限制性的,ram可以以多种形式获得,比如同步ram(dram)、动态ram(dram)、同步dram(sdram)、双数据速率sdram(ddr sdram)、增强sdram(esdram)、同步链路dram(sldram)、以及直接rambus ram(drram)。所公开的方面的存储设备意在包括但不限于这些和其它合适类型的存储器。
[0083]
本领域技术人员还将明白的是,结合这里的公开所描述的各种示例性逻辑块、模块、电路和算法步骤可以被实现为电子硬件、计算机软件或两者的组合。为了清楚地说明硬件和软件的这种可互换性,已经就各种示意性组件、方块、模块、电路和步骤的功能对其进行了一般性的描述。这种功能是被实现为软件还是被实现为硬件取决于具体应用以及施加给整个系统的设计约束。本领域技术人员可以针对每种具体应用以各种方式来实现的功能,但是这种实现决定不应被解释为导致脱离本发明实施例公开的范围。
[0084]
以上是本发明公开的示例性实施例,但是应当注意,在不背离权利要求限定的本发明实施例公开的范围的前提下,可以进行多种改变和修改。根据这里描述的公开实施例的方法权利要求的功能、步骤和/或动作不需以任何特定顺序执行。此外,尽管本发明实施例公开的元素可以以个体形式描述或要求,但除非明确限制为单数,也可以理解为多个。
[0085]
应当理解的是,在本文中使用的,除非上下文清楚地支持例外情况,单数形式“一个”旨在也包括复数形式。还应当理解的是,在本文中使用的“和/或”是指包括一个或者一个以上相关联地列出的项目的任意和所有可能组合。上述本发明实施例公开实施例序号仅仅为了描述,不代表实施例的优劣。
[0086]
所属领域的普通技术人员应当理解:以上任何实施例的讨论仅为示例性的,并非旨在暗示本发明实施例公开的范围(包括权利要求)被限于这些例子;在本发明实施例的思路下,以上实施例或者不同实施例中的技术特征之间也可以进行组合,并存在如上的本发明实施例的不同方面的许多其它变化,为了简明它们没有在细节中提供。因此,凡在本发明实施例的精神和原则之内,所做的任何省略、修改、等同替换、改进等,均应包含在本发明实施例的保护范围之内。
再多了解一些

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

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

相关文献