一种JTAG多路选择器及其在单芯片系统中的连接方法转让专利

申请号 : CN201510648228.6

文献号 : CN105182221B

文献日 :

基本信息:

PDF:

法律信息:

相似专利:

发明人 : 王粟肖佐楠郑茳

申请人 : 天津国芯科技有限公司

摘要 :

本发明提供了一种适于在单芯片系统中使用的JTAG多路选择器及其与芯片内JTAG接口IP核的连接方法,JTAG多路选择器主要包括JTAG状态机模块、IR寄存器模块、TRST控制器模块、多组IR回读FIFO模块、以及TDO路选器;通过本发明的JTAG多路选择器,能够提取并识别嵌入在JTAG控制命令中的IP核编码,使同一时刻芯片内只有一个JTAG接口IP核对芯片外部的JTAG传输进行点对点的响应,从而达到了利用一套芯片JTAG端口,就可以对芯片内任一JTAG接口IP核进行单独访问的效果。

权利要求 :

1.一种JTAG多路选择器,其特征在于:包括标准5线JTAG端口、JTAG状态机模块、IR寄存器模块、TRST控制器模块、多组IR回读FIFO模块以及TDO路选器;

所述JTAG状态机模块连接TMS端口和TRST输入端口,负责接收外部的TMS和TRST信号,解析出当前的状态信息,发送给IR寄存器模块、TRST控制器模块和TDO路选器;

所述IR寄存器模块分别连接TDI端口、JTAG状态机模块,将外部输入的TDI数据进行移位寄存,并从中提取出IP核编码,发送给TRST控制器模块和TDO路选器;

所述TRST控制器模块分别连接TRST输入端口、JTAG状态机模块、IR寄存器模块,并设有多组TRST输出端口,负责为相对应的JTAG接口IP核提供TRST信号;

所述IR回读FIFO模块设有TDO输入端口,用于移位缓存各自对应的JTAG接口IP核返回的TDO信号;

所述TDO路选器分别连接JTAG状态机模块、IR寄存器模块、IR回读FIFO模块,并设有多组TDO输入端口,负责从回读的各路TDO信号,以及各组IR回读FIFO模块中,筛选出目标TDO信号;并发送到TDO输出端口。

2.根据权利要求1所述的一种JTAG多路选择器,其特征在于:所述JTAG状态机模块、IR寄存器模块、TRST控制器模块、多组IR回读FIFO模块以及TDO路选器的输入时钟信号,都获取自TCK端口接收的TCK信号。

3.根据权利要求1所述的一种JTAG多路选择器,其特征在于:所述IR寄存器模块包含移位器和锁存器,用于将TDI端口输入的IP核编码信息,通过移位器的移位后,刷新锁存器。

4.根据权利要求3所述的一种JTAG多路选择器,其特征在于:所述IR回读FIFO模块的深度与所述IR寄存器模块一致,IR回读FIFO模块的移位方式,与IR寄存器中的移位器一致。

5.如权利要求1至4任一项所述的JTAG多路选择器在单芯片系统中的连接方法,所述单芯片系统包括标准5线JTAG端口和多个JTAG接口IP核,其特征在于:从芯片端口输入的TCK时钟信号,在芯片内以广播的形式连接到每个JTAG接口IP核的TCK端口,以及JTAG多路选择器的TCK端口;

从芯片端口输入的TMS控制信号,在芯片内以广播的形式连接到每个JTAG接口IP核的TMS端口,以及JTAG多路选择器的TMS端口;

从芯片端口输入的TDI数据信号,在芯片内以广播的形式连接到每个JTAG接口IP核的TDI端口,以及JTAG多路选择器的TDI端口;

从芯片端口输入的TRST复位信号,在芯片内直接连接到JTAG多路选择器的TRST输入端口;

JTAG多路选择器为芯片内每个JTAG接口IP核对应一个TRST输出端口,该端口直接与对应的IP核的TRST输入端口相连;

JTAG多路选择器为芯片内每个JTAG接口IP核对应一个TDO输入端口,该端口直接与对应的IP核的TDO输出端口相连;

芯片的TDO输出端口直接与JTAG多路选择器的TDO输出端口相连。

说明书 :

一种JTAG多路选择器及其在单芯片系统中的连接方法

技术领域

[0001] 本申请属于集成电路测试和调试技术领域,尤其涉及单芯片系统中对多个JTAG接口IP核进行集中调试或测试所使用的一种JTAG多路选择器及其在单芯片系统中的连接方法。

背景技术

