首页> 中国专利> 一种能够进行静态参数测试的芯片IO端口电路

一种能够进行静态参数测试的芯片IO端口电路

摘要

本发明公开一种能够进行静态参数测试的芯片IO端口电路,包括解码器单元、一组与输入端口一一对应的输入测试单元、一组与输出端口一一对应的输出测试单元、多级与门以及多级或门;在芯片的每个IO端口输出端上加入一个纯组合逻辑的输入测试单元,用来实现IO端口输出端的可观测性,各个输入测试单元的输出通过多级与门和多级或门互连,测试结果通过DGOUT0,DGOUT1端口观测;在每个IO端口输入端上插入纯组合逻辑的输出测试单元,用来实现IO端口输出端的可控制性;解码器单元用来产生每个IODC单元所需要的输入测试、输出测试、高阻、上下拉测试等子测试模式选择信号;本发明该结构具有很强的可实现性和可操作性,还可以测试IO的上拉、下拉及驱动能力等功能。

著录项

  • 公开/公告号CN109188250A

    专利类型发明专利

  • 公开/公告日2019-01-11

    原文格式PDF

  • 申请/专利权人 北方电子研究院安徽有限公司;

    申请/专利号CN201811166516.8

  • 申请日2018-10-08

  • 分类号

  • 代理机构安徽省蚌埠博源专利商标事务所;

  • 代理人陈俊

  • 地址 233000 安徽省蚌埠市经济开发区汤和路2016号

  • 入库时间 2024-02-19 07:54:08

法律信息

  • 法律状态公告日

    法律状态信息

    法律状态

  • 2023-05-30

    专利权人的姓名或者名称、地址的变更 IPC(主分类):G01R31/28 专利号:ZL2018111665168 变更事项:专利权人 变更前:北方电子研究院安徽有限公司 变更后:安徽北方微电子研究院集团有限公司 变更事项:地址 变更前:233000 安徽省蚌埠市经济开发区汤和路2016号 变更后:233000 安徽省蚌埠市经济开发区汤和路2016号

    专利权人的姓名或者名称、地址的变更

  • 2020-08-18

    授权

    授权

  • 2019-02-12

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

    实质审查的生效

  • 2019-01-11

    公开

    公开

说明书

技术领域

本发明涉及集成电路可测性设计技术领域,具体是一种能够进行静态参数测试的芯片IO端口电路。

背景技术

随着超大规模集成电路的发展,由于芯片IO端口的不可控和不可观测性,芯片IO端口的功能测试及静态参数测试越来越复杂,采用功能向量测试IO及静态参数无疑是非常不合理的方式。为了加快测试速度,缩短产品的开发周期,目前IO端口的测试主要采用JTAG边界扫描技术,该技术在芯片的内部逻辑和器件引脚间放置移位寄存器,然后把这些移位寄存器连在一起就形成了JTAG边界扫描链。JTAG边界扫描链主要用来PCB板级互连的测试,也可以用来测试IO的基本功能及静态参数。对于不需要板级互连调试的芯片来说,该方法引入相对较多的逻辑,测试向量也相对复杂,而且无法测试端口的上拉、下拉、驱动能力等功能。

发明内容

本发明的目的在于提供一种能够进行静态参数测试的芯片IO端口电路,通过该电路能够实现对IO端口快速地功能测试及静态参数测试,且硬件开销小、结构简单、易于实现与控制。

本发明解决其技术问题所采用的技术方案是:

一种能够进行静态参数测试的芯片IO端口电路,包括解码器单元、一组与输入端口一一对应的输入测试单元、一组与输出端口一一对应的输出测试单元、多级与门以及多级或门;

解码器单元包含输入端口“IODC_MODE”、“DEC0”、“DEC1”与“DEC2”,通过“DEC0”、“DEC1”与“DEC2”三个端口的输入在解码器单元的输出端解码产生测试信号“test_input”、“test_input_pull”、“test_output_0”、“test_output_1”、“test_output_Z”以及“drive_select”,“IODC_MODE”作为芯片测试模式与芯片工作模式之间的选择切换端;

