一种CPLD日志记录方法技术

技术编号:18972458 阅读:29 留言:0更新日期:2018-09-19 03:40
本发明专利技术实施例公开了一种CPLD日志记录方法,包括:获取bug类型,根据所述bug类型确定待记录信号;获取CPLD内部RAM信息,确定存储区域;对所述RAM进行例化;对所述待记录信号进行采集;将所述待记录信号写入所述存储区域。本发明专利技术实施例实现了CPLD内部数据的实时采集存储,保证了数据的正确性,当存储的信号异常时将立即停止对信号的采集和存储,可以将bug产生前的寄存器的数据进行保存,便于bug产生原因的分析,提高了bug问题分析的效率。

A method of CPLD log recording

The embodiment of the invention discloses a CPLD logging method, which includes: acquiring a bug type, determining the signal to be recorded according to the bug type; acquiring the internal RAM information of the CPLD, determining the storage area; instantiating the RAM; acquiring the signal to be recorded; and writing the signal to be recorded into the storage area. The embodiment of the invention realizes the real-time acquisition and storage of the internal data of the CPLD, guarantees the correctness of the data, stops the acquisition and storage of the signal immediately when the stored signal is abnormal, saves the data of the register before the occurrence of the bug, facilitates the analysis of the causes of the bug, and improves the efficiency of the bug analysis.

【技术实现步骤摘要】
一种CPLD日志记录方法
本专利技术涉及信息记录
,特别是涉及一种CPLD日志记录方法。
技术介绍
服务器的主板设计中,CPLD在整个主板的逻辑设计中起着重要的作用。比如,完成开关机的时序控制,实现风扇转速的控制,实现报错等点灯信号的控制,实现LPC协议解析进行BIOScode点灯等功能。在整个主板的设计及后续生产过程中,伴随着各种bug问题,对于复现时间不确定的问题进行分析时,需要将CPLD内部寄存器的值进行记录,用于bug问题的分析。现有技术中,在软件设计时,经常使用日志记录的方式将关键信息记录在flash模块中,用于后期问题的分析,然而CPLD的设计属于硬件设计,很少会用到记录日志的方式进行问题分析,在一些应用设计时,会将CPLD内部寄存器的值通过总线的方式传到BMC进行日志的记录分析,并在BMC内部通过软件的方式实现日志的记录。然而,通过总线的方式实现CPLD与BMC之间的交互,并通过BMC内部的软件实现CPLD内部寄存器的日志记录的过程实现复杂,需要CPLD和BMC协同合作才能实现日志的记录,而且在CPLD和BMC通信过程中,异常的干扰也会导致数据出错,影响寄存器数据的记录,降低了bug问题分析的效率。
技术实现思路
本专利技术实施例中提供了一种CPLD日志记录方法,以解决现有技术中的数据记录误差大及bug问题分析效率低的问题。为了解决上述技术问题,本专利技术实施例公开了如下技术方案:一种CPLD日志记录方法,包括:获取bug类型,根据所述bug类型确定待记录信号;获取CPLD内部RAM信息,确定存储区域;对所述RAM进行例化;对所述待记录信号进行采集;将所述待记录信号写入所述存储区域。优选地,所述根据所述bug类型确定待记录信号具体包括:根据bug复现过程确定关联信号;根据可能产生bug的原因,从所述关联信号中选取可疑信号作为待记录信号。优选地,所述确定存储区域具体包括;确定所述RAM的存储空间,并计算剩余存储空间;根据所述待记录信号的个数确定每次采集的所述待记录信号的占用空间;根据所述占用空间和剩余存储空间确定存储区域。优选地,所述对所述RAM进行例化具体包括:根据所述待记录信号确定数据宽度和存储深度;根据所述数据宽度和存储深度进行存储参数设置;定义存储初始位置及每次记录的地址偏移量;定义所述RAM的写通道和读通道,并设置相关参数。优选地,所述对所述待记录信号进行采集具体包括:确定采样时间精度;根据所述采样时间精度设置时钟脉冲;根据所述时钟脉冲对待记录信号进行采样。优选地,所述确定采样时间精度具体包括:获取待记录信号的脉冲频率;根据所述脉冲频率以及奈奎斯特采样定律确定采样频率;将所述采样频率取倒数即为采样时间精度。优选地,所述将所述待记录信号写入所述存储区域具体包括:根据例化结果确定地址信号;确定触发条件,根据所述触发条件设置写使能信号;当所述写使能信号有效时将采集到的待记录信号根据所述地址信号写入对应的存储地址;所述地址信号根据例化结果递增;判断当前信号状态是否异常;如果是则停止信号采集,如果否则在写使能信号有效时将采集到的待记录信号写入对应的存储地址。优选地,当所述地址信号为所述存储区域最大值时,其递增结果为存储初始位置。优选地,所述判断当前信号状态是否异常具体包括:判断当前保存的信号是否为正常值。优选地,所述方法还包括:从所述存储区域内读取保存的信号,用于bug分析。由以上技术方案可见,本专利技术中首先确定需要记录信号的bug类型,然后根据bug在复现过程确定会涉及到的相关信号,再根据经验从相关信号中确定出可能造成bug的可疑信号并进行记录,记录时从CPLD中获取RAM信息,根据RAM的存储情况确定用于存放可疑信号的存储区域,将采集到的可疑信号进行存储,因为采集的可疑信号来自CPLD的内部寄存器,存储用的RAM也是CPLD的内部结构,因此,实现了CPLD内部数据的时候采集存储,保证了数据的正确性,当存储的信号异常时将立即停止对信号的采集和存储,因此,可以将bug产生前的寄存器的数据进行保存,便于bug产生原因的分析,提高了bug问题分析的效率。附图说明了更清楚地说明本专利技术实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,对于本领域普通技术人员而言,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。图1为本专利技术实施例提供的一种CPLD日志记录方法的流程示意图;图2为本专利技术实施例提供的待记录信号确定方法的流程示意图;图3为本专利技术实施例提供的存储区域确定方法的流程示意图;图4为本专利技术实施例提供的RAM例化方法的流程示意图;图5为本专利技术实施例提供的信号采样方法的流程示意图;图6本专利技术实施例提供的采样时间精度确定方法的流程示意图;图7为本专利技术实施例提供的将待记录信号写入RAM的方法的流程示意图;图8为本专利技术实施例提供的另一种CPLD日志记录方法的流程示意图。具体实施方式为了使本
的人员更好地理解本专利技术中的技术方案,下面将结合本专利技术实施例中的附图,对本专利技术实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本专利技术一部分实施例,而不是全部的实施例。基于本专利技术中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都应当属于本专利技术保护的范围。参见图1,为本专利技术实施例提供的一种CPLD日志记录方法的流程示意图,如图1所示,本专利技术实施例提供的CPLD日志记录方法,包括:S10:获取bug类型,根据所述bug类型确定待记录信号。S20:获取CPLD内部RAM信息,确定存储区域。S30:对所述RAM进行例化。S40:对所述待记录信号进行采集。S50:将所述待记录信号写入所述存储区域。现对各步骤进行详细描述,获取的bug类型为用户想要分析解决的bug,CPLD获取用户设置的bug类型后,根据bug类型确定需要记录的信号,其中,每次设置的bug类型可以有多个,具体的,参见图2,为本专利技术实施例提供的待记录信号确定方法的流程示意图,如图2所示,步骤S10中根据所述bug类型确定待记录信号具体包括:S11:根据bug复现过程确定关联信号。S12:根据可能产生bug的原因,从所述关联信号中选取可疑信号作为待记录信号。当bug发生时,需要通过复现发现bug产生的原因,但是在复现的过程中涉及到的相关信号众多,其中有些信号根据经验可以判断出与bug的产生没有关系,但是对于某些信号,我们在复现过程中不能确定是否影响bug的产生,也无法确定是其中的某些信号单独作用导致的bug还是综合作用导致的bug,因此,我们需要从复现的过程中,初步判断出可能导致此次bug的可疑信号作为待记录信号,这些可疑信号来自CPLD的内部寄存器,但CPLD内部寄存器的数量众多,这些可疑信号也可能来自多个不同的寄存器,因此,本专利技术实施例在采集可疑信号的时候会对CPLD内部的全部寄存器进行信号采集操作,对于不发送可疑信号的寄存器,虽然有采集操作过程,但是因为没有设定的可以信号输出,因此没有采集结果,也不需要进行记录。参见图3,为本专利技术实施例提供的存储区域确定方法的流程示意图,如图3所示,步骤S20中确定存储区域具体包括;S21:确定所述RAM的存储空本文档来自技高网
...