[0002] 集成电路中的大多数IP核(Intellectual Property core,知识产权核),大多采用IEEE1149.1标准的JTAG接口作为调试和测试接口.在一个SoC(System on Chip,单芯片系统)中,往往集成多个带有JTAG接口的IP核,而为了节省SoC芯片成本,芯片一般只保留一套JTAG标准5线接口:TCK,TMS,TDI,TDO,TRST.
[0003] 如何实现一套JTAG接口,对内部多个JTAG接口IP核进行访问,是每个SoC都需要解决的问题.通常的做法是将所有带有JTAG接口的IP核,进行菊花链(Daisy-chain)式的连接,即前一个IP核的TDO与后一个IP核的TDI相连,其他3根线TCK,TMS,TRST以广播的方式,连接到每个IP核上.在进行JTAG访问时,每个IP核的控制指令被首尾拼接在一起,顺序移入每个IP核的IR(Instruction Register,命令寄存器)中,以实现通过一套JTAG接口,对芯片内多个JTAG接口的IP核进行访问.
[0004] 当只想对芯片的某个IP核进行JTAG调试或测试时,这种串行连接同时访问所有IP核的方式就会十分低效.因此在包含多个JTAG接口IP核的SoC芯片中,需要一种高效灵活,通过一套JTAG接口就能单独访问每个IP核的JTAG多路选择器.

发明内容

[0005] 有鉴于此,本发明要解决的技术问题就是如何基于IEEE1149.1标准,使得能够通过一套JTAG接口,就能对SoC芯片中集成的多个IP核进行单独的JTAG调试或测试。
[0006] 为达到上述目的,本发明创造的技术方案是这样实现的:一种JTAG多路选择器,包括JTAG状态机模块、IR寄存器模块、TRST控制器模块、多组IR回读FIFO模块以及TDO路选器;
[0007] 所述JTAG状态机模块连接TMS端口和TRST输入端口,负责接收外部的TMS和TRST信号,解析出当前的状态信息,发送给IR寄存器模块、TRST控制器模块和TDO路选器;
[0008] 所述IR寄存器模块分别连接TDI端口、JTAG状态机模块,将外部输入的TDI数据进行移位寄存,并从中提取出IP核编码,发送给TRST控制器模块和TDO路选器;
[0009] 所述TRST控制器模块分别连接TRST输入端口、JTAG状态机模块、IR寄存器模块,并设有多组TRST输出端口,负责为相对应的JTAG接口IP核提供TRST信号;
[0010] 所述IR回读FIFO模块设有TDO输入端口,用于移位缓存各自对应的JTAG接口IP核返回的TDO信号;
[0011] 所述TDO路选器分别连接JTAG状态机模块、IR寄存器模块、IR回读FIFO模块,并设有多组TDO输入端口,负责从回读的各路TDO信号,以及各组IR回读FIFO模块中,筛选出目标TDO信号;并发送到TDO输出端口。
[0012] 进一步的,所述JTAG状态机模块、IR寄存器模块、TRST控制器模块、多组IR回读FIFO模块以及TDO路选器的输入时钟信号,都为外部的TCK信号。
[0013] 进一步的,所述IR寄存器模块包含移位器和锁存器,TDI输入的IP核编码信息,通过移位器的移位后,刷新锁存器。
[0014] 更进一步的,所述IR回读FIFO模块的深度与所述IR寄存器模块一致,IR回读FIFO的移位方式,与IR寄存器中的移位器一致。
[0015] 如上所述的一种JTAG多路选择器在单芯片系统中的连接方法,所述单芯片系统包括标准5线JTAG端口和多个JTAG接口IP核;
[0016] 从芯片端口输入的TCK时钟信号,在芯片内以广播的形式连接到每个JTAG接口IP核的TCK端口,以及JTAG多路选择器的TCK端口;
[0017] 从芯片端口输入的TMS控制信号,在芯片内以广播的形式连接到每个JTAG接口IP核的TMS端口,以及JTAG多路选择器的TMS端口;
[0018] 从芯片端口输入的TDI数据信号,在芯片内以广播的形式连接到每个JTAG接口IP核的TDI端口,以及JTAG多路选择器的TDI端口;
[0019] 从芯片端口输入的TRST复位信号,在芯片内直接连接到JTAG多路选择器的TRST输入端口;
[0020] JTAG多路选择器为芯片内每个JTAG接口IP核对应一个TRST输出端口,该端口直接与对应的IP核的TRST输入端口相连;
[0021] JTAG多路选择器为芯片内每个JTAG接口IP核对应一个TDO输入端口,该端口直接与对应的IP核的TDO输出端口相连;
[0022] 芯片的TDO输出端口直接与JTAG多路选择器的TDO输出端口相连。
[0023] 相对于现有技术,本发明所述的方法的有益效果为:本发明通过JTAG多路选择器,能够提取并识别嵌入在JTAG控制命令中的IP核编码,使同一时刻芯片内只有一个JTAG接口IP核对芯片外部的JTAG传输进行点对点的响应,从而达到了利用一套芯片JTAG端口就可以对芯片内任一JTAG接口IP核进行单独访问的效果。

附图说明

