首页> 中国专利> 一种基于片上嵌入式微系统的SIP模块测试方法

一种基于片上嵌入式微系统的SIP模块测试方法

摘要

一种基于片上嵌入式微系统的SIP模块测试方法,首先利用SIP模块内部的CPU单元,对所有存储器单元的全部地址进行读写操作,以测试存储器单元的正确性;然后对SIP模块内部CPU单元进行内部封闭自测试和外部辅助测试,以验证CPU单元的正确性;最后通过内部CPU单元和外部FPGA对SIP模块内部FPGA进行测试。本发明方法在不提高SIP模块设计复杂度的基础上,有效的对SIP模块功能、内部互联进行测试,最大程度上满足了SIP模块全测试覆盖的需求,在保证SIP模块正确性的基础上,提高了测试效率。

著录项

  • 公开/公告号CN106814305A

    专利类型发明专利

  • 公开/公告日2017-06-09

    原文格式PDF

  • 申请/专利号CN201611205402.0

  • 发明设计人 郭权;祝天瑞;李志远;王猛;

    申请日2016-12-23

  • 分类号G01R31/28(20060101);G01R31/3167(20060101);H03M1/10(20060101);

  • 代理机构11009 中国航天科技专利中心;

  • 代理人臧春喜

  • 地址 100076 北京市丰台区东高地四营门北路2号

  • 入库时间 2023-06-19 02:27:27

法律信息

  • 法律状态公告日

    法律状态信息

    法律状态

  • 2019-06-04

    授权

    授权

  • 2017-07-04

    实质审查的生效 IPC(主分类):G01R31/28 申请日:20161223

    实质审查的生效

  • 2017-06-09

    公开

    公开

说明书

技术领域

本发明涉及一种SIP模块测试方法,特别是一种基于片上嵌入式微系统的SIP模块测试方法,属于集成电路设计领域。。

背景技术

随着用户对电子系统或电子整机的要求日益高涨,电子系统或电子整机正在朝多功能、高性能、小型化、轻型化、便携化、高速度、低功耗和高可靠方向发展。SIP(system in a package,系统级封装)技术,将多种不同功能的电路集成在一个封装之内,用于实现某种基本完整的功能。作为提升单片处理器功能的有效方法,SIP得到业界极大的关注,在近年来取得较快发展。

由于SIP的概念来源于封装的设计,多数的研究都针对于SIP模块的封装过程。SIP模块在处理器架构上,又与ASIC(application specific integrated circuit,专用集成电路)有一定的区别,传统的ATE(automatic test equipment,自动试验设备)测试方式针对单一功能的集成电路,用于基于片上嵌入式微系统的SIP模块测试时会导致测试覆盖不全,测试效率低。

发明内容

本发明中技术解决的问题是:克服现有技术的不足,提出一种基于片上嵌入式微系统的SIP模块测试方法,该方法在不提高SIP模块设计复杂度的基础上,有效的对SIP模块功能、内部互联进行测试,最大程度上满足了SIP模块全测试覆盖的需求,在保证SIP模块正确性的基础上,提高了测试效率。

本发明的技术解决方案是:一种基于片上嵌入式微系统的SIP模块测试方法,包括下列步骤:

(1)利用SIP模块内部的CPU单元,对所有存储器单元的全部地址进行读写操作,以测试存储器单元的正确性;

(2)对SIP模块内部CPU单元进行内部封闭自测试和外部辅助测试,以验证CPU单元的正确性;

(3)对SIP模块内部FPGA进行以下测试:

通过外部FPGA向SIP模块内部FPGA输入时钟,并通过外部FPGA查看内部FPGA的lock信号是否锁定,以测试内部FPGA工作频率的正确性;

采用MARCH C算法,通过CPU单元,向内部FPGA的可配置RAM的全部地址进行读写操作,以测试可配置RAM的正确性;

晶振提供输入频率,内部FPGA进行不同程度的倍频,通过外部PPGA查看内部FPGA的Lock信号,分别验证低频模式和高频模式下内部FPGA是否正常工作,以测试延时锁相环的正确性。

所述SIP模块、外部FPGA以及外围电路布置在硬件测试平台上,所述硬件测试平台为SIP模块、外部FPGA以及外围电路提供电信号、地信号、时钟信号,并实现板级互联。

所述步骤(2)中,内部封闭自测试的实现方法为:向CPU单元内部寄存器写入数据,根据内部寄存器要实现的功能,结合逻辑判断验证从内部寄存器读出的数据是否正确;

