一种基于片上总线的芯片调试方法技术

技术编号:17878673 阅读:35 留言:0更新日期:2018-05-06 00:33
本发明专利技术公开了一种基于片上总线的芯片调试方法,在芯片内部集成设置一个调试控制模块来实现芯片调试功能,该模块由调试接收模块和调试处理模块组成;调试接收模块用于接收外部的JTAG信号,将其串并转换成内部总线信号发给调试处理模块,接收调试处理模块返回的调试结果,并将其转换成JTAG信号发往芯片外部;调试处理模块接收调试接收模块发来的命令和数据,再将其转换成片上总线协议格式的命令和数据,发送至片上总线,同时接收片上总线返回的调试结果,并将其处理后发往调试接收模块,待调试的系统功能模块接收片上总线发来的调试命令和数据,处理完成后将调试结果经由片上总线返回给调试处理模块。本发明专利技术更具通用性和可移植性。

A chip debugging method based on the on-chip bus

The invention discloses a debug method based on the on-chip bus. A debug control module is set up in the chip to implement the debugging function of the chip. The module is composed of the debug receiving module and the debug processing module. The debug receiving module is used to receive the external JTAG signal number and converts it into the internal bus signal. The debug processing module is sent to the debugging result, and the debug processing module is transferred to the outside of the chip. The debug processing module receives the commands and data from the debug module, and then transfers the command and data to the chip bus protocol format, and sends it to the chip bus and receives the chip on the chip. The debug results are returned by the bus and sent to the debug receiving module after processing. The system function module to be debugged receives the debug commands and data from the on-chip bus. After the processing is completed, the debug results are returned to the debug processing module via the on-chip bus. The invention is more versatile and transplantable.

