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

一种SoC芯片检验方法、装置及相关设备与流程

2022-03-23 00:40:50 来源:中国专利 TAG:

一种soc芯片检验方法、装置及相关设备
技术领域
1.本技术涉及硬件测试技术领域,特别涉及一种soc芯片检验方法,还涉及一种soc芯片检验装置、设备及计算机可读存储介质。


背景技术:

2.soc(system on chip,片上系统)技术是指将cpu(central processing unit/processor,中央处理器)和输入输出外设、存储器以及其他功能外设集成到一块芯片上。soc技术可以有效减小产品面积,提高产品的性能,降低产品的功耗,提高产品的可靠性,因此得到了广泛的应用。但是,由于芯片的造价高昂,为了保证soc芯片的功能和性能,在芯片流片前,需要进行大量充足的验证。
3.目前,soc验证技术分三个部分:模块级,子系统级,系统级验证。正对这三级验证技术,往往系统级验证是人们容易疏忽的,认为模块级和子系统级验证完,就问题不大。然而,系统级软硬件仿真才是更真实的模拟了真实场景。
4.因此,如何实现系统级的soc芯片的性能验证,保证芯片验证结果的准确性是本领域技术人员亟待解决的问题。


技术实现要素:

5.本技术的目的是提供一种soc芯片检验方法,该soc芯片检验方法可以实现系统级的soc芯片的性能验证,保证芯片验证结果的准确性;本技术的另一目的是提供一种soc芯片检验装置、设备及计算机可读存储介质,均具有上述有益效果。
6.第一方面,本技术提供了一种soc芯片检验方法,包括:
7.当接收到验证指令时,根据所述验证指令从预设存储空间读取寄存器配置指令;其中,所述soc芯片与硬件测试层连接,所述预设存储空间部署于所述硬件测试层;
8.根据所述寄存器配置指令进行寄存器配置,并在寄存器配置完毕后启动所述soc芯片中的各元件设备;
9.获取各所述元件设备的运行结果,并根据各所述运行结果确定soc芯片检验结果。
10.优选的,接收所述验证指令包括:
11.当接收到复位信号时,响应所述验证指令;其中,所述复位信号由所述硬件测试层基于测试仿真脚本产生。
12.优选的,所述根据所述验证指令从预设存储空间读取寄存器配置指令,包括:
13.根据所述验证指令,从所述预设存储空间的首地址开始读取所述寄存器配置指令,直至所有所述寄存器配置指令读取完毕。
14.优选的,所述根据所述寄存器配置指令进行寄存器配置,包括:
15.根据所述寄存器配置指令确定目标寄存器;
16.通过bus总线对所述目标寄存器进行配置。
17.优选的,所述根据各所述运行结果确定soc芯片检验结果,包括:
18.根据所述运行结果生成对应的波形数据;
19.判断所述波形数据是否满足预设波形要求;
20.若是,则确定所述soc芯片检验结果为检验通过;
21.若否,则确定所述soc芯片检验结果为检验不通过。
22.优选的,所述soc芯片检验方法还包括:
23.当所述soc芯片检验结果为检验不通过时,输出告警提示。
24.优选的,所述寄存器配置指令具体为基于ide编译器编译生成的二进制指令。
25.第二方面,本技术还公开了一种soc芯片检验装置,包括:
26.指令读取模块,用于当接收到验证指令时,根据所述验证指令从预设存储空间读取寄存器配置指令;其中,所述soc芯片与硬件测试层连接,所述预设存储空间部署于所述硬件测试层;
27.寄存器配置模块,用于根据所述寄存器配置指令进行寄存器配置,并在寄存器配置完毕后启动所述soc芯片中的各元件设备;
28.芯片验证模块,用于获取各所述元件设备的运行结果,并根据各所述运行结果确定soc芯片检验结果。
29.第三方面,本技术还公开了一种soc芯片检验设备,包括:
30.存储器,用于存储计算机程序;
31.处理器,用于执行所述计算机程序时实现如上所述的任一种soc芯片检验方法的步骤。
32.第四方面,本技术还公开了一种计算机可读存储介质,所述计算机可读存储介质上存储有计算机程序,所述计算机程序被处理器执行时实现如上所述的任一种soc芯片检验方法的步骤。
33.本技术所提供的一种soc芯片检验方法,包括当接收到验证指令时,根据所述验证指令从预设存储空间读取寄存器配置指令;其中,所述soc芯片与硬件测试层连接,所述预设存储空间部署于所述硬件测试层;根据所述寄存器配置指令进行寄存器配置,并在寄存器配置完毕后启动所述soc芯片中的各元件设备;获取各所述元件设备的运行结果,并根据各所述运行结果确定soc芯片检验结果。
34.应用本技术所提供的技术方案,预先为soc芯片构建硬件测试层,并从中部署预设存储空间,用于实现寄存器配置指令的存储,由此,当进入soc芯片检验阶段时,则可以直接从预设存储空间中读取获得寄存器配置指令,并完成寄存器配置,从而启动soc芯片中的各元件设备,在此基础上,则可以根据各元件设备的运行结果确定soc芯片的性能检测是否通过。可见,该种实现方式通过软硬件协同验证实现了soc芯片的系统级验证,并且,基于该种实现方式所构建的测试环境简单,易于理解和构造,使得测试场景接近soc芯片的真实工作场景,可以有效保证芯片验证结果的准确性。
35.本技术所提供的一种soc芯片检验装置、设备及计算机可读存储介质,均具有上述有益效果,在此不再赘述。
附图说明
36.为了更清楚地说明现有技术和本技术实施例中的技术方案,下面将对现有技术和
本技术实施例描述中需要使用的附图作简要的介绍。当然,下面有关本技术实施例的附图描述的仅仅是本技术中的一部分实施例,对于本领域普通技术人员来说,在不付出创造性劳动的前提下,还可以根据提供的附图获得其他的附图,所获得的其他附图也属于本技术的保护范围。
37.图1为本技术所提供的一种soc芯片检验方法的流程示意图;
38.图2为本技术所提供的一种soc芯片的结构示意图;
39.图3为本技术所提供的一种soc芯片仿真验证架构的结构示意图;
40.图4为本技术所提供的一种soc芯片检验装置的结构示意图;
41.图5为本技术所提供的一种soc芯片检验设备的结构示意图。
具体实施方式
42.本技术的核心是提供一种soc芯片检验方法,该soc芯片检验方法可以实现系统级的soc芯片的性能验证,保证芯片验证结果的准确性;本技术的另一核心是提供一种soc芯片检验装置、多控服务器及计算机可读存储介质,也具有上述有益效果。
43.为了对本技术实施例中的技术方案进行更加清楚、完整地描述,下面将结合本技术实施例中的附图,对本技术实施例中的技术方案进行介绍。显然,所描述的实施例仅仅是本技术一部分实施例,而不是全部的实施例。基于本技术中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本技术保护的范围。
44.本技术实施例提供了一种soc芯片检验方法。
45.请参考图1,图1为本技术所提供的一种soc芯片检验方法的流程示意图,该soc芯片检验方法可包括:
46.s101:当接收到验证指令时,根据验证指令从预设存储空间读取寄存器配置指令;其中,soc芯片与硬件测试层连接,预设存储空间部署于硬件测试层;
47.本步骤旨在实现寄存器配置指令的获取,该寄存器配置指令用于实现soc芯片中对应寄存器的配置,以便启动soc芯片中的各元件设备。具体而言,技术人员可根据soc芯片的实际结构预先编写寄存器配置指令,并存储至预设存储空间,由此,当接收到验证指令时,即可从该预设存储空间中读取获得各寄存器配置指令。其中,预设存储空间部署于硬件测试层,该硬件测试层于soc芯片相连接,为soc芯片提供硬件测试环境。
48.可以理解的是,预设存储空间的具体类型并不影响本技术方案的实施,可实现寄存器配置指令的存储即可,本技术对此不做限定。并且,预设存储空间中所存储的寄存器配置指令的数量和类型均由soc芯片本身的结构构造所决定,本技术对此同样不做限定。
49.s102:根据寄存器配置指令进行寄存器配置,并在寄存器配置完毕后启动soc芯片中的各元件设备;
50.本步骤旨在实现寄存器配置,进而启动soc芯片中的各元件设备。具体而言,在从预设存储空间中读取到寄存器配置指令之后,即可根据该寄存器配置指令对soc芯片中相应的寄存器进行配置;进一步,在寄存器配置完毕之后,即可直接启动soc芯片中的各个元件设备,以使得各元件设备进行入正常运行状态。
51.s103:获取各元件设备的运行结果,并根据各运行结果确定soc芯片检验结果。
52.本步骤旨在基于soc芯片中个元件设备的运行结果,确定soc芯片的检验结果,即
circuit,i2c总线接口)输出至波形设备(如示波器等)生成相应的波形数据,由此,即可通过波形检查查看波形数据的正确性,进而确定soc芯片检验是否通过。显然,当波形数据满足预设波形要求时,soc芯片检验通过;当波形数据不满足预设波形要求时,soc芯片检验不通过。
62.当然,以上实现方式仅为本技术实施例所提供的一种实现方式,并不唯一,例如,对于soc芯片中的spi(serial peripheral interface,串行外设接口)控制器和dma(direct memory access,直接存储器访问)而言,可通过数据搬移然后进行数据结果比对确定,具体来说,将uart(通用异步收发传输器,universal asynchronous receiver/transmitter)接口连接硬件测试层的一个uart模块,然后通过dma将spi flash(flash eeprom memory,闪存)里面的数据搬运到uart接口输出,最后将uart模块中的打印数据与spi flash中的实际数据进行比对,当二者一致时即可确认soc芯片检验通过。
63.在本技术的一个实施例中,该soc芯片检验方法还可以包括:当soc芯片检验结果为检验不通过时,输出告警提示。
64.本技术所提供的soc芯片检验方法还可以实现告警功能。具体而言,当soc芯片的检验结果为不通过时,则可以直接输出告警提示,以及时告知技术人员当前被检测的soc芯片不合格,需要重新返厂维修。其中,输出告警提示的方式并不唯一,例如,可以为语音提示,也可以为指示灯提示,具体由技术人员根据实际情况进行设定即可,本技术对此不做限定。
65.在本技术的一个实施例中,寄存器配置指令具体可以为基于ide编译器(一种编译器)编译生成的二进制指令。
66.如上所述,技术人员可根据soc芯片的实际结构预先编写寄存器配置指令,在此基础上,具体可以采用ide编译器进行寄存器配置指令的编译,从而获得相应的二进制指令,并存储至预设存储空间中。其中,ide编译器集成了将c语言转化成汇编语言的底层语言功能。
67.在上述各实施实例的基础上:
68.请参考图2,图2为本技术所提供的一种soc芯片的结构示意图,该soc芯片是基于amba总线结构(advanced microcontroller bus architecture,高级微控制器总线结构)的带有cpu微核结构的一个小型soc芯片,微核通过ace(adaptive communication environment,自适配通信环境)总线连接到ahb总线(advanced high performance bus,高速总线)上,ahb总线连接dma、sram(static random-access memory,静态随机存取存储器)、spi flash controller(spi flash控制器)等高速设备,高速总线通过一个转换桥ahb2apb连接到apb总线(advanced peripheral bus,低速总线),apb总线连接一些低速接口设备,如uart接口、i2c接口等。
69.进一步,参考图3,图3为本技术所提供的一种soc芯片仿真验证架构的结构示意图,图3所示soc芯片仿真验证架构是在图2所示soc芯片的基础上,增加了一个用于仿真验证的top层,即硬件测试层,在该硬件测试层中,主要集成了时钟复位信号、存储模块(flash model)以及一些外设接口的模块。其中,存储模块与soc芯片中的spi flash controller相连,为cpu提供测试激励的命令码,由此,一个基本的验证电路环境搭建完成。
70.(1)配置阶段:
71.首先,配置好ide编译器环境,接着在c语言的main函数中编写soc芯片相关寄存器的配置逻辑,然后,利用ide编译器编译代码生成二进制bin文件,供soc系统使用,最后,将生成好的bin文件存入至存储模块中。
72.(2)测试阶段:
73.首先,启动makefile仿真脚本,让仿真跑起来,当仿真跑起后,硬件测试层将会产生时钟和复位信号,并发送至soc芯片;进一步,soc芯片中的cpu复位后,默认去零地址位存储模块中去读取二进制指令,并在对指令进行运算之后通过bus总线发出寄存器配置信息,完成寄存器配置,使得soc芯片中的相关设备工作起来实现相关场景;最后,根据各设备在工作过程中所产生的数据信息确定soc芯片的验证结果。显然,由于这样的验证过程与soc芯片的实际工作场景是匹配的,因此,通过这样的仿真验证能够更好的检查出soc芯片实际系统场景的错误。
74.可见,本技术实施例所提供的soc芯片检验方法,预先为soc芯片构建硬件测试层,并从中部署预设存储空间,用于实现寄存器配置指令的存储,由此,当进入soc芯片检验阶段时,则可以直接从预设存储空间中读取获得寄存器配置指令,并完成寄存器配置,从而启动soc芯片中的各元件设备,在此基础上,则可以根据各元件设备的运行结果确定soc芯片的性能检测是否通过。可见,该种实现方式通过软硬件协同验证实现了soc芯片的系统级验证,并且,基于该种实现方式所构建的测试环境简单,易于理解和构造,使得测试场景接近soc芯片的真实工作场景,可以有效保证芯片验证结果的准确性。
75.本技术实施例提供了一种soc芯片检验装置。
76.请参考图4,图4为本技术所提供的一种soc芯片检验装置的结构示意图,该soc芯片检验装置可包括:
77.指令读取模块1,用于当接收到验证指令时,根据验证指令从预设存储空间读取寄存器配置指令;其中,soc芯片与硬件测试层连接,预设存储空间部署于硬件测试层;
78.寄存器配置模块2,用于根据寄存器配置指令进行寄存器配置,并在寄存器配置完毕后启动soc芯片中的各元件设备;
79.芯片验证模块3,用于获取各元件设备的运行结果,并根据各运行结果确定soc芯片检验结果。
80.可见,本技术实施例所提供的soc芯片检验装置,预先为soc芯片构建硬件测试层,并从中部署预设存储空间,用于实现寄存器配置指令的存储,由此,当进入soc芯片检验阶段时,则可以直接从预设存储空间中读取获得寄存器配置指令,并完成寄存器配置,从而启动soc芯片中的各元件设备,在此基础上,则可以根据各元件设备的运行结果确定soc芯片的性能检测是否通过。可见,该种实现方式通过软硬件协同验证实现了soc芯片的系统级验证,并且,基于该种实现方式所构建的测试环境简单,易于理解和构造,使得测试场景接近soc芯片的真实工作场景,可以有效保证芯片验证结果的准确性。
81.在本技术的一个实施例中,该soc芯片检验装置还可以包括验证指令接收模块,用于当接收到复位信号时,响应验证指令;其中,复位信号由硬件测试层基于测试仿真脚本产生。
82.在本技术的一个实施例中,上述指令读取模块1可具体用于根据验证指令,从预设存储空间的首地址开始读取寄存器配置指令,直至所有寄存器配置指令读取完毕。
83.在本技术的一个实施例中,上述寄存器配置模块2可具体用于根据寄存器配置指令确定目标寄存器;通过bus总线对目标寄存器进行配置。
84.在本技术的一个实施例中,上述芯片验证模块3可具体用于根据运行结果生成对应的波形数据;判断波形数据是否满足预设波形要求;若是,则确定soc芯片检验结果为检验通过;若否,则确定soc芯片检验结果为检验不通过。
85.在本技术的一个实施例中,该soc芯片检验装置还可以包括告警模块,用于当soc芯片检验结果为检验不通过时,输出告警提示。
86.在本技术的一个实施例中,上述寄存器配置指令具体可以为基于ide编译器编译生成的二进制指令。
87.对于本技术提供的装置的介绍请参照上述方法实施例,本技术在此不做赘述。
88.本技术实施例提供了一种soc芯片检验设备。
89.请参考图5,图5为本技术所提供的一种soc芯片检验设备的结构示意图,该soc芯片检验设备可包括:
90.存储器,用于存储计算机程序;
91.处理器,用于执行计算机程序时可实现如上述任意一种soc芯片检验方法的步骤。
92.如图5所示,为soc芯片检验设备的组成结构示意图,soc芯片检验设备可以包括:处理器10、存储器11、通信接口12和通信总线13。处理器10、存储器11、通信接口12均通过通信总线13完成相互间的通信。
93.在本技术实施例中,处理器10可以为中央处理器(central processing unit,cpu)、特定应用集成电路、数字信号处理器、现场可编程门阵列或者其他可编程逻辑器件等。
94.处理器10可以调用存储器11中存储的程序,具体的,处理器10可以执行soc芯片检验方法的实施例中的操作。
95.存储器11中用于存放一个或者一个以上程序,程序可以包括程序代码,程序代码包括计算机操作指令,在本技术实施例中,存储器11中至少存储有用于实现以下功能的程序:
96.当接收到验证指令时,根据验证指令从预设存储空间读取寄存器配置指令;其中,soc芯片与硬件测试层连接,预设存储空间部署于硬件测试层;
97.根据寄存器配置指令进行寄存器配置,并在寄存器配置完毕后启动soc芯片中的各元件设备;
98.获取各元件设备的运行结果,并根据各运行结果确定soc芯片检验结果。
99.在一种可能的实现方式中,存储器11可包括存储程序区和存储数据区,其中,存储程序区可存储操作系统,以及至少一个功能所需的应用程序等;存储数据区可存储使用过程中所创建的数据。
100.此外,存储器11可以包括高速随机存取存储器,还可以包括非易失性存储器,例如至少一个磁盘存储器件或其他易失性固态存储器件。
101.通信接口12可以为通信模块的接口,用于与其他设备或者系统连接。
102.当然,需要说明的是,图5所示的结构并不构成对本技术实施例中soc芯片检验设备的限定,在实际应用中soc芯片检验设备可以包括比图5所示的更多或更少的部件,或者
组合某些部件。
103.本技术实施例提供了一种计算机可读存储介质,该计算机可读存储介质上存储有计算机程序,计算机程序被处理器执行时可实现如上述任意一种soc芯片检验方法的步骤。
104.该计算机可读存储介质可以包括:u盘、移动硬盘、只读存储器(read-only memory,rom)、随机存取存储器(random access memory,ram)、磁碟或者光盘等各种可以存储程序代码的介质。
105.对于本技术提供的计算机可读存储介质的介绍请参照上述方法实施例,本技术在此不做赘述。
106.说明书中各个实施例采用递进的方式描述,每个实施例重点说明的都是与其他实施例的不同之处,各个实施例之间相同相似部分互相参见即可。对于实施例公开的装置而言,由于其与实施例公开的方法相对应,所以描述的比较简单,相关之处参见方法部分说明即可。
107.专业人员还可以进一步意识到,结合本文中所公开的实施例描述的各示例的单元及算法步骤,能够以电子硬件、计算机软件或者二者的结合来实现,为了清楚地说明硬件和软件的可互换性,在上述说明中已经按照功能一般性地描述了各示例的组成及步骤。这些功能究竟以硬件还是软件方式来执行,取决于技术方案的特定应用和设计约束条件。专业技术人员可以对每个特定的应用来使用不同方法来实现所描述的功能,但是这种实现不应认为超出本技术的范围。
108.结合本文中所公开的实施例描述的方法或算法的步骤可以直接用硬件、处理器执行的软件模块,或者二者的结合来实施。软件模块可以置于随机存储器(ram)、内存、只读存储器(rom)、电可编程rom、电可擦除可编程rom、寄存器、硬盘、可移动磁盘、cd-rom或技术领域内所公知的任意其它形式的存储介质中。
109.以上对本技术所提供的技术方案进行了详细介绍。本文中应用了具体个例对本技术的原理及实施方式进行了阐述,以上实施例的说明只是用于帮助理解本技术的方法及其核心思想。应当指出,对于本技术领域的普通技术人员来说,在不脱离本技术原理的前提下,还可以对本技术进行若干改进和修饰,这些改进和修饰也落入本技术的保护范围内。
再多了解一些

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

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

相关文献