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

一种实现SOC复位模块的测试方法、装置及系统

文献发布时间:2023-06-19 09:24:30


一种实现SOC复位模块的测试方法、装置及系统

技术领域

本发明涉及SOC芯片设计验证技术领域,尤其涉及一种实现SOC复位模块的测试方法、实现SOC复位模块的测试装置及包括该实现SOC复位模块的测试装置的实现SOC复位模块的测试系统。

背景技术

现在SOC(片上系统)设计中,复位模块是非常重要的一个部分,其中包括内部复位、外部复位、软件复位等多个功能模块组合而成,逻辑上非常复杂;复位模块的组成一般可认为是数字逻辑功能模块和模拟模块;在前期芯片设计验证阶段,由于FPGA是数字逻辑单元,只能用于实现数字模块功能,无法实现模拟模块功能;市面上虽然有专用的的复位电路芯片或者模块,但因功能逻辑和时序等与硬件设计不符,无法起到替代作用。

现有的FPGA(现场可编程门阵列)验证平台因复位模块功能无法实现,在对SOC与复位模块相关的逻辑功能验证时只能放弃验证或者通过设计仿真保证;仿真模型与真实的复位模块设计会有一定的差距,在仿真设置时,会对控制信号给定某个固定或理想的信号状态,造成仿真覆盖不完全以及仿真结果理想化问题;另外,仿真环境在信号的时序控制以及信号的电平电压等比较等关键参数上也会与实际电路设计存在差距。

因SOC与复位模块相关的逻辑未得到真正验证,很可能造成最终设计因复位模块相关方面存在缺陷导致SOC整体设计失败。

目前在FPGA平台对SOC验证时,因复位模块在FPGA中无法完全实现,对于与复位模块相关的验证,暂无验证解决方案,通常只能放弃验证或者只进行设计仿真。

发明内容

针对现有技术中的缺陷和不足,本发明提供了一种实现SOC复位模块的测试方法、实现SOC复位模块的测试装置及包括该实现SOC复位模块的测试装置的实现SOC复位模块的测试系统,可直接将设计的复位模块(主控MCU实现本复位模块)应用于FPGA验证平台,从而实现SOC整体功能逻辑验证。

作为本发明的第一个方面,提供一种实现SOC复位模块的测试方法,包括:

设置中断唤醒模式,中断包括比较器模块中断和输入管脚中断;

获取复位模块控制信号、SOC供电电压以及阈值电压;

判断所述复位模块控制信号是否发生变化,若是,则控制输入管脚中断;若否,则进一步判断所述SOC供电电压是否大于所述阈值电压;

若SOC供电电压大于阈值电压,则控制比较器模块中断;若SOC供电电压不大于阈值电压,则进入待机状态;

当所述输入管脚中断或所述比较器模块中断后,根据当前所述复位模块控制信号做出相应的处理,并输出当前复位模块状态信号。

作为本发明的另一个方面,提供一种实现SOC复位模块的测试装置,所述实现SOC复位模块的测试装置包括:

设置模块,用于设置中断唤醒模式,中断包括比较器模块中断和输入管脚中断;

获取模块,用于获取复位模块控制信号、SOC供电电压以及阈值电压;

判断模块,用于判断所述复位模块控制信号是否发生变化,若是,则控制输入管脚中断;若否,则进一步判断所述SOC供电电压是否大于所述阈值电压,若SOC供电电压大于阈值电压,则控制比较器模块中断;若SOC供电电压不大于阈值电压,则进入待机状态;

处理模块,用于当所述输入管脚中断或所述比较器模块中断后,根据当前所述复位模块控制信号做出相应的处理,并输出当前复位模块状态信号。

作为本发明的另一个方面,提供一种实现SOC复位模块的测试系统,包括主控MCU、比较器模块、DAC模块、第一GPIO管脚、第二GPIO管脚以及定时器,所述主控MCU包括前文所述的实现SOC复位模块的测试装置,其中,所述主控MCU分别与比较器模块、DAC模块、第一GPIO管脚、第二GPIO管脚以及定时器连接,所述比较器模块与所述DAC模块连接,所述第二GPIO管脚与所述定时器连接,所述第一GPIO管脚为所述输入管脚,其中,

所述DAC模块,用于产生阈值电压;

所述比较器模块,用于接收待测SOC发送的SOC供电电压以及DAC模块发送的阈值电压,及将所述SOC供电电压与阈值电压进行比较,当比较出所述SOC供电电压高于阈值电压时,则判断SOC供电正常;

