一种片上系统芯片及相应的监控方法技术方案

技术编号:10075402 阅读:210 留言:0更新日期:2014-05-24 04:46
本发明专利技术涉及一种片上系统芯片,其包括主设备、从设备、高速总线和监控装置。其中,所述主设备连接所述高速总线的第一端口,所述从设备连接所述高速总线的第二端口,从而使所述主设备具有访问所述从设备的能力。所述监控装置设置在所述高速总线的所述第一端口与所述主设备之间、和/或所述高速总线的所述第二端口与所述从设备之间,用于基于高速总线通讯协议以记录通过所述第一端口和/或所述第二端口的各个命令的状态信息。且当出现有一个命令的状态信息表示所述命令的操作处于超时状态时,则上报中断以定位所述高速总线出现问题的节点。

【技术实现步骤摘要】

本专利技术涉及芯片技术,特别是关于一种片上系统芯片(System On Chip,SOC)及相应的监控方法。
技术介绍
随着芯片集成化趋势的发展,越来越多的芯片需要采用内部高速总线(BUS)来交互数据。随着多核化趋势发展以及芯片集成越来越多的功能,芯片内部的高速总线的复杂度也越来越高。而复杂的总线出现问题的概率也越来越高,对于其调试和定位一直是困扰芯片前端设计、EDA/FPGA/Emulator验证以及芯片软件开发、调试的主要问题。目前,芯片内的高速总线协议一般都是基于多通道处理。例如,ARM(Advanced RISC Machines)公司的AXI(Advanced Extensible Interface)总线具有5个通道,其分为读命令通道(AR)、写命令通道(AW)、写数据通道(W)、读数据返回通道(R)、和写响应返回通道(B)。图1为现有技术中利用高速总线(BUS)连接主设备(Master)和从设备(Slave)的示意图。如图1所示,主设备11和从设备12之间的高速总线13具有5个通道,即读命令通道(Read Address Channel)14、读数据返回通道(Read Data Channel)15、写命令通道(Write Address Channel)16、写数据通道(Write Data Channel)17、和写响应返回通道(Write Resp Channel)18。其中,主设备11定义为命令和写数据的主动发起方和响应返回的接收方,而从设备12定义为命令的接收方和读数据以及响应的发起方。一般地,处理器作为主设备11,其具有主端口而与高速总线13的主端口连接配合,以主动读取数据;而存储器(memory)作为从设备12,其具有从端口而与高速总线13的从端口连接配合,以供主设备11来读取数据并返回响应。图2为图1所示的高速总线中每个通道的时序图。如图2所示,每个通道都采用全握手机制,即当ready脉冲没有到来的时候,vaild脉冲就不会撤销,其也不能发出下一个命令。图3为现有的片上系统芯片SOC(System On Chip)的示意图。如图3所示,片上系统芯片30包括多个主设备(master)31、多个从设备(slave)32、甚至多个高速总线(Bus)33。其中,图3中的表示输出方向的箭头方向表示主设备31的命令输出,而表示输入方向的箭头方向表示从设备32接收命令。每一根箭头方向都对应高速总线的5个通道。如果高速总线的任意节点,例如任意主设备,从设备或者总线的端口中任意一个或者多个通道出现问题,由于高速总线33互联将所有的主设备31和所有从设备32连接在一起,因此所有的主设备31都可以访问所有的从设备32,如果任意节点出现问题,则其会导致出现问题的节点扩展开。也就是说,只要有操作经过出现问题的节点,则该操作就无法完成。因此,只要一个节点出现问题,其就可能影响到整个系统,使整个片上系统芯片出现死锁状态。当出现死锁状态时,则所有的任务都停止执行。而随着片上系统芯片的规模越来越大,总线互联越来越复杂的情况下,上述问题更加突出。此外,高速总线一般都可以一次性发出多个未完成的命令,而且支持命令乱序返回,因此其也进一步增加了定位出现问题的节点的难度。目前业界已经开发出高速总线监控技术以解决上述问题。目前已知的总线监控技术其主要原理在于选择记录高速总线节点的所有行为,然后通过组包、压缩后形成数据流,送入片上系统芯片内部的缓存中进行存储,或者通过片上系统芯片的端口送到片外的存储模块以进行存储。该功能业界一般称为追踪(Trace)方法,类似于示波器做信号采样存储,然后事后恢复出来以供调试人员分析。业界大的芯片公司,一般都采用自行开发总线调试的系统,包括工具链等。但是随着ARM芯片公司的产品的使用越来越广泛,ARM芯片公司定义的Coresight调试组件和系统中逐渐被很多公司使用。ARM芯片公司最近也开发出了对于其最高速的AXI高速总线的调试组件。图4为现有技术中采用ARM芯片公司的总线调试技术的片上系统芯片的示意图。如图4所示,片上系统芯片40包括ARM处理器核心(ARM core)41、存储器内容直接搬移模块(Direct Memory Access,DMA)42、数字信号处理器核心(DSP core)43、双通道同步动态随机存储控制器(DDR controller)44、内部静态随机存储器(Internal SRAM)45、和其他外围设备(Other Peripheral)46。其中,ARM处理器核心41、存储器内容直接搬移模块42、数字信号处理器核心43作为主设备(Master),而双通道同步静态随机存储控制器44、内部静态随机存储器45和其他的外围设备46作为从设备(slave)。主设备和从设备之间通过AXI高速总线47而连接。此外,AXI高速总线47与主设备和从设备进行连接的端口可以设置总线追踪(BusTrace)装置48,以记录经过该端口的各个命令。其中,总线追踪装置48可以根据实际需要设置在AXI高速总线47的一些端口上,以与主设备或者从设备连接。在此处,与ARM处理器核心41、存储器内容直接搬移模块42、数字信号处理器核心43、双通道同步静态随机存储控制器44、内部静态随机存储器45连接的AXI高速总线47的端口处设置了总线追踪装置48。在片上系统芯片工作过程中,总线追踪装置48作为调试组件,其记录通过AXI高速总线47的对应端口的命令发出、返回响应等等事件,并将事件内容组成一个格式的帧,并且合并入每个总线追踪装置48分配的唯一的ID以作为标识。然后,记录的内容通过调试总线49输出。其中调试总线49可以是ARM公司定义的ATB调试总线,其独立于AXI高速总线47。然后通过ATB调试总线49,AXI高速总线47的各个端口的相关信息最后被存储在片上系统芯片40中的缓冲器(buffer)中,或者存储到片外的DDR存储器中,或者通过高速端口(High Speed I/O)输出至片外。测试人员可以通过ARM所提供的工具链,读取片上系统芯片中的缓冲器或者片外的DDR存储器,以读取其存储的内容,通过解析各个总线追踪装置48的ID以及帧格式,从而在还原对应的总线追踪装置48在一段时间内所记录的AXI总线47的对应端口的相关信息。上述ARM公司的总线调试技术,在原理上不能支持定时定位问题,而是属于事后的被动系统。在片上系统芯片运行中出现本文档来自技高网...
一种<a href="http://www.xjishu.com/zhuanli/55/201210457400.html" title="一种片上系统芯片及相应的监控方法原文来自X技术">片上系统芯片及相应的监控方法</a>