【技术实现步骤摘要】
一种基于片上总线的芯片调试方法
本专利技术涉芯片调试领域,具体是一种基于片上总线的芯片调试方法。
技术介绍
随着片上系统技术的发展,芯片上集成的功能模块越来越多,其内部信号难以观测,芯片的设计和验证阶段需要调试模块辅助排错,软件开发同样需要调试的支持。传统的芯片调试方法是采用JTAG扫描链技术,将芯片中待观测的模块引脚或寄存器串联成多条扫描链。通过JTAG接口,可以串行的给链上的信号赋值,或者将这些信号值串行读出,以实现对芯片内部情况的观测和调试。传统的JTAG扫描链技术通过在目标机内部增加TAP(TestAccessPort)控制器、指令寄存器、数据寄存器等模块,将芯片中待观测的模块引脚或寄存器串联成多条扫描链,通过JTAG信号接口,可以串行的给链上的信号赋值,或者将这些信号值串行读出。因此,扫描链实际上提供了控制芯片内部信号和访问寄存器的方法。但这种片上调试方式存在几个缺陷:(1)速度慢。通过扫描链只能读写串行数据,而JTAG时钟必须远低于系统时钟才能采样到正确的信号,因此数据传输速度很慢。(2)移植困难。调试扫描链的设计与待观测模块联系紧密,若待观测模块有调整,扫描链也需要随之改变,因此想要移植到其他系统中较为困难。(3)芯片面积占用大。随着调试需求的增加,待观测的信号会越来越多,调试扫描链也将随之变长变多,导致整个调试模块会占用5%以上的芯片面积。
技术实现思路
为解决上述现有技术中的缺陷,本专利技术提供了一种基于片上总线的芯片调试方法。本专利技术的目的通过以下技术方案来实现:一种基于片上总线的芯片调试方法,在芯片内部集成设置一个调试控制模块来实现芯片调试功能,该模块由调试接收模块和调试处理模块组成;所述调试接收模块用于接收外部的JTAG信号,将其串并转换成内部总线信号发给调试处理模块,接收调试处理模块返回的调试结果,并将其转换成JTAG信号发往芯片外部;所述调试处理模块接收调试接收模块发来的命令和数据,再将其转换成片上总线协议格式的命令和数据,发送至片上总线,同时接收片上总线返回的调试结果,并将其处理后发往调试接收模块,待调试的系统功能模块接收片上总线发来的调试命令和数据,处理完成后将调试结果经由片上总线返回给调试处理模块,如此完成对该功能模块的调试。其中,所述调试接收模块包括TAP控制器、指令移位寄存器链和数据移位寄存器链,数据移位寄存器链有多条,用于完成不同的JTAG指令,接收模块寄存器链专用于访问接收模块内部的控制寄存器,完成传输模式和选择处理模块的配置。其中,所述数据移位寄存器链至少包括接收模块寄存器链和处理模块寄存器链。其中,所述调试处理模块包括接收模块接口和总线模块接口,接收模块接口和总线模块接口均由各种内部的状态机控制运行流程,接收模块接口分析当前传输的地址和访问模式,总线模块接口将命令封装成对应总线格式。其中,所述调试处理模块的数量为多个,可根据实际系统中片上总线的类型进行更改;每个调试处理模块针对其对应的片上总线,将调试接收模块发来的命令和数据转换成相应片上总线的格式发送到对应总线上。其中,系统功能模块接收片上总线发来的调试命令,向系统功能模块内部的CPU发送命令以访问CPU内部寄存器的值,实现对CPU内部运行情况的观测,也可以让CPU停止运行、插入断点、单步执行,访问CPU的片上总线与访问外设的总线是不同的,可以实现对外设的调试不影响CPU正常运行,向目标系统发送的调试命令,都将转换成对目标系统总线地址空间的访问,目标系统接收到调试命令,当作普通的总线事务处理;目标系统处理器设有若干相关的调试寄存器接口,该接口也映射到调试专用总线的地址空间上,因此对CPU的调试也采用总线访问的形式,统一了外设与CPU的调试方式。与现有技术相比,本专利技术具有以下有益效果:1)统一了各个系统功能模块的调试方式,采用总线访问的形式向各个待调试的功能模块发送调试命令,以完成调试。相对于传统的扫描链调试方式,本专利技术更具通用性和可移植性。2)以总线访问的方式实现对各系统功能模块的调试,使调试控制模块易于移植到其他系统中。3)不用在每个待调试的模块引脚周围插上扫描链,仅需集成一个调试控制模块即可,资源占用很少。附图说明图1为本专利技术实施例中调试控制模块的结构示意图。图2为本专利技术实施例中调试接收模块的结构示意图。图3为本专利技术实施例中调试处理模块的结构示意图。图4为本专利技术一个具体实施例的结构示意图。具体实施方式下面结合具体实施例对本专利技术进行详细说明。以下实施例将有助于本领域的技术人员进一步理解本专利技术,但不以任何形式限制本专利技术。应当指出的是,对本领域的普通技术人员来说,在不脱离本专利技术构思的前提下,还可以做出若干变形和改进。这些都属于本专利技术的保护范围。如图1所示,本专利技术实施例提供了一种基于片上总线的芯片调试方法,在芯片内部集成设置一个调试控制模块来实现芯片调试功能,该模块由调试接收模块和调试处理模块组成;所述调试接收模块用于接收外部的JTAG信号,将其串并转换成内部总线信号发给调试处理模块,接收调试处理模块返回的调试结果,并将其转换成JTAG信号发往芯片外部;所述调试处理模块接收调试接收模块发来的命令和数据,再将其转换成片上总线协议格式的命令和数据,发送至片上总线,同时接收片上总线返回的调试结果,并将其处理后发往调试接收模块,待调试的系统功能模块接收片上总线发来的调试命令和数据,处理完成后将调试结果经由片上总线返回给调试处理模块,如此完成对该功能模块的调试。所述系统功能模块接收片上总线发来的调试命令,向系统功能模块内部的CPU发送命令以访问CPU内部寄存器的值,实现对CPU内部运行情况的观测,也可以让CPU停止运行、插入断点、单步执行,访问CPU的片上总线与访问外设的总线是不同的,可以实现对外设的调试不影响CPU正常运行,向目标系统发送的调试命令,都将转换成对目标系统总线地址空间的访问,目标系统接收到调试命令,当作普通的总线事务处理;目标系统处理器设有若干相关的调试寄存器接口,该接口也映射到调试专用总线的地址空间上,因此对CPU的调试也采用总线访问的形式,统一了外设与CPU的调试方式。如图2所示,所述调试接收模块包括TAP控制器、指令移位寄存器链和数据移位寄存器链,数据移位寄存器链有多条,用于完成不同的JTAG指令,接收模块寄存器链专用于访问接收模块内部的控制寄存器,完成传输模式和选择处理模块的配置,所述数据移位寄存器链至少包括接收模块寄存器链和处理模块寄存器链。如图3所示,所述调试处理模块包括接收模块接口和总线模块接口,接收模块接口和总线模块接口均由各种内部的状态机控制运行流程,接收模块接口分析当前传输的地址和访问模式,总线模块接口将命令封装成对应总线格式。所述调试处理模块的数量为多个,可根据实际系统中片上总线的类型进行更改;每个调试处理模块针对其对应的片上总线,将调试接收模块发来的命令和数据转换成相应片上总线的格式发送到对应总线上。实施例本实施例设计了一个调试处理模块专用于处理CPU核的调试命令,另外再设计一个或多个调试处理模块专用于处理外设的调试命令,由于目前大部分系统总线使用的是AMBA总线,因此外设调试处理模块可以选用AHB调试处理模块或AXI调试处理模块,根据实际芯片设计使用的系统总线,选择相应的调试处本文档来自技高网...
一种基于片上总线的芯片调试方法