所述第一GPIO管脚,用于接收并识别FPGA验证平台输出的复位模块控制信号;

所述第二GPIO管脚,用于输出当前复位模块状态信号;

所述定时器,用于输出时钟信号至所述第二GPIO管脚。

进一步地,还包括上位机和待测SOC,所述待测SOC包括所述FPGA验证平台,所述上位机和所述主控MCU连接,所述FPGA验证平台包括复位模块控制信号接口和复位模块状态信号接口;其中,所述FPGA验证平台通过所述复位模块控制信号接口将复位模块控制信号输出至所述第一GPIO管脚;所述主控MCU判断出所述输入管脚中断或所述比较器模块中断后,根据当前所述复位模块控制信号做出相应的处理,并通过所述第二GPIO管脚将当前复位模块状态信号输出至所述复位模块状态信号接口。

进一步地,所述上位机用来配置上位机软件,在软件界面配置不同复位模块的关键参数,所述关键参数包括信号名称、信号间逻辑关系、信号时序以及输入信号幅度判限;所述上位机软件配置好后,自动生成所述主控MCU的运行程序代码,并烧录至所述主控MCU中;其中,所述上位机通过USB接口或者USB转换的通用协议接口与所述主控MCU连接通讯。

进一步地,还包括DC电源,所述DC电源为所述主控MCU、比较器模块、DAC模块、第一GPIO管脚、第二GPIO管脚以及定时器供电。

进一步地,所述复位模块控制信号包括外部复位管脚复位信号、RESET指令复位信号、看门狗超时复位信号中的一种或多种。

进一步地,所述复位模块状态信号包括系统复位信号、模块复位状态信号中的一种或多种。

本发明提供的实现SOC复位模块的测试方法具有以下优点:可直接将设计的复位模块(本发明实现SOC复位模块的测试系统实现本复位模块)应用于FPGA验证平台,从而实现SOC整体功能逻辑验证。

附图说明

附图是用来提供对本发明的进一步理解,并且构成说明书的一部分,与下面的具体实施方式一起用于解释本发明,但并不构成对本发明的限制。

图1为本发明提供的实现SOC复位模块的测试方法的流程图。

图2为本发明提供的实现SOC复位模块的测试方法的一种具体实施方式流程图。

图3为本发明提供的实现SOC复位模块的测试系统的结构示意图。

图4为本发明提供的不同复位模块控制信号实现复位的逻辑框图。

具体实施方式

需要说明的是,在不冲突的情况下,本发明中的实施例及实施例中的特征可以相互结合。下面将参考附图并结合实施例来详细说明本发明。

为了使本领域技术人员更好地理解本发明方案,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分的实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都应当属于本发明保护的范围。

需要说明的是,本发明的说明书和权利要求书及上述附图中的术语“第一”、“第二”等是用于区别类似的对象,而不必用于描述特定的顺序或先后次序。应该理解这样使用的数据在适当情况下可以互换,以便这里描述的本发明的实施例。此外,术语“包括”和“具有”以及他们的任何变形,意图在于覆盖不排他的包括,例如,包含了一系列步骤或单元的过程、方法、系统、产品或设备不必限于清楚地列出的那些步骤或单元,而是可包括没有清楚地列出的或对于这些过程、方法、产品或设备固有的其它步骤或单元。

在本实施例中提供了一种实现SOC复位模块的测试方法,图1为本发明提供的实现SOC复位模块的测试方法的流程图,图2为本发明提供的实现SOC复位模块的测试方法的一种具体实施方式流程图。

下面结合图1和图2对本发明实施例提供的实现SOC复位模块的测试方法的具体实现过程进行说明。

如图1所示,请同时参照图2,一种实现SOC复位模块的测试方法,包括:

S110、设置中断唤醒模式,中断包括比较器模块中断和输入管脚中断;

S120、获取复位模块控制信号、SOC供电电压以及阈值电压;

S130、判断所述复位模块控制信号是否发生变化,若是,则控制输入管脚中断;若否,则进一步判断所述SOC供电电压是否大于所述阈值电压;

S140、若SOC供电电压大于阈值电压,则控制比较器模块中断;若SOC供电电压不大于阈值电压,则进入待机状态;

S150、当所述输入管脚中断或所述比较器模块中断后,根据当前所述复位模块控制信号做出相应的处理,并输出当前复位模块状态信号。