【技术保护点】

【技术特征摘要】
1.一种片上系统芯片,其特征在于,其包括:主设备、从设备、高速
总线、及监控装置;
所述主设备连接所述高速总线的第一端口,所述从设备连接所述高速总
线的第二端口,从而使所述主设备具有访问所述从设备的能力;
所述监控装置设置在所述高速总线的所述第一端口与所述主设备之间、
和/或所述高速总线的所述第二端口与所述从设备之间,用于基于高速总线
通讯协议以记录通过所述第一端口和/或所述第二端口的各个命令的状态信
息,且当出现有一个命令的状态信息表示所述命令的操作处于超时状态时,
则上报中断以定位所述高速总线出现问题的节点。
2.如权利要求1所述的片上系统芯片,其特征在于,在所述监控装置
在上报中断以定位所述高速总线出现问题的节点的步骤之后,所述节点处的
所述监控装置代替对应的所述主设备或所述从设备以虚拟方式完成处于超
时状态的所述命令,并对对应的所述主设备或者所述从设备执行复位操作。
3.如权利要求2所述的片上系统芯片,其特征在于,所述监控装置包
括:
读缓冲模块,其包括至少一个读缓冲器,用于记录分配至所述读缓冲器
的读命令的状态信息;
写缓冲模块,其包括至少一个写缓冲器,用于记录分配至所述写缓冲器
的写命令的状态信息;
控制模块,分别连接所述读缓冲模块和所述写缓冲模块以控制所述读缓
冲模块中的所述读缓冲器和/或所述写缓冲模块中的所述写缓冲器以虚拟方
式完成所述主设备或者所述从设备的未完成的读命令或者写命令;
重置模块,分别连接所述读缓冲模块和所述写缓冲模块以重置所述读缓
冲模块中的所述读缓冲器和/或所述写缓冲模块中的所述写缓冲器。
其中,在所述读缓冲模块中的所述读缓冲器和/或所述写缓冲模块中的
所述写缓冲器中,每一个缓冲器分别记录分配到所述缓冲器中的命令的状
态、身份序号、未处理完的数据量和操作顺序。
4.如权利要求3所述的片上系统芯片,其特征在于,所述读缓冲模块
中的所述读缓冲器的数量和所述写缓冲模块中的所述写缓冲器的数量,分别
与所述第一端口和所述第二端口各自支持的最大的未完结命令的数目相等,
且所述第一端口支持的最大的未完结命令的数目和所述第二端口支持的最
大的未完结命令的数目相同。
5.如权利要求4所述的片上系统芯片,其特征在于,所述监控装置的
输入包括第一端口信息/第二端口信息,而所述监控装置的输出包括其内的
各个缓冲器中分配的各个命令的状态信息和上报中断。
6.如权利要求5所述的片上系统芯片,其特征在于,所述第一端口信
息/第二端口信息包括读/写命令、读/写数据、写响应或者读响应。
7.如权利要求5所述的片上系统芯片,其特征在于,所述各个缓冲器
分配的各个命令的状态信息包括读/写超时中断、读/写命令超时状态、读/
写缓冲器状态、读/写命令状态、读/写命令顺序、读/写命令身份序号信息、
读/写命令地址信息、复位主设备/从设备时模拟主设备/从设备生成的信号、
读/写命令延时。
8.如权利要求5所述的片上系统芯片,其特征在于,所述监控装置分
配各个命令至其内的各个缓冲器以使各个缓冲器分别记录分配的命令的状
态信息,其中,属于不同身份序号的命令分别分配给不同的缓冲器;而属于
同一身份序号的不同命令分配给不同的缓冲器时,进一步按照顺序分配对应
的操作顺序,以标识同一身份序号的不同命令的...

【专利技术属性】
技术研发人员:牟澄磊韩奇
申请(专利权)人:华为技术有限公司
类型:发明
国别省市:

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

1