复用制造技术

技术编号:39841429 阅读:8 留言:0更新日期:2023-12-29 16:28
本发明专利技术公开了一种复用

【技术实现步骤摘要】
复用JTAG调试通道调试CPU核的处理器及应用方法


[0001]本专利技术涉及芯片调试
,具体涉及一种复用
JTAG
调试通道调试
CPU
核的处理器及应用方法


技术介绍

[0002]随着应用对高性能需求的增加,单核处理器芯片已经越来越无法满足应用需求,多核处理器芯片应时而生,但是无论是芯片是单核处理器还是多核处理器,其在设计

制造

封装和应用过程中都有可能存在问题,因此为了保证芯片的正确性,还必须对芯片进行调试
。JTAG(Joint Test Action Group
,联合测试工作组
)
接口主要用于芯片内部测试,现在绝大多数的高级器件如
DSP、CPU IP、FPGA
等都支持
JTAG
协议,
JTAG
接口已是
SOC
芯片中不可或缺的一部分

[0003]在现有技术中,单核处理器和多核处理器通常均是采用
JTAG
接口对其内部电路逻辑进行访问以便对其进行调试
。JTAG
是一种用于芯片内部调试的且兼容
IEEE1149.1
的国际标准化协议,标准的
JTAG
接口一般具有5个信号,分别是:复位信号
TRST、
模式选择信号
TMS、
时钟信号
TCK、
数据输入信号
TDI
数据输出信号
TDO。JTAG
对芯片进行调试的基本原理是,在芯片中定义实现一个测试访问端口
TAP(Test Access Port)

JTAG
仿真器通过测试访问端口
TAP
对芯片内部进行测试

[0004]公布号为
CN101154184A
的中国专利文献公开了一种通过
JTAG
接口对微处理器进行调试的现有技术,虽然在该现有技术中所介绍了的调试方法,其通过
JTAG
接口调试的对象是微处理器,但是该现有技术也仅仅体现了通过
JTAG
接口对单处理器进行调试的基本方法:通过配置
JTAG
接口,利用外部上层软件使用标准的或者扩展的标准
TAP
命令访问仿真调试模块,执行调试命令,从而达到调试的目的

[0005]对于异构多核处理器而言,由于其包含多个
CPU

/

DSP
等单核处理器,每个单核处理器均设置有属于自己的调试访问端口
TAP
,各个单处理器之间还通过外围逻辑电路连接,这些都导致多核处理器的联合调试变得复杂

现有技术中,存在一种采用串联方式对多核处理器进行调试的方法,多核处理器包含多个处理器核
(
也称
IP

)
,每个处理器核均设置有属于自己的测试访问端口
TAP。
各个处理器核的测试访问端口
TAP
采用菊花链式的连接方式,即上一级测试访问端口
TAP
的数据输出信号
TDO
接入下级测试访问端口
TAP
的数据输入信号
TDI

JTAG
仿真器的时钟信号
TCK、
模式选择信号
TMS、
复位信号
TRST
接入所有的
TAP。
[0006]公布号为
CN102103535A
的中国专利文献公开了一种通过芯片级
TAP
以及其他支撑模块实现通过单一
JTAG
接口对多处理器进行调试的现有技术

该方法虽然巧妙的在不改变标准的
TAP
接口和标准的仿真器端口设计的情况下,仅通过增加一个芯片的
TAP
以及其他支撑模块实现了通过单一
JTAG
接口对多核处理器进行调试的方法

[0007]但是,无论是采用
JTAP
串联方式还是并行方式对多核处理器进行调试,其主体思想仍是:通过配置
JTAG
接口,利用外部上层软件使用标准的或者扩展的标准
TAP
命令访问仿真调试模块,选择待测处理器核,执行调试命令,从而达到调试的目的

但是,在
JTAG
接口不
可用或者有其他用途的情况下,则无法实现对多核处理器进行调试