本发明提供的实现SOC复位模块的测试方法,可解决因缺少与设计相符的复位模块而造成无法在FPGA验证平台对SOC进行与复位模块相关的功能验证以及SOC系统整体运行功能验证的问题。

具体地,如图2所示,在设置中断唤醒模式之前,首先,定义输入控制信号管脚命名以及输入信号相互逻辑关系;然后,设置DAC模块,根据输入值输出模拟电压作为ACMP的比较电压;然后,设置ACMP模式,其中比较电压由DAC提供;然后,定义输出状态响应信号管脚命名;最后,设置TIMER定时延时,以提供不同输出状态需要的响应信号。

作为本发明的另一实施例,提供一种实现SOC复位模块的测试装置,其中,所述实现SOC复位模块的测试装置包括:

设置模块,用于设置中断唤醒模式,中断包括比较器模块中断和输入管脚中断;

获取模块,用于获取复位模块控制信号、SOC供电电压以及阈值电压;

判断模块,用于判断所述复位模块控制信号是否发生变化,若是,则控制输入管脚中断;若否,则进一步判断所述SOC供电电压是否大于所述阈值电压,若SOC供电电压大于阈值电压,则控制比较器模块中断;若SOC供电电压不大于阈值电压,则进入待机状态;

处理模块,用于当所述输入管脚中断或所述比较器模块中断后,根据当前所述复位模块控制信号做出相应的处理,并输出当前复位模块状态信号。

作为本发明的另一实施例,提供一种实现SOC复位模块的测试系统,如图3所示,包括主控MCU、比较器模块、DAC模块、第一GPIO管脚、第二GPIO管脚以及定时器,所述主控MCU包括前文所述的实现SOC复位模块的测试装置,其中,所述主控MCU分别与比较器模块、DAC模块、第一GPIO管脚、第二GPIO管脚以及定时器连接,所述比较器模块与所述DAC模块连接,所述第二GPIO管脚与所述定时器连接,所述第一GPIO管脚为所述输入管脚,其中,

所述DAC模块,用于产生阈值电压;

所述比较器模块,用于接收待测SOC发送的SOC供电电压以及DAC模块发送的阈值电压,及将所述SOC供电电压与阈值电压进行比较,当比较出所述SOC供电电压高于阈值电压时,则判断SOC供电正常;

所述第一GPIO管脚,用于接收并识别FPGA验证平台输出的复位模块控制信号;

所述第二GPIO管脚,用于输出当前复位模块状态信号;

所述定时器,用于输出时钟信号至所述第二GPIO管脚。

优选地,还包括上位机和待测SOC,所述待测SOC包括所述FPGA验证平台,所述上位机和所述主控MCU连接,所述FPGA验证平台包括复位模块控制信号接口和复位模块状态信号接口;其中,所述FPGA验证平台通过所述复位模块控制信号接口将复位模块控制信号输出至所述第一GPIO管脚;所述主控MCU判断出所述输入管脚中断或所述比较器模块中断后,根据当前所述复位模块控制信号做出相应的处理,并通过所述第二GPIO管脚将当前复位模块状态信号输出至所述复位模块状态信号接口。

具体地,(1)所示主控MCU一般为32位通用MCU,本发明的包括主控MCU的测试系统用于实现复位模块;(2)比较器模块,用于将SOC供电电压与DAC模块(数模转换模块)提供的阈值电压进行比较,当SOC供电电压高于阈值电压,则认为SOC供电正常,说明上电POR高于阈值并保持稳定或者掉电BOR虽有掉电但仍高于阈值保持稳定;(3)DAC模块(数模转换模块),用于通过配置的数值产生ACMP(比较器)需要的判限阈值电压,不同的SOC设计阈值电压会有不同,可通过DAC模块配置产生需要的阈值电压;(4)第一GPIO管脚为通用IO输入管脚,由几个IO组合而成,每个IO代表不同的定义,用于接收识别FPGA输出的控制信号;(5)第二GPIO管脚为通用IO输出管脚,由几个IO组合而成,每个IO代表不同的定义,用于发送复位模块状态信号,状态信号相互之间会有一定的时间延时,可通过TIMER模块定时来实现延时;(6)TIMER(定时器):用于产生控制时钟输出的延时间隔,提供给第二GPIO管脚状态信号输出延时;(7)FPGA验证平台:用于实现SOC硬件设计的验证平台,SOC中的复位模块用本发明测试系统代替实现。

