CN116627877A - 一种片上总线状态记录系统和记录方法 - Google Patents

一种片上总线状态记录系统和记录方法 Download PDF

Info

Publication number
CN116627877A
CN116627877A CN202310898556.6A CN202310898556A CN116627877A CN 116627877 A CN116627877 A CN 116627877A CN 202310898556 A CN202310898556 A CN 202310898556A CN 116627877 A CN116627877 A CN 116627877A
Authority
CN
China
Prior art keywords
bus
transaction
state
bus state
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
Application number
CN202310898556.6A
Other languages
English (en)
Other versions
CN116627877B (zh
Inventor
阮航
高齐
程振洪
张祥
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Wuhan Lingjiu Microelectronics Co ltd
Original Assignee
Wuhan Lingjiu Microelectronics Co ltd
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Wuhan Lingjiu Microelectronics Co ltd filed Critical Wuhan Lingjiu Microelectronics Co ltd
Priority to CN202310898556.6A priority Critical patent/CN116627877B/zh
Publication of CN116627877A publication Critical patent/CN116627877A/zh
Application granted granted Critical
Publication of CN116627877B publication Critical patent/CN116627877B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F13/00Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
    • G06F13/38Information transfer, e.g. on bus
    • G06F13/40Bus structure
    • G06F13/4063Device-to-bus coupling
    • G06F13/4068Electrical coupling
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F13/00Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
    • G06F13/14Handling requests for interconnection or transfer
    • G06F13/16Handling requests for interconnection or transfer for access to memory bus
    • G06F13/1668Details of memory controller
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F15/00Digital computers in general; Data processing equipment in general
    • G06F15/76Architectures of general purpose stored program computers
    • G06F15/78Architectures of general purpose stored program computers comprising a single central processing unit
    • G06F15/7839Architectures of general purpose stored program computers comprising a single central processing unit with memory
    • YGENERAL 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
    • Y02TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
    • Y02DCLIMATE 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/00Energy efficient computing, e.g. low power processors, power management or thermal management

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • General Engineering & Computer Science (AREA)
  • Computer Hardware Design (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Debugging And Monitoring (AREA)

Abstract

本发明提供一种片上总线状态记录系统和记录方法,在传统总线结构的基础上,增加总线状态记录模块,总线状态记录模块与其它从设备模块一样,与片上总线有一组数据通路连接,所有主设备可以访问总线状态记录模块内部寄存器、存储单元的数据信息,片上总线的各类控制信号作为总线状态记录模块的输入,将片上总线的每次传输交易控制信息发送给总线状态记录模块,通过总线状态记录模块可实时记录总线运行状态信息,并在总线挂死后能保存相关信息,便于对芯片总线故障进行精确定位。

Description

一种片上总线状态记录系统和记录方法
技术领域
本发明涉及集成电路逻辑设计领域,更具体地,涉及一种片上总线状态记录系统和记录方法。
背景技术
在现代集成电路,片上总线连接芯片内部的各个模块,是各模块之间信息交流的必须途径。随着SOC(System on Chip,片上系统)系统设计日益复杂,处理器和各功能模块IP核(Intellectual Property core,知识产权核)的数量和规模大量增加,内部总线设计也变得越来越困难。现有的片上总线,无论是环形结构、mesh网状结构、星型结构,其内部各通路和节点都有主设备到从设备的数据交互。在芯片不同的应用场景下,片上总线实时状态(节点延迟,拥塞等)直接影响着整个系统的性能。极端的复杂场景下,片上总线可能会因为多设备访问带来的局部拥塞而挂死。
一般的,片上总线可设计监控模块,对总线运行状态实时监控并通过中断等形式记录和上报;或由独立的外挂总线导出故障信息并分析。极端情况下,如果遇到总线突发性故障时,整个系统因总线失效而挂死,相应日志来不及上传,具体的故障原因将变得难以排查。
芯片一旦流片,其片上总线在运行中的状态就变得不容易获取,特别是在系统或总线因某种原因出现故障甚至挂死时,对其故障点的分析不能像仿真或FPGA(FiledProgrammable Gate Array,现场可编程逻辑门阵列)原型验证这样直观。现有的片上总线状态采集与故障定位方法,基于硬件或软件判断总线故障后上报的机制,无法实现在系统挂死后对总线的故障分析。
发明内容
本发明针对现有技术中存在的技术问题,提供一种片上总线状态记录系统和记录方法。
根据本发明的第一方面,提供了一种片上总线状态记录系统,包括多个主设备模块、多个从设备模块和总线状态记录模块,多个所述主设备模块通过数据访问通路和片上总线连接多个所述从设备,所述总线状态记录模块与片上总线通过数据访问通路连接;
所述总线状态记录模块,用于获取每一次片上总线发起的交易信息,判断每一次交易是否正常传输,并生成本次交易信息状态数据包;以及基于寄存器写指针实现每一次交易信息状态数据包的存储;
所述总线状态记录模块与片上总线通过数据访问通路连接,所述总线状态记录模块包括总线状态译码单元、存储控制单元、存储控制指针寄存器和多个总线状态存储单元;
所述总线状态译码单元,用于当片上总线发起交易时,获取本次总线交易信息,判断本次交易是否正常传输,若是,捕获总线的正常交易信息,生成本次交易信息状态数据包;若不是,总线出现挂死,捕获总线挂死超时信息,生成本次交易信息状态数据包;
所述存储控制单元,用于将存储控制指针p的值写入所述存储控制指针寄存器P,将交易正常的本次交易信息数据包写入总线状态存储单元Lp;存储控制指针p加1,执行下一次总线交易,直到p等于总线状态存储单元的数量n,将存储控制指针置0,其中,n、p为正整数;
所述主设备,用于当系统片上总线出现挂死时,主设备通过片上总线数据通路访问并控制总线状态存储单元和存储控制指针寄存器的数据p;
读取寄存器p中的值a,确定引起总线挂死的交易信息存储在总线状态存储单元La中,解析所述总线状态存储单元La中的内容,获得引起总线挂死交易的详细信息;
从其它总线状态存储单元Lk的内容中解析引起总线挂死故障的前n-1次交易信息,k≠a,定位和分析故障原因。
在上述技术方案的基础上,本发明还可以作出如下改进。
可选的,所述总线状态译码单元,用于当片上总线发起交易时,获取本次总线交易信息,判断本次交易是否正常传输,包括:
接收片上总线各主设备发起的数据传输控制信号,以及各从设备的交易响应信号,通过监控主设备发起交易到从设备成功应答之间的延时,判断此次交易传输是否超时,若未超时,则本次交易正常传输,否则,总线出现挂死。
可选的,所述生成本次交易信息状态数据包,包括:
根据片上总线各主设备发起的数据传输控制信号以及各从设备的交易响应信号,生成本次交易信息状态数据包,其内容至少包括发起此次交易的主设备标识号、从设备地址、表征此次交易是否正常完成的应答标识的读写属性以及从发起传输到响应结果返回的延迟周期数。
可选的,还包括:
由外部管脚输入或软件配置总线状态记录使能信号,当输入信号使能时,所述总线状态译码单元和存储控制单元开始工作,以及所述存储控制指针寄存器和总线状态存储单元接收存储控制单元的输入;
否则,所述总线状态译码单元和存储控制单元停止工作,以及存储控制指针寄存器和总线状态存储单元的值保持不变。
可选的,所述总线状态存储单元选用不带复位端的D触发器标准单元。
根据本发明的第二方面,提供一种片上总线状态记录方法,包括:
系统复位,总线状态存储单元和存储控制指针寄存器p清零,存储控制指针p置0;
总线状态记录使能有效,开始记录总线交易信息;
总线发起一次交易,总线状态译码单元判断本次交易是否正常传输,若是,捕获总线的正常交易信息,生成本次交易信息状态数据包;若不是,总线出现挂死,捕获总线挂死超时信息,生成本次交易信息状态数据包;
存储控制单元将将存储控制指针p的值写入所述存储控制指针寄存器P,将交易正常的本次交易信息数据包写入总线状态存储单元Lp,存储控制指针p加1,执行下一次总线交易,直到p等于总线状态存储单元的数量n,将存储控制指针置0,其中,n、p为正整数。
可选的,当系统片上总线出现挂死,总线状态译码单元不再发送新的总线交易状态数据包,所有总线状态存储单元和存储控制指针寄存器p的数据保持不变。
本发明提供的一种片上总线状态记录系统和记录方法,在传统总线结构的基础上,增加总线状态记录模块,总线状态记录模块与其它从设备模块一样,与片上总线有一组数据通路连接,所有主设备可以访问总线状态记录模块内部寄存器、存储单元的数据信息,片上总线的各类控制信号作为总线状态记录模块的输入,将片上总线的每次传输交易控制信息发送给总线状态记录模块,通过总线状态记录模块可实时记录总线运行状态信息,并在总线挂死后能保持相关信息不受复位控制的影响,便于对芯片总线故障进行精确定位。
附图说明
图1为本发明提供的一种片上总线状态记录系统的结构示意图;
图2为总线状态记录模块的结构示意图;
图3为本发明提供的一种片上总线状态记录方法的流程示意图;
图4为本发明提供的故障定位分析方法的流程示意图;
图5为总线状态记录流程示意图;
图6为总线挂死故障分析定位流程示意图。
具体实施方式
为使本发明实施例的目的、技术方案和优点更加清楚,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。另外,本发明提供的各个实施例或单个实施例中的技术特征可以相互任意结合,以形成可行的技术方案,这种结合不受步骤先后次序和/或结构组成模式的约束,但是必须是以本领域普通技术人员能够实现为基础,当技术方案的结合出现相互矛盾或无法实现时,应当认为这种技术方案的结合不存在,也不在本发明要求的保护范围之内。
对于片上总线状态记录和故障定位,可采用硬件监控,出现异常通过中断记录并上传的方法,如现有技术1“服务器总线故障定位方法、装置、电子设备”(申请号202111383298.5),该发明实施例涉及的方法包括:监测服务器总线的状态信息;在所述状态信息出现异常时,接收故障中断提醒;基于所述故障中断提醒,获取所述状态信息出现异常时的服务器总线的数据信息;基于所述数据信息确定所述服务器总线的故障位置。
独立的外挂总线导出故障信息并分析的实施例,参考现有技术2“一种总线控制器故障排查方法与系统”(202210100785.4),该申请方法包括获取总线控制器联调过程中的故障数据;将所述总线控制器外挂在CAN总线上并连接CAN工具以进行数据采集;将所述故障数据导入到搭建的仿真测试平台中以模拟运行整车各个总线节点,并显示所述CAN工具采集的总线数据;在故障再次触发后抓取故障触发前的总线数据,使用穷举法进行逐条报文触发,直至找到触发故障的报文,以实现在仿真测试平台中快速方便的复现总线控制器在联调中的故障。
如上文述,现有技术1中,采用“硬件模块监控,出现异常发送中断,记录并上传故障信息”的方法,其主要弊端如下:
(1)由于是硬件监控总线故障,其故障判断逻辑在芯片内部固化,即监控电路接收总线各部分关键信号,当某些内部关键信号或信号量出现异常时产生中断。而现在的芯片中片上总线结构设计复杂度越来越大,设计总线监控电路时往往对可能产生总线故障的情况考虑不全,导致监控电路漏报特殊情况的总线故障。
(2)这种监测、上报、储存的机制,需要增加较大的硬件和软件开销,例如中断控制开销,日志存储开销。
(3)对于系统或总线在运行中直接挂死的情况,此方法不一定能实时的将故障信息上报并存储。一方面是因为系统挂死,中断和存储功能可能会失效;另一方面,监控到故障的位置并不一定能反映到当前总线的状态。
现有技术2,采用“获取总线故障数据,利用外挂总线采集故障数据,监控工具分析故障”的方法,其主要弊端如下:
(1)使用一套额外的硬件监控总线采集功能总线故障数据,增加硬件开销;配套的软件工具,增加操作复杂度。
(2)同现有技术1的弊端(3),对于系统或总线在运行中直接挂死的情况,此方法不一定能实时的将故障信息上报并存储。
本发明实施例要解决的技术问题正是设计一种实时记录片上总线状态的系统,并在总线挂死后能保存相关信息,便于对芯片总线故障进行精确定位,从而优化设计。
需要说明的是,本发明实施例提到的总线故障、总线挂死等概念是指总线拥塞或其他原因引起的瞬时故障,在系统复位后故障可消失,不包括芯片内部物理损坏引起的不可修复的永久故障。
图1为本发明提供的一种片上总线状态记录系统,包括多个主设备模块、多个从设备模块和总线状态记录模块,多个所述主设备模块通过数据访问通路和片上总线连接多个所述从设备,所述总线状态记录模块与片上总线通过数据访问通路连接;所述总线状态记录模块,用于获取每一次片上总线发起的交易信息,判断每一次交易是否正常传输,并生成本次交易信息状态数据包;以及基于寄存器写指针实现每一次交易信息状态数据包的存储。
可理解的是,本发明实施例,图1中,在传统总线结构的基础上,增加总线状态记录模块,总线状态记录模块与其它从设备模块一样,与片上总线有一组数据通路连接,所有主设备可以访问总线状态记录模块内部寄存器、存储单元的数据信息。片上总线的各类控制信号作为总线状态记录模块的输入,将片上总线的每次传输交易控制信息发送给总线状态记录模块。在总线进行每次有效交易时,此次交易的信息和状态(主设备标识,访问地址,完成状态,交易延迟等),写入总线状态记录模块。
总线状态记录模块与其它功能模块一样,作为从设备挂在片上总线之中,可被主设备访问,在系统工作时,接收总线发来的交易状态,并存储在其内部不可复位寄存器组中。
总线状态记录模块可存储最近n次总线交易的状态信息,存满后新的交易状态信息输入时,新数据覆盖最早一次存储的数据,较优的,可由总线状态记录模块寄存器写指针实现。
作为实施例,所述总线状态记录模块包括总线状态译码单元、存储控制单元、存储控制指针寄存器和多个总线状态存储单元;所述总线状态译码单元,用于当片上总线发起交易时,获取本次总线交易信息,判断本次交易是否正常传输,若是,捕获总线的正常交易信息,生成本次交易信息状态数据包;若不是,总线出现挂死,捕获总线挂死超时信息,生成本次交易信息状态数据包;所述存储控制单元,用于将存储控制指针p的值写入所述存储控制指针寄存器P,将交易正常的本次交易信息数据包写入总线状态存储单元Lp;存储控制指针p加1,执行下一次总线交易,直到p等于总线状态存储单元的数量n,将存储控制指针置0,其中,n、p为正整数。
其中,所述总线状态译码单元,用于当片上总线发起交易时,获取本次总线交易信息,判断本次交易是否正常传输,包括:接收片上总线各主设备发起的数据传输控制信号,以及各从设备的交易响应信号,通过监控主设备发起交易到从设备成功应答之间的延时,判断此次交易传输是否超时,若未超时,则本次交易正常传输,否则,总线出现挂死。
可理解的是,总线状态记录模块的内部结构示意图可参见图2,总线状态记录模块主要包括总线状态译码单元、存储控制单元、存储控制指针寄存器以及多组总线状态存储单元几部分。
所述总线状态译码单元,接收片上总线各主设备发起的数据传输控制信号,以及各从设备的交易响应信号,通过监控主设备发起交易到从设备成功应答之间的延时,判断此次交易传输是否正常(无超时),并组织成此次交易控制信息和应答信息,生成本次交易信息状态数据包,依次发送给存储控制单元。译码后表征总线交易状态和结果的交易信息状态数据包,其内容包括但不仅限发起此次交易的主设备标识号、从设备地址、表征此次交易是否正常完成的应答标识的读写属性等,从发起传输到响应结果返回的延迟周期数等。调试人员获取总线交易信息状态数据包后,能判断本次交易是否正常完成,以及在总线挂死后,从一组或多组总线信息状态数据包中能分析出是哪次传输交易导致系统挂死。
存储控制单元,接收总线状态译码单元的交易信息状态数据包,将其存储至总线状态存储单元中。一次总线传输的控制信息和应答信息(即一个总线信息状态数据包)存入一个总线状态存储单元,总共有n组总线状态存储单元(记为L0~Ln-1),用来记录总线上最新的n次交易传输信息。存储控制单元,需要一个总线状态存储单元指针来控制本次交易信息状态数据包写入哪一组总线状态存储单元。一般的,n组总线状态存储单元,总线状态存储单元指针p初始值为0,表示这一次的总线状态信息数据包写到存储单元L0里,写完成后,指针p自动加1,下一次的总线状态信息数据包写到总线状态存储单元L1中,直到指针加到n-1,所有存储单元存满后,指针p变回0,下一次的总线传输信息覆盖最先使用的存储单元L0,以此类推。
存储控制指针寄存器(下文记作P),保存上述总线状态存储单元指针信息,如果系统总线挂死,上述总线状态译码单元不再发送新的总线交易状态数据包,存储控制指针寄存器P的数据将不被更新,并在复位后保持数据不变,以便让调试人员定位最后一次总线挂死前的操作。较优的,该总线状态存储单元包含清零输入端,在记录状态前,将总线状态存储单元数据清零。
多组总线状态存储单元L0~Ln-1,保存总线状态信息,如果系统总线挂死,上述总线状态译码单元不再发送新的总线交易状态数据包,总线状态存储单元L0~Ln-1的数据将不被更新,并在复位后保持数据不变。较优的,该总线状态存储单元包含清零输入端,在记录状态前,将总线状态存储单元数据清零。
其中,本发明实施例用到的存储控制指针寄存器,只要不掉电,总线状态存储单元不受系统复位的影响,在具体的实施例中,总线状态存储单元一般选用不带复位端的D触发器标准单元实现,D触发器标准单元为现有触发器,在此不再说明。
其中,总线状态记录使能信号,由外部管脚输入或软件配置使能。该输入信号使能时,总线状态译码单元和存储控制单元开始工作,存储控制指针寄存器和总线状态存储单元接收存储控制输入。否则,总线状态译码单元和存储控制单元停止工作,存储控制指针寄存器和总线状态存储单元的值保持不变。上电默认状态下,该使能信号为无效状态,需要记录总线状态时将其置于使能。
此处的数据访问通路与一般从设备通路无异,其功能是在总线挂死故障定位时,读取存储控制指针寄存器和总线状态存储单元数据,解析挂死故障前n次总线交易的信息状态数据包,分析故障原因。
参见图3,提供了一种片上总线状态记录方法,包括:
S1,系统复位,总线状态存储单元和存储控制指针寄存器p清零,存储控制指针p置0;
S2,总线状态记录使能有效,开始记录总线交易信息;
S3,总线发起一次交易,总线状态译码单元判断本次交易是否正常传输,若是,捕获总线的正常交易信息,生成本次交易信息状态数据包;若不是,总线出现挂死,捕获总线挂死超时信息,生成本次交易信息状态数据包;
S4,存储控制单元将将存储控制指针p的值写入所述存储控制指针寄存器P,将交易正常的本次交易信息数据包写入总线状态存储单元Lp,存储控制指针p加1,执行下一次总线交易,直到p等于总线状态存储单元的数量n,将存储控制指针置0,其中,n、p为正整数。
其中,当系统片上总线出现挂死,总线状态译码单元不再发送新的总线交易状态数据包,所有总线状态存储单元和存储控制指针寄存器p的数据保持不变。
可以理解的是,本发明提供的一种片上总线状态记录系统与前述各实施例提供的片上总线状态记录方法相对应,片上总线状态记录系统的相关技术特征可参考片上总线状态记录方法的相关技术特征,在此不再赘述。
参见图4,为本发明提供的一种系统片上故障定位分析方法,包括:
S1’,当系统片上总线出现挂死时,主设备通过片上总线数据通路访问并控制总线状态存储单元和存储控制指针寄存器的数据p;
S2’,读取寄存器p中的值a,确定引起总线挂死的交易信息存储在总线状态存储单元La中,解析所述总线状态存储单元La中的内容,获得引起总线挂死交易的详细信息;
S3’,从其它总线状态存储单元Lk的内容中解析引起总线挂死故障的前n-1次交易信息,k≠a,定位和分析故障原因。
其中,系统故障死机后,复位系统,可在系统正常工作的环境下读取总线状态记录模块寄存器的值,获取时刻最近n次总线交易的信息,分析故障原因。
参见图5和图6,为总线状态记录和分析故障的定位流程图,其中,总线状态记录流程主要包括如下步骤:
(1)系统复位后,总线状态存储单元L0~Ln-1和存储控制指针寄存器P清零,存储控制指针p置为0;
(2)将总线状态记录使能置为有效,开始记录总线交易信息;
(3)总线状态译码单元监控到总线上的一次交易,捕获总线上各类控制信号和应答信号,通过超时机制或其它方法判断这次交易是否正常;
(4)总线状态译码单元基于本次交易传输的控制信息和应答信息,生成本次交易信息状态数据包,若(3)中判断此次操作引起总线挂死(超时),该数据包中带有挂死(超时)信息;
(5)存储控制单元将存储控制指针p的值写入存储控制指针寄存器P中,将本次传输的控制和应答信息数据包写入总线状态存储单元Lp
(6)若此次交易总线挂死,则总线不会再有新的交易产生,存储控制单元也不会刷新总线状态存储单元和指针寄存器,整个系统进入挂死状态,此流程结束;否则,存储控制指针p自加1;
(7)判断p是否等于总线状态存储单元个数n,若相等则将p置0;
(8)回到(3),等待记录下一次总线传输状态。
总线挂死故障定位流程是总线状态记录流程出现挂死时的延续,包括如下步骤:
(1)系统运行中出现总线挂死,则进入总线挂死故障定位流程;
(2)总线状态记录使能保持其默认状态(无效),复位系统;
(3)总线状态译码单元和存储控制单元停止工作;总线状态存储单元L0~Ln-1和存储控制指针寄存器P数据保持;
(4)主设备通过片上总线数据通路访问并读取总线状态存储单元L0~Ln-1和存储控制指针寄存器P的数据;
(5)存储控制指针寄存器P的数据a,则可以确定引起系统总线挂死的交易信息存放在La中,解析数据包La的信息,获得引起系统总线挂死的交易的详细信息,包括主设备、地址、读写属性和超时信息等;
(6)解析其它数据包Lk(k≠a),获取总线挂死前n-1次交易的详细信息;
(7)利用步骤(5)和步骤(6)获取的信息定位总线故障原因。
其中,步骤(7)利用读到的挂死前总线的状态数据定位总线故障原因的具体方法为本专业领域技术人员都能认可利用总线挂死时刻前的若干次传输交易信息,能定位挂死故障原因,因此,(7)的具体实现方法不再赘述。
本发明实施例提供的一种片上总线状态记录系统、记录方法及故障定位分析方法,具有以下技术效果:
(1)实时记录总线状态,而不是出现故障后将故障信息上报,增加了后期故障分析的灵活性,便于指导系统软件/驱动开发人员定位挂死故障问题,并对芯片片上总线进行调参优化;
(2)系统挂死后,直接复位系统,挂死时刻的总线状态仍然保留,便于及时分析故障问题。
(3)相比起中断上传故障日志和增加专用调试总线及配套工具的方法,本发明新增的硬件逻辑较少,不会增加过多的成本负担,具有较高的实用性。
需要说明的是,在上述实施例中,对各个实施例的描述都各有侧重,某个实施例中没有详细描述的部分,可以参见其它实施例的相关描述。
尽管已描述了本发明的优选实施例,但本领域内的技术人员一旦得知了基本创造概念,则可对这些实施例作出另外的变更和修改。所以,所附权利要求意欲解释为包括优选实施例以及落入本发明范围的所有变更和修改。
显然,本领域的技术人员可以对本发明进行各种改动和变型而不脱离本发明的精神和范围。这样,倘若本发明的这些修改和变型属于本发明权利要求及其等同技术的范围之内,则本发明也意图包括这些改动和变型在内。

Claims (7)

1.一种片上总线状态记录系统,其特征在于,包括多个主设备模块、多个从设备模块和总线状态记录模块,多个所述主设备模块通过数据访问通路和片上总线连接多个所述从设备,所述总线状态记录模块与片上总线通过数据访问通路连接;
所述总线状态记录模块,用于获取每一次片上总线发起的交易信息,判断每一次交易是否正常传输,并生成本次交易信息状态数据包;以及基于寄存器写指针实现每一次交易信息状态数据包的存储;
所述总线状态记录模块包括总线状态译码单元、存储控制单元、存储控制指针寄存器和多个总线状态存储单元;
所述总线状态译码单元,用于当片上总线发起交易时,获取本次总线交易信息,判断本次交易是否正常传输,若是,捕获总线的正常交易信息,生成本次交易信息状态数据包;若不是,总线出现挂死,捕获总线挂死超时信息,生成本次交易信息状态数据包;
所述存储控制单元,用于将存储控制指针p的值写入所述存储控制指针寄存器P,将交易正常的本次交易信息数据包写入总线状态存储单元Lp;存储控制指针p加1,执行下一次总线交易,直到p等于总线状态存储单元的数量n,将存储控制指针置0,其中,n、p为正整数;
所述主设备,用于当系统片上总线出现挂死时,通过片上总线数据通路访问并控制总线状态存储单元和存储控制指针寄存器的数据p;
读取寄存器p中的值a,确定引起总线挂死的交易信息存储在总线状态存储单元La中,解析所述总线状态存储单元La中的内容,获得引起总线挂死交易的详细信息;
从其它总线状态存储单元Lk的内容中解析引起总线挂死故障的前n-1次交易信息,k≠a,定位和分析故障原因。
2.根据权利要求1所述的片上总线状态记录系统,其特征在于,所述总线状态译码单元,用于当片上总线发起交易时,获取本次总线交易信息,判断本次交易是否正常传输,包括:
接收片上总线各主设备发起的数据传输控制信号,以及各从设备的交易响应信号,通过监控主设备发起交易到从设备成功应答之间的延时,判断此次交易传输是否超时,若未超时,则本次交易正常传输,否则,总线出现挂死。
3.根据权利要求1所述的片上总线状态记录系统,其特征在于,所述生成本次交易信息状态数据包,包括:
根据片上总线各主设备发起的数据传输控制信号以及各从设备的交易响应信号,生成本次交易信息状态数据包,其内容至少包括发起此次交易的主设备标识号、从设备地址、表征此次交易是否正常完成的应答标识的读写属性以及从发起传输到响应结果返回的延迟周期数。
4.根据权利要求1所述的片上总线状态记录系统,其特征在于,还包括:
由外部管脚输入或软件配置总线状态记录使能信号,当输入信号使能时,所述总线状态译码单元和存储控制单元开始工作,以及所述存储控制指针寄存器和总线状态存储单元接收存储控制单元的输入;
否则,所述总线状态译码单元和存储控制单元停止工作,以及存储控制指针寄存器和总线状态存储单元的值保持不变。
5.根据权利要求1所述的片上总线状态记录系统,其特征在于,所述总线状态存储单元选用不带复位端的D触发器标准单元。
6.一种片上总线状态记录方法,应用于权利要求1~5任一项所述的片上总线状态记录系统,其特征在于,包括:
系统复位,总线状态存储单元和存储控制指针寄存器p清零,存储控制指针p置0;
总线状态记录使能有效,开始记录总线交易信息;
总线发起一次交易,总线状态译码单元判断本次交易是否正常传输,若是,捕获总线的正常交易信息,生成本次交易信息状态数据包;若不是,总线出现挂死,捕获总线挂死超时信息,生成本次交易信息状态数据包;
存储控制单元将存储控制指针p的值写入所述存储控制指针寄存器P,将交易正常的本次交易信息数据包写入总线状态存储单元Lp,存储控制指针p加1,执行下一次总线交易,直到p等于总线状态存储单元的数量n,将存储控制指针置0,其中,n、p为正整数。
7.根据权利要求6所述的片上总线状态记录方法,其特征在于,当系统片上总线出现挂死,总线状态译码单元不再发送新的总线交易状态数据包,所有总线状态存储单元和存储控制指针寄存器p的数据保持不变。
CN202310898556.6A 2023-07-21 2023-07-21 一种片上总线状态记录系统和记录方法 Active CN116627877B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202310898556.6A CN116627877B (zh) 2023-07-21 2023-07-21 一种片上总线状态记录系统和记录方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202310898556.6A CN116627877B (zh) 2023-07-21 2023-07-21 一种片上总线状态记录系统和记录方法

Publications (2)

Publication Number Publication Date
CN116627877A true CN116627877A (zh) 2023-08-22
CN116627877B CN116627877B (zh) 2023-09-29

Family

ID=87638581

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202310898556.6A Active CN116627877B (zh) 2023-07-21 2023-07-21 一种片上总线状态记录系统和记录方法

Country Status (1)

Country Link
CN (1) CN116627877B (zh)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN116860536A (zh) * 2023-09-05 2023-10-10 武汉凌久微电子有限公司 Gpu芯片的快速ft测试系统、测试设备及测试方法
CN116932333A (zh) * 2023-09-14 2023-10-24 武汉凌久微电子有限公司 一种硅后验证的axi总线实时性能监控方法

Citations (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5696910A (en) * 1995-09-26 1997-12-09 Intel Corporation Method and apparatus for tracking transactions in a pipelined bus
US6189061B1 (en) * 1999-02-01 2001-02-13 Motorola, Inc. Multi-master bus system performing atomic transactions and method of operating same
CN105573951A (zh) * 2015-12-24 2016-05-11 哈尔滨理工大学 一种针对数据流传输的ahb总线接口系统
CN107870880A (zh) * 2016-09-23 2018-04-03 北京遥感设备研究所 一种基于amba总线的soc模块接口实现方法
CN115022114A (zh) * 2021-03-05 2022-09-06 三星电子株式会社 系统芯片和包括在系统芯片中的互连总线
CN115422099A (zh) * 2022-08-30 2022-12-02 深圳市国微电子有限公司 一种通信信息发送方法、装置、电子设备及存储介质
CN116414632A (zh) * 2021-12-30 2023-07-11 深圳云天励飞技术股份有限公司 片上系统的故障定位方法、片上系统、设备及存储介质

Patent Citations (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5696910A (en) * 1995-09-26 1997-12-09 Intel Corporation Method and apparatus for tracking transactions in a pipelined bus
US6189061B1 (en) * 1999-02-01 2001-02-13 Motorola, Inc. Multi-master bus system performing atomic transactions and method of operating same
CN105573951A (zh) * 2015-12-24 2016-05-11 哈尔滨理工大学 一种针对数据流传输的ahb总线接口系统
CN107870880A (zh) * 2016-09-23 2018-04-03 北京遥感设备研究所 一种基于amba总线的soc模块接口实现方法
CN115022114A (zh) * 2021-03-05 2022-09-06 三星电子株式会社 系统芯片和包括在系统芯片中的互连总线
CN116414632A (zh) * 2021-12-30 2023-07-11 深圳云天励飞技术股份有限公司 片上系统的故障定位方法、片上系统、设备及存储介质
CN115422099A (zh) * 2022-08-30 2022-12-02 深圳市国微电子有限公司 一种通信信息发送方法、装置、电子设备及存储介质

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN116860536A (zh) * 2023-09-05 2023-10-10 武汉凌久微电子有限公司 Gpu芯片的快速ft测试系统、测试设备及测试方法
CN116860536B (zh) * 2023-09-05 2023-11-28 武汉凌久微电子有限公司 Gpu芯片的快速ft测试系统、测试设备及测试方法
CN116932333A (zh) * 2023-09-14 2023-10-24 武汉凌久微电子有限公司 一种硅后验证的axi总线实时性能监控方法
CN116932333B (zh) * 2023-09-14 2023-12-26 武汉凌久微电子有限公司 一种硅后验证的axi总线实时性能监控方法

Also Published As

Publication number Publication date
CN116627877B (zh) 2023-09-29

Similar Documents

Publication Publication Date Title
CN116627877B (zh) 一种片上总线状态记录系统和记录方法
US6944796B2 (en) Method and system to implement a system event log for system manageability
US20190354453A1 (en) Traffic capture and debugging tools for identifying root causes of device failure during automated testing
US9952963B2 (en) System on chip and corresponding monitoring method
CN110213143B (zh) 一种1553b总线ip核及监视系统
JP5605959B2 (ja) プロトコル事象を記録するためのアドバンスド通信制御ユニットおよび方法
US6769077B2 (en) System and method for remotely creating a physical memory snapshot over a serial bus
US20220252665A1 (en) On-chip Debugging Device and Method
CN111078492B (zh) 一种SoC内部总线的状态监控系统及方法
CN108009065A (zh) 监控axi总线的方法和装置
US9612934B2 (en) Network processor with distributed trace buffers
CN105183575A (zh) 处理器故障的诊断方法、装置及系统
US7913026B2 (en) Data transfer apparatus, information processing apparatus, and data transfer method
EP3961403A1 (en) Bus monitoring device and method, storage medium, and electronic device
CN114448780B (zh) 一种基于pcie接口的以太网控制器异常处理系统和方法
WO2016127483A1 (zh) 一种采集适配器管理系统的处理方法和装置
CN104243197B (zh) 数据传输方法、系统及虚拟存储网关
CN116991651B (zh) 一种错误注入方法、片上系统、计算机设备及存储介质
CN117076182B (zh) 一种错误上报方法、片上系统、计算机设备及存储介质
CN116560892A (zh) 一种外设接口的异常自诊断方法及系统
JP7516974B2 (ja) 電子機器用デバイス、電子機器用デバイスの制御方法および電子機器用デバイスの制御プログラム
CN117007938A (zh) Soc芯片调试装置和调试方法
CN117076183A (zh) 一种错误上报方法、片上系统、计算机设备及存储介质
CN115865624A (zh) 主机内性能瓶颈的根因定位方法、电子设备及存储介质
CN114924903A (zh) 故障提取方法、装置、系统、车辆及存储介质

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
GR01 Patent grant
GR01 Patent grant