外部辅助测试的实现方法为:通过外围电路向CPU单元输入激励,CPU单元采集或通过外部FPGA采集输出信号,通过输入激励、输出信号以及预先设计的内部逻辑,判断CPU单元设计是否正确。

所述步骤(1)中对所有存储器单元的全部地址进行读写操作的方法为:

(4.1)CPU单元为存储器前半部分存储空间加载代码,以实现对存储器后半部分存储空间所有单元进行读写操作;

(4.2)更改读写周期,对存储器后半部分存储空间所有单元进行读写操作;

(4.3)CPU单元为存储器后半部分存储空间加载代码,以实现对前半部分存储空间所有单元进行读写操作;

(4.4)更改读写周期,对存储器前半部分存储空间所有单元进行读写操作。本发明与现有技术相比的有益效果是:

(1)本发明提出了一套完整的基于片上嵌入式微系统的SIP模块测试设计流程,填补了目前SIP模块测试设计流程的空白,弥补了传统的ATE测试方式测试覆盖不全,测试效率低的缺陷,最大程度上满足了SIP模块全测试覆盖的需求,在保证SIP模块正确性的基础上,提高了测试效率。

(2)本发明在测试设计上,不仅仅考虑了SIP模块测试的完整性,同时将测试效率、测试成本、测试必要性等均列入考虑范围之内,因此在完全测试的基础上,对存储器单元的测试进行了优化,通过向存储器一半空间写入代码,实现对另一半存储空间的读写操作,大大提高了测试的效率和测试有效性,减少了测试冗余和测试时间。

附图说明

图1是本发明硬件测试平台设计示意图。

具体实施方式

本发明所述方法是基于设计方的,生产环节均不在发明范围之内。本发明采用SIP模块的测试设计方法包括两个部分:硬件测试平台设计和软件测试方案设计。两个部分设计之间的牵连较大,需要同时协调进行。

图1为本发明的硬件测试平台设计示意图,外围电路为整版(包括待测器件)提供系统资源(电信号、地信号、时钟信号等)和板级互联;SIP模块内CPU引脚与内部FPGA连接,可以测试CPU及FPGA相应引脚;外部FPGA芯片接收SIP模块部分输出信号,并存取输出信号结果,供测试系统读取。

一种基于片上嵌入式微系统的SIP模块测试方法,包括下列步骤:

(1)设计硬件测试平台,将SIP模块、外部FPGA以及外围电路布置在硬件测试平台上,硬件测试平台为SIP模块、外部FPGA以及外围电路提供电信号、地信号、时钟信号,并实现板级互联。

(2)利用SIP模块内部的CPU单元,对所有存储器单元的全部地址进行读写操作,以测试存储器单元的正确性;

对所有存储器单元的全部地址进行读写操作的方法如下:

(a)CPU单元为存储器前半部分存储空间加载代码,向后半部分存储空间每一个存储单元同时写入0x55,并同时读取各个存储单元的数据,以实现对存储器后半部分存储空间所有单元进行读写操作;

(b)更改读写周期,向后半部分存储空间每一个存储单元写入0xAA,并读取各个存储单元的数据;

(c)CPU单元为存储器后半部分存储空间加载代码,向前半部分存储空间每一个存储单元同时写入0x55,并读取各个存储单元的数据,以实现对存储器前半部分存储空间所有单元进行读写操作;

(d)更改读写周期,向存储器前半部分存储空间所有单元写入0xAA,并读取各个存储单元的数据。

通过写入数据和读取数据对比,一致则存储器存储单元功能正确;否则不正确。

(3)对SIP模块内部CPU单元进行内部封闭自测试和外部辅助测试,以验证CPU单元的正确性;

内部封闭自测试的实现方法为:向CPU单元内部寄存器写入数据,根据内部寄存器要实现的功能,结合逻辑判断验证从内部寄存器读出的数据是否正确;

如以CPU单元中的定时器为例,判断定时器使能/禁能功能是否正确:

定时器使能功能判断:CPU单元配置中断并挂载中断处理程序;使能定时器并不断读取定时器计数寄存器数值,若该数值不断变化、最终产生中断并进入中断处理程序,该项测试通过;若现象与上述预期结果不符,该项测试失败。

定时器禁能功能判断:不断读取定时器计数寄存器数值,该值不会产生变化并无法产生中断,该项测试通过;若现象与上述预期结果不符,该项测试失败。

如以CPU单元中的看门狗为例,判断看门狗计数功能是否正确:

配置看门狗,不使能看门狗,对看门狗计数寄存器进行多组不同数据的读写操作,若读回数据与写入数据匹配,该项测试通过;若不匹配,该项测试失败。

配置看门狗,使能看门狗;多次读写定时器计数寄存器,若多次读取数据显示计数寄存器计数值变化,并最终产生系统复位信号,该项测试通过;若计数寄存器计数值无变化,或无法产生系统复位信号,该项测试失败。

外部辅助测试的实现方法为:外围电路向CPU单元输入激励,对于CPU单元能够直接读取数据的功能模块,CPU单元通过读取内部寄存器,获得相应功能模块的输出信号;

对于CPU单元不能直接读取数据的功能模块,外部FPGA采集输出信号,CPU单元回读外部FPGA采集的输出信号;

通过输入激励、输出信号以及预先设计的内部逻辑,判断CPU单元设计是否正确。

如以CPU单元中的A/D转换模块为例,判断A/D转换功能是否正确:

通过外围电路向A/D转换模块输入为固定电平(3.3V/0V),A/D转换模块进行电平转换;CPU单元将转换数据读回,与预设数值进行比较;若转换数据与预设数值误差在可接收范围(1%),该项测试通过;若转换数据与预设数值误差在可接受外,该项测试失败。

如以CPU单元中的GPIO模块为例,判断GPIO模块输出功能是否正确:

通过配置外部FPGA逻辑电路,实现GPIO模块16路用户IO与FPGA引脚相连,FPGA引脚信号状态映射至内部寄存器中;设置16路用户IO为输出,FPGA引脚为输入;通过外围电路向GPIO模块输入激励,通过用户IO输出给外部FPGA多种输出信号组合,CPU单元将FPGA引脚输入信号读回;将读回的数据与原始数据相比,若数据相符,该项测试通过;若数据不符,该项测试失败。

(3)对SIP模块内部FPGA进行以下测试:

通过外部FPGA向SIP模块内部FPGA输入时钟,并通过外部FPGA查看内部FPGA的lock信号是否锁定,锁定则说明内部FPGA的工作频率测试通过,否则不通过。

如通过外部FPGA向SIP模块内部的FPGA输入时钟25MHz,通过三次二倍频可达到200MHz,外部FPGA查看lock信号是否锁定,即可完成该功能的测试。

采用MARCH C算法,通过CPU单元,向内部FPGA的可配置RAM的全部地址进行读写操作,以测试可配置RAM的正确性。

晶振提供输入频率,内部FPGA进行不同程度的倍频,通过外部PPGA查看内部FPGA的Lock信号,分别验证低频模式和高频模式下内部FPGA是否正常工作,如果正常,则延时锁相环正确。如果不正常,则延时锁相环不正确。

如:DLL有两个工作模式,低频模式(25M-90MHz)和高频模式(60M-190MHz),晶振输入频率为25MHz,经过一次二倍频到50MHz,通过查看Lock信号测试低频模式25MHz和50MHz下以及高频模式100MHz下,内部FPGA是否可以正常工作,如果均可以,则延时锁相环正确,如果有一个模式内部FPGA不能正常工作,则延时锁相环设计不正确。

测试时通过不同的编程语言实现上述不同的测试功能:嵌入式汇编语言(SPARC汇编)设计主要针对SIP模块内部IU、FPU和TRAP等单元进行测试;嵌入式C语言设计主要针对SIP模块内部CPU功能项、SRAM、SDRAM、Flash、FPGA组件单元、内部连线和部分引脚连接进行测试;硬件语言(Verilog/VHDL)设计主要负责配置SIP模块内部FPGA和板载外部FPGA芯片,将其配置成测试软件需要的逻辑电路,实现对SIP模块部分输出功能、部分引脚连接和部分连线的测试。

本发明根据需要将板载FPGA芯片和SIP模块内部FPGA配置为预先设计好的逻辑电路,通过软硬件协同执行,实现针对SIP模块的全功能测试。该方法在不提高SIP模块设计复杂度的基础上,有效的对SIP模块功能、内部互联、外部引脚等进行测试,最大程度上满足了SIP模块全测试覆盖的需求,在保证SIP模块正确性的基础上,提高了测试效率,有效保证了测试的覆盖率、完整性和有效性。

本发明说明书中未作详细描述的内容属于本领域专业技术人员的公知技术。

去获取专利,查看全文>

相似文献

  • 专利
  • 中文文献
  • 外文文献
获取专利

客服邮箱:kefu@zhangqiaokeyan.com

京公网安备:11010802029741号 ICP备案号:京ICP备15016152号-6 六维联合信息科技 (北京) 有限公司©版权所有
  • 客服微信

  • 服务号