[0024] 构成本发明的一部分的附图用来提供对本发明创造的进一步理解,本发明创造的示意性实施例及其说明用于解释本发明创造,并不构成对本发明创造的不当限定。在附图中:
[0025] 图1为JTAG多路选择器内部结构图;
[0026] 图2为JTAG协议规定的状态转换图;
[0027] 图3为JTAG多路选择器内部的IR寄存器的数据移位示意图;
[0028] 图4为JTAG多路选择器与单芯片系统内其他JTAG接口IP核的信号连接图。

具体实施方式

[0029] 需要说明的是,在不冲突的情况下,本发明的实施例及实施例中的特征可以相互组合。
[0030] 本发明的一个实施方式的JTAG多路选择器内部结构如图1所示,JTAG多路选择器内部至少包含一个JTAG状态机模块,一个IR寄存器模块,一个TRST控制器模块,多组IR回读FIFO模块,以及一个TDO路选器。该多路选择器内各模块的输入时钟均为TCK信号,为了示意图的简洁,在图1中略去了TCK信号与各内部模块的连接关系。
[0031] JTAG状态机模块,负责接收来自芯片外部的TMS和TRST信号,按照IEEE1149.1规定的JTAG状态转换图,如图2所示,解析出当前的JTAG传输正处于何种状态,并将当前所处的状态信息,发送给IR寄存器和TRST控制器。
[0032] IR寄存器包含一个K比特的移位器和一个K比特的锁存器,负责接收来自芯片外部的TDI信号。当JTAG传输处于图2所示的SHIFT-IR状态时,TDI输入的IP核编码信息,通过K拍次的移位后,刷新IR锁存器,如图3所示。在图3中,K=3,IR锁存器保留的旧IP核编码为二进制的010,通过TDI输入的新IP核编码为二进制的101。当全部的3比特新IP核编码101,全部移入移位器后,IR锁存器的值被更新成101。进而停止010编码IP核与芯片JTAG端口的数据传输,开启101编码IP核与芯片JTAG端口的数据传输。
[0033] TRST控制器模块负责为每个JTAG接口IP核提供TRST信号。当JTAG传输处于图2所示的SHIFT-IR状态时,TRST控制器读取更新后的IP核编码,并将其他未被选中的IP核的TRST置为有效,使未被选中的IP核进入复位状态。当JTAG结束一组传输,回到图2所示的Run-Test/IDLE状态时,TRST控制器将所有IP核的TRST信号置为无效,使所有JTAG接口IP核同步回到Run-Test/IDLE状态。
[0034] IR回读FIFO模块,负责当JTAG传输处于图2所示的SHIFT-IR状态时,移位缓存各JTAG接口IP核返回的TDO信号。IR回读FIFO的深度为K,与前文所述的IR寄存器的比特数一致。IR回读FIFO的组数与JTAG接口IP核的数量一致。IR回读FIFO的移位方式,与IR寄存器中的K比特移位器一致。
[0035] TDO路选器负责从回读的各路TDO信号,以及各组IR回读FIFO中,筛选出目标TDO,并输出至芯片的TDO端口。筛选规则受到当前JTAG传输状态以及IP核编码的控制。
[0036] 本发明的JTAG多路选择器,在单芯片系统中,与其他JTAG接口IP核的连接方法,如图4所示。芯片端口包括JTAG标准5线端口:JTAG输入时钟TCK,JTAG模式选择输入信号TMS,JTAG输入数据TDI,JTAG输入复位信号TRST,以及JTAG输出数据TDO。芯片内每个JTAG端口IP核,也同样包括上述5个标准端口。
[0037] 从芯片端口输入的TCK时钟信号,在芯片内,以广播的形式,连接到每个JTAG接口IP核的TCK端口,以及JTAG多路选择器的TCK端口。
[0038] 从芯片端口输入的TMS控制信号,在芯片内,以广播的形式,连接到每个JTAG接口IP核的TMS端口,以及JTAG多路选择器的TMS端口。
[0039] 从芯片端口输入的TDI数据信号,在芯片内,以广播的形式,连接到每个JTAG接口IP核的TDI端口,以及JTAG多路选择器的TDI端口。
[0040] 从芯片端口输入的TRST复位信号,在芯片内,直接连接到JTAG多路选择器的TRST输入端口。JTAG多路选择器为芯片内每个JTAG接口IP核,对应一个TRST输出端口。该端口直接与对应的IP核的TRST输入端口相连。
[0041] JTAG多路选择器为芯片内每个JTAG接口IP核,对应一个TDO输入端口。该端口直接与对应的IP核的TDO输出端口相连。芯片的TDO输出端口则直接与JTAG多路选择器的TDO输出端口相连。
[0042] 以上描述了本发明的基本原理、主要特征和实施方案等信息,但是本发明不受上述实施过程的限制,在不脱离发明精神和范围的前提下,本发明还可以有各种变化和改进。因此,除非这种变化和改进脱离了本发明的范围,它们应该被看作包含在本发明中。