CN107393593A - 一种基于扫描链的芯片问题定位的方法 - Google Patents
一种基于扫描链的芯片问题定位的方法 Download PDFInfo
- Publication number
- CN107393593A CN107393593A CN201710514908.8A CN201710514908A CN107393593A CN 107393593 A CN107393593 A CN 107393593A CN 201710514908 A CN201710514908 A CN 201710514908A CN 107393593 A CN107393593 A CN 107393593A
- Authority
- CN
- China
- Prior art keywords
- message
- chip
- scan chain
- state
- collection module
- 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.)
- Granted
Links
Classifications
-
- G—PHYSICS
- G11—INFORMATION STORAGE
- G11C—STATIC STORES
- G11C29/00—Checking stores for correct operation ; Subsequent repair; Testing stores during standby or offline operation
- G11C29/04—Detection or location of defective memory elements, e.g. cell constructio details, timing of test signals
- G11C29/08—Functional testing, e.g. testing during refresh, power-on self testing [POST] or distributed testing
- G11C29/12—Built-in arrangements for testing, e.g. built-in self testing [BIST] or interconnection details
-
- G—PHYSICS
- G11—INFORMATION STORAGE
- G11C—STATIC STORES
- G11C29/00—Checking stores for correct operation ; Subsequent repair; Testing stores during standby or offline operation
- G11C29/04—Detection or location of defective memory elements, e.g. cell constructio details, timing of test signals
- G11C29/08—Functional testing, e.g. testing during refresh, power-on self testing [POST] or distributed testing
- G11C29/12—Built-in arrangements for testing, e.g. built-in self testing [BIST] or interconnection details
- G11C29/44—Indication or identification of errors, e.g. for repair
-
- G—PHYSICS
- G11—INFORMATION STORAGE
- G11C—STATIC STORES
- G11C29/00—Checking stores for correct operation ; Subsequent repair; Testing stores during standby or offline operation
- G11C29/04—Detection or location of defective memory elements, e.g. cell constructio details, timing of test signals
- G11C29/08—Functional testing, e.g. testing during refresh, power-on self testing [POST] or distributed testing
- G11C29/12—Built-in arrangements for testing, e.g. built-in self testing [BIST] or interconnection details
- G11C2029/1206—Location of test circuitry on chip or wafer
Landscapes
- Test And Diagnosis Of Digital Computers (AREA)
- Communication Control (AREA)
Abstract
本发明公开了一种基于扫描链的芯片问题定位的方法,其特征在于在芯片中增加逻辑状态收集模块,所述逻辑状态收集模块包括协议报文输入端和报文输出端,芯片内部各个扫描链的输出端口与逻辑状态收集模块相连接;逻辑状态收集模块根据协议报文输入端输入的报文收集各个扫描链的内部寄存器的状态,并将内部寄存器的状态生成结果报文,通过报文输出端输出芯片。一套芯片内嵌逻辑,将芯片与外界交互的管脚减少到两个,解决信号同步问题。将同一时间移位的扫描链减少到一个,有效解决压降IR Drop风险,且采取循环移位的方式,在完成扫描的同时将芯片状态恢复到扫描前的状态。
Description
技术领域
本发明涉及信息电子芯片设计领域,尤其涉及一种基于扫描链的芯片问题定位的方法。
背景技术
现有的扫描链定位芯片问题的方法,由于控制逻辑处于芯片外部,往往需要在后期硬件制作阶段大量的走线,这带来的问题一是飞线质量带来的信号同步问题。另一个问题是所有的扫描链通道同一时刻翻转带来压降IR Drop的风险,再其次是由于芯片所有扫描链通道一同将芯片的内容移位出,难以恢复到扫描前的状态。
发明内容
针对以上缺陷,本发明目的在于如何在CPU出现异常时还可快速定位芯片内部问题,节约调试时间,排除制造及时序问题。
为了实现上述目的,本发明提供了一种基于扫描链的芯片问题定位的方法,其特征在于在芯片中增加逻辑状态收集模块,所述逻辑状态收集模块包括协议报文输入端和报文输出端,芯片内部各个扫描链的输出端口与逻辑状态收集模块相连接;逻辑状态收集模块根据协议报文输入端输入的报文收集各个扫描链的内部寄存器的状态,并将内部寄存器的状态生成结果报文,通过报文输出端输出芯片。
所述的基于扫描链的芯片问题定位的方法,其特征在于内部通过状态机进行状态切换,状态机共有5个大状态:
IDLE:此时控制电路处于idle状态,等待Din串口中协议报文的Sync bit出现;
Receive frame:此状态用下,接受报文,根据报文中Type和length栏位决定接受的报文何时接受;
Check frame:此时报文已经接收完毕,更加Checksum栏位检查报文在传输过程中是否出错;
Operation:根据报文中定义的操作类型,选通控制相应的电路完成要求的操作;
Return result:此时DFD通过Do端口将报文结果输出,片外电路在检测到报文Sync bit时开始接收报文,并根据Type和length栏位决定报文接收何时结束。
本发明通过设计一套芯片内嵌逻辑,将芯片与外界交互的管脚减少到两个,解决信号同步问题。将同一时间移位的扫描链减少到一个,有效解决IR Drop风险,且采取循环移位的方式,在完成扫描的同时将芯片状态恢复到扫描前的状态。
附图说明
图1是增加了DFD后的系统逻辑框图;
图2是功能模式原始时钟树结构;
图3是在PLL后插入MUX的时钟树;
图4是最终的时钟树;
图5为最终的复位树;
图6是内部控制状态机转换流程图。
具体实施方式
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
图1是增加了DFD后的系统逻辑框图,逻辑状态收集模块DFD,括协议报文输入端Din和报文输出端Do,芯片内部各个扫描链DFT的输出端口与逻辑状态收集模块DFD相连接;逻辑状态收集模块根据协议报文输入端输入的报文收集各个扫描链的内部寄存器的状态,并将内部寄存器的状态生成结果报文,通过报文输出端输出芯片。
表格1是输入报文示例:
表格1-输入报文
其中:Sync bit:报文包头识别,4bit,固定值1010b;
Type:操作类型,4bit,定义如表格2所示;
Address/Chain/Trigger No./Cnt:地址或scan chain number或Trigger条件或运行时钟树目,32bit,根据Type类型决定其含义,loopback时为Reserved。
Length:长度标示,16bit。Loopback、Scan Write、Scan Read、Memory Read才有此栏位,单位为bit。
Payload:有效载荷,Loopback、Scan Write才有此栏位。
Checksum:4bit,将Sync bit、Type、Address/Chain/Trigger No./Cnt、Length、Payload带入计算,当总bit数目不是4的整数倍是补齐。
表格2是输入报文操作类型示例:
表格2-输入报文操作类型
表格3是输出报文示例:
表格3-输出报文
Sync bit:报文包头识别,4bit,固定值1010b。
Type:操作类型,4bit,定义如表格2所示。
Address/Chain/Trigger No./Cnt:地址或scan chain number或Trigger条件或运行时钟树目,32bit,根据Type类型决定其含义,loopback时为Reserved。复制InputDatagram内容。
Length:长度标示,16bit,根据Payload/Result长度填写相应值。单位为bit。
Payload/Result:有效载荷,0010b、0100b、0101b操作时4bit 1111b表示操作完成,非1111b表示遇到问题。其他操作根据要求返还相应内容。
Checksum:4bit,将Sync bit、Type、Address/Chain/Trigger No./Cnt、Length、Payload带入计算,当总bit数目不是4的整数倍是补齐。
通过以上的设计,片外在Debug阶段只需要按照报文定义输入报文,并在Do端口采样报文输出,即可对芯片内部的寄存器进行读取,大大降低了硬件开销,提升了信号可靠性。
逻辑状态收集模块DFD负责根据输入报文选通相应的扫描链,并将扫描链的输入和输出互联,完成循环移位。完成这一操作前需要选通扫描链使能操作,时钟使能操作。
本方案的具体实施方法由时钟树设计,复位树设计,管脚保持,状态机四部分组成。
图2是功能模式原始时钟树结构;图3是在PLL后插入选择器一MUX1的时钟树,在PLL后端插入选择器一MUX1可以灵活选择功能模块运行的时钟来源,DFD模式下,DIV为分频器,DFD模块通过控制线Tie完成时钟选择,在非DFD模式下,控制线Tie为固定值。
在芯片运行到某一条件停止时,DFD模块需要将芯片寄存器内容移位出。DFD模块一次会选择一条扫描链Scan Chain将其内容移出。此时DFD模块需要使该扫描链的时钟clock处于激活active状态,其他扫描链scan chain处于静默inactive状态。所以需要对每条scan chain的clock进行单独控制。图4是最终的时钟树;假设CPU模块为一个单独的scanchain,Module A为一个单独的scan chain,在Module A和CPU的时钟输入端也分别增加选择器二MUX2和选择器三MUX3,用于灵活选择运行的时钟来源。
在各个操作模式之间,需要对芯片整体进行相应的复位操作,其设计如下:
功能模块的总Reset在DFD模式下,需要和DFD模块送出的Reset做“与”操作。
在0100b(CPU Stop by Trigger)、0101b(CPU Stop by cycle cnt)这两种操作命令下,无需板级手动复位芯片,可以由DFD完成对功能逻辑的复位。在非DFD模式下,控制线Tie恒为固定值。图5为最终的复位树。但是需要注意的是DFD模块只受PIN Reset影响。
为了保证在DFD模式下的移位过程中,管脚的输出保持不变,需要将管脚的输出值锁存住。由于有组合输出的可能,需要对所有的管脚进行锁存。锁存的实现方式是在DFD中预留和所需锁存管脚数一致的寄存器,在移位操作前采样管脚输出值,而后将管脚的I端MUX到该寄存器。该操作只会在第一次移位操作前采取,直到芯片进行下一次功能操作。
图6是内部控制状态机转换流程图。状态机共有5个大状态:
IDLE:此时控制电路处于idle状态,等待Din串口中协议报文的Sync bit出现。
Receive frame:此状态用下,接受报文,根据报文中Type和length栏位决定接受的报文何时接受。
Check frame:此时报文已经接收完毕,更加Checksum栏位检查报文在传输过程中是否出错。
Operation:根据报文中定义的操作类型,选通控制相应的电路完成要求的操作。
Return result:此时DFD通过Do端口将报文结果输出,片外电路在检测到报文Sync bit时开始接收报文,并根据Type和length栏位决定报文接收何时结束。
以上所揭露的仅为本发明一种实施例而已,当然不能以此来限定本之权利范围,本领域普通技术人员可以理解实现上述实施例的全部或部分流程,并依本发明权利要求所作的等同变化,仍属于本发明所涵盖的范围。
Claims (2)
1.一种基于扫描链的芯片问题定位的方法,其特征在于在芯片中增加逻辑状态收集模块,所述逻辑状态收集模块包括协议报文输入端和报文输出端,芯片内部各个扫描链的输出端口与逻辑状态收集模块相连接;逻辑状态收集模块根据协议报文输入端输入的报文收集各个扫描链的内部寄存器的状态,并将内部寄存器的状态生成结果报文,通过报文输出端输出芯片。
2.根据权利要求1所述的基于扫描链的芯片问题定位的方法,其特征在于内部通过状态机进行状态切换,状态机共有5个大状态:
IDLE:此时控制电路处于idle状态,等待Din串口中协议报文的Sync bit出现;
Receive frame:此状态用下,接受报文,根据报文中Type和length栏位决定接受的报文何时接受;
Check frame:此时报文已经接收完毕,更加Checksum栏位检查报文在传输过程中是否出错;
Operation:根据报文中定义的操作类型,选通控制相应的电路完成要求的操作;
Return result:此时DFD通过Do端口将报文结果输出,片外电路在检测到报文Syncbit时开始接收报文,并根据Type和length栏位决定报文接收何时结束。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201710514908.8A CN107393593B (zh) | 2017-06-29 | 2017-06-29 | 一种基于扫描链的芯片问题定位的方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201710514908.8A CN107393593B (zh) | 2017-06-29 | 2017-06-29 | 一种基于扫描链的芯片问题定位的方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN107393593A true CN107393593A (zh) | 2017-11-24 |
CN107393593B CN107393593B (zh) | 2020-09-01 |
Family
ID=60334214
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201710514908.8A Active CN107393593B (zh) | 2017-06-29 | 2017-06-29 | 一种基于扫描链的芯片问题定位的方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN107393593B (zh) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN113990382A (zh) * | 2021-09-06 | 2022-01-28 | 南京大鱼半导体有限公司 | 片上系统芯片、测试方法及测试系统 |
Citations (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1996035A (zh) * | 2005-12-31 | 2007-07-11 | 旺玖科技股份有限公司 | 用于多芯片组件的具有可规划扫描链的装置及其规划方法 |
US20120072797A1 (en) * | 2010-09-17 | 2012-03-22 | Lsi Corporation | Design-for-test technique to reduce test volume including a clock gate controller |
CN104749515A (zh) * | 2015-03-31 | 2015-07-01 | 中国人民解放军国防科学技术大学 | 一种基于顺序等分分段式的低功耗扫描测试方法和装置 |
US20160003901A1 (en) * | 2014-07-07 | 2016-01-07 | Samsung Electronics Co., Ltd. | Scan chain circuit and integrated circuit including the same |
CN105518475A (zh) * | 2013-10-03 | 2016-04-20 | 意法半导体(R&D)有限公司 | 柔性接口 |
CN105572573A (zh) * | 2014-10-30 | 2016-05-11 | 国际商业机器公司 | 用于存储器时序测试的扫描链、扫描链构建方法和相应装置 |
US20160259001A1 (en) * | 2015-03-04 | 2016-09-08 | Freescale Semiconductor, Inc. | Semiconductor storage device having synchronous and asynchronous modes |
-
2017
- 2017-06-29 CN CN201710514908.8A patent/CN107393593B/zh active Active
Patent Citations (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1996035A (zh) * | 2005-12-31 | 2007-07-11 | 旺玖科技股份有限公司 | 用于多芯片组件的具有可规划扫描链的装置及其规划方法 |
US20120072797A1 (en) * | 2010-09-17 | 2012-03-22 | Lsi Corporation | Design-for-test technique to reduce test volume including a clock gate controller |
CN105518475A (zh) * | 2013-10-03 | 2016-04-20 | 意法半导体(R&D)有限公司 | 柔性接口 |
US20160003901A1 (en) * | 2014-07-07 | 2016-01-07 | Samsung Electronics Co., Ltd. | Scan chain circuit and integrated circuit including the same |
CN105572573A (zh) * | 2014-10-30 | 2016-05-11 | 国际商业机器公司 | 用于存储器时序测试的扫描链、扫描链构建方法和相应装置 |
US20160259001A1 (en) * | 2015-03-04 | 2016-09-08 | Freescale Semiconductor, Inc. | Semiconductor storage device having synchronous and asynchronous modes |
CN104749515A (zh) * | 2015-03-31 | 2015-07-01 | 中国人民解放军国防科学技术大学 | 一种基于顺序等分分段式的低功耗扫描测试方法和装置 |
Non-Patent Citations (2)
Title |
---|
P.-C. TSAI: "Multi-mode-segmented scan architecture with layout-aware scan chain routing for test data and test time reduction", 《IET COMPUTERS & DIGITAL TECHNIQUES》 * |
周剑斌: "一种基于部分扫描链的针对故障注入攻击的密码芯片安全测试方法", 《中国优秀硕士学位论文全文数据库 信息科技辑》 * |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN113990382A (zh) * | 2021-09-06 | 2022-01-28 | 南京大鱼半导体有限公司 | 片上系统芯片、测试方法及测试系统 |
CN113990382B (zh) * | 2021-09-06 | 2022-11-22 | 南京大鱼半导体有限公司 | 片上系统芯片、测试方法及测试系统 |
Also Published As
Publication number | Publication date |
---|---|
CN107393593B (zh) | 2020-09-01 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US7882465B2 (en) | FPGA and method and system for configuring and debugging a FPGA | |
EP0840134B1 (en) | A method of effecting communication using a test access port (TAP) controller | |
US20060176943A1 (en) | Serializer deserializer (SERDES) testing | |
CN101771700B (zh) | 基于FPGA的Modbus协议通信节点 | |
CN101404645A (zh) | 多端口的以太网接口及其实现方法和物理层接口 | |
CN100388692C (zh) | 网络交换设备多网口切换装置 | |
IL166605A (en) | Universal approach for simulating, emulating and testing a variety of serial bus types | |
CN103645435B (zh) | 多信号模型可编程逻辑器件的软件模块可测性设计方法 | |
CN112118158A (zh) | 一种交换机的测试方法、测试装置、测试设备及存储介质 | |
CN110515879B (zh) | 一种异步传输装置及其传输方法 | |
CN107393593A (zh) | 一种基于扫描链的芯片问题定位的方法 | |
CN111624478A (zh) | 一种时钟信号控制电路及设备 | |
US6892337B1 (en) | Circuit and method for testing physical layer functions of a communication network | |
CN113872682B (zh) | 一种光模块的引入测试方法及系统 | |
CN104535919A (zh) | 一种正常工作模式下芯片调试方法及调试电路 | |
CN201867469U (zh) | 一种扫描链测试电路 | |
CN105553859A (zh) | 一种sfp模块自适应接口的系统及方法 | |
CN202818323U (zh) | 基于fpga芯片的基带npz码误码仪 | |
CN107070937B (zh) | 一种基于fpga的协议转换装置、方法 | |
CN106546850B (zh) | 一种基于检测热台的sru故障确认方法及装置 | |
CN111460745B (zh) | 一种设备芯片间连通性检测方法 | |
CN104135411A (zh) | 一种基于rs232接口多节点通信的实现装置及方法 | |
Bibin et al. | Implementation of UART with BIST Technique in FPGA | |
CN201429842Y (zh) | 一种采用jtag方式的代码下载系统 | |
CN202906941U (zh) | 一种以太网交换机芯片端口环回检测装置 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |