一种基于扫描链的芯片分析方法与流程

文档序号:11654119阅读:406来源:国知局
一种基于扫描链的芯片分析方法与流程

本发明涉及信息电子芯片设计领域,尤其涉及一种基于扫描链的芯片分析方法。



背景技术:

在嵌入式产品研发过程中,软件设计和调试是研发中的一个重要环节。任何软件在定版前都需要经过多次的调试,为了提升设计效率,很多芯片设计公司都同步设计了软件的调试工具。各类调试工具的基本上都是类似与通过jtag(是一种国际标准测试协议,主要用于芯片内部测试)端口进行与cpu直接进行通信和控制,控制程序的执行。例如单步调试,这类调试的一个前提是cpu本身是工作正常的,如果cpu本身出现问题或异常则各类软件或cpu的状态也就丢失了,则无法定位问题所在。出现这种情况时就需准确的获取当前cpu的状态,才可进一步的分析软件或cpu出现异常或错误的原因。现有的jtag工具针对现有的芯片设计都无法很好的实现该需求。



技术实现要素:

针对以上缺陷,本发明目的在于如何在cpu出现异常时还可快速定位芯片内部问题,节约调试时间,排除制造及时序问题。

为了实现上述目的,本发明提供了一种基于扫描链的芯片分析方法,其特征在于将cpu中需要保存状态的普通寄存器替换为带扫描输入寄存器,当cpu出现异常时,通过jtag输出串行扫描触发指令,启动扫描链数据保存操作,将带扫描输入寄存器的数据串行通过jtaek口输出给调试主机,调试者分析调试主机接收到的各个带扫描输入寄存器的数据,分析完成后,通过控制jtag输出控制复位信号对cpu进行复位操作,控制cpu恢复正常工作。

所述的基于扫描链的芯片分析方法,其特征在于所述的带扫描输入寄存器在普通寄存器的数据输入端口前增设了数据选择器,所述数据选择器包括数据输入端口、扫描输入端口和扫描使能控制端口;带扫描输入寄存器还包括时钟输入端口和扫描输出端口。

所述的基于扫描链的芯片分析方法,其特征在于所述带扫描输入寄存器进行串行连接,前一个带扫描输入寄存器的扫描输出端口与后一个带扫描输入寄存器的扫描输入端口相连,所有带扫描输入寄存器的时钟输入端口连接在一起;所有带扫描输入寄存器的扫描使能控制端口连接在一起。

本发明通过扫描链机制的方法可实现在cpu出现异常时刻快速方便读出芯片主要寄存器的状态,并配合jtag的工具实现对出现异常的cpu进行快速分析和问题定位,可大大提升开发效率。

附图说明

图1是带扫描输入寄存器示意图;

图2是cpu中扫描链连接示意图;

图3是基于扫描链的芯片分析状态转换图。

具体实施方式

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

图1是带扫描输入寄存器示意图;带扫描输入寄存器在普通寄存器ff的数据输入端口前增设了数据选择器mux,数据选择器mux包括数据输入端口data、扫描输入端口scanin和扫描使能控制端口scanenable;带扫描输入寄存器还包括时钟输入端口clk、数据输出端口q和扫描输出端口scanout。

图2是cpu中扫描链连接示意图;包括7个带扫描输入寄存器1、2、3、4、5、6、7,将cpu中需要保存状态的普通寄存器替换为带扫描输入寄存器,带扫描输入寄存器进行串行连接,前一个带扫描输入寄存器的扫描输出端口与后一个带扫描输入寄存器的扫描输入端口相连,所有带扫描输入寄存器的时钟输入端口连接在一起;所有带扫描输入寄存器的扫描使能控制端口连接在一起。

图3是基于扫描链的芯片分析状态转换图,包括8个状态:空闲状态idle、cpu直接触发等待状态wait_signal、时钟周期触发等待状态wait_cnt、串行数据扫描状态scan_save、串行数据输出状态serial_out、数据分析状态compare、芯片复位状态assert_seset和释放控制信号状态release_reset;具体状态按如下步骤进行切换:

空闲状态idle为后台cpu等待串口输入指令状态,cpu同时设置两种触发模式,芯片信号触发模式和固定时钟周期触发模式;

当获cpu接收到串口指令为根据固定时钟周期触发指令,启动芯片信号触发模式,进入时钟周期触发等待状态wait_cnt,等待固定时钟周期后进入串行数据扫描状态;

当获cpu接收到串口指令为cpu直接触发指令,启动固定时钟周期触发模式,进入cpu直接触发等待状态wait_signal,由cpu根据预先设定的条件自动触发进入串行数据扫描状态;

串行数据扫描状态scan_save实现获取cpu的时钟控制权,获取完成cpu的时钟控制权后实现控制时钟和扫描链的长度,控制带扫描输入寄存器的数据串行扫出;

串行数据输出状态serial_out将带扫描输入寄存器的数据串行输出到调试主机;

数据分析状态compare,通过比特对照图的方式将各个带扫描输入寄存器的数据差异展示给调试者;

芯片复位状态assert_reset数据分析完成后通过控制jtag输出控制复位信号对cpu进行复位操作;

释放控制信号状态release_reset释放cpu的时钟控制权,cpu正常工作后重新进入空闲状态。

以上所揭露的仅为本发明一种实施例而已,当然不能以此来限定本之权利范围,本领域普通技术人员可以理解实现上述实施例的全部或部分流程,并依本发明权利要求所作的等同变化,仍属于本发明所涵盖的范围。



技术特征:

技术总结
本发明公开了一种基于扫描链的芯片分析方法,其特征在于将CPU中需要保存状态的普通寄存器替换为带扫描输入寄存器,当CPU出现异常时,通过JTAG输出串行扫描触发指令,启动扫描链数据保存操作,将带扫描输入寄存器的数据串行通过JTAEK口输出给调试主机,调试者分析调试主机接收到的各个带扫描输入寄存器的数据,分析完成后,通过控制JTAG输出控制复位信号对CPU进行复位操作,控制CPU恢复正常工作。通过扫描链机制的方法可实现在CPU出现异常时刻快速方便读出芯片主要寄存器的状态,并配合JTAG的工具实现对出现异常的CPU进行快速分析和问题定位,可大大提升开发效率。

技术研发人员:赵胜平
受保护的技术使用者:记忆科技(深圳)有限公司
技术研发日:2017.03.07
技术公布日:2017.07.28
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1