CN102236066B - 实现芯片功能故障快速调试定位的方法及调试电路 - Google Patents
实现芯片功能故障快速调试定位的方法及调试电路 Download PDFInfo
- Publication number
- CN102236066B CN102236066B CN201010155027.XA CN201010155027A CN102236066B CN 102236066 B CN102236066 B CN 102236066B CN 201010155027 A CN201010155027 A CN 201010155027A CN 102236066 B CN102236066 B CN 102236066B
- Authority
- CN
- China
- Prior art keywords
- chip
- signal
- internal
- debugging mode
- seen
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Expired - Fee Related
Links
Landscapes
- Tests Of Electronic Circuits (AREA)
- Debugging And Monitoring (AREA)
Abstract
本发明公开了一种实现芯片功能故障快速调试定位的方法,在芯片电路内嵌入一调试电路,当芯片出现功能故障时,通过该芯片的一个或多个管脚输入一段预定义好的信号使芯片进入调试模式;对待观察的芯片内部信号进行选择;选择好的芯片内部信号通过芯片的一个预定义好的管脚进行输出;通过观察芯片工作过程中某些内部信号的波形,并与设计时该信号的期望波形相比较,实现功能故障的调试与定位。本发明还公开了实现所述方法中的调试电路。在芯片出现功能故障后,本发明能够快速低成本的实现芯片故障的调试和定位。
Description
技术领域
本发明涉及芯片设计领域,特别是涉及一种能够实现芯片功能故障快速调试定位的方法。本发明涉及该方法中的调试电路。
背景技术
半导体工艺水平的发展使得集成电路(IC)集成度的进一步提高成为可能。电子工业已经从大规模集成电路时代迈进了超大规模集成电路时代。随着深亚微米工艺技术的成熟,芯片设计业面临着严峻的问题:由于芯片功能和性能的需求发展,芯片规模越来越大,工作速度越来越高,开发周期越来越长,设计成本越来越高,设计质量越来越难于控制,芯片生产后出现的设计和生产问题概率越来越大,查找故障的时间和人力成本以及复杂度也越来越大。十年前在设计3层金属层时,如果芯片有问题,可以直接研究金属层来查看电路。现在对于9层金属层和0.13mm甚至更小的金属间距,问题就不是那么简单了。当芯片出现问题,为了找出错误原因,可能需要观察芯片内部某些关键信号;通常的方法是利用聚焦离子束(FIB)探入到芯片内部。该方法不仅成本高,时间长,而且在如此小的金属间距中很容易破坏芯片或引入其他问题。
发明内容
本发明要解决的技术问题是提供一种实现芯片功能故障快速调试定位的方法,当芯片出现功能故障后,能够快速低成本的实现芯片故障的调试和定位;为此,本发明还要提供一种实现所述方法中的调试电路。
为解决上述技术问题,本发明的实现芯片功能故障快速调试定位的方法是采用如下技术方案实现的:
在芯片电路内嵌入一调试电路,当芯片出现功能故障时,通过该芯片的一个或多个管脚输入一段预定义好的信号使芯片进入调试模式;对待观察的芯片内部信号进行选择;选择好的芯片内部信号通过芯片的一个预定义好的管脚进行输出;通过观察芯片工作过程中某些内部信号的波形,并与设计时该信号的期望波形相比较,实现功能故障的调试与定位。
本发明实现所述方法中的调试电路详见具体实施方式部分的描述。
采用本发明的方法,可以在芯片设计时在芯片内嵌入一小块面积不大的调试电路。当芯片生产完成后,如果出现功能故障需要调试时,可以在不破坏芯片和做聚焦离子束(FIB)工程的情况下,通过操作芯片的外部管脚就可以观察到芯片内部的某些关键信号,从而能够快速低成本的实现芯片故障的调试和定位。使得人们在芯片外部就能控制和观察芯片内部的信号,而在成本和时间预算上又不超出预定目标。
附图说明
下面结合附图与具体实施方式对本发明作进一步详细的说明:
图1是本发明的实施例一各信号波形图;
图2是本发明的实施例二各信号波形图;
图3是嵌入在芯片内部的调试电路一实施例结构图。
具体实施方式
在一实施例中所述实现芯片功能故障快速调试定位的方法是,在芯片设计时在其内部嵌入一块调试电路。当芯片出现功能故障时,通过该芯片的一个或多个管脚输入一段预定义好的信号使芯片进入调试模式;对待观察的芯片内部信号进行选择;选择好的芯片内部信号通过芯片的一个预定义好的管脚进行输出;通过观察芯片工作过程中某些内部信号的波形,并与设计时该信号的期望波形相比较,实现功能故障的调试与定位。
当芯片出现功能故障时,对待观察的芯片内部信号进行选择有两种实现方式,可以根据芯片实际情况选择使用。
第一种方式是,通过芯片的一个或多个管脚输入一段预定义好的信号使芯片进入调试模式,并根据所述输入的预定义好的信号对待观察的芯片内部信号进行选择。
参见图1所示,例如,从芯片的IO0管脚输入高电平信号,从IO1管脚输入时钟信号,从IO2、IO3、IO4管脚输入预定义好的信号;其中,从IO4管脚输入的为串行数据,经转换后变为并行数据;从IO4管脚输入的前8个数据为“A5”(当然,输入的前8个数据也可是其它数据,例如“9A”;目的是在芯片内嵌入的调试电路中如果设定的是A5,那么只有当从IO4管脚输入的前8个数据为“A5”时,即两者匹配了,才能进入调试模式一,将待观察的芯片内部信号输出到,否则不能实现芯片内部信号调试功能),并与从IO0、IO1、IO2、IO3管脚输入的信号一起使芯片进入调试模式一。从IO4管脚输入的后6个数据产生待观察的芯片内部信号的选择信号,用于对待观察的芯片内部信号进行选择。将选择的要观察的芯片内部信号从IO5管脚输出。
第二种方式是,通过芯片的一个或多个管脚输入一段预定义好的信号使芯片进入调试模式二,然后由芯片内部的CPU向一寄存器写入对待观察的芯片内部信号的选择数值,对待观察的芯片内部信号进行选择。
参见图2所示,例如,从芯片的IO0管脚输入低电平信号,从IO1管脚输入时钟信号,使芯片进入调试模式。然后由芯片内部的CPU向一寄存器写入对待观察的芯片内部信号的选择数值,产生待观察的芯片内部信号的选择信号,被选择的芯片内部信号从IO5管脚输出。
第一种实现方式对芯片内部是否有CPU均适用,特别是当芯片内部没有CPU或CPU不能正常工作时更加适合。如果芯片上电后不能正常工作,可以通过操作芯片外部的管脚去察看芯片内部信号的工作状态,使得能够快速进行功能故障的错误定位;而且不需要芯片内部有CPU或CPU必须能正常工作。
第二种实现方式在于如果芯片上电后不能正常工作,但是芯片中有CPU,而且CPU在上电后能正常工作,可以通过操作CPU产生待观察的芯片内部信号的选择信号;使用的芯片管脚数量少,而且不需要另外从外部输入复杂的数字0、1序列信号,控制灵活方便,成本低,效率高,安全可靠;但适用范围不如第一种实现方式。
结合图3所示,在一实施例中,所述调试电路包括:调试模式产生模块、64个待观察的内部信号产生模块、串并转换模块、6位寄存器、选择信号选择器、观察信号选择器和观察信号输出控制器。
所述调试模式产生模块,用于产生调试模式信号,使芯片进入调试模式。调试模式信号,可以由调试模式产生模块根据从芯片的一个管脚输入的预定义好的信号,或者从芯片的几个管脚同时输入的不同的预定义好的信号来实现。在图1、2、3所示的实施例中,调试模式信号是由从芯片的管脚IO0、IO1、IO2、IO3、IO4同时输入的不同的预定义好的信号实现的。
由于本发明具有两种调试模式,即调试模式一(即前面所述的第一种实现方式)和调试模式二(即前面所述的第二种实现方式),具体使芯片进入哪种调试模式,由芯片管脚IO0确定(当然也可以选择其它某一管脚)。当管脚IO0输入高电平(也可以是低电平)时,配合管脚IO1、IO2、IO3、IO4同时输入的不同的预定义好的信号,由调试模式产生模块使芯片进入调试模式一;当管脚IO0输入低电平(也可以是高电平,即与调试模式一相反的电平信号)时,配合管脚IO1同时输入的预定义好的时钟信号,由调试模式产生模块使芯片进入调试模式二。
串并转换模块,将从芯片管脚IO4输入的串行数据转换成并行数据,即用于产生调试模式一工作方式,又用于产生对待观察的内部信号进行选择的选择信号。其中,当串行输入的前8个数据为“A5”时,用于参与选择调试模式一;进入调试模式一后串行输入的后6个数据用于对待观察的内部信号进行选择。
64个待观察的内部信号模块,用于产生待观察的芯片内部信号,从芯片的几千个内部信号中挑选出对功能调试起关键作用的信号。芯片复杂度越高,需选择的待观察的内部信号也越多,当然成本会增加;在本发明的实施例中只选择了64个关键待观察的内部信号。
6位寄存器,在调试模式二时,由芯片内部的CPU向该寄存器中写入期望的数值,在CPU的控制下,产生对待观察的内部信号进行选择的选择信号。
选择信号选择器,与6位寄存器和串并转换模块相连接,在芯片IO0管脚的控制下,用于选择采用6位寄存器产生的选择信号或串并转换模块产生的选择信号。
观察信号选择器,与64个待观察的内部信号模块和选择信号选择器相连接,在选择信号的控制下选择相应的待观察的内部信号作为观察信号输出。
观察信号输出控制器,与调试模式产生模块和观察信号选择器相连接,在调试模式信号的控制下,选择输出观察信号或芯片的正常功能信号。
当芯片处于调试模式,芯片可以根据选择信号通过预先定义好的某一个管脚输出被选中的内部信号。如图1、2所示,通过芯片的管脚IO5输出观察信号(即待观察的内部信号)。
结合图1、2所示,在一实施例中,所述方法采用了芯片的六个管脚,分别为IO0、IO1、IO2、IO3、IO4、IO5,这六个管脚除了在出现功能故障时用于调试外,也可以用于芯片的正常输入输出功能,实现调试与正常使用时的管脚复用。
当芯片设计完成并生产完毕后,在测试中发现该芯片有功能故障时,可以通过操纵该芯片的上述六个管脚来观察芯片的某些内部信号,具体过程是,调试模式一:从管脚IO0输入高电平,管脚IO1输入时钟序列,从管脚IO2输入高电平信号,从管脚IO3输入低电平信号,从管脚IO4输入特定串行0、1序列信号。当芯片中的调试电路同时检测到管脚IO0、IO2的信号为高电平,管脚IO3的信号为低电平,管脚IO4输入的0、1序列经串并转换为十六进制数“A5”,则进入预先设计好的调试模式一。
一旦芯片进入调试模式,则管脚IO4输入的6个串行数据信号经串并转换模块,产生对待观察的内部信号进行选择的选择信号,如图1中的选择信号“010001”(二进制数)。选择信号选择器选择由串并转换模块产生的选择信号“010001”,则观察信号选择器从64个待观察的内部信号模块中选择调试模式预定义的第18个内部信号,经管脚IO5输出到芯片外。通过观察该输出信号的波形,就可以推断出芯片内部其他信号的工作状态,从而实现芯片故障的调试和定位。
调试模式二:从管脚IO0输入低电平,管脚IO1输入时钟序列,通过内部程序让CPU写期望值到芯片内部一个被选择寄存器中,产生待观察的内部信号的选择信号,进行内部观察信号的选择。如写05,则被观察信号中的第5个信号经管脚IO5输出到芯片外。通过观察该输出信号的波形,就可以推断出芯片内部其他信号的工作状态,从而实现芯片故障的调试和定位。
以上通过具体实施例对本发明进行了详细的说明,但这些并非构成对本发明的限制。在不脱离本发明原理的情况下,本领域的技术人员还可做出许多变形和改进,这些也应视为本发明的保护范围。
Claims (5)
1.一种实现芯片功能故障快速调试定位的方法,其特征在于:在芯片电路内嵌入一调试电路,当芯片出现功能故障时,通过该芯片的一个或多个管脚输入一段预定义好的信号使芯片进入调试模式;对待观察的芯片内部信号进行选择;选择好的芯片内部信号通过芯片的一个预定义好的管脚进行输出;通过观察芯片工作过程中某些内部信号的波形,并与设计时该信号的期望波形相比较,实现功能故障的调试与定位。
2.如权利要求1所述的方法,其特征在于:使芯片进入调试模式并对待观察的芯片内部信号进行选择有两种实现方式:
第一种方式是,通过芯片的一个或多个管脚输入一段预定义好的信号使芯片进入调试模式,并根据所述输入的预定义好的信号对待观察的芯片内部信号进行选择;
第二种方式是,通过芯片的一个或多个管脚输入一段预定义好的信号使芯片进入调试模式,然后由芯片内部的CPU向一寄存器写入对待观察的芯片内部信号的选择数值,对待观察的芯片内部信号进行选择。
3.如权利要求2所述的方法,其特征在于:所述两种实现方式由芯片的某一管脚输入的高电平信号或低电平信号,并配合其它管脚输入的预定义好的信号进行选择。
4.实现权利要求1所述方法中的调试电路,其特征在于,所述调试电路嵌入在芯片电路内,当芯片出现功能故障时,通过该芯片的一个或多个管脚输入一段预定义好的信号使芯片进入调试模式;对待观察的芯片内部信号进行选择;选择好的芯片内部信号通过芯片的一个预定义好的管脚进行输出;其包括:
调试模式产生模块,用于产生调试模式信号,使芯片进入调试模式;所述调试模式包括调试模式一和调试模式二两种;
串并转换模块,将从芯片一管脚输入的串行数据转换成并行数据,即用于产生调试模式一工作方式,又用于产生对待观察的芯片内部信号进行选择的选择信号;其中,串行输入的前8个数据用于参与选择调试模式一;进入调试模式一后串行输入的后6个数据用于对待观察的芯片内部信号进行选择;
待观察的内部信号模块,用于产生多个待观察的芯片内部信号;
6位寄存器,在调试模式二时,由芯片内部的CPU向该寄存器中写入期望的数值,在CPU的控制下,产生对待观察的芯片内部信号进行选择的选择信号;
选择信号选择器,与6位寄存器和串并转换模块相连接,在芯片一管脚输入电平信号的控制下,用于选择采用6位寄存器产生的选择信号或串并转换模块产生的选择信号;
观察信号选择器,与待观察的内部信号模块和选择信号选择器相连接,在选择信号的控制下选择相应的待观察的内部信号作为观察信号输出;
观察信号输出控制器,与调试模式产生模块和观察信号选择器相连接,在调试模式信号的控制下,选择输出观察信号或芯片的正常功能信号。
5.如权利要求4所述的调试电路,其特征在于,当芯片的某一管脚输入高电平时,并配合其它管脚同时输入的不同的预定义好的信号,由调试模式产生模块使芯片进入调试模式一;当前述的某一管脚输入低电平时,并配合其它管脚同时输入的不同的预定义好的信号,由调试模式产生模块使芯片进入调试模式二。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201010155027.XA CN102236066B (zh) | 2010-04-22 | 2010-04-22 | 实现芯片功能故障快速调试定位的方法及调试电路 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201010155027.XA CN102236066B (zh) | 2010-04-22 | 2010-04-22 | 实现芯片功能故障快速调试定位的方法及调试电路 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN102236066A CN102236066A (zh) | 2011-11-09 |
CN102236066B true CN102236066B (zh) | 2015-07-01 |
Family
ID=44886909
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201010155027.XA Expired - Fee Related CN102236066B (zh) | 2010-04-22 | 2010-04-22 | 实现芯片功能故障快速调试定位的方法及调试电路 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN102236066B (zh) |
Families Citing this family (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102622070A (zh) * | 2012-02-28 | 2012-08-01 | 广州市广晟微电子有限公司 | 一种芯片复位重配置的方法及装置 |
CN102788951B (zh) * | 2012-09-05 | 2015-02-11 | 无锡江南计算技术研究所 | Ate测试结果判断方法及ate测试方法 |
CN105808392B (zh) * | 2014-12-29 | 2019-09-13 | 比亚迪股份有限公司 | 单片机及其运行中错误的追踪定位方法和装置 |
CN108226749A (zh) * | 2017-12-11 | 2018-06-29 | 天津津航计算技术研究所 | 一种sip芯片故障检测***及检测方法 |
CN110008075A (zh) * | 2018-01-05 | 2019-07-12 | 深圳市中兴微电子技术有限公司 | 一种芯片调试方法及装置 |
CN111289885B (zh) * | 2020-03-06 | 2022-06-03 | 湖南国科微电子股份有限公司 | 一种芯片上电死机的调试***及方法 |
Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5805609A (en) * | 1995-06-07 | 1998-09-08 | Samsung Electronics Co., Ltd. | Method and apparatus for testing a megacell in an ASIC using JTAG |
CN1598608A (zh) * | 2003-09-19 | 2005-03-23 | 松下电器产业株式会社 | 调试电路 |
CN1804651A (zh) * | 2006-01-19 | 2006-07-19 | 中兴通讯股份有限公司 | 一种基于可编程逻辑器件的电路板故障自定位装置和方法 |
CN1862507A (zh) * | 2006-03-10 | 2006-11-15 | 华为技术有限公司 | 一种单板故障定位辅助装置及定位方法 |
CN101666838A (zh) * | 2009-09-15 | 2010-03-10 | 北京天碁科技有限公司 | 一种芯片***及其模式控制方法 |
CN101706552A (zh) * | 2009-07-02 | 2010-05-12 | 苏州国芯科技有限公司 | 支持芯片不同引脚封装的可配置式片上测试模块 |
-
2010
- 2010-04-22 CN CN201010155027.XA patent/CN102236066B/zh not_active Expired - Fee Related
Patent Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5805609A (en) * | 1995-06-07 | 1998-09-08 | Samsung Electronics Co., Ltd. | Method and apparatus for testing a megacell in an ASIC using JTAG |
CN1598608A (zh) * | 2003-09-19 | 2005-03-23 | 松下电器产业株式会社 | 调试电路 |
CN1804651A (zh) * | 2006-01-19 | 2006-07-19 | 中兴通讯股份有限公司 | 一种基于可编程逻辑器件的电路板故障自定位装置和方法 |
CN1862507A (zh) * | 2006-03-10 | 2006-11-15 | 华为技术有限公司 | 一种单板故障定位辅助装置及定位方法 |
CN101706552A (zh) * | 2009-07-02 | 2010-05-12 | 苏州国芯科技有限公司 | 支持芯片不同引脚封装的可配置式片上测试模块 |
CN101666838A (zh) * | 2009-09-15 | 2010-03-10 | 北京天碁科技有限公司 | 一种芯片***及其模式控制方法 |
Non-Patent Citations (1)
Title |
---|
集成电路故障诊断方法研究;陶丽芳等;《计算机与现代化》;20090531(第5期);第26-28页 * |
Also Published As
Publication number | Publication date |
---|---|
CN102236066A (zh) | 2011-11-09 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN102236066B (zh) | 实现芯片功能故障快速调试定位的方法及调试电路 | |
CN102236065B (zh) | 芯片功能故障快速调试定位的方法及调试电路 | |
KR101543702B1 (ko) | 반도체 장치 및 이의 테스트 방법 | |
Abu-Issa et al. | Bit-swapping LFSR for low-power BIST | |
US20220223186A1 (en) | Comparison system | |
CN101923897A (zh) | 半导体集成电路和用于半导体集成电路的测试方法 | |
TWI425234B (zh) | 可錯誤比較的電路以及測試可錯誤比較的電路的方法 | |
US20060195738A1 (en) | Merged MISR and output register without performance impact for circuits under test | |
CN102236067B (zh) | 实现芯片功能故障快速调试定位的方法及其调试电路 | |
US8527822B2 (en) | System and method for single terminal boundary scan | |
KR20220104030A (ko) | 저장 시스템 | |
CN102707923A (zh) | 一种伪随机数生成电路及伪随机数产生方法 | |
US20100017664A1 (en) | Embedded flash memory test circuit | |
US20130326281A1 (en) | X-Tracer: A Reconfigurable X-Tolerance Trace Compressor for Silicon Debug | |
JP2009122009A (ja) | テスト回路 | |
CN110289040B (zh) | 一种***芯片中bist与ecc结合的存储器检测方法 | |
JP2010165755A (ja) | 半導体装置 | |
Saha et al. | Periodic boundary cellular automata based test structure for memory | |
CN104199635A (zh) | 集成crc校验电路的伪随机数发生器 | |
CN106528392A (zh) | 一种基于aurora协议的b3g测试工具 | |
US9817069B1 (en) | Method and system for construction of a highly efficient and predictable sequential test decompression logic | |
CN110569161B (zh) | 一种基于反馈移位寄存器的电路故障注入*** | |
US8990669B2 (en) | Linear feedback shift register with single bit error detection | |
WO2022151722A1 (zh) | 存储*** | |
Matsubayashi et al. | Side-channel Attack user reference architecture board SAKURA-W for security evaluation of IC card |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
C14 | Grant of patent or utility model | ||
GR01 | Patent grant | ||
CF01 | Termination of patent right due to non-payment of annual fee | ||
CF01 | Termination of patent right due to non-payment of annual fee |
Granted publication date: 20150701 Termination date: 20200422 |