而且,在异构多核
SOC
芯片中集成了不同体系架构的
CPU
核时,通常这些异构的
CPU
核作为主机只能访问芯片上的可寻址空间和各自的内部私有空间或资源
(
包括私有
memory
,寄存器文件

控制寄存器
、PC
指针等
)
,不能访问其他核的私有空间或资源
(
包括私有
memory
,寄存器文件

控制寄存器
、PC
指针等
)
,更别说控制核内指令流水线的运行

暂停和单步了


技术实现思路

[0008]本专利技术要解决的技术问题:针对现有技术的上述问题,提供一种复用
JTAG
调试通道调试
CPU
核的处理器及应用方法,本专利技术能够不通过配置
JTAG
接口而是直接通过编写程序配置一系列的寄存器后复用
JTAG
调试逻辑通过总线控制实现对
CPU
核的调试,同时能够支持访问自研的
CPU
核的私有空间或资源

[0009]为了解决上述技术问题,本专利技术采用的技术方案为:
[0010]一种复用
JTAG
调试通道调试
CPU
核的处理器,包括
JTAG
接口

仿真调试模块

配置总线

片内主机模块以及
CPU
核,所述
JTAG
接口与仿真调试模块相连,所述仿真调试模块通过配置总线与片内主机模块相连,所述仿真调试模块通过数据总线与
CPU
核相连,所述配置总线中包含用于访问仿真调试模块的主机接口,所述仿真调试模块中包含与主机接口相连的从机接口和对应的译码模块以用于被片内主机模块访问,且所述仿真调试模块内还包含一组寄存器和选择器以用于实现
JTAG
接口

片内主机模块对仿真调试模块的复用控制,在不使用...

【技术保护点】

【技术特征摘要】
1.
一种复用
JTAG
调试通道调试
CPU
核的处理器,包括
JTAG
接口

仿真调试模块

配置总线

片内主机模块以及
CPU
核,所述
JTAG
接口与仿真调试模块相连,所述仿真调试模块通过配置总线与片内主机模块相连,所述仿真调试模块通过数据总线与
CPU
核相连,其特征在于,所述配置总线中包含用于访问仿真调试模块的主机接口,所述仿真调试模块中包含与主机接口相连的从机接口和对应的译码模块以用于被片内主机模块访问,且所述仿真调试模块内还包含一组寄存器和选择器以用于实现
JTAG
接口

片内主机模块对仿真调试模块的复用控制,在不使用
JTAG
接口的情况下通过片内主机模块利用寄存器和选择器复用仿真调试模块实现对
CPU
核的调试功能以及访问
CPU
核的私有空间或资源
。2.
根据权利要求1所述的复用
JTAG
调试通道调试
CPU
核的处理器,其特征在于,所述一组寄存器和选择器中的寄存器包括:使能寄存器
PE
,用于表示片内主机模块调试的全局使能;选择寄存器
PJ
,用于表示
JTAG
调试和片内主机模块调试的通道占用状态;调试指令寄存器,用于存放调试指令;调试数据寄存器,用于存放调试数据;状态寄存器,用于存放调试状态
。3.
根据权利要求2所述的复用
JTAG
调试通道调试
CPU
核的处理器,其特征在于,所述使能寄存器
PE
包括第一使能寄存器
PE1
和第二使能寄存器
PE2
,所述第一使能寄存器
PE1
和第二使能寄存器
PE2
均用于表示其他主机调试的全局使能,且只有第一使能寄存器
PE1
等于第一设定值

第二使能寄存器
PE2
等于第二设定值同时成立时才允许片内主机模块利用寄存器和选择器复用仿真调试模块实现对
CPU
核的调试功能以及访问
CPU
核的私有空间或资源
。4.
根据权利要求3所述的复用
JTAG
调试通道调试
CPU
核的处理器,其特征在于,所述调试指令寄存器包括调试指令寄存器0和调试指令寄存器1,调试指令寄存器0用于存放调试指令的低
32
位,调试指令寄存器1用于存放调试指令的高
16
位;所述状态寄存器包括状态寄存器0和状态寄存器1,状态寄存器0用于存放调试状态的低
32
位,状态寄存器1用于存放调试状态的高
16

