具体实施方式
为使本发明的目的、技术方案和优点更加清楚明白,以下结合具体实施例,并参照附图,对本发明作进一步的详细说明。
本发明公开了一种分布式片上系统调试方法及其装置。
图1示出了本发明提出的分布式片上系统调试装置结构示意图。如图1所示,其包括用于调试信息交互的调试系统接口100,用于解析和上传调试数据包的集中调试模块101,多核调试交换网络102,一个全局调试模块111和用于实现调试功能的若干分布式调试模块103。
调试系统接口100为用于接收和发送调试数据包的片上总线高速串行接口,占用管脚少。集中调试模块101只有一个,即可实现将调试数据包解析为多核调试命令,同时将多核调试结果信息数据包上传给调试主机。用一个集中调试模块实现多核调试可以减少功耗降低芯片制造成本。
该集中调试模块101包括一个调试数据包解析模块104和一个调试信息数据包上传模块105。
调试数据包解析模块104接收来自调试系统接口100的串行的调试数据包并解析成并行传输的多核调试命令,再将多核调试命令下行到交换网络102。
调试信息数据包上传模块105将来自分布式或全局调试模块的调试结果信息,通过调试系统接口100上传给调试主机。
交换网络102接收来自调试数据包解析模块104的多核调试命令,将多核调试命令转换成广播、组播或者单播的全局调试命令和单核调试命令分别发送到全局调试模块111和特定的分布式调试模块103。同时将来自各调试模块的单核调试信息汇集成多核调试信息并传送给调试信息数据包上传模块105。交换网络102根据调试数据包中的相应命令选择性地开启全局调试模块,其中,调试数据包中包含用于抉择调试模块的字段编址,当需要对调试过程信息需要进行监控时,调试人员设置该字段以开启全局调试模块。此外,交换网络102提供对多核环境中的多电压多频率域之间的数据同步。交换网络可以应用于调试任意数量核的调试系统。
全局调试模块111用于观测每一个分布式调试模块的调试状态,也可以观测到多个分布式调试模块之间工作的调试情况。该全局调试模块111主要用于监控各个分布式调试模块在调试过程中的事件触发信息和先后次序,并将监控到的调试事件触发信息返回给交换网络102。全局调试模块111在调试中可以开启也可以不开启,其开启与否是由调试主机发送的调试命令决定。全局调试模块111包括调试控制装置112、观测装置113、全局调试观测通道114和全局调试控制通道115。其中,所述调试控制装置112用于通过全局调试控制通道115发送调试命令给每一个分布式调试模块103;观测装置113用于通过全局调试观测通道114整体监控每一个分布式调试模块的调试状态。
所述多个分布式调试模块103中,每一个分布式调试模块都连接一个待调试的目标单核110,且每个分布式调试模块并行运行,实现对多核的并行调试。其中,每个分布式调试模块103包括一个单核调试观测装置106,一个单核调试控制装置107以及若干个探头通道108。
所述单核调试观测装置106通过探头通道108检测对待调试的目标单核110在调试过程中触发的事件并采集相应的数据等调试信息,同时将观测到的调试信息上传给交换网络102;另外,在全局调试模块111被开启的情况下,所述单核调试观测装置106还将中间调试事件触发信息上传给全局调试模块111。
单核调试控制装置107接收来自交换网络102或全局调试模块111的调试控制命令和调试数据,并通过探头通道108发送调试命令给被调试目标单核110。
探头通道108包含若干探头电路109,实现分布式调试模块103和待调试核110之间的调试信息交互。图示中的116~118也是探头通道,本实施例中探头通道108作为地址下行通道连接用于上传地址的探头通道116,探头通道117作为数据下行通道与用于上传数据的探头通道118相连。下行方向的通道发送来自单核调试控制装置107的调试地址和数据到待调试核110,然后上行的探头通道采集待调试核110的调试结果信息并上传给单核调试观测装置106,以回路的方式实现分布式调试模块103和待调试核110之间的调试信息交互。
探头电路109作为直接与待调试核进行信息交互的部件,以串行传输的方式发送调试地址和下行数据信息给待调试核,也同时以串行传输的方式采集待调试核的调试结果数据,并上传给单核调试观测装置106,串行传输很大程度上能够提高信息传输速率。此外探头电路109可以被设计为寄存器读写探头电路、存储器读写探头电路、硬件断点探头电路、观测点探头电路或当前执行程序追踪探头电路等多种类型的探头电路。
下面以双核SOC调试系统为例,并结合图2至图5深入阐述本发明提出的分布式片上系统调试装置中各模块功能及调试过程。如图2所示,该双核SOC调试系统200包括一个调试系统接口201,一个集中调试模块202,一个交换网络203,两个分布调试模块204、205和一个全局调试模块206。
该双核SOC调试系统200与外部的调试主机207进行交互,所述调试主机207具有调试软件,调试软件将调试任务编码成三类调试数据包,分别是调试命令数据包、数据信息数据包和特殊功能数据包。其中调试命令数据包包含调试命令,数据信息数据包为写入的调试数据,特殊功能数据包用于实现空操作的特殊功能。调试主机207将包含调试命令的调试数据包发送到双核SOC系统200。
双核SOC系统中的集中调试模块202通过调试系统接口201接收到调试主机发送的调试数据包以后,对调试数据包进行命令解析,并在调试完成以后,将调试结果信息上传给调试主机207。这种方式既不影响调试效率且可以节约制造成本。另外,利用两个分布式调试模块205分别调试两个待调试核,这样不需要单独调试双核即可实现两个核同时被调试,以此提高调试效率。
所述调试系统接口201是基于JTAG协议的高速串行硬件调试接口,该接口与调试系统外部的调试主机207实现数据串行交互,此处数据串行可以提高数据传输速率。集中调试模块202将接受到的串行调试数据转换为并行数据发送给交换网络203。交换网络203将多核调试命令转换成单播、广播或组播的单核调试命令发送给全局调试模块206和分布式调试模块204、205。
集中调试模块202将调试数据包解析为多核调试命令并返还调试信息数据包给调试主机207。交换网络203根据多核调试命令中调试模块选择字段编址决定是否开启全局调试模块并选择开启某几个分布式调试模块,并将多核调试命令转换为单核调试命令发送给所选取的分布式调试模块,并且可以将所选取的分布式调试模块返回的单核调试信息汇集成多核调试信息数据包上传给集中调试模块202。全局调试模块206被选择启用时,可以控制和监控各分布式调试模块。
图3示出了本发明上述优选实施例中集中调试模块的结构示意图。如图3所示,集中调试模块300包括调试数据包解析模块301和调试信息数据包上传模块302。所述调试数据包解析模块301接收来自调试系统接口的串行调试数据包并解析成并行传输的多核调试命令,再将多核调试命令下行到交换网络。
调试信息数据包上传模块302将来自分布式或全局调试模块的调试结果信息,通过调试系统接口上传给调试主机。
交换网络203将多核调试命令转换成单核调试命令,根据调试命令的选择字段选通数据包下行目的地和数据包上传来源。该优选实施例中由多核调试命令中的选择字段选通全局调试模块和两个分布调试模块。
图4示出了本发明上述优选实施例中全局调试模块的结构图。如图4所示,全局调试模块406包括调试控制装置407、观测装置408、全局观测链路409和全局调试控制链路410。观测装置408通过全局观测链路409观测所有分布式调试模块的调试结果信息,并可以上传观测到的调试信息至交换网络411。调试控制装置407通过全局调试控制链路410发送来自交换网络411的下行调试命令给各分布式调试模块的单核控制装置。全局调试模块406可以发送调试信息给每一个分布式调试模块,也可以整体监控每一个分布式调试模块的调试状态。
图5示出了本发明优选实施例中分布式调试模块的结构示意图。如图5所示,其包括一个单核调试控制装置501、一个单核调试观测装置502和若干个探头通道505~508。其中探头通道505和506为下行传输探头通道,507和508为采集调试信息的上传探头通道。探头通道503和探头通道504作为连接全局调试模块的链路通道,分别负责接收来自全局调试模块的调试任务和上传单核调试结果信息回全局调试模块。
本优选实施例中,双核SOC调试系统的调试过程可以总结为:调试主机207由自身所含有的调试软件将调试任务编码成包含调试命令的调试数据包,并经过调试系统接口201将数据包串行输入到集中调试模块202。之后,集中调试模块202中的调试数据包解析模块301将串行的调试数据包解析为并行传输的多核调试命令并发送给交换网络203。然后,交换网络203将多核调试命令转换成单核调试命令,并根据调试数据包中的特定字段选择全局调试模块或分布式调试模块,将相应的单核调试命令发送给相应的调试模块。之后,分布式调试模块接收到单核调试命令后,由单核控制装置501将单核调试命令中的地址信息和数据信息提取并发送给下行地址探头通道505和下行数据地址探头通道506,探头通道中的探头电路与待调试核交互后并由上传地址探头通道和上传数据探头通道中的探头电路采集调试信息经由两个上行探头通道507,508上传调试结果信息给单核调试观测装置502。最后,多核分布式调试模块中的单核调试观测装置中的调试结果信息在交换网络中汇集成多核调试结果信息上传到集中调试模块300中的调试信息数据包上传模块302,最后通过调试系统接口201将调试结果信息返还给调试主机207,以此实现数据环路传输达到调试目的。此外,全局调试模块406可以观测到每一个分布式调试模块的调试状态,以及多个分布式调试模块之间的先后工作情况。
以上所述的具体实施例,对本发明的目的、技术方案和有益效果进行了进一步详细说明,应理解的是,以上所述仅为本发明的具体实施例而已,并不用于限制本发明,凡在本发明的精神和原则之内,所做的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。