CN107992390A - 一种基于片上总线的芯片调试方法 - Google Patents

一种基于片上总线的芯片调试方法 Download PDF

Info

Publication number
CN107992390A
CN107992390A CN201711130017.9A CN201711130017A CN107992390A CN 107992390 A CN107992390 A CN 107992390A CN 201711130017 A CN201711130017 A CN 201711130017A CN 107992390 A CN107992390 A CN 107992390A
Authority
CN
China
Prior art keywords
debugging
chip
bus
module
sent
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
Application number
CN201711130017.9A
Other languages
English (en)
Other versions
CN107992390B (zh
Inventor
余梓奇
马鹏
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
No32 Research Institute Of China Electronics Technology Group Corp
Original Assignee
No32 Research Institute Of China Electronics Technology Group Corp
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by No32 Research Institute Of China Electronics Technology Group Corp filed Critical No32 Research Institute Of China Electronics Technology Group Corp
Priority to CN201711130017.9A priority Critical patent/CN107992390B/zh
Publication of CN107992390A publication Critical patent/CN107992390A/zh
Application granted granted Critical
Publication of CN107992390B publication Critical patent/CN107992390B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/22Detection or location of defective computer hardware by testing during standby operation or during idle time, e.g. start-up testing
    • G06F11/26Functional testing
    • G06F11/267Reconfiguring circuits for testing, e.g. LSSD, partitioning

Landscapes

  • Engineering & Computer Science (AREA)
  • General Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Computer Hardware Design (AREA)
  • Quality & Reliability (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Debugging And Monitoring (AREA)

Abstract

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

Description

一种基于片上总线的芯片调试方法
技术领域
本发明涉芯片调试领域,具体是一种基于片上总线的芯片调试方法。
背景技术
随着片上系统技术的发展,芯片上集成的功能模块越来越多,其内部信号难以观测,芯片的设计和验证阶段需要调试模块辅助排错,软件开发同样需要调试的支持。
传统的芯片调试方法是采用JTAG扫描链技术,将芯片中待观测的模块引脚或寄存器串联成多条扫描链。通过JTAG接口,可以串行的给链上的信号赋值,或者将这些信号值串行读出,以实现对芯片内部情况的观测和调试。
传统的JTAG扫描链技术通过在目标机内部增加TAP(Test Access Port)控制器、指令寄存器、数据寄存器等模块,将芯片中待观测的模块引脚或寄存器串联成多条扫描链,通过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调试处理模块,根据实际芯片设计使用的系统总线,选择相应的调试处理模块,如图4所示。这样可以实现对外设的访问不影响CPU正常运行。CPU核有专门的调试接口,调试处理模块需按照此接口的协议格式将调试命令发送至CPU核的调试接口,并接收来自调试接口的反馈信息。
以上对本发明的具体实施例进行了描述。需要理解的是,本发明并不局限于上述特定实施方式,本领域技术人员可以在权利要求的范围内做出各种变形或修改,这并不影响本发明的实质内容。

Claims (8)

1.一种基于片上总线的芯片调试方法,其特征在于,在芯片内部集成设置一个调试控制模块来实现芯片调试功能,该模块由调试接收模块和调试处理模块组成;所述调试接收模块用于接收外部的JTAG信号,将其串并转换成内部总线信号发给调试处理模块,接收调试处理模块返回的调试结果,并将其转换成JTAG信号发往芯片外部;所述调试处理模块接收调试接收模块发来的命令和数据,再将其转换成片上总线协议格式的命令和数据,发送至片上总线,同时接收片上总线返回的调试结果,并将其处理后发往调试接收模块,待调试的系统功能模块接收片上总线发来的调试命令和数据,处理完成后将调试结果经由片上总线返回给调试处理模块,如此完成对该功能模块的调试。
2.如权利要求1所述的一种基于片上总线的芯片调试方法,其特征在于,所述调试接收模块包括TAP控制器、指令移位寄存器链和数据移位寄存器链,数据移位寄存器链有多条,用于完成不同的JTAG指令,接收模块寄存器链专用于访问接收模块内部的控制寄存器,完成传输模式和选择处理模块的配置。
3.如权利要求2所述的一种基于片上总线的芯片调试方法,其特征在于,所述数据移位寄存器链至少包括接收模块寄存器链和处理模块寄存器链。
4.如权利要求1所述的一种基于片上总线的芯片调试方法,其特征在于,所述调试处理模块包括接收模块接口和总线模块接口,接收模块接口和总线模块接口均由各种内部的状态机控制运行流程,接收模块接口分析当前传输的地址和访问模式,总线模块接口将命令封装成对应总线格式。
5.如权利要求1所述的一种基于片上总线的芯片调试方法,其特征在于,所述调试处理模块的数量为多个,可根据实际系统中片上总线的类型进行更改;每个调试处理模块针对其对应的片上总线,将调试接收模块发来的命令和数据转换成相应片上总线的格式发送到对应总线上。
6.如权利要求1所述的一种基于片上总线的芯片调试方法,其特征在于,系统功能模块接收片上总线发来的调试命令,向系统功能模块内部的CPU发送命令以访问CPU内部寄存器的值,实现对CPU内部运行情况的观测,也可以让CPU停止运行、插入断点、单步执行。
7.如权利要求1所述的一种基于片上总线的芯片调试方法,其特征在于,访问CPU的片上总线与访问外设的总线是不同的,可以实现对外设的调试不影响CPU正常运行。
8.如权利要求1所述的一种基于片上总线的芯片调试方法,其特征在于,向目标系统发送的调试命令,都将转换成对目标系统总线地址空间的访问,目标系统接收到调试命令,当作普通的总线事务处理;目标系统处理器设有若干相关的调试寄存器接口,该接口也映射到调试专用总线的地址空间上,对CPU的调试也采用总线访问的形式。
CN201711130017.9A 2017-11-15 2017-11-15 一种基于片上总线的芯片调试方法 Active CN107992390B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201711130017.9A CN107992390B (zh) 2017-11-15 2017-11-15 一种基于片上总线的芯片调试方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201711130017.9A CN107992390B (zh) 2017-11-15 2017-11-15 一种基于片上总线的芯片调试方法

Publications (2)

Publication Number Publication Date
CN107992390A true CN107992390A (zh) 2018-05-04
CN107992390B CN107992390B (zh) 2021-07-30

Family

ID=62031618

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201711130017.9A Active CN107992390B (zh) 2017-11-15 2017-11-15 一种基于片上总线的芯片调试方法

Country Status (1)

Country Link
CN (1) CN107992390B (zh)

Cited By (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN109918303A (zh) * 2019-03-05 2019-06-21 杭州嘉楠耘智信息科技有限公司 一种芯片、芯片调试方法及装置、设备、介质
WO2020207040A1 (zh) * 2019-04-11 2020-10-15 盛科网络(苏州)有限公司 片上调试装置和方法
CN112231161A (zh) * 2020-10-16 2021-01-15 上海国微思尔芯技术股份有限公司 多芯片调试方法及多芯片调试装置
CN112490215A (zh) * 2020-11-26 2021-03-12 海光信息技术股份有限公司 集成电路、芯片以及晶圆的功能测试方法
CN112835824A (zh) * 2021-02-26 2021-05-25 深圳市航顺芯片技术研发有限公司 总线主设备、芯片、芯片控制方法、智能终端及存储介质
CN113438135A (zh) * 2021-07-08 2021-09-24 上海擎昆信息科技有限公司 一种用于数据分析调试的装置及方法
CN116225200A (zh) * 2023-02-02 2023-06-06 海光信息技术股份有限公司 芯片及其功耗管理方法、电子装置
CN116521468A (zh) * 2023-07-05 2023-08-01 西安智多晶微电子有限公司 一种fpga在线调试方法及支持在线调试的fpga

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6601126B1 (en) * 2000-01-20 2003-07-29 Palmchip Corporation Chip-core framework for systems-on-a-chip
CN1781082A (zh) * 2003-03-25 2006-05-31 英特尔公司 高性能串行总线测试方法
CN105808396A (zh) * 2016-03-04 2016-07-27 浙江大华技术股份有限公司 一种芯片调试装置、调试方法及soc芯片系统

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6601126B1 (en) * 2000-01-20 2003-07-29 Palmchip Corporation Chip-core framework for systems-on-a-chip
CN1781082A (zh) * 2003-03-25 2006-05-31 英特尔公司 高性能串行总线测试方法
CN105808396A (zh) * 2016-03-04 2016-07-27 浙江大华技术股份有限公司 一种芯片调试装置、调试方法及soc芯片系统

Cited By (11)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN109918303A (zh) * 2019-03-05 2019-06-21 杭州嘉楠耘智信息科技有限公司 一种芯片、芯片调试方法及装置、设备、介质
WO2020207040A1 (zh) * 2019-04-11 2020-10-15 盛科网络(苏州)有限公司 片上调试装置和方法
CN112231161A (zh) * 2020-10-16 2021-01-15 上海国微思尔芯技术股份有限公司 多芯片调试方法及多芯片调试装置
CN112231161B (zh) * 2020-10-16 2024-03-19 上海思尔芯技术股份有限公司 多芯片调试方法及多芯片调试装置
CN112490215A (zh) * 2020-11-26 2021-03-12 海光信息技术股份有限公司 集成电路、芯片以及晶圆的功能测试方法
CN112490215B (zh) * 2020-11-26 2022-08-16 成都海光集成电路设计有限公司 集成电路、芯片以及晶圆的功能测试方法
CN112835824A (zh) * 2021-02-26 2021-05-25 深圳市航顺芯片技术研发有限公司 总线主设备、芯片、芯片控制方法、智能终端及存储介质
CN113438135A (zh) * 2021-07-08 2021-09-24 上海擎昆信息科技有限公司 一种用于数据分析调试的装置及方法
CN116225200A (zh) * 2023-02-02 2023-06-06 海光信息技术股份有限公司 芯片及其功耗管理方法、电子装置
CN116521468A (zh) * 2023-07-05 2023-08-01 西安智多晶微电子有限公司 一种fpga在线调试方法及支持在线调试的fpga
CN116521468B (zh) * 2023-07-05 2023-09-15 西安智多晶微电子有限公司 一种fpga在线调试方法及支持在线调试的fpga

Also Published As

Publication number Publication date
CN107992390B (zh) 2021-07-30

Similar Documents

Publication Publication Date Title
CN107992390A (zh) 一种基于片上总线的芯片调试方法
US11720479B2 (en) Real time analysis and control for a multiprocessor system
CN100565472C (zh) 一种适用于多处理器核系统芯片的调试方法
JP3862291B2 (ja) マイクロプロセッサ
CN102662835B (zh) 一种针对嵌入式系统的程序调试方法及嵌入式系统
US8347158B2 (en) System-on-chip with master/slave debug interface
CN107085560B (zh) 一种emif接口与ahb/apb时序桥接电路及其控制方法
CN101923440B (zh) 一种高速异步数据采集系统
CN103383661B (zh) 管芯上系统结构块的控制装置及方法
CN108595298A (zh) 一种芯片测试系统及方法
CN103559152A (zh) 基于pcie协议的cpu访问本地总线的装置及方法
CN107290654A (zh) 一种fpga逻辑测试结构及方法
CN110515891A (zh) 一种fpga芯片及其配置方法
EP0840218B1 (en) An integrated circuit device and method of communication therewith
CN107340467A (zh) 测试系统
CN107290656B (zh) 一种集成双向crc校验功能的可扩展jtag调试结构
CN109426671A (zh) 一种边界扫描链的生成方法及装置、计算机可读存储介质
CN111597137A (zh) 一种基于spi协议的动态调试方法、装置及系统
CN111176926A (zh) 一种基于双口sram的ip核仿真系统及仿真方法
CN106326172B (zh) 一种APB总线slave接口扩展电路及其使用方法
CN112557886B (zh) 协议转换桥接电路以及系统级芯片
CN109165030A (zh) 一种单片机的在线编程测试方法
CN103309798B (zh) 一种dsp调试装置
CN206292769U (zh) 一种嵌入式测试存储系统
CN202094950U (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