【技术保护点】
1.一种CPLD日志记录方法,其特征在于,包括:获取bug类型,根据所述bug类型确定待记录信号;获取CPLD内部RAM信息,确定存储区域;对所述RAM进行例化;对所述待记录信号进行采集;将所述待记录信号写入所述存储区域。

【技术特征摘要】
1.一种CPLD日志记录方法,其特征在于,包括:获取bug类型,根据所述bug类型确定待记录信号;获取CPLD内部RAM信息,确定存储区域;对所述RAM进行例化;对所述待记录信号进行采集;将所述待记录信号写入所述存储区域。2.根据权利要求1所述的CPLD日志记录方法,其特征在于,所述根据所述bug类型确定待记录信号具体包括:根据bug复现过程确定关联信号;根据可能产生bug的原因,从所述关联信号中选取可疑信号作为待记录信号。3.根据权利要求1所述的CPLD日志记录方法,其特征在于,所述确定存储区域具体包括;确定所述RAM的存储空间,并计算剩余存储空间;根据所述待记录信号的个数确定每次采集的所述待记录信号的占用空间;根据所述占用空间和剩余存储空间确定存储区域。4.根据权利要求1所述的CPLD日志记录方法,其特征在于,所述对所述RAM进行例化具体包括:根据所述待记录信号确定数据宽度和存储深度;根据所述数据宽度和存储深度进行存储参数设置;定义存储初始位置及每次记录的地址偏移量;定义所述RAM的写通道和读通道,并设置相关参数。5.根据权利要求1所述的CPLD日志记录方法,其特征在于,所述对所述待记录信号进行采集具体包括:确定采样时间精度;根据...

【专利技术属性】
技术研发人员:陈占良
申请(专利权)人:郑州云海信息技术有限公司
类型:发明
国别省市:河南,41

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

1