所述输入测试单元包含下拉测试单元、上拉测试单元与通用测试单元三种类型;其中下拉测试单元包含与门A1、与门A2、选择器M1及选择器M2;与门A1的一个输入端连接“IODC_MODE”、另一个输入端作为信号输入端“C”,与门A1的输出端分别连接选择器M1的“0”端、选择器M2的“0”端以及与门A2的其中一个输入端;与门A2的另一个输入端连接“test_input_pull”;选择器M1的选择端连接“test_input_pull”,选择器M1的“1”端为1,选择器M1的输出端为“C_and1”;选择器M2的选择端连接“test_input_pull”,选择器M2的“1”端和与门A2的输出端相连,选择器M2的输出端为“C_or1”;

上拉测试单元包含与门A3、或门OR1、选择器M3及选择器M4,与门A3的一个输入端连接“IODC_MODE”、另一个输入端作为信号输入端“C”,与门A3的输出端分别连接选择器M3的“0”端、选择器M4的“0”端以及或门OR1的其中一个输入端;或门OR1的另一个输入端取反后连接“test_input_pull”;选择器M3的选择端连接“test_input_pull”,选择器M3的“1”端连接或门OR1的输出端,选择器M3的输出端为“C_and2”;选择器M4的选择端连接“test_input_pull”,选择器M4的“1”端为0,选择器M4的输出端为“C_or2”;

通用测试单元包含与门A4、选择器M5及选择器M6,与门A4的一个输入端连接“IODC_MODE”、另一个输入端作为信号输入端“C”,与门A4的输出端分别连接选择器M5的“0”端、选择器M6的“0”端;选择器M5的“1”端为1,选择器M5的选择端连接“test_input_pull”,选择器M5的输出端为“C_and3”;选择器M6的“1”端为0,选择器M6的选择端连接“test_input_pull”,选择器M6的输出端为“C_or3”;

所述“C_and1”、“C_and2”与“C_and3”分别与多级与门的输入端相连,“C_or1”、“C_or2”与“C_or3” 分别与多级或门的输入端相连;多级与门的输出端与多级或门的输出端分别作为观测端“DGOUT1”与“DGOUT0”;

所述输出测试单元包含选择器M7、选择器M8、选择器M9、选择器M10、或非门NOR1以及非门N1;选择器M7的“0”端作为“Core_I”、选择器M7的“1”端连接“test_output_1”、选择器M7的输出端连接IO端口的I端;选择器M8的“0”端作为功能信号“Core_OEN”、选择器M8的“1”端连接或非门NOR1的输出端、选择器M8的输出端连接IO端口的OEN端,或非门NOR1的两个输入端分别连接“test_output_0”与“test_output_1”;选择器M9的“0”端作为功能信号“Core_REN”、选择器M9的“1”端连接非门N1的输出端、选择器M9的输出端连接IO端口的REN端;选择器M10的“0”端作为功能信号“Core_DS”、选择器M10的“1”端连接“drive_select”、选择器M10的输出端连接IO端口的DS端;所述选择器M7、选择器M8、选择器M9与选择器M10的选择端均连接“IODC_MODE”。

本发明的有益效果是,使用解码器单元来产生输入测试单元与输出测试单元所需的输入测试、输出测试、高阻、上下拉测试等各种测试信号,输入测试单元测试结果可通过“DGOUT0”与“DGOUT1”端口的状态直接观测;该电路结构具有很强的可实现性和可操作性;对于无板级互连测试要求的芯片来说,可以替代JTAG边界扫描链结构,并且相比JTAG技术引入了更少的逻辑,设计及结构更加灵活,测试控制更加容易。

附图说明

下面结合附图和实施例对本发明进一步说明:

图1是本发明的电气原理框图;

图2是本发明下拉测试单元的原理图;

图3是本发明上拉测试单元的原理图;

图4是本发明通用测试单元的原理图;

图5是本发明输出测试单元的原理图;

图6是本发明下拉测试单元进行测试时输入为0的数据流向示意图;

图7是本发明下拉测试单元进行测试时输入为1的数据流向示意图;

图8是本发明下拉测试单元进行测试时输入为Z的数据流向示意图;

图9是本发明上拉测试单元进行测试时输入为0的数据流向示意图;

图10是本发明上拉测试单元进行测试时输入为1的数据流向示意图;

图11是本发明上拉测试单元进行测试时输入为Z的数据流向示意图;

图12是本发明通用测试单元进行测试时输入为0的数据流向示意图;

图13是本发明通用测试单元进行测试时输入为1的数据流向示意图;

图14是本发明通用测试单元进行测试时输入为Z的数据流向示意图;

图15是本发明输出测试单元进行测试时test_output_0=1的数据流向示意图;

图16是本发明输出测试单元进行测试时test_output_1=1的数据流向示意图;

图17是本发明输出测试单元进行测试时test_output_z=1或test_input =1的数据流向示意图;

图18是本发明输出测试单元进行测试时test_input_pull =1的数据流向示意图。

具体实施方式

如图1所示,本发明提供一种能够进行静态参数测试的芯片IO端口电路,包括解码器单元Q1、一组与输入端口一一对应的输入测试单元、一组与输出端口一一对应的输出测试单元、多级与门AND Tree以及多级或门OR Tree;

解码器单元Q1包含输入端口“IODC_MODE”、“DEC0”、“DEC1”与“DEC2”,通过“DEC0”、“DEC1”与“DEC2”三个端口的输入在解码器单元的输出端解码产生测试信号“test_input”、“test_input_pull”、“test_output_0”、“test_output_1”、“test_output_Z”以及“drive_select”,“IODC_MODE”作为芯片测试模式与芯片工作模式之间的选择切换端。

结合图2~4所示,所述输入测试单元包含下拉测试单元IODC_M1、上拉测试单元IODC_M2与通用测试单元IODC_M3三种类型;其中下拉测试单元IODC_M1包含与门A1、与门A2、选择器M1及选择器M2;与门A1的一个输入端连接“IODC_MODE”、另一个输入端作为信号输入端“C”,与门A1的输出端分别连接选择器M1的“0”端、选择器M2的“0”端以及与门A2的其中一个输入端;与门A2的另一个输入端连接“test_input_pull”;选择器M1的选择端连接“test_input_pull”,选择器M1的“1”端为1,选择器M1的输出端为“C_and1”;选择器M2的选择端连接“test_input_pull”,选择器M2的“1”端和与门A2的输出端相连,选择器M2的输出端为“C_or1”。

上拉测试单元包含与门A3、或门OR1、选择器M3及选择器M4,与门A3的一个输入端连接“IODC_MODE”、另一个输入端作为信号输入端“C”,与门A3的输出端分别连接选择器M3的“0”端、选择器M4的“0”端以及或门OR1的其中一个输入端;或门OR1的另一个输入端取反后连接“test_input_pull”;选择器M3的选择端连接“test_input_pull”,选择器M3的“1”端连接或门OR1的输出端,选择器M3的输出端为“C_and2”;选择器M4的选择端连接“test_input_pull”,选择器M4的“1”端为0,选择器M4的输出端为“C_or2”。

通用测试单元包含与门A4、选择器M5及选择器M6,与门A4的一个输入端连接“IODC_MODE”、另一个输入端作为信号输入端“C”,与门A4的输出端分别连接选择器M5的“0”端、选择器M6的“0”端;选择器M5的“1”端为1,选择器M5的选择端连接“test_input_pull”,选择器M5的输出端为“C_and3”;选择器M6的“1”端为0,选择器M6的选择端连接“test_input_pull”,选择器M6的输出端为“C_or3”。

所述“C_and1”、“C_and2”与“C_and3”分别与多级与门的输入端相连,“C_or1”、“C_or2”与“C_or3” 分别与多级或门的输入端相连;多级与门的输出端与多级或门的输出端分别作为观测端“DGOUT1”与“DGOUT0”。

