《一种对芯片进行调试的方法和芯片.pdf》由会员分享,可在线阅读,更多相关《一种对芯片进行调试的方法和芯片.pdf(9页珍藏版)》请在专利查询网上搜索。
1、10申请公布号CN104133751A43申请公布日20141105CN104133751A21申请号201410384386022申请日20140806G06F11/2620060171申请人浪潮(北京)电子信息产业有限公司地址100085北京市海淀区上地信息路2号21号C栋1层72发明人徐强刘凯74专利代理机构北京安信方达知识产权代理有限公司11262代理人胡艳华李丹54发明名称一种对芯片进行调试的方法和芯片57摘要本发明公开了一种芯片,包括寄存器代理模块、调试接口模块和多个底层模块;底层模块,用于如检测到本底层模块工作异常,则产生对应的错误指示信号,向寄存器代理模块发送错误通知;寄存器代。
2、理模块,用于如接收到底层模块发送的错误通知,则记录错误信息,向上位机发送错误报告;如接收到上位机发送的寄存器访问指令,则对相应寄存器进行读取操作,向上位机返回读取结果;调试接口模块,用于连接所述芯片和上位机,在所述寄存器代理模块和所述上位机之间转发信息。本发明能够在对芯片进行调试的过程中快速、精确定位BUG位置,提高调试效率,实现对芯片运行状态的实时监控。本发明还公开了一种对芯片进行调试的方法。51INTCL权利要求书2页说明书5页附图1页19中华人民共和国国家知识产权局12发明专利申请权利要求书2页说明书5页附图1页10申请公布号CN104133751ACN104133751A1/2页21一。
3、种芯片,包括寄存器代理模块、调试接口模块和多个底层模块;底层模块,用于如检测到本底层模块工作异常,则产生对应的错误指示信号,向寄存器代理模块发送错误通知;寄存器代理模块,用于如接收到底层模块发送的错误通知,则记录错误信息,向上位机发送错误报告;如接收到上位机发送的寄存器访问指令,则对相应寄存器进行读取操作,向上位机返回读取结果;调试接口模块,用于连接所述芯片和上位机,在所述寄存器代理模块和所述上位机之间转发信息。2如权利要求1所述的芯片,其特征在于所述读取结果指示工作异常的底层模块的信息和异常类型信息。3如权利要求1所述的芯片,其特征在于所述寄存器代理模块,还用于如接收到上位机发送的寄存器控制。
4、指令,则对相应寄存器进行写入操作以对所述芯片进行异常恢复处理。4如权利要求2所述的芯片,其特征在于底层模块,用于如检测到本底层模块工作异常,则产生对应的错误指示信号,包括如检测到本底层模块工作异常,则将本底层模块的本地错误寄存器中对应于所述异常类型的位置位;其中,所述本地错误寄存器中的每一位对应于一种异常类型;寄存器代理模块,用于如接收到底层模块发送的错误通知,则记录错误信息,包括如接收到底层模块发送的错误通知,则将全局错误寄存器中对应于所述底层模块的位置位;其中,所述全局错误寄存器中的每一位对应于一个底层模块。5如权利要求4所述的芯片,其特征在于寄存器代理模块,用于如接收到上位机发送的寄存器。
5、访问指令,则对相应寄存器进行读取操作,向上位机返回操作结果,包括接收上位机发送的对全局错误寄存器进行访问的指令,读取所述全局错误寄存器的值,将所述值返回给上位机;接收上位机发送的对某个底层模块的本地错误寄存器进行访问的指令,读取所述本地错误寄存器的值,将所述值返回给上位机。6如权利要求1所述的芯片,其特征在于调试接口模块,用于连接所述芯片和上位机,包括通过采用JTAG接口或串口连接所述芯片和上位机。7一种对芯片进行调试的方法,所述芯片包括寄存器代理模块、调试接口模块和多个底层模块,该方法包括底层模块如检测到本底层模块工作异常,则产生对应的错误指示信号,向寄存器代理模块发送错误通知;寄存器代理模。
6、块如接收到底层模块发送的错误通知,则记录错误信息,通过调试接口模块向上位机发送错误报告;上位机如接收到来自所述芯片的错误报告,则通过所述调试接口模块向所述寄存器代理模块发送寄存器访问指令;所述寄存器代理模块如接收到来自所述上位机的寄存器访问指令,则对相应寄存器进权利要求书CN104133751A2/2页3行读取操作,向上位机返回读取结果;其中,所述调试接口模块用于连接所述芯片和上位机,在所述寄存器代理模块和所述上位机之间转发信息。8如权利要求7所述的方法,其特征在于所述读取结果指示工作异常的底层模块的信息和异常类型信息。9如权利要求8所述的方法,其特征在于底层模块如检测到本底层模块工作异常,则。
7、产生对应的错误指示信号,包括底层模块如检测到本底层模块工作异常,则将本底层模块的本地错误寄存器中对应于所述异常类型的位置位;其中,所述本地错误寄存器中的每一位对应于一种异常类型;寄存器代理模块如接收到底层模块发送的错误通知,则记录错误信息,包括寄存器代理模块如接收到底层模块发送的错误通知,则将全局错误寄存器中对应于所述底层模块的位置位;其中,所述全局错误寄存器中的每一位对应于一个底层模块。10如权利要求9所述的方法,其特征在于所述寄存器代理模块如接收到来自所述上位机的寄存器访问指令,则对相应寄存器进行读取操作,向上位机返回读取结果,包括所述寄存器代理模块接收上位机发送的对全局错误寄存器进行访问。
8、的指令,读取所述全局错误寄存器的值,将所述值返回给上位机;所述寄存器代理模块接收上位机发送的对某个底层模块的本地错误寄存器进行访问的指令,读取所述本地错误寄存器的值,将所述值返回给上位机。11如权利要求8所述的方法,其特征在于上位机接收到芯片返回的读取结果后,还包括上位机通过所述调试接口模块向所述寄存器代理模块发送寄存器控制指令;寄存器代理模块如接收到上位机发送的寄存器控制指令,则对相应寄存器进行写入操作以对所述芯片进行异常恢复处理。12如权利要求7所述的方法,其特征在于所述调试接口模块通过采用JTAG接口或串口连接所述芯片和上位机。权利要求书CN104133751A1/5页4一种对芯片进行调。
9、试的方法和芯片技术领域0001本发明涉及集成电路设计领域,尤其涉及的是一种监控芯片的方法和芯片。背景技术0002随着半导体技术的发展,集成电路持续向更小的外型尺寸发展,使得每个芯片可以封装更多的电路,这就使得集成电路设计逻辑越来越复杂,设计调试过程出现BUG时,精确定位BUG原因比较困难,降低了调试的效率。0003因此,如何在系统调试出现BUG后进行精确定位成为影响项目进程的关键。发明内容0004本发明所要解决的技术问题是提供一种对芯片进行调试的方法和芯片,能够在对芯片进行调试的过程中快速、精确定位BUG位置,提高调试效率,实现对芯片运行状态的实时监控。0005为了解决上述技术问题,本发明提供。
10、了一种芯片,包括寄存器代理模块、调试接口模块和多个底层模块;0006底层模块,用于如检测到本底层模块工作异常,则产生对应的错误指示信号,向寄存器代理模块发送错误通知;0007寄存器代理模块,用于如接收到底层模块发送的错误通知,则记录错误信息,向上位机发送错误报告;如接收到上位机发送的寄存器访问指令,则对相应寄存器进行读取操作,向上位机返回读取结果;0008调试接口模块,用于连接所述芯片和上位机,在所述寄存器代理模块和所述上位机之间转发信息。0009该芯片进一步包括下述特点0010所述读取结果指示工作异常的底层模块的信息和异常类型信息。0011进一步地,该芯片还包括下述特点0012所述寄存器代理。
11、模块,还用于如接收到上位机发送的寄存器控制指令,则对相应寄存器进行写入操作以对所述芯片进行异常恢复处理。0013进一步地,该芯片还包括下述特点0014底层模块,用于如检测到本底层模块工作异常,则产生对应的错误指示信号,包括0015如检测到本底层模块工作异常,则将本底层模块的本地错误寄存器中对应于所述异常类型的位置位;其中,所述本地错误寄存器中的每一位对应于一种异常类型;0016寄存器代理模块,用于如接收到底层模块发送的错误通知,则记录错误信息,包括0017如接收到底层模块发送的错误通知,则将全局错误寄存器中对应于所述底层模块的位置位;其中,所述全局错误寄存器中的每一位对应于一个底层模块。说明书。
12、CN104133751A2/5页50018进一步地,该芯片还包括下述特点0019寄存器代理模块,用于如接收到上位机发送的寄存器访问指令,则对相应寄存器进行读取操作,向上位机返回操作结果,包括0020接收上位机发送的对全局错误寄存器进行访问的指令,读取所述全局错误寄存器的值,将所述值返回给上位机;0021接收上位机发送的对某个底层模块的本地错误寄存器进行访问的指令,读取所述本地错误寄存器的值,将所述值返回给上位机。0022进一步地,该芯片还包括下述特点0023调试接口模块,用于连接所述芯片和上位机,包括通过采用JTAG接口或串口连接所述芯片和上位机。0024为了解决上述技术问题,本发明还提供了一。
13、种对芯片进行调试的方法,所述芯片包括寄存器代理模块、调试接口模块和多个底层模块,该方法包括0025底层模块如检测到本底层模块工作异常,则产生对应的错误指示信号,向寄存器代理模块发送错误通知;0026寄存器代理模块如接收到底层模块发送的错误通知,则记录错误信息,通过调试接口模块向上位机发送错误报告;0027上位机如接收到来自所述芯片的错误报告,则通过所述调试接口模块向所述寄存器代理模块发送寄存器访问指令;0028所述寄存器代理模块如接收到来自所述上位机的寄存器访问指令,则对相应寄存器进行读取操作,向上位机返回读取结果;0029其中,所述调试接口模块用于连接所述芯片和上位机,在所述寄存器代理模块和。
14、所述上位机之间转发信息。0030进一步地,该方法还包括下述特点0031所述读取结果指示工作异常的底层模块的信息和异常类型信息。0032进一步地,该方法还包括下述特点0033底层模块如检测到本底层模块工作异常,则产生对应的错误指示信号,包括0034底层模块如检测到本底层模块工作异常,则将本底层模块的本地错误寄存器中对应于所述异常类型的位置位;其中,所述本地错误寄存器中的每一位对应于一种异常类型;0035寄存器代理模块如接收到底层模块发送的错误通知,则记录错误信息,包括0036寄存器代理模块如接收到底层模块发送的错误通知,则将全局错误寄存器中对应于所述底层模块的位置位;其中,所述全局错误寄存器中的。
15、每一位对应于一个底层模块。0037进一步地,该方法还包括下述特点0038所述寄存器代理模块如接收到来自所述上位机的寄存器访问指令,则对相应寄存器进行读取操作,向上位机返回读取结果,包括0039所述寄存器代理模块接收上位机发送的对全局错误寄存器进行访问的指令,读取所述全局错误寄存器的值,将所述值返回给上位机;0040所述寄存器代理模块接收上位机发送的对某个底层模块的本地错误寄存器进行访问的指令,读取所述本地错误寄存器的值,将所述值返回给上位机。说明书CN104133751A3/5页60041进一步地,该方法还包括下述特点0042上位机接收到芯片返回的读取结果后,还包括0043上位机通过所述调试接。
16、口模块向所述寄存器代理模块发送寄存器控制指令;0044寄存器代理模块如接收到上位机发送的寄存器控制指令,则对相应寄存器进行写入操作以对所述芯片进行异常恢复处理。0045进一步地,该方法还包括下述特点0046所述调试接口模块通过采用JTAG接口或串口连接所述芯片和上位机。0047与现有技术相比,本发明提供的一种对芯片进行调试的方法和芯片,芯片内的底层模块如检测到工作异常,则产生错误指示信号并通知芯片内的寄存器代理模块,寄存器代理模块接到通知后记录错误信息并通过调试接口模块向上位机发送错误报告,然后如接收到上位机发送的寄存器访问/控制指令,则对相应寄存器进行读取/写入操作,向上位机返回操作结果。本。
17、发明能够在对芯片进行调试的过程中快速、精确定位BUG位置,提高调试效率,实现对芯片运行状态的实时监控。附图说明0048图1为本发明实施例的一种芯片的结构示意图。0049图2为本发明实施例的一种对芯片进行调试的方法的流程图。具体实施方式0050为使本发明的目的、技术方案和优点更加清楚明白,下文中将结合附图对本发明的实施例进行详细说明。需要说明的是,在不冲突的情况下,本申请中的实施例及实施例中的特征可以相互任意组合。0051如图1所示,本发明实施例提供了一种芯片,包括寄存器代理模块、调试接口模块和多个底层模块;0052底层模块,用于如检测到本底层模块工作异常,则产生对应的错误指示信号,向寄存器代理。
18、模块发送错误通知;0053寄存器代理模块,用于如接收到底层模块发送的错误通知,则记录错误信息,向上位机发送错误报告;如接收到上位机发送的寄存器访问指令,则对相应寄存器进行读取操作,向上位机返回读取结果;0054调试接口模块,用于连接所述芯片和上位机,在所述寄存器代理模块和所述上位机之间转发信息。0055该芯片进一步包括下述特点0056其中,底层模块可以通过检查各寄存器的状态获知是否工作异常。比如,底层模块如检查到FIFO寄存器溢出,则判断工作异常。0057优选地,所述读取结果指示工作异常的底层模块的信息和异常类型信息。也即,所述寄存器访问指令用于获取工作异常的底层模块的信息以及异常类型信息;0。
19、058优选地,所述寄存器代理模块,还用于如接收到上位机发送的寄存器控制指令,则对相应寄存器进行写入操作以对所述芯片进行异常恢复处理。0059优选地,底层模块,用于如检测到本底层模块工作异常,则产生对应的错误指示信说明书CN104133751A4/5页7号,包括0060如检测到本底层模块工作异常,则将本底层模块的本地错误寄存器中对应于所述异常类型的位置位;其中,所述本地错误寄存器中的每一位对应于一种异常类型;也即,本地错误寄存器用于指示本底层模块是否工作异常以及出现了哪些类型的异常。0061优选地,寄存器代理模块,用于如接收到底层模块发送的错误通知,则记录错误信息,包括0062如接收到底层模块发。
20、送的错误通知,则将全局错误寄存器中对应于所述底层模块的位置位;其中,所述全局错误寄存器中的每一位对应于一个底层模块;也即,全局错误寄存器用于指示各底层模块是否出现了工作异常;0063优选地,寄存器代理模块,用于如接收到上位机发送的寄存器访问指令,则对相应寄存器进行读取操作,向上位机返回操作结果,包括0064接收上位机发送的对全局错误寄存器进行访问的指令,读取所述全局错误寄存器的值,将所述值返回给上位机;0065接收上位机发送的对某个底层模块的本地错误寄存器进行访问的指令,读取所述本地错误寄存器的值,将所述值返回给上位机。0066其中,寄存器代理模块,用于如接收到上位机发送的寄存器控制指令,则对。
21、相应寄存器进行写入操作以对所述芯片进行异常恢复处理,包括0067如接收到上位机发送的寄存器控制指令,所述指令中携带某个寄存器的地址和待写数据,则将所述待写数据写入所述寄存器中以对所述芯片进行异常恢复处理,如写入成功,则向所述上位机返回控制成功响应。0068优选地,调试接口模块,用于连接所述芯片和上位机,包括通过采用JTAG接口或串口连接所述芯片和上位机。0069如图2所示,本发明实施例提供了一种对芯片进行调试的方法,所述芯片包括寄存器代理模块、调试接口模块和多个底层模块,该方法包括0070底层模块如检测到本底层模块工作异常,则产生对应的错误指示信号,向寄存器代理模块发送错误通知;0071寄存器。
22、代理模块如接收到底层模块发送的错误通知,则记录错误信息,通过调试接口模块向上位机发送错误报告;0072上位机如接收到来自所述芯片的错误报告,则通过所述调试接口模块向所述寄存器代理模块发送寄存器访问指令;0073所述寄存器代理模块如接收到来自所述上位机的寄存器访问指令,则对相应寄存器进行读取操作,向上位机返回读取结果;0074其中,所述调试接口模块用于连接所述芯片和上位机,在所述寄存器代理模块和所述上位机之间转发信息。0075该方法进一步包括下述特点0076优选地,所述调试接口模块通过采用JTAG接口或串口连接所述芯片和上位机。0077优选地,所述读取结果指示工作异常的底层模块的信息和异常类型信。
23、息。0078优选地,底层模块如检测到本底层模块工作异常,则产生对应的错误指示信号,包括说明书CN104133751A5/5页80079底层模块如检测到本底层模块工作异常,则将本底层模块的本地错误寄存器中对应于所述异常类型的位置位;其中,所述本地错误寄存器中的每一位对应于一种异常类型;0080优选地,寄存器代理模块如接收到底层模块发送的错误通知,则记录错误信息,包括0081寄存器代理模块如接收到底层模块发送的错误通知,则将全局错误寄存器中对应于所述底层模块的位置位;其中,所述全局错误寄存器中的每一位对应于一个底层模块;0082优选地,所述寄存器代理模块如接收到来自所述上位机的寄存器访问指令,则对。
24、相应寄存器进行读取操作,向上位机返回读取结果,包括0083所述寄存器代理模块接收上位机发送的对全局错误寄存器进行访问的指令,读取所述全局错误寄存器的值,将所述值返回给上位机;0084所述寄存器代理模块接收上位机发送的对某个底层模块的本地错误寄存器进行访问的指令,读取所述本地错误寄存器的值,将所述值返回给上位机。0085优选地,上位机接收到芯片返回的读取结果后,还包括0086上位机通过所述调试接口模块向所述寄存器代理模块发送寄存器控制指令;0087寄存器代理模块如接收到上位机发送的寄存器控制指令,则对相应寄存器进行写入操作以对所述芯片进行异常恢复处理。0088其中,寄存器代理模块如接收到上位机发。
25、送的寄存器控制指令,则对相应寄存器进行写入操作以对所述芯片进行异常恢复处理,包括0089寄存器代理模块如接收到上位机发送的寄存器控制指令,所述指令中携带某个寄存器的地址和待写数据,则将所述待写数据写入所述寄存器中以对所述芯片进行异常恢复处理,如写入成功,则向所述上位机返回控制成功响应。0090上述实施例提供的一种对芯片进行调试的方法和芯片,芯片内的底层模块如检测到工作异常,则产生错误指示信号并通知芯片内的寄存器代理模块,寄存器代理模块接到通知后记录错误信息并通过调试接口模块向上位机发送错误报告,然后如接收到上位机发送的寄存器访问/控制指令,则对相应寄存器进行读取/写入操作,向上位机返回操作结果。
26、。上述方法和芯片能够在对芯片进行调试的过程中快速、精确定位BUG位置,提高调试效率,实现对芯片运行状态的实时监控。0091本领域普通技术人员可以理解上述方法中的全部或部分步骤可通过程序来指令相关硬件完成,所述程序可以存储于计算机可读存储介质中,如只读存储器、磁盘或光盘等。可选地,上述实施例的全部或部分步骤也可以使用一个或多个集成电路来实现,相应地,上述实施例中的各模块/单元可以采用硬件的形式实现,也可以采用软件功能模块的形式实现。本发明不限制于任何特定形式的硬件和软件的结合。0092需要说明的是,本发明还可有其他多种实施例,在不背离本发明精神及其实质的情况下,熟悉本领域的技术人员可根据本发明作出各种相应的改变和变形,但这些相应的改变和变形都应属于本发明所附的权利要求的保护范围。说明书CN104133751A1/1页9图1图2说明书附图CN104133751A。