优选地,所述上位机用来配置上位机软件,在软件界面配置不同复位模块的关键参数,所述关键参数包括信号名称、信号间逻辑关系、信号时序以及输入信号幅度判限;所述上位机软件配置好后,自动生成所述主控MCU的运行程序代码,并烧录至所述主控MCU中;其中,所述上位机通过USB接口或者USB转换的通用协议接口与所述主控MCU连接通讯。

具体地,本发明提供的实现SOC复位模块的测试系统的整体实现流程如下:第一,上位机软件按照硬件设计配置复位模块;第二,上位机软件配置好后,自动生成所述主控MCU的运行程序代码,并烧录至所述主控MCU中;第三,所述主控MCU运行状态机,实现复位模块功能。

需要说明的是,复位模块实现内部状态机,具体如下:

(1)控制信号输入识别:用于识别与复位模块相关的控制信号,对不同的输入控制信号做出相应的处理;

(2)状态信号输出控制:当前操作状态信号输出,可通过内部定时进行时序控制输出;

(3)模拟电压产生输出:复位模块的模拟电压输出,配置不同的电压输出值;

(4)复位电压触发判断:复位端口检测到模拟电压输入,对电压输入作出判断并处理;

(5)待机:当前无操作,保持当前状态。

优选地,还包括DC电源,所述DC电源为所述主控MCU、比较器模块、DAC模块、第一GPIO管脚、第二GPIO管脚以及定时器供电。

优选地,所述复位模块控制信号包括外部复位管脚复位信号、RESET指令复位信号、看门狗超时复位信号中的一种或多种。

优选地,所述复位模块状态信号包括系统复位信号、模块复位状态信号中的一种或多种。

如图4所示,SOC系统复位模块常用的复位方式有:上电复位(POR)、欠压复位(BOR)、外部复位管脚复位(NRST)、RESET指令复位(SWR),看门狗超时复位(WDTR)等,不同的复位模块控制信号通过逻辑与的方式实现复位,其中POR、BOR、NRST、SWR、WDRT等信号为输入信号,SYSRST为系统复位输出信号,另外根据不同的电路设计需要,也会有模块复位状态信号RST1、RST2等;复位模块基本工作原理可以简单的理解为对数字信号叠加模拟比较进行逻辑判断并输出具有一定延时状态响应信号。

本发明系统硬件主要分为两部分:复位模块硬件设计模块和复位测试激励模块,具体如下:

复位模块硬件设计模块:用于模拟实现硬件设计的复位模块,该部分主要实现硬件设计的复位模块功能,主要包括内部功能逻辑以及外部的接口定义,包括模拟信号和数字信号;该部分实现主要考虑因素:(1)逻辑功能上的实现与原硬件设计一致,具体实现可参考硬件设计代码或者设计文档;(2)模拟电压识别精度问题,主控MCU的ACMP精度可达毫伏级,符合复位模块识别精度需求;(3)数字信号输出的时序问题,主控MCU的TIMER定时功能可控制在微秒级以内,符合复位模块状态信号的时序需求;

复位测试激励模块:用于产生复位测试所需的激励信号,包括模拟电压输出以及数字信号控制;根据不同的验证需要,测试激励模块可通过主控MCU内部DAC、GPIO等功能模块实现,也可在本装置上外部添加激励模块。

本发明提供的实现SOC复位模块的测试方法具有以下优点:(1)可直接将设计的复位模块(本发明测试系统实现本复位模块)应用于FPGA验证平台,从而实现SOC整体功能逻辑验证;(2)可实现复位模块的输出信号时序上的控制,精度可达微秒以内;(3)对复位模块的模拟输入信号对电平设置,精度可在毫伏以内;(4)具有通用性,可广泛的应用于各种硬件设计的复位模块的应用实现;(5)配置灵活,可通过可视化的界面直接进行参数配置并自动生成复位模块。

可以理解的是,以上实施方式仅仅是为了说明本发明的原理而采用的示例性实施方式,然而本发明并不局限于此。对于本领域内的普通技术人员而言,在不脱离本发明的精神和实质的情况下,可以做出各种变型和改进,这些变型和改进也视为本发明的保护范围。

相关技术
  • 一种实现SOC复位模块的测试方法、装置及系统
  • 基于片上系统SOC的BIST通用基础测试模块及测试系统及利用此系统的测试方法
技术分类

06120112150852