结合图5所示,所述输出测试单元包含选择器M7、选择器M8、选择器M9、选择器M10、或非门NOR1以及非门N1;选择器M7的“0”端作为“Core_I”、选择器M7的“1”端连接“test_output_1”、选择器M7的输出端连接IO端口的I端;选择器M8的“0”端作为功能信号“Core_OEN”、选择器M8的“1”端连接或非门NOR1的输出端、选择器M8的输出端连接IO端口的OEN端,或非门NOR1的两个输入端分别连接“test_output_0”与“test_output_1”;选择器M9的“0”端作为功能信号“Core_REN”、选择器M9的“1”端连接非门N1的输出端、选择器M9的输出端连接IO端口的REN端;选择器M10的“0”端作为功能信号“Core_DS”、选择器M10的“1”端连接“drive_select”、选择器M10的输出端连接IO端口的DS端;所述选择器M7、选择器M8、选择器M9与选择器M10的选择端均连接“IODC_MODE”。

结合图6所示,下面详细描述对下拉测试单元IODC_M1的C端进行观测的过程,当测试芯片IO端口输入为‘0’时的功能时(即IO的PAD端为‘0’),IODC_M1的C端预期为‘0’,此时,IODC_MODE=‘1’, test_input=‘1’,其余子模式选择信号均为 ‘0’,则C_or1 应为‘0’,当所有的IO均正常时,“OR Tree”最终输出DGOUT0=‘0’,当有IO出现异常时,“OR tree”最终输出DGOUT0=‘1’;结合图7所示,当测试芯片IO输入为‘1’时的功能时(即IO的PAD端为‘1’),IODC_M1的C端预期为‘1’, IODC_MODE=‘1’, test_input=‘1’, 其余子模式选择信号均为‘0’,则C_and1应为‘1’,当所有的IO均正常时,“AND Tree”最终输出DGOUT1=‘1’,当有IO出现异常时,“AND tree”最终输出DGOUT1=‘0’;结合图8所示,同样的,当测试芯片IO端口的输入下拉功能时,IO的PAD端为‘Z’,则IODC_M1的C端预期为‘0’, IODC_MODE=‘1’,test_input_pull =‘1’, 其余子模式选择信号均为‘0’,则C_or1应为‘0’,当所有的IO均正常时,OR Tree最终输出DGOUT0=‘0’,当有IO出现异常时,OR Tree最终输出DGOUT0=‘1’。所以,通过观测DGOUT0、DGOUT1的数值可以验证IO端口的输入功能。

结合图9所示,下面详细描述对上拉测试单元IODC_M2的C端进行观测的过程,当测试芯片IO端口输入为‘0’时的功能时(即IO的PAD端为‘0’),IODC_M2的C端预期为‘0’,此时,IODC_MODE=‘1’, test_input=‘1’,其余子模式选择信号均为‘0’,则C_or2 应为‘0’,当所有的IO均正常时,“OR Tree”最终输出DGOUT0=‘0’,当有IO出现异常时,“OR tree”最终输出DGOUT0=‘1’;结合图10所示,当测试芯片IO输入为‘1’时的功能时(即IO的PAD端为‘1’),IODC_M2的C端预期为‘1’, IODC_MODE=‘1’, test_input=‘1’, 其余子模式选择信号均为‘0’,则C_and2应为‘1’,当所有的IO均正常时,“AND Tree”最终输出DGOUT1=‘1’,当有IO出现异常时,“AND tree”最终输出DGOUT1=‘0’;结合图11所示,同样的,当测试芯片IO端口的输入上拉功能时,IO的PAD端为‘Z’,IODC_M2的C端预期为‘1’, IODC_MODE=‘1’, test_input_pull =‘1’,其余子模式选择信号均为 ‘0’,则C_and2应为‘1’,当所有的IO均正常时,AND Tree最终输出DGOUT1=‘1’,当有IO出现异常时,AND Tree最终输出DGOUT1=‘0’。所以,通过观测DGOUT0、DGOUT1的数值可以验证IO端口的输入功能。

