CN115017038A - 一种兼容apb协议的jtag调试系统 - Google Patents
一种兼容apb协议的jtag调试系统 Download PDFInfo
- Publication number
- CN115017038A CN115017038A CN202210581523.4A CN202210581523A CN115017038A CN 115017038 A CN115017038 A CN 115017038A CN 202210581523 A CN202210581523 A CN 202210581523A CN 115017038 A CN115017038 A CN 115017038A
- Authority
- CN
- China
- Prior art keywords
- apb
- data
- jtag
- serial
- register
- 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.)
- Pending
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/36—Preventing errors by testing or debugging software
- G06F11/362—Software debugging
- G06F11/3648—Software debugging using additional hardware
- G06F11/3656—Software debugging using additional hardware using a specific debug interface
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F13/00—Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
- G06F13/38—Information transfer, e.g. on bus
- G06F13/42—Bus transfer protocol, e.g. handshake; Synchronisation
- G06F13/4282—Bus transfer protocol, e.g. handshake; Synchronisation on a serial bus, e.g. I2C bus, SPI bus
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F15/00—Digital computers in general; Data processing equipment in general
- G06F15/76—Architectures of general purpose stored program computers
- G06F15/78—Architectures of general purpose stored program computers comprising a single central processing unit
- G06F15/7807—System on chip, i.e. computer system on a single chip; System in package, i.e. computer system on one or more chips in a single package
-
- Y—GENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
- Y02—TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
- Y02D—CLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
- Y02D10/00—Energy efficient computing, e.g. low power processors, power management or thermal management
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Computer Hardware Design (AREA)
- General Engineering & Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Computing Systems (AREA)
- Microelectronics & Electronic Packaging (AREA)
- Quality & Reliability (AREA)
- Tests Of Electronic Circuits (AREA)
Abstract
本发明公开一种兼容APB协议的JTAG调试系统,属于嵌入式处理器领域,包括一侧设置对外的JTAG标准接口,另一侧设置的APB标准接口,所述JTAG标准接口到所述APB标准接口之间的信号转换是通过一个串并转换模块实现;所述串并转换模块利用JTAG协议自定义TAP控制器的指令,通过扩展指令实现与APB协议的对接,通过对数据寄存器的内容进行解析,将上位机发出的高速串行调试命令映射到芯片内部的通信通道上,以此向芯片全系统发出访问命令,然后将该JTAG调试系统运行的关键状态信息重新转换成串行数据返回上位机。本发明速度更高、稳定性更好,且复用了标准DFT的JTAG接口,节省了芯片的管脚资源,构建了标准的JTAG接口和片上AMBA总线的转换通道,具有较高的实用价值和通用性。
Description
技术领域
本发明涉及嵌入式处理器技术领域,特别涉及一种兼容APB协议的JTAG调试系统。
背景技术
随着集成电路的迅猛发展,单芯片晶体管集成度迅速提高,这其中,以IP(Intellectual Protocol)复用为驱动的SoC设计方法学使得单芯片的功能组件日趋丰富和复杂。然而,随着众多高速、复杂存储控制、通信协议节点控制以及数模混合IP的融入,全芯片的功能调试问题己经成为高密度芯片集成设计中日益严峻的问题。如何快速、高效的追溯故障现象,并为分析故障原因提供依据成为可调试设计的一项重要设计任务。
传统的硬件调试手段是通过RS232协议,利用UART串口完成串行调试命令到芯片内部的并行总线的格式转换。这些结构的优势在于串口的设计简单,易于集成且不需要专用的下载器。但是,由于它是异步通信,数据传输速度非常低,且容易受到干扰造成传输异常,已经逐渐不满足目前高密度集成芯片的调试需求。
JTAG(Joint TestAction Group)是一种国际通用的标准测试协议,目前大多数芯片或IP模块都采用基于IEEE1149.1标准的JTAG接口作为调试接口。JTAG测试协议的主要硬件组成包括:具有4个引脚的测试接口:TMS、TCK、TDI以及TDO,分别为模式选择、时钟、数据输入和数据输出信号线;一组边界扫描寄存器,指令寄存器(Instruction Register,IR)和数据寄存器(Data Register,DR);一个TAP控制器。该协议为串行协议,传输速度最高可达10MHz,比现有工业最快的UART传输速度提高近86倍,并且抗干扰能力较强。同时,相对于其它高速通信协议标准,如以太网、USB、CAN等,它又是芯片的标准接口,因此基于JTAG的调试方案则符合当今芯片的调试需求。
当今SoC是以标准总线为依托,实现基于总线接口的IP复用的集成设计。ARM公司为此提出的AMBA总线,以其流水化的设计思想、层次化的拓扑结构、以及易于扩展的特点,已经成为事实上的片上总线标准。因此,构造一种低开销且易于操作的JTAG与APB(Advanced Peripheral Bus)的协议转换链路,能够直接将外部的调试命令转换到芯片内部的数据交互通路上,能够形成对片上资源的直接观测,对于芯片的硬件调试能力而言,将具有非常大的应用价值。
发明内容
本发明的目的在于提供一种兼容APB协议的JTAG调试系统,以解决标准JTAG协议与芯片内互连总线APB之间的通信转换,可以提高数据交互过程中承载的有效信息量,缩短整个调试过程的耗费时间。
为解决上述技术问题,本发明提供了一种兼容APB协议的JTAG调试系统,包括一侧设置对外的JTAG标准接口,另一侧设置的APB标准接口,所述JTAG标准接口到所述APB标准接口之间的信号转换是通过一个串并转换模块实现;
所述串并转换模块利用JTAG协议自定义TAP控制器的指令,通过扩展指令实现与APB协议的对接,通过对数据寄存器的内容进行解析,将上位机发出的高速串行调试命令映射到芯片内部的通信通道上,以此向芯片全系统发出访问命令,然后将该JTAG调试系统运行的关键状态信息重新转换成串行数据返回上位机。
在一种实施方式中,所述TAP控制器用于完成对用户自定义调试指令的发送,调试指令选中对应的数据寄存器,串并转换模块对数据寄存器的内容进行解析生成包括地址和控制信号的标准APB信号,完成APB总线访问的发起并接收应答数据反馈信号。
在一种实施方式中,所述JTAG标准接口包括TCK接口、TMS接口、TDI接口和TDO接口,所述TAP控制器与所述串并转换模块连接的一侧包括控制信号和数据信号,所述控制信号由串并转换模块对数据寄存器的数据进行解析获得,所述数据信号则由内核CORE返回至所述串并转换模块,并通过所述TAP控制器返回至上位机。
在一种实施方式中,所述TAP控制器内部的控制流为具有16个状态的状态机控制,由TCK驱动;数据流包括指令寄存器和数据寄存器,由TDI驱动;所述数据寄存器包括IDCODE寄存器、BYPASS寄存器以及2个用户自定义寄存器;两个所述用户自定义寄存器为APBREQ寄存器和APBRSP寄存器;APBREQ寄存器用于发送地址和控制信号,APBRSP寄存器用于接收内核CORE的数据。
在一种实施方式中,所述APBREQ寄存器包括42位,其中最高位用于区分读写内核/核外内存、次最高位用于区分APB读/写标志、剩下的40位为APB访问地址;所述APBRSP寄存器共为64位,用于存放要读写的数据。
在一种实施方式中,所述串并转换模块包括状态机,所述状态机用于完成对串并转换过程的时序控制、完成转换后并行数据信息的解析以及与主机接口的请求应答;一方面将写数据并行信号整体送入APB标准接口,另一方面也接收来自内核CORE的并行读数据;最后通过移位将读数据送至输出TDO接口。
在一种实施方式中,所述APB标准接口用于将所述串并转换模块解析出的地址、写数据和控制标识组织成对应的APB信号,包括PADDR、PSELx、PENABLE、PWRITE、PWDATA、PRDATA和PREADY信号;同时将APB标准接口的传输应答信号和读数据再返还至所述串并转换模块;所述串并转换模块完成访问地址和写数据的转换后,发起APB总线请求,即将地址、控制信号和写数据释放到APB标准接口相应的地址总线和写数据总线通道上;当APB标准接口完成总线传输后,APB标准接口锁存读数据,然后将其更新到串并转换模块的数据寄存器中。
在本发明提供的兼容APB协议的JTAG调试系统中,包括一侧设置对外的JTAG标准接口,另一侧设置的APB标准接口,所述JTAG标准接口到所述APB标准接口之间的信号转换是通过一个串并转换模块实现;所述串并转换模块利用JTAG协议自定义TAP控制器的指令,通过扩展指令实现与APB协议的对接,通过对数据寄存器的内容进行解析,将上位机发出的高速串行调试命令映射到芯片内部的通信通道上,以此向芯片全系统发出访问命令,然后将该JTAG调试系统运行的关键状态信息重新转换成串行数据返回上位机。本发明利用IEEE1149.1允许用户自定义添加指令和数据寄存器的特点,而内部设计一个串并转换模块,将完成JTAG串行数据到并行地址和并行数据的转换,再通过APB总线完成对内核以及核外内存的访问。对芯片通用的JTAG接口进行设计改造,使调试的速度能够达到10MHz,并且稳定性明显提升,不依赖于待测芯片,具有良好的普适性和稳定性,具备较高的应用价值;本发明的对外接口是业界最广泛应用的JTAG,对内则是SoC最主流的AMBA片上互连总线,因此该硬件调试链路具有极强的可移植性和较高的应用价值,可以覆盖现今大多数的ASIC设计。
附图说明
图1是本发明提供的一种兼容APB协议的JTAG调试系统整体结构示意图;
图2是本发明的JTAG整体结构示意图;
图3是本发明的TAP状态机的16个状态示意图。
具体实施方式
以下结合附图和具体实施例对本发明提出的一种兼容APB协议的JTAG调试系统作进一步详细说明。根据下面说明和权利要求书,本发明的优点和特征将更清楚。需说明的是,附图均采用非常简化的形式且均使用非精准的比例,仅用以方便、明晰地辅助说明本发明实施例的目的。
请参阅图1,本发明公开了一种兼容APB协议的JTAG调试系统,主要通过串并转换模块将JTAG信息进行解析生成标准的APB信号,从而访问内核信息和片外内存信息。本发明的兼容APB协议的JTAG调试系统包括一侧设置有对外的JTAG标准接口,另一侧设置的APB标准接口,因此,可以将其作为一种通用的IP,集成于现今较多SoC芯片设计中。所述串并转换模块利用JTAG协议自定义TAP控制器的指令,通过扩展指令实现与APB协议的对接,通过对数据寄存器的内容进行解析,将上位机发出的高速串行调试命令映射到芯片内部的通信通道上,以此向芯片全系统发出访问命令,然后将该JTAG调试系统运行的关键状态信息重新转换成串行数据返回上位机。
如图2所示,所述TAP控制器用于完成向指令寄存器和数据寄存器的串行数据输入。所述TAP控制器与外部的上位机进行通信的一侧是JTAG标准信号,包括TCK接口、TMS接口、TDI接口和TDO接口。其中,TCK为所述TAP控制器提供一个独立的、基本的时钟信号,所述TAP控制器的所有操作都是通过该时钟信号驱动;TMS用来控制TAP控制器的转换,上升沿有效;TDI是测试数据输入信号;TDO是测试数据输出信号。
请参阅图3所示,所述TAP控制器内部的控制流是由一个具有16个状态的状态机控制,而数据流则分为两个部分:指令寄存器和数据寄存器。相对于控制流的强制规定,数据流则允许用户进行自定义扩展。具体操作如下:系统上电,TAP控制器进入Test-Logic-Reset状态,然后依次进入:Run-Test-Idle→Select-DR-Scan→Select-IR-Scan→Capture-IR→Shift-IR→Exit1-IR→Update-IR,最后返回到Run-Test-Idle状态。在Capture-IR状态下,一个特定5位的逻辑序列被加载到指令寄存器中(末尾两位必须为“01”);然后进入到Shift-IR状态,在Shift-IR状态下,通过TCK的驱动,可以将一条特定的指令送到指令寄存器当中去。每条指令都将确定一条相关的数据寄存器。然后从Shift-IR→Exitl-IR→Update-IR。在Update-IR状态,刚才输入到指令寄存器中的指令将用来更新指令寄存器。最后,进入到Run-Test-Idle状态,指令生效,完成对指令寄存器的访问。
当前可以访问的数据寄存器由指令寄存器中的值决定。要访问由刚才的指令选定的数据寄存器,需要以Run-Test-Idle为起点,依次进入Select-DR-Scan→Capture-DR→Shift-DR→Exit1-DR→Update-DR,最后回到Run-Test/Idle状态。在这个过程当中,被当前指令选定的APBREQ寄存器会被连接在TDI和TDO之间。通过TDI和TDO,就可以将新的数据加载到数据寄存器当中去;同时,也可以捕获数据寄存器中的数据。具体过程如下:TAP控制器经过状态转换进入到Shift-DR状态中去;在Shift-DR状态中,由TCK驱动,在每一个时钟周期的上升沿内,一位新的数据可以通过TDI串行输入到数据寄存器当中去;同时,在每一个时钟周期的下降沿,数据寄存器可以通过TDO串行输出一位数据寄存器的初始数据。在经过42个时钟周期后,就可以完成新信号的输入和初始数据的输出。接下来通过Exitl-DR状态进入到Update-DR状态。在Update-DR状态中,串行数据被转化成并行数据,然后送到JTAG2APB模块,将APBREQ寄存器中的数据解析成APB信号。最后,回到Run-Test-Idle状态,完成对数据寄存器的访问。
内核CORE解析42位的数据,根据最高位判定读写内核/核外内存、次最高位判定APB读/写、剩下的40位为APB访问地址(假设为读内核);然后将返回的64位数据存放在APBRSP寄存器中;最后上位机再次发送另外一条指令,通过TAP控制器将APBRSP寄存器中的数据通过TDO返回至上位机。
上述描述仅是对本发明较佳实施例的描述,并非对本发明范围的任何限定,本发明领域的普通技术人员根据上述揭示内容做的任何变更、修饰,均属于权利要求书的保护范围。
Claims (7)
1.一种兼容APB协议的JTAG调试系统,其特征在于,包括一侧设置对外的JTAG标准接口,另一侧设置的APB标准接口,所述JTAG标准接口到所述APB标准接口之间的信号转换是通过一个串并转换模块实现;
所述串并转换模块利用JTAG协议自定义TAP控制器的指令,通过扩展指令实现与APB协议的对接,通过对数据寄存器的内容进行解析,将上位机发出的高速串行调试命令映射到芯片内部的通信通道上,以此向芯片全系统发出访问命令,然后将该JTAG调试系统运行的关键状态信息重新转换成串行数据返回上位机。
2.如权利要求1所述的兼容APB协议的JTAG调试系统,其特征在于,所述TAP控制器用于完成对用户自定义调试指令的发送,调试指令选中对应的数据寄存器,串并转换模块对数据寄存器的内容进行解析生成包括地址和控制信号的标准APB信号,完成APB总线访问的发起并接收应答数据反馈信号。
3.如权利要求2所述的兼容APB协议的JTAG调试系统,其特征在于,所述JTAG标准接口包括TCK接口、TMS接口、TDI接口和TDO接口,所述TAP控制器与所述串并转换模块连接的一侧包括控制信号和数据信号,所述控制信号由串并转换模块对数据寄存器的数据进行解析获得,所述数据信号则由内核CORE返回至所述串并转换模块,并通过所述TAP控制器返回至上位机。
4.如权利要求3所述的兼容APB协议的JTAG调试系统,其特征在于,所述TAP控制器内部的控制流为具有16个状态的状态机控制,由TCK驱动;数据流包括指令寄存器和数据寄存器,由TDI驱动;所述数据寄存器包括IDCODE寄存器、BYPASS寄存器以及2个用户自定义寄存器;两个所述用户自定义寄存器为APBREQ寄存器和APBRSP寄存器;APBREQ寄存器用于发送地址和控制信号,APBRSP寄存器用于接收内核CORE的数据。
5.如权利要求4所述的兼容APB协议的JTAG调试系统,其特征在于,所述APBREQ寄存器包括42位,其中最高位用于区分读写内核/核外内存、次最高位用于区分APB读/写标志、剩下的40位为APB访问地址;所述APBRSP寄存器共为64位,用于存放要读写的数据。
6.如权利要求5所述的兼容APB协议的JTAG调试系统,其特征在于,所述串并转换模块包括状态机,所述状态机用于完成对串并转换过程的时序控制、完成转换后并行数据信息的解析以及与主机接口的请求应答;一方面将写数据并行信号整体送入APB标准接口,另一方面也接收来自内核CORE的并行读数据;最后通过移位将读数据送至输出TDO接口。
7.如权利要求6所述的兼容APB协议的JTAG调试系统,其特征在于,所述APB标准接口用于将所述串并转换模块解析出的地址、写数据和控制标识组织成对应的APB信号,包括PADDR、PSELx、PENABLE、PWRITE、PWDATA、PRDATA和PREADY信号;同时将APB标准接口的传输应答信号和读数据再返还至所述串并转换模块;所述串并转换模块完成访问地址和写数据的转换后,发起APB总线请求,即将地址、控制信号和写数据释放到APB标准接口相应的地址总线和写数据总线通道上;当APB标准接口完成总线传输后,APB标准接口锁存读数据,然后将其更新到串并转换模块的数据寄存器中。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202210581523.4A CN115017038A (zh) | 2022-05-26 | 2022-05-26 | 一种兼容apb协议的jtag调试系统 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202210581523.4A CN115017038A (zh) | 2022-05-26 | 2022-05-26 | 一种兼容apb协议的jtag调试系统 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN115017038A true CN115017038A (zh) | 2022-09-06 |
Family
ID=83071051
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202210581523.4A Pending CN115017038A (zh) | 2022-05-26 | 2022-05-26 | 一种兼容apb协议的jtag调试系统 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN115017038A (zh) |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN116860677A (zh) * | 2023-07-05 | 2023-10-10 | 无锡摩芯半导体有限公司 | 一种高效实时的串行测试通讯接口装置 |
CN117573588A (zh) * | 2023-12-04 | 2024-02-20 | 上海合芯数字科技有限公司 | 并行apb协议转串行scom协议的装置、方法及芯片 |
-
2022
- 2022-05-26 CN CN202210581523.4A patent/CN115017038A/zh active Pending
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN116860677A (zh) * | 2023-07-05 | 2023-10-10 | 无锡摩芯半导体有限公司 | 一种高效实时的串行测试通讯接口装置 |
CN117573588A (zh) * | 2023-12-04 | 2024-02-20 | 上海合芯数字科技有限公司 | 并行apb协议转串行scom协议的装置、方法及芯片 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN107577635B (zh) | 一种兼容ahb协议的非握手式jtag调试链路及其调试方法 | |
US20230296670A1 (en) | Device access port selection | |
US5983379A (en) | Test access port controller and a method of effecting communication using the same | |
CN115017038A (zh) | 一种兼容apb协议的jtag调试系统 | |
US6088822A (en) | Integrated circuit with tap controller | |
US11579193B2 (en) | Shadow access port integrated circuit | |
US11585852B2 (en) | At-speed test access port operations | |
KR20130132625A (ko) | Ip 블럭의 회로 테스팅을 위한 기능적 패브릭 기반 테스트 래퍼 | |
US6389557B1 (en) | Freezing mechanism for debugging | |
EP0840235B1 (en) | Message protocol | |
CN1622052A (zh) | 嵌入式信号处理器模拟器 | |
CN100370269C (zh) | 一种边界扫描测试控制器及边界扫描测试方法 | |
Clark | iMajik: Making 1149.1 TAPs disappear and reappear in SoCs and 3D packages | |
US20230376229A1 (en) | Fast and flexible ram reader and writer | |
CN117573457A (zh) | 基于jtag验证数字电路的方法、fpga、设备及存储介质 | |
Zhao et al. | Research on testing of a microsystem based on SiP | |
Gleichner et al. | Test of automotive embedded processors with high diagnostic resolution | |
CN116414682A (zh) | 程序的测试方法、装置、电子设备及存储介质 | |
CN117290212A (zh) | 基于risc-v架构调试系统 | |
Stollon et al. | JTAG Use in Debug | |
Riley et al. | Cell BE SOC Debug Features | |
CN101178696A (zh) | 基于jtag的数据传输方法,应用该方法的芯片及其测试板 |
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 |