。5.
根据权利要求4所述的复用
JTAG
调试通道调试
CPU
核的处理器,其特征在于,所述一组寄存器和选择器中的选择器包括:第一选择器,用于选择通过片内主机模块通过配置从机接口写入还是通过
JTAG
接口扫入调试指令;第二选择器,用于选择将收集的状态返回至
JTAG
接口还是产生调试请求的片内主机模块;第三选择器,用于选择将收集的状态返回至
JTAG
接口还是产生调试请求的片内主机模块;第四选择器,用于选择通过片内主机模块通过配置从机接口写入还是通过
JTAG
接口扫入调试数据
。6.
根据权利要求5所述的复用
JTAG
调试通道调试
CPU
核的处理器,其特征在于,所述译码模块包括:简单译码模块,用于对仿真调试模块中
TCK
时钟域下的指令寄存器中锁存的指令进行译码,以产生对使能寄存器
PE、
选择寄存器
PJ
和仿真调试模块中系统时钟域下指令寄存器的访问控制信号;配置总线从机接口寄存器译码模块,用于对片内主机模块产生的总线请求进行译码,以产生对使能寄存器
PE、
选择寄存器
PJ、
仿真调试模块中系统时钟域下的指令寄存器和数据寄存器的访问控制信号
。7.
一种计算机设备,包括相互连接的微处理器和存储器,其特征在于,所述微处理器为权利要求1~6中任意一项所述的复用
JTAG
调试通道调试
CPU
核的处理器

8.
一种权利要求3~6中任意一项所述的复用
JTAG
调试通道调试
CPU
核的处理器的应用方法,其特征在于,包括:
S101
,打开调试使能:配置第一使能寄存器
PE1
使能打开并向其写入第一设定值,配置第二使能寄存器
PE2
使能打开并向其写入第二设定值,若第一使能寄存器
PE1
等于第一设定值

第二使能寄存器
PE2
等于第二设定值同时成立则跳转步骤
S102

S102
,在不使用
JTAG
接口的情况下通过片内主机模块利用寄存器和选择器复用仿真调试模块实现对指定的
CPU
核的指定调试功能或者访问指定的
CPU
核的私有空间或资源,包括:不断读选择寄存器
PJ
的状态,等待其值变为
01
,值变为
01
表示片内主机模块占用
JTAG
调试通道,当值变为
01
后,根据片内主机模块针对指定的
CPU
核所需执行的流水线暂停的调试操作,分别向调试指令寄存器0和调试指令寄存器1写入调试命令

向调试数据寄存器写入调试数据;然后读取状态寄存器0和状态寄存器1获得调试状态和调试数据以判断指定的
CPU
核是否调试通过或者访问指定的
CPU
核的私有空间或资源是否成功;
S103
,关闭调试使能:配置第一使能寄存器
PE1
使能关闭并向其写入全0,配置第二使能寄存器
PE2
使能关闭并向其写入全
0。9.
根据权利要求8所述的复用
JTAG
调试通道调试
CPU
核的处理器的应用方法,其特征在于,步骤
S102
中指定调试功能包括控制指定的
CPU
核执行流水线暂停

控制指定的
CPU
核流水线单步以及控制指定的
CPU
核流水线运行中的部分或全部;所述控制指定的
CPU
核执行流水线暂停包括:不断读选择寄存器
PJ
的状态,等待其值变为
01
,值变为
01

【专利技术属性】
技术研发人员:龚国辉刘子瑜伍玉良王永庆艾明哲
申请(专利权)人:湖南长城银河科技有限公司
类型:发明
国别省市:

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

1