结合图12所示,下面详细描述对通用测试单元IODC_M3的C端进行观测的过程,当测试芯片IO端口输入为‘0’时的功能时(即IO的PAD端为‘0’),IODC_M3的C端预期为‘0’,此时,IODC_MODE=‘1’, test_input=‘1’, 其余子模式选择信号均为 ‘0’,则C_or3 应为‘0’,当所有的IO均正常时,“OR Tree”最终输出DGOUT0=‘0’,当有IO出现异常时,“OR tree”最终输出DGOUT0=‘1’;结合图13所示,当测试芯片IO输入为‘1’时的功能时(即IO的PAD端为‘1’),IODC_M3的C端预期为‘1’,IODC_MODE=‘1’, test_input=‘1’ 其余子模式选择信号均为 ‘0’,则C_and3应为‘1’,当所有的IO均正常时,“AND Tree”最终输出DGOUT1=‘1’,当有IO出现异常时,“AND tree”最终输出DGOUT1=‘0’;结合图14所示,同样的,该种类型的IO端口不需要测试上下拉功能,所以在进行上下拉功能测试时,C_and3=‘1’,C_or3=‘0’,不会影响带有上、下拉功能IO端口输入上、下拉功能的测试。

下面对输出测试单元IODC_C主要实现IO端口输入端(I、OEN、REN、DS)的可控制性进行详细描述,结合图15所示,当测试IO端口输出为‘0’的功能时, test_output_0=‘1’,drive_select分别设置为和‘0’和‘1’,其余子模式选择信号均为 ‘0’,则IO端口的I端为‘0’,OEN端为‘0’,REN端为‘1’,最终观测到的PAD端的输出应为‘0’,并可在当前状态下测试不同的驱动能力及静态参数IOL;结合图16所示,当测试IO端口输出为‘1’的功能时, test_output_1=‘1’,drive_select端分别设置为和‘0’和‘1’, 其余子模式选择信号均为 ‘0’,则IO端口的I端为‘1’,OEN端为‘0’,REN端为‘1’,最终观测到的PAD端的输出应为‘1’, 并可在当前状态下测试不同的驱动能力和静态参数IOH;结合图17所示,当测试IO端口输出为Z的功能时, test_output_z=‘1’, 其余子模式选择信号均为 ‘0’,则IO端口的OEN端为‘1’,REN端为‘1’,最终观测到的PAD端的输出应为‘Z’ ,并可在当前状态下测试静态参数IOZ、IOZH和IOZL。另外,测试IO端口的输入功能时需要控制IO端口为高阻态,具体描述如下,当测试IO端口输入为‘0’和‘1’功能时,结构与图17相同,此时,test_input=1,其余子模式选择信号均为 ‘0’,则IO端口的OEN端为‘1’,REN端为‘1’;结合图18所示,当测试IO端口输入上下拉功能时, test_input_pull=1,其余子模式选择信号均为 ‘0’,则IO端口的OEN端为‘1’,REN端为‘0’。

本发明电路结构实现非常灵活,可在芯片前端代码设计时实现,也可在代码综合成门级网表后实现,并可与其它DFT设计兼容。

在门级网表中插入该结构的一个典型的实施方式为:

第一步,根据常用IO结构和功能,将解码器单元、IODC_M、IODC_C采用verilog硬件描述语言或者门级网表等方式固化成固定的模块;

第二步,采用TCL语言提取芯片网表中PAD信息,准备PAD.list文件,该文件中列出网表中使用IO的相应信息;

第三步,在综合工具中,比如DC Compiler,读入IODC_C、IODC_M综合后的文件、PAD.list文件及网表文件,利用TCL语句进行互连,最终实现该结构的插入。

第四步 进行形式检查。

本发明电路结构测试向量非常简单,见表1,该电路结构通过控制DEC2、DEC1、DEC0、具有输入功能的IO,测量DGOUT0、DGOUT1、具有输出功能的IO,即可以实现芯片IO输入、输出、上下拉、驱动能力的测试及IIL、IIH、IOL、IOH、IOZ、IOZH、IOZL等静态参数的测试。

表1 典型测试向量

以上所述,仅是本发明的较佳实施例而已,并非对本发明作任何形式上的限制;任何熟悉本领域的技术人员,在不脱离本发明技术方案范围情况下,都可利用上述揭示的方法和技术内容对本发明技术方案做出许多可能的变动和修饰,或修改为等同变化的等效实施例。因此,凡是未脱离本发明技术方案的内容,依据本发明的技术实质对以上实施例所做的任何简单修改、等同替换、等效变化及修饰,均仍属于本发明技术方案保护的范围内。

去获取专利,查看全文>

相似文献

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

客服邮箱:kefu@zhangqiaokeyan.com

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

  • 服务号