【技术保护点】
一种基于片上总线的芯片调试方法,其特征在于,在芯片内部集成设置一个调试控制模块来实现芯片调试功能,该模块由调试接收模块和调试处理模块组成;所述调试接收模块用于接收外部的JTAG信号,将其串并转换成内部总线信号发给调试处理模块,接收调试处理模块返回的调试结果,并将其转换成JTAG信号发往芯片外部;所述调试处理模块接收调试接收模块发来的命令和数据,再将其转换成片上总线协议格式的命令和数据,发送至片上总线,同时接收片上总线返回的调试结果,并将其处理后发往调试接收模块,待调试的系统功能模块接收片上总线发来的调试命令和数据,处理完成后将调试结果经由片上总线返回给调试处理模块,如此完成对该功能模块的调试。

【技术特征摘要】
1.一种基于片上总线的芯片调试方法,其特征在于,在芯片内部集成设置一个调试控制模块来实现芯片调试功能,该模块由调试接收模块和调试处理模块组成;所述调试接收模块用于接收外部的JTAG信号,将其串并转换成内部总线信号发给调试处理模块,接收调试处理模块返回的调试结果,并将其转换成JTAG信号发往芯片外部;所述调试处理模块接收调试接收模块发来的命令和数据,再将其转换成片上总线协议格式的命令和数据,发送至片上总线,同时接收片上总线返回的调试结果,并将其处理后发往调试接收模块,待调试的系统功能模块接收片上总线发来的调试命令和数据,处理完成后将调试结果经由片上总线返回给调试处理模块,如此完成对该功能模块的调试。2.如权利要求1所述的一种基于片上总线的芯片调试方法,其特征在于,所述调试接收模块包括TAP控制器、指令移位寄存器链和数据移位寄存器链,数据移位寄存器链有多条,用于完成不同的JTAG指令,接收模块寄存器链专用于访问接收模块内部的控制寄存器,完成传输模式和选择处理模块的配置。3.如权利要求2所述的一种基于片上总线的芯片调试方法,其特征在于,所述数据移位寄存器链至少包括接收模块寄存器链和处理模块寄存器链。4.如权利要求1所述的一种基于片上总线的芯片调试方法,其特征在于,所述调试处理模块包括接收模块...

【专利技术属性】
技术研发人员:余梓奇马鹏
申请(专利权)人:中国电子科技集团公司第三十二研究所
类型:发明
国别省市:上海,31

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1