CN1779653A - 片上系统的片上调试器 - Google Patents
片上系统的片上调试器 Download PDFInfo
- Publication number
- CN1779653A CN1779653A CN 200410084598 CN200410084598A CN1779653A CN 1779653 A CN1779653 A CN 1779653A CN 200410084598 CN200410084598 CN 200410084598 CN 200410084598 A CN200410084598 A CN 200410084598A CN 1779653 A CN1779653 A CN 1779653A
- Authority
- CN
- China
- Prior art keywords
- usb
- data
- nuclear
- debugging device
- chip
- 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
Links
Images
Landscapes
- Debugging And Monitoring (AREA)
- Test And Diagnosis Of Digital Computers (AREA)
Abstract
本发明提出一种适用于高速视频图象处理用SoC的片上调试器。这种片上调试器使用USB1.1或USB2.0作为外接端口与调试主机的USB接口相连,可以达到每秒4百兆比特的数据传输速度,满足视频图象处理用SoC的要求。片上调试器的USB电路部分(称为USB核)可以整合到SoC内,也可以放在SoC外。
Description
技术领域
本发明涉及一种片上系统的片上调试器,尤其涉及一种使用USB接口的片上调试器。
背景技术
集成电路芯片可分为4类:1)CPU、2)存储器(Memory)、3)硬化逻辑电路(Hard-wired Logic)和4)模拟电路。过去20年中,这4类芯片不但各自在复杂性和规模上不断发展,并且互相渗透和结合,以致在世纪交替之际出现了所谓的片上系统(SoC:System-On-Chip)。SoC的特征就是单芯片内含有CPU、存储器、硬化逻辑电路和模拟电路这4类电路,具有完整的系统功能。
SoC内都有一个嵌入式CPU,而CPU必须有在它上面运行的软件(由CPU的指令所组成)才能工作,因此CPU上运行的软件的开发和调试是SoC开发和应用的一个不可缺少的环节。为了有效地进行SoC嵌入式CPU的软件的开发和调试,SoC都有一个片上调试器(OCD:On-Chip-Debugger)。OCD可以逐条指令地控制CPU及SoC内其他模块的运行,并把CPU及SoC内其他模块的运行状态(如寄存器和存储器的内容)通过一个外接端口送给SoC外的一个调试主机。OCD也能把调试主机上编译好的软件程序通过此外接端口下载到SoC上。
目前已公开的OCD的现有技术都是通过边界扫描测试标准组织(JTAG:Joint Test Action Group)串行口(serial port)、个人计算机的并行口(parallel port)和以太网(Ethernet)接口这样的外接端口与调试主机相连的。图1显示了根据目前已有技术构成的这样一种片上调试系统。其中调试主机106包括有调试软件107和并行口108。而待调试的SoC单芯片101包括嵌入式CPU、片上调试器(OCD)103以及JTAG端口104。调试主机106和SoC单芯片101通过JTAG-并行口转换装置105相互连接。
图2所示的片上调试系统与图1的技术方案相类似。不同点在于图1中调试主机106中的并行口108用以太网口208替代,而JTAG-并行口转换装置105相应地替换成JTAG-以太网口转换装置205。
与这些现有技术的相关专利和产品包括:
1)美国Advanced Micro Devices,Inc.公司的Parallel and serial debug port on aprocessor(美国专利第6,041,406号)。
2)美国Advanced Micro Devices,Inc.公司的Debug interface including operatingsystem access of a serial/parallel debug port(美国专利第5,978,902号)。
3)美国Macraigor公司的产品Wiggler、Raven、mpDemon。
在采用并行口接口的现有OCD技术中,由于受到并行口的速度限制,使得SoC芯片与调试主机之间的数据传输最高只能达到每秒几兆比特的程度,远远不能适应视频图象处理用SoC芯片的要求(每秒几百兆比特)。采用以太网接口的现有OCD技术其数据传输速度虽然比并行口的速度高一些,但也只能达到每秒几十兆比特的程度,依然不能适应视频图象处理用SoC芯片的要求,而且以太网接口,特别是高速以太网接口的价格很高。
发明内容
针对以上问题,本发明提出了一种用于对片上系统芯片进行调试的片上调试器,包括:片上调试器核,当所述芯片的CPU工作在调试模式下时,所述片上调试器核逐条指令地控制所述CPU的运行,并发送所述CPU以及所述芯片内其他模块的运行状态数据;其中,所述片上调试器还包括:USB核,所述USB核接收所述片上调试器核所发送的所述运行状态数据,并以USB数据形式发送所述运行状态数据;双向fifo(first-in-first-out)缓冲器,所述fifo用来同步所述USB核与所述片上调试器核之间的数据传输;USB物理收发器,所述物理收发器完成从USB外部模拟信号到USB内部数字信号的转换、从USB内部数字信号到USB外部模拟信号的转换,以及USB时钟信号的复原;USB连线,所述USB物理收发器的输入和输出USB模拟信号经由所述USB连线与外部调试主机的USB接口进行连接。
本发明还提出了一种用于含嵌入式CPU和其他电路的芯片设计和调试的调试系统,包括:安装有调试软件和连接端口的调试主机;通过连线与所述调试主机相连接的待调试芯片,其中,所述芯片包括如上所述的片上调试器。
由于采用了数据传输速率更高且低成本的USB端口进行数据传输,因此可以满足视频图象处理用SoC芯片对高速率数据传输的需要,且可以降低调试系统的成本。
附图说明
通过以下结合附图所进行的详细描述,本领域普通技术人员将会更加清楚本发明的特征、目的和优点。其中,所附示图包括:
图1是现有技术中SoC片上调试系统的一种技术方案的示意图;
图2是现有技术中SoC片上调试系统的另一种技术方案的示意图;
图3是根据本发明的SoC片上调试系统的一种技术方案的示意图;
图4显示了根据本发明第一实施例的应用于图3所示片上调试系统的SoC片上调试器;
图5显示了根据本发明第二实施例的应用于图3所示片上调试系统的SoC片上调试器;
图6显示了根据本发明的第三实施例应用于图3所示片上调试系统的SoC片上调试器;
具体实施方式
图3显示了根据本发明构成的片上调试系统的一个实施例。除了用USB主机(USB host)308代替了图1中的并行口108和图2中的以太网口208、用USB核304代替了图1和图2中的JTAG模块之外,其他与图1和图2的技术方案相类似。
整个SoC的片上调试器由5个部分组成:
1.OCD核103;
2.双向fifo(first-in-first-out)缓冲器302
3.USB核304;
4.USB物理收发器303;
5.USB 连线305。
根据SoC的实际需要,USB核可以放在SoC内部,也可以放在SoC外部,USB物理收发器可以放在SoC内部,也可以放在SoC外部,USB核,USB物理收发器与USB连线可以是片上调试器专用的,也可以除了用于片上调试器外,亦有其他用途,如把SoC与其他外围设备连接起来。
实施例1
图4进一步显示了图3中片上调试器的第一实施例构成方块图。
其中,当CPU工作在调试模式下时,OCD核103逐条指令地控制CPU的的运行,并把CPU及SoC内其他模块的运行状态(如寄存器和存储器的内容)传递给USB端点(endpoints)。虽然图中仅显示了两个USB端点402、403,但如同本领域普通技术人员所能够理解的,也可以设置多于两个USB端点,其中至少一个USB端点是输入(IN)端点,至少一个USB端点是输出(OUT)端点。这些USB端点402、USB端点403分别直接与一个单向fifo缓冲器406、407相连,这些缓冲器用于把数据传输于OCD核103与USB部件控制器404(USB devicecontroller)之间并对数据进行缓冲。
USB部件控制器(USB device controller)404按照USB协议的Bulk或Isochronous模式,控制数据的传输。USB部件控制器需严格按照USB规范工作,是一个标准的模块。
USB信息ROM408(Read-Only-Memory即只读存储器)用于存储此USB设备的描述符。设备的描述符记录了USB设备的一些通用信息和端点的配置信息,供USB部件控制器响应主机来的设备请求时提取,然后送给主机,以保证主机能识别此USB设备。设备的描述符包括配置描述符、接口描述符、端点描述符。端点描述符描述的端点配置如下:
端点号 | 传输方式 | 数据包尺寸(Byte) | 用途 |
1 | BULK IN | 4 | 片上调试器向调试主机送数据 |
2 | ISO OUT | 512 | 调试主机向片上调试器送数据 |
表1
USB收发器405(USB transceiver)具有接收和发送两个功能:
1)接收来自外部的USB串行数据信号,对串行信号进行NRZI反编码,然后进行串并转换后,变为8bit的并行信号,送到USB部件控制器404。
2)把从USB部件控制器404来的8bit的并行信号转换成串行信号,再进行NRZI编码后,发送到外部。
它具有一定的驱动能力,能够在USB工作频率下,完成USB数据的接收和发送。片上调试器与调试主机106通过USB连线305被连接起来。所述USB连线305较佳长度为1-3米。当然根据实际应用,也可以采用更长或更短的USB连线305。
在一种实施方式中,以上部件都被集成到SoC内部。
实施例2
图5进一步显示了图3中片上调试器的第二实施例构成方块图。
为简明起见,以下将省略图5中与图4相同部件的描述。与图4所示的第一实施例所不同的是,在OCD核103与USB端点402、403之间,增加了JTAG电路502和JTAG-USB信号形式转换电路503。这里的OCD核103具有与第一实施例相同的功能,但它能够与传统的JTAG接口相连。而JTAG电路502能够按照JTAG协议控制数据的传输。JTAG-USB信号形式转换电路503则能够把JTAG数据形式转换成USB数据形式,或者把USB数据形式转换成JTAG数据形式。
在一种实施方式中,以上的OCD核103与JTAG电路502部分被集成到SoC内部,而其他部分则组成一个独立的单元。
实施例3
图6进一步显示了图3中片上调试器的第三实施例构成方块图。
为简明起见,以下将省略图6中与图4相同部件的描述。与图4所示的第一实施例所不同的是,除了具有与第一实施例相同的功能之外,这里的USB部件控制器404还负责对片上调试器之外的USB端点,如USB端点607,进行控制。而这样的USB端点607通过SoC内部总线610与待调试芯片101中的其他处理部件进行连接,如视频处理器609和音频处理器608。本实施例中,端点描述符描述的端点配置如下:
端点号 | 传输方式 | 数据包尺寸(Byte) | 用途 |
1 | BULK IN | 4 | 片上调试器向调试主机送数据 |
2 | ISO OUT | 512 | 调试主机向片上调试器送数据 |
3 | ISO IN | 512 | 音频处理器向调试主机送数据 |
4 | ISO OUT | 512 | 调试主机向音频处理器送数据 |
5 | ISO IN | 512 | 视频处理器向调试主机送数据 |
6 | ISO OUT | 512 | 调试主机向视频处理器送数据 |
表2
在一种实施方式中,以上部件都集成到SoC内部。在此实施方式中的USB端点不但在片上调试器中起到高速数据通道的作用,而且在此SoC中发挥非调试用高速输入输出的作用,例如把SoC中的所有其他部分(如视频处理器、音频处理器)与SoC外部的各种装置和芯片连接起来。
Claims (8)
1.一种用于对片上系统芯片进行调试的片上调试器,包括:
片上调试器核,当所述芯片的CPU工作在调试模式下时,所述片上调试器核逐条指令地控制所述CPU的运行,并发送所述CPU的运行状态数据;
其特征在于,所述片上调试器还包括:
USB核,所述USB核接收所述片上调试器核所发送的所述运行状态数据,并以USB数据形式发送所述运行状态数据;
双向FIFO缓冲器,所述FIFO缓冲器用来同步所述USB核与所述片上调试器核之间的数据传输;
连接到所述USB核的USB物理收发器,所述USB物理收发器完成从USB外部模拟信号到USB内部数字信号的转换、从USB内部数字信号到USB外部模拟信号的转换,以及USB时钟信号的复原;
USB连线,所述USB物理收发器的输入和输出USB模拟信号经由所述USB连线与外部调试主机的USB接口进行连接。
2.如权利要求1所述的片上调试器,其特征在于,所述USB核进一步包括:
与所述片上调试器核相连的至少两个USB端点,
分别与所述至少两个USB端点连接的至少两个单向fifo缓冲器,所述单向fifo缓冲器用于把数据传输于所述OCD核与所述USB端点之间并对数据进行缓冲;
连接到所有所述USB端点的USB部件控制器,用于按照USB协议的数据传输形式对数据传输进行控制;
连接到所述USB部件控制器的USB收发器,用于在USB工作频率下,完成USB数据的接收和发送;
连接到所述USB部件控制器的USB信息ROM,用于存储USB设备的描述符。
3.如权利要求1所述的片上调试器,其特征在于,所述USB核进一步包括:
与所述片上调试器核相连的JTAG电路,用于按照JTAG协议控制数据的传输;
与所述JTAG电路相连的JTAG-USB信号形式转换电路,用于把JTAG数据形式转换成USB数据形式或者把USB数据形式转换成JTAG数据形式;
与所述JTAG-USB信号形式转换电路相连的至少两个USB端点;
分别与所述至少两个USB端点连接的至少两个单向fifo缓冲器,所述单向fifo缓冲器用于把数据传输于所述OCD核与所述USB端点之间并对数据进行缓冲;
连接到所有所述USB端点的USB部件控制器,用于按照USB协议的数据传输形式对数据传输进行控制;
连接到所述USB部件控制器的USB收发器,用于在USB工作频率下,完成USB数据的接收和发送,
连接到所述USB部件控制器的USB信息ROM,用于存储USB设备的描述符。
4.如权利要求2所述的片上调试器,其特征在于,所述USB部件控制器还对所述USB核外的USB端点进行控制。
5.如权利要求2或3所述的片上调试器,其特征在于,所述USB信息ROM用于存储包括配置描述符、接口描述符、端点描述符在内的USB设备的描述符。
6.如权利要求2-4中任一项所述的片上调试器,其特征在于,所述USB部件控制器按照USB协议的Bulk模式对数据传输进行控制。
7.如权利要求2-4中任一项所述的片上调试器,其特征在于,所述USB部件控制器按照USB协议的Isochronous模式对数据传输进行控制。
8.一种用于含嵌入式CPU和其他电路的芯片设计和调试的调试系统,包括:
安装有调试软件和连接端口的调试主机;
通过连线与所述调试主机相连接的待调试芯片,
其特征在于,所述芯片包括如权利要求1-4中任一项所述的片上调试器。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CNB2004100845983A CN100435110C (zh) | 2004-11-26 | 2004-11-26 | 片上系统的片上调试器 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CNB2004100845983A CN100435110C (zh) | 2004-11-26 | 2004-11-26 | 片上系统的片上调试器 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN1779653A true CN1779653A (zh) | 2006-05-31 |
CN100435110C CN100435110C (zh) | 2008-11-19 |
Family
ID=36769989
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CNB2004100845983A Expired - Fee Related CN100435110C (zh) | 2004-11-26 | 2004-11-26 | 片上系统的片上调试器 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN100435110C (zh) |
Cited By (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102236067A (zh) * | 2010-04-22 | 2011-11-09 | 上海华虹集成电路有限责任公司 | 实现芯片功能故障快速调试定位的方法及其调试电路 |
CN102411535A (zh) * | 2011-08-02 | 2012-04-11 | 上海交通大学 | 导航SoC芯片仿真、验证和调试平台 |
CN103226506A (zh) * | 2013-04-28 | 2013-07-31 | 杭州士兰微电子股份有限公司 | 内嵌于芯片的usb转jtag调试装置及其调试方法 |
CN105550118A (zh) * | 2016-01-27 | 2016-05-04 | 珠海格力电器股份有限公司 | 调试系统和调试方法 |
CN107077409A (zh) * | 2014-10-30 | 2017-08-18 | 高通股份有限公司 | 用于在电子系统中进行多接口调试的嵌入式通用串行总线(usb)调试块(eud) |
Family Cites Families (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
GB0025594D0 (en) * | 2000-10-18 | 2000-12-06 | Sgs Thomson Microelectronics | On-chip emulator communication |
CN1234085C (zh) * | 2003-10-17 | 2005-12-28 | 清华大学 | 基于通用串行总线的多参数数据获取系统 |
-
2004
- 2004-11-26 CN CNB2004100845983A patent/CN100435110C/zh not_active Expired - Fee Related
Cited By (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102236067A (zh) * | 2010-04-22 | 2011-11-09 | 上海华虹集成电路有限责任公司 | 实现芯片功能故障快速调试定位的方法及其调试电路 |
CN102236067B (zh) * | 2010-04-22 | 2015-07-01 | 上海华虹集成电路有限责任公司 | 实现芯片功能故障快速调试定位的方法及其调试电路 |
CN102411535A (zh) * | 2011-08-02 | 2012-04-11 | 上海交通大学 | 导航SoC芯片仿真、验证和调试平台 |
CN102411535B (zh) * | 2011-08-02 | 2014-04-16 | 上海交通大学 | 导航SoC芯片仿真、验证和调试平台 |
CN103226506A (zh) * | 2013-04-28 | 2013-07-31 | 杭州士兰微电子股份有限公司 | 内嵌于芯片的usb转jtag调试装置及其调试方法 |
CN107077409A (zh) * | 2014-10-30 | 2017-08-18 | 高通股份有限公司 | 用于在电子系统中进行多接口调试的嵌入式通用串行总线(usb)调试块(eud) |
CN105550118A (zh) * | 2016-01-27 | 2016-05-04 | 珠海格力电器股份有限公司 | 调试系统和调试方法 |
CN105550118B (zh) * | 2016-01-27 | 2018-01-30 | 珠海格力电器股份有限公司 | 调试系统和调试方法 |
Also Published As
Publication number | Publication date |
---|---|
CN100435110C (zh) | 2008-11-19 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN103885919A (zh) | 一种多dsp和fpga并行处理系统及实现方法 | |
CN107911391A (zh) | 一种基于fpga的axi协议与spi协议转换的方法 | |
CN104915303B (zh) | 基于PXIe总线的高速数字I/O系统 | |
DE112012004451T5 (de) | Mehrfachprotokoll-Serdes-PHY-Vorrichting | |
CN114168520A (zh) | 光纤通信总线装置、设备和系统 | |
CN113849436A (zh) | 一种兼容多种串行协议的can数据转换芯片和方法 | |
CN1779653A (zh) | 片上系统的片上调试器 | |
US20100228901A1 (en) | Input output control apparatus with a plurality of ports and single protocol processing circuit | |
CN111770342B (zh) | 一种视频无级缩放方法 | |
CN101329702A (zh) | 一种满足SystemC语法的多核处理器的先进先出队列单元组 | |
CN100343778C (zh) | 数据传送方法和数据传送桥接器 | |
WO2008133940A2 (en) | Serialization of data in multi-chip bus implementation | |
US10949588B1 (en) | High speed, low hardware footprint waveform | |
CN1707403A (zh) | 输入输出接口控制器 | |
US11811897B2 (en) | Method for data processing of frame receiving of an interconnection protocol and storage device | |
CN110287141A (zh) | 一种基于多种接口的fpga重构方法和系统 | |
Szecówka et al. | USB receiver/transmitter for FPGA implementation | |
CN100462952C (zh) | 接口可配置的通用串行总线控制器 | |
CN1794243A (zh) | 一种数据缓存单元及其实现方法 | |
CN1420415A (zh) | Pci-片上总线连接器 | |
CN101075221A (zh) | 管理分离总线上总线代理之间的数据流的方法和系统 | |
Toledo et al. | A plug and play approach to data acquisition | |
KR100642158B1 (ko) | 슬레이브 그룹 인터페이스 장치와, 슬레이브 그룹 인터페이스 장치를 통해 버스와 주변 장치를 인터페이스하는 방법 및 시스템 | |
KR100591243B1 (ko) | 온-칩 직렬 주변장치 버스 시스템 및 그 운용방법 | |
CN1841270A (zh) | 一种用于智能卡仿真调试系统的接口 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
C14 | Grant of patent or utility model | ||
GR01 | Patent grant | ||
C17 | Cessation of patent right | ||
CF01 | Termination of patent right due to non-payment of annual fee |
Granted publication date: 20081119 Termination date: 20131126 |