一种相位调试方法、装置、设备及存储介质与流程

未命名 08-05 阅读:104 评论:0


1.本发明涉及计算机技术领域,特别涉及一种相位调试方法、装置、设备及存储介质。


背景技术:

2.随着芯片复杂度提高,性能提升,内部集成的ip越来越多,给芯片的验证带来更多的挑战。bmc(baseboard management controller,基板管理控制器)芯片用于服务器系统中,可以实现系统的带外管理功能,但是服务器一般是放置在机房中,不方便进行操作调度,bmc芯片的专用网络可以实现远程监控的功能。因此以太网控制器的原型验证工作需要充分且全面,能适应不同的服务器硬件平台,但是目前时钟和数据通常设置为固定值,在实际调试时需要重复的做该接口的调试工作,耗费大量人力和时间且效率较低。


技术实现要素:

3.有鉴于此,本发明的目的在于提供一种相位调试方法、装置、设备和存储介质,能够全面完整的验证芯片的功能,提高原型验证平台的适应性,缩短原型验证时间,提高效率。其具体方案如下:
4.第一方面,本技术公开了一种相位调试方法,包括:
5.通过硬件平台向电脑端发送用于执行检查网络是否连通命令的数据包,以得到第一执行结果;
6.当所述第一执行结果为失败时,通过所述电脑端的网络封包分析软件判断所述硬件平台的目标侧是否成功发送或接收所述数据包;
7.若所述目标侧未成功发送或接收所述数据包,则通过预设相位调整方法调整所述目标侧的发送或接收时钟相位,以得到调整后时钟相位;
8.基于所述调整后时钟相位重新执行所述检查网络是否连通命令,以得到第二执行结果,并当所述第二执行结果为成功时结束调试。
9.可选的,所述通过硬件平台向电脑端发送用于执行检查网络是否连通命令的数据包,以得到第一执行结果之前,还包括:
10.将基板管理控制器的代码移植至现场可编程门阵列,以便通过所述现场可编程门阵列的软件工具进行代码综合操作以及布局布线操作,得到数据流文件;
11.通过所述现场可编程门阵列的下载器将所述数据流文件烧录至flash芯片。
12.可选的,所述通过硬件平台向电脑端发送用于执行检查网络是否连通命令的数据包,以得到第一执行结果,包括:
13.通过所述硬件平台向所述电脑端发送用于执行所述检查网络是否连通命令的所述数据包,以便所述电脑端执行所述检查网络是否连通命令进行测试,得到检查网络是否连通打印;
14.基于所述检查网络是否连通打印确定所述第一执行结果。
15.可选的,所述当所述第一执行结果为失败时,通过所述电脑端的网络封包分析软件判断所述硬件平台的目标侧是否成功发送或接收所述数据包,包括:
16.当所述第一执行结果为失败时,将发送侧确定为所述目标侧,并判断所述电脑端是否发送地址解析协议响应包;
17.若所述电脑端未发送所述地址解析协议响应包,则获取所述电脑端的所述物理地址;其中,所述物理地址为通过所述硬件平台向所述电脑端发送地址解析协议请求包后得到的地址;
18.判断所述电脑端的所述物理地址与所述基板管理控制器的所述物理地址是否一致;
19.若不一致则判定所述硬件平台的所述发送侧未成功发送所述数据包;
20.相应的,所述基于所述调整后时钟相位重新执行所述检查网络是否连通命令,以得到第二执行结果之后,还包括:
21.当所述第二执行结果为失败时,将接收侧确定为所述目标侧,并重新进入所述通过所述电脑端的网络封包分析软件判断所述硬件平台的目标侧是否成功发送或接收所述数据包的步骤。
22.可选的,所述通过预设相位调整方法调整所述目标侧的发送或接收时钟相位,以得到调整后时钟相位之前,还包括:
23.获取所述目标侧的相位调整值,并基于所述相位调整值以及总的相位值确定调整步进;
24.获取时钟周期,并基于所述时钟周期以及所述相位调整值计算时钟步进;
25.确定当前器件对应的精度,基于所述精度以及所述时钟周期计算调整的总次数;
26.基于所述时钟步进以及所述精度计算每调整一次步进对应的调整所述当前器件的步进次数。
27.可选的,所述通过预设相位调整方法调整所述目标侧的发送或接收时钟相位,以得到调整后时钟相位,包括:
28.当所述目标侧为所述发送侧时,利用寄存器记录所述发送侧的当前值并接收所述发送侧的最新值;
29.判断所述当前值与所述最新值是否相等;
30.当所述当前值与所述最新值不相等,并且所述最新值大于所述当前值时,执行相位加操作;
31.当所述当前值与所述最新值不相等,并且所述最新值小于所述当前值时,执行相位减操作;
32.利用所述寄存器记录所述当前值与所述最新值之间的差值;
33.获取所述相位加操作或所述相位减操作对应的相位调整总次数,并判断所述相位调整总次数与所述差值是否相同;
34.若所述相位调整总次数与所述差值相同,则结束相位调整操作并得到所述调整后发送时钟相位。
35.可选的,所述获取所述相位加操作或所述相位减操作对应的相位调整总次数,包括:
36.当所述相位加操作或所述相位减操作执行所述步进次数时,所述相位调整总次数加1,以得到新的所述相位调整总次数。
37.第二方面,本技术公开了一种相位调试装置,包括:
38.第一连通命令执行模块,用于通过硬件平台向电脑端发送用于执行检查网络是否连通命令的数据包,以得到第一执行结果;
39.发送判断模块,用于当所述第一执行结果为失败时,通过所述电脑端的网络封包分析软件判断所述硬件平台的目标侧是否成功发送或接收所述数据包;
40.相位调整模块,用于若所述目标侧未成功发送或接收所述数据包,则通过预设相位调整方法调整所述目标侧的发送或接收时钟相位,以得到调整后时钟相位;
41.第二连通命令执行模块,用于基于所述调整后时钟相位重新执行所述检查网络是否连通命令,以得到第二执行结果,并当所述第二执行结果为成功时结束调试。
42.第三方面,本技术公开了一种电子设备,包括:
43.存储器,用于保存计算机程序;
44.处理器,用于执行所述计算机程序,以实现如前述公开的相位调试方法的步骤。
45.第四方面,本技术公开了一种计算机可读存储介质,用于存储计算机程序;其中,所述计算机程序被处理器执行时实现如前述公开的相位调试方法。
46.可见,本技术提供了一种相位调试方法,包括:通过硬件平台向电脑端发送用于执行检查网络是否连通命令的数据包,以得到第一执行结果;当所述第一执行结果为失败时,通过所述电脑端的网络封包分析软件判断所述硬件平台的目标侧是否成功发送或接收所述数据包;若所述目标侧未成功发送或接收所述数据包,则通过预设相位调整方法调整所述目标侧的发送或接收时钟相位,以得到调整后时钟相位;基于所述调整后时钟相位重新执行所述检查网络是否连通命令,以得到第二执行结果,并当所述第二执行结果为成功时结束调试。由此可见,本技术通过执行检查网络是否连通命令判断当前的时钟相位是否需要调整,当需要调整时动态配置接口的时钟和数据相位关系,直到检查网络是否连通命令的执行结果为成功时停止,全面完整的验证芯片的功能,提高原型验证平台的适应性,缩短原型验证时间,提高效率。
附图说明
47.为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据提供的附图获得其他的附图。
48.图1为本技术公开的一种相位调试方法流程图;
49.图2为本技术公开的rgmii接口发送侧tx的接口时序图;
50.图3为本技术公开的rgmii接口接收侧rx的接口时序图;
51.图4为本技术公开的相位调试方法的硬件框图;
52.图5为本技术公开的一种具体的相位调试方法流程图;
53.图6为本技术公开的rgmii接口调试的流程图;
54.图7为本技术公开的工程模块示意图;
55.图8为本技术公开的动态相位调整时序图;
56.图9为本技术公开的动态调整配置的状态机示意图;
57.图10为本技术提供的相位调试装置结构示意图;
58.图11为本技术提供的一种电子设备结构图。
具体实施方式
59.下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
60.目前,bmc芯片用于服务器系统中,可以实现系统的带外管理功能,但是服务器一般是放置在机房中,不方便进行操作调度,bmc芯片的专用网络可以实现远程监控的功能。因此以太网控制器的原型验证工作需要充分且全面,能适应不同的服务器硬件平台,但是目前时钟和数据通常设置为固定值,在实际调试时需要重复的做该接口的调试工作,耗费大量人力和时间且效率较低。为此,本技术提供了一种相位调试方法,能够全面完整的验证芯片的功能,提高原型验证平台的适应性,缩短原型验证时间,提高效率。
61.本发明实施例公开了一种相位调试方法,参见图1所示,该方法包括:
62.步骤s11:通过硬件平台向电脑端发送用于执行检查网络是否连通命令的数据包,以得到第一执行结果。
63.本实施例中,通过硬件平台向电脑端发送用于执行检查网络是否连通命令的数据包,以得到第一执行结果。具体的,通过所述硬件平台向所述电脑端发送用于执行所述检查网络是否连通命令的所述数据包,以便所述电脑端执行所述检查网络是否连通命令进行测试,得到检查网络是否连通打印;基于所述检查网络是否连通打印确定所述第一执行结果。
64.可以理解的是,所述通过硬件平台向电脑端发送用于执行检查网络是否连通命令的数据包之前,将基板管理控制器的代码移植至现场可编程门阵列(fpga,field-programmable gate array),以便通过所述现场可编程门阵列的软件工具进行代码综合操作以及布局布线操作,得到数据流文件;通过所述现场可编程门阵列的下载器将所述数据流文件烧录至flash芯片。
65.目前的现有技术中,不同于逻辑仿真验证,芯片原型验证通过将芯片的rtl代码移植到fpga原型验证硬件平台中,尽可能的还原芯片真实使用场景比如上层软件,驱动程序,固件等,实现芯片流片之前的软硬件协同开发验证,从而进一步提升芯片成功几率,降低芯片风险和成本,已成为当前芯片设计中主流且成熟的验证方法。bmc芯片用于服务器系统中,实现系统的带外管理功能。服务器一般是放置在机房中,环境吵杂,不适合操作人员操作调度,bmc芯片的专用网络可以实现远程监控的功能,因此bmc芯片的网络功能尤为重要。bmc芯片的另外一种网络接口实现服务器主机网络的带外管理功能,因此在原型验证时,需尽可能完整的验证bmc芯片的网络功能。bmc芯片支持rgmii(reduced gigabit media independent interface,以太网控制器接口)接口和rmii(reduced media independent interface,以太网控制器接口)接口两种接口的以太网控制器,rgmii接口为bmc的专用网络接口,支持10m/100m/1000mbps率,应用时在硬件电路板上外接phy(physical,物理层)芯
片;rmii接口为服务器网卡的带外管理接口,支持10m/100m速率。rgmii接口为时钟同步的并行数据接口,当rgmii接口运行在1000mbps速率时,时钟频率为125mhz,数据位宽为4bits,且在数据的双沿(上升沿和下降沿)同时采样,此时时钟需要和数据保持一定的相位差,一般是在数据高电平/低电平的中间位置,以实现对端更好的采样数据。在bmc芯片中,使用单独的硬核单元io(input/output,输入/输出)delay(延迟)来实现相位调整功能,但是该单元在fpga器件中不能移植,因此在验证时使用mmcm(mixed-mode clock manager,混合模式的时钟管理单元)/pll(phase-locked loop,锁相环)的输出固定相位差的时钟。但是由于fpga器件性能和硬件平台pcb走线延时等差异,该相位差需要调整,目前一般是手动实现,通过修改mmcm/pll的时钟相位值生成不同的fpga工程。
66.进一步的,如图2所示rgmii接口发送侧tx的接口时序图,从该时序图可以看出,发送侧的时钟和数据发送到phy芯片,到达phy的时钟和数据保持一定的相位差满足setup时序,rgmii接口1000mbps速率下时钟频率为125m,双沿采样,因此,每4bits数据的时钟周期为4ns,一般setup的时间设置为2ns,时钟在数据的中间,这样有比较大的采样窗口,phy芯片在该时钟下采样数据,完成数据接收功能。如图3所示rgmii接口接收侧rx的接口时序图,以太网控制器接收侧rx接收数据和phy芯片接收数据的操作一致,接收的采样时钟和数据保持一定的相位差,满足setup时序,正确采样数据。
67.步骤s12:当所述第一执行结果为失败时,通过所述电脑端的网络封包分析软件判断所述硬件平台的目标侧是否成功发送或接收所述数据包。
68.本实施例中,通过硬件平台向电脑端发送用于执行检查网络是否连通命令的数据包,以得到第一执行结果之后,当所述第一执行结果为失败时,通过所述电脑端的网络封包分析软件判断所述硬件平台的目标侧是否成功发送或接收所述数据包。可以理解的是,bmc芯片以太网原型验证的硬件连接和调试软件如图4所示,测试pc(电脑端)和硬件平台的连接接口包括网口和串口;将bmc芯片的代码移植到fpga中,通过fpga的软件工具进行代码综合、布局布线,最后生成数据流文件,将该数据流文件通过fpga的下载器烧录到外部flash芯片中,掉电不丢失,从而实现bmc芯片的原型验证工程;rj45和wireshark(网络封包分析软件)软件:通过网线连接pc和硬件平台的网口,进行网络测试,wireshark软件是常用的以太网抓包软件,可以对抓到的数据包进行解析,方便用户调试;bmc芯片中只实现了以太网控制器的功能,因此,需要外接phy芯片,连接到rj45连接座,和对端网络通信;串口:bmc芯片为soc(system on chip,系统级芯片,也称为片上系统,芯片内部有cpu(central processing uint,中央处理器)处理器)芯片,内部支持串口模块,使用串口调试助手进行soc系统调试,比如打印系统启动信息,外设信息等,用户也可以通过串口下发命令配置或读取外设的寄存器。
69.步骤s13:若所述目标侧未成功发送或接收所述数据包,则通过预设相位调整方法调整所述目标侧的发送或接收时钟相位,以得到调整后时钟相位。
70.本实施例中,当所述第一执行结果为失败时,通过所述电脑端的网络封包分析软件判断所述硬件平台的目标侧是否成功发送或接收所述数据包之后,若所述目标侧未成功发送或接收所述数据包,则通过预设相位调整方法调整所述目标侧的发送或接收时钟相位,以得到调整后时钟相位。可以理解的是,通过wireshark抓包数据分析tx(发送)侧是否成功,判断的依据是pc有没有发出arp(address resolution protocol,地址解析协议)响
应包,如果没有发出arp响应包,此时也能看到bmc发出的数据错误的arp请求包,比如mac地址和bmc的不一致,从而判定为bmc的tx侧发送失败,在串口调试助手窗口中通过命令调整tx的时钟相位,然后重复ping(检查网络是否连通)命令和分析,直至tx侧发送成功,实现tx侧的时钟相位动态调整。
71.步骤s14:基于所述调整后时钟相位重新执行所述检查网络是否连通命令,以得到第二执行结果,并当所述第二执行结果为成功时结束调试。
72.本实施例中,若所述目标侧未成功发送或接收所述数据包,则通过预设相位调整方法调整所述目标侧的发送或接收时钟相位,得到调整后时钟相位之后,基于所述调整后时钟相位重新执行所述检查网络是否连通命令,以得到第二执行结果,并当所述第二执行结果为成功时结束调试。可以理解的是,tx调整完成后,如果能ping通结束调试,否则,按照同样的方式调整rx(接收)的时钟相位,直至网络ping通,结束调试。
73.由于bmc芯片网路功能十分重要,因此以太网控制器的原型验证工作需要充分且全面,能适应不同的服务器硬件平台。但是如果fpga工程中tx/rx的时钟和数据设置为固定值,那么在不同的服务器硬件平台中由于pcb(printed circuit board,印制电路板)走线延时等问题导致差异较大,在实际调试时需要重复的做该接口的调试工作,不同版本的fpga工程和硬件接口功能调试都需要耗费人力和时间,人为操作会存在一定的差错从而造成返工。因此本发明设计一种动态配置rgmii接口的时钟和数据相位关系的实现方法,全面完整的验证芯片的功能,比如通过总线配置时钟相位差功能的验证。通过提供一种soc芯片接口原型验证的方式,完成芯片中重要接口完整功能的验证,动态配置的方式简化原型验证的方式,提高不同硬件平台的适应性,本技术的技术方案可以应用到其他芯片原型验证或接口应用的方案中。
74.可见,本技术提供了一种相位调试方法,包括:通过硬件平台向电脑端发送用于执行检查网络是否连通命令的数据包,以得到第一执行结果;当所述第一执行结果为失败时,通过所述电脑端的网络封包分析软件判断所述硬件平台的目标侧是否成功发送或接收所述数据包;若所述目标侧未成功发送或接收所述数据包,则通过预设相位调整方法调整所述目标侧的发送或接收时钟相位,以得到调整后时钟相位;基于所述调整后时钟相位重新执行所述检查网络是否连通命令,以得到第二执行结果,并当所述第二执行结果为成功时结束调试。由此可见,本技术通过执行检查网络是否连通命令判断当前的时钟相位是否需要调整,当需要调整时动态配置接口的时钟和数据相位关系,直到检查网络是否连通命令的执行结果为成功时停止,全面完整的验证芯片的功能,提高原型验证平台的适应性,缩短原型验证时间,提高效率。
75.参见图5所示,本发明实施例公开了一种相位调试方法,相对于上一实施例,本实施例对技术方案作了进一步的说明和优化。
76.步骤s21:通过硬件平台向电脑端发送用于执行检查网络是否连通命令的数据包,以得到第一执行结果。
77.步骤s22:当所述第一执行结果为失败时,将发送侧确定为所述目标侧,并判断所述电脑端是否发送地址解析协议响应包。
78.本实施例中,通过硬件平台向电脑端发送用于执行检查网络是否连通命令的数据包,以得到第一执行结果之后,当所述第一执行结果为失败时,将发送侧确定为所述目标
侧,并判断所述电脑端是否发送地址解析协议响应包。可以理解的是,硬件平台上电,fpga从flash芯片加载数据流文件,bmc系统启动,通过串口助手可以看到启动相关打印信息,进入bmc芯片的linux系统,通过命令配置网络,比如设置mac(物理)地址/ip(internet protoco,网络之间互连的协议)地址/子网掩码等,在测试pc上设置同样网段的ip地址。网络调试的第一步是查看网络是否连通,通过ping命令实现,使用ping命令时,会首先发出arp请求包,获得对端的mac地址,然后是ping的数据包,具体的rgmii接口调试的流程如图6所示,在串口调试助手中通过ping命令ping测试pc,可以看到ping的打印;如果ping通,说明网络连接正常,结束调试;如果ping失败,那么需要进行tx/rx的时钟相位调整;通过wireshark抓包数据分析tx侧是否成功,判断的依据是pc有没有发出arp响应包。
79.步骤s23:若所述电脑端未发送所述地址解析协议响应包,则获取所述电脑端的所述物理地址。
80.本实施例中,判断所述电脑端是否发送地址解析协议响应包之后,若所述电脑端未发送所述地址解析协议响应包,则获取所述电脑端的所述物理地址;其中,所述物理地址为通过所述硬件平台向所述电脑端发送地址解析协议请求包后得到的地址。可以理解的是,如果没有发出arp响应包,此时也能看到bmc发出的数据错误的arp请求包。
81.步骤s24:判断所述电脑端的所述物理地址与所述基板管理控制器的所述物理地址是否一致。
82.本实施例中,获取所述电脑端的所述物理地址之后,判断所述电脑端的所述物理地址与所述基板管理控制器的所述物理地址是否一致,若不一致则判定所述硬件平台的所述发送侧未成功发送所述数据包。可以理解的是,如mac地址和bmc的不一致,可以判定为bmc的tx侧发送失败,在串口调试助手窗口中通过命令调整tx的时钟相位,然后重复ping命令和分析,直至tx侧发送成功,实现tx侧的时钟相位动态调整。
83.步骤s25:若所述目标侧未成功发送或接收所述数据包,则通过预设相位调整方法调整所述目标侧的发送或接收时钟相位,以得到调整后时钟相位。
84.本实施例中,判定所述硬件平台的所述发送侧未成功发送所述数据包之后,若所述目标侧未成功发送或接收所述数据包,则通过预设相位调整方法调整所述目标侧的发送或接收时钟相位,以得到调整后时钟相位。需要指出的是,得到调整后时钟相位之前,获取所述目标侧的相位调整值,并基于所述相位调整值以及总的相位值确定调整步进;获取时钟周期,并基于所述时钟周期以及所述相位调整值计算时钟步进;确定当前器件对应的精度,基于所述精度以及所述时钟周期计算调整的总次数;基于所述时钟步进以及所述精度计算每调整一次步进对应的调整所述当前器件的步进次数。例如,tx/rx的相位调整值为0~31,支持32个相位调整(即相位调整值),总的相位值为360
°
,因此,可调整的步进为:360
°
/32=11.25
°
(调整步进),时钟周期为8ns,对应的时间步进为8ns/32=0.25ns。根据该时钟频率的配置,mmcm/pll的精度为即每次调整的时间值为时钟周期为8ns,因此,调整的总次数为:8
×
56=448。因此系统调整一次步进对应的动态调整mmcm/pll的数次为14。
85.可以理解的是,工程模块如图7的以太网工程所示:包含一个至少能实现最小系统功能的框架,包括soc中的cpu模块、总线仲裁模块、firmware flash存放cpu的启动代码、
ddr内存模块和串口调试模块。工程中还应包括以太网控制器模块;包括mmcm/pll动态相位调整的模块:总线接口模块、动态配置接口模块和mmcm/pll。
86.其中,总线接口模块主要实现ahb(advanced high performance bus,高级高性能总线)总线接口的数据转换,soc系统配置寄存器的时候,通过该模块把ahb总线上的数据转换成寄存器值,该寄存器为32bits位宽:
87.[4:0]:tx时钟相位调整值,最大支持32个相位的调整([4:0]表示0到4比特,一共5bit);
[0088]
[9:5]:rx时钟相位调整值,最大支持32个相位的调整([9:5]表示5到9比特,一共5bit);
[0089]
动态配置接口模块:接收总线接口模块解析出的寄存器值(即bit位),按照mmcm/pll动态相位调整的接口时序,进行时序操作,实现tx/rx动态时钟相位调整功能,时序图如图8的动态相位调整时序图所示。mmcm/pll:fpga器件的内部硬核ip模块,tx和rx各使用一个。
[0090]
通过预设相位调整方法调整所述目标侧的发送或接收时钟相位,以得到调整后时钟相位具体如下,如图9所示:当所述目标侧为所述发送侧时,利用寄存器记录所述发送侧的当前值并接收所述发送侧的最新值;判断所述当前值与所述最新值是否相等;当所述当前值与所述最新值不相等,并且所述最新值大于所述当前值时,执行相位加操作;当所述当前值与所述最新值不相等,并且所述最新值小于所述当前值时,执行相位减操作;利用所述寄存器记录所述当前值与所述最新值之间的差值;获取所述相位加操作或所述相位减操作对应的相位调整总次数,并判断所述相位调整总次数与所述差值是否相同;若所述相位调整总次数与所述差值相同,则结束相位调整操作并得到所述调整后发送时钟相位。获取所述相位加操作或所述相位减操作对应的相位调整总次数,包括:当所述相位加操作或所述相位减操作执行所述步进次数时,所述相位调整总次数加1,以得到新的所述相位调整总次数。
[0091]
例如,由rgmii接口的时序可知,tx/rx时钟和数据的相位差为90
°
时,相差的时间为2ns,是比较合理的数值,因此,我们配置mmcm/pll的时钟的相位差是90
°
。对应系统的调整值为5’b00111(5表示5bit位,b00111表示相位差是90
°
)。tx和rx的调整配置方式一致,以tx为例:使用寄存器tx_phase(当前值)记录tx当前的值,初始值为5’b00111。该寄存器与接收到的新的值tx_value(最新值)进行比较,如果相等则不需要调整,如果不相等则需要调整。当tx_value》tx_phase,那么相位加,psindec配置为1;当tx_value《tx_phase,那么相位减,psindec配置为0;同时使用寄存器tx_judge寄存器记录两者的差值。系统的一个相位步进的调整需要mmcm/pll接口配置14次操作,使用寄存器tx_ps_cnt记录,每个步进调整完成,寄存器tx_config_num(相位调整总次数)加1,通过比较tx_config_num和tx_judge的值判断系统调整配置是否完成。若当前发送侧调整配置完成,则再次执行ping命令,若成功则结束调整,若不成功则调整接收侧的时钟相位,具体调整操作与所述发送侧相同。
[0092]
步骤s26:基于所述调整后时钟相位重新执行所述检查网络是否连通命令,以得到第二执行结果,并当所述第二执行结果为成功时结束调试。
[0093]
本实施例中,基于所述调整后时钟相位重新执行所述检查网络是否连通命令,以得到第二执行结果之后,当所述第二执行结果为失败时,将接收侧确定为所述目标侧,并重
新进入所述通过所述电脑端的网络封包分析软件判断所述硬件平台的目标侧是否成功发送或接收所述数据包的步骤;当所述第二执行结果为成功时结束调试。
[0094]
本发明提供了一种完整的验证芯片接口的方法,使用动态配置的方式简化了原型验证的工程,提高原型验证平台的适应性,缩短原型验证时间,提高效率。
[0095]
可见,本技术实施例通过硬件平台向电脑端发送用于执行检查网络是否连通命令的数据包,以得到第一执行结果;当所述第一执行结果为失败时,将发送侧确定为所述目标侧,并判断所述电脑端是否发送地址解析协议响应包;若所述电脑端未发送所述地址解析协议响应包,则获取所述电脑端的所述物理地址;判断所述电脑端的所述物理地址与所述基板管理控制器的所述物理地址是否一致;若所述目标侧未成功发送或接收所述数据包,则通过预设相位调整方法调整所述目标侧的发送或接收时钟相位,以得到调整后时钟相位;基于所述调整后时钟相位重新执行所述检查网络是否连通命令,以得到第二执行结果,并当所述第二执行结果为成功时结束调试,全面完整的验证芯片的功能,提高原型验证平台的适应性,缩短原型验证时间,提高效率。
[0096]
参见图10所示,本技术实施例还相应公开了一种相位调试装置,包括:
[0097]
第一连通命令执行模块11,用于通过硬件平台向电脑端发送用于执行检查网络是否连通命令的数据包,以得到第一执行结果;
[0098]
发送判断模块12,用于当所述第一执行结果为失败时,通过所述电脑端的网络封包分析软件判断所述硬件平台的目标侧是否成功发送或接收所述数据包;
[0099]
相位调整模块13,用于若所述目标侧未成功发送或接收所述数据包,则通过预设相位调整方法调整所述目标侧的发送或接收时钟相位,以得到调整后时钟相位;
[0100]
第二连通命令执行模块14,用于基于所述调整后时钟相位重新执行所述检查网络是否连通命令,以得到第二执行结果,并当所述第二执行结果为成功时结束调试。
[0101]
可见,本技术包括:通过硬件平台向电脑端发送用于执行检查网络是否连通命令的数据包,以得到第一执行结果;当所述第一执行结果为失败时,通过所述电脑端的网络封包分析软件判断所述硬件平台的目标侧是否成功发送或接收所述数据包;若所述目标侧未成功发送或接收所述数据包,则通过预设相位调整方法调整所述目标侧的发送或接收时钟相位,以得到调整后时钟相位;基于所述调整后时钟相位重新执行所述检查网络是否连通命令,以得到第二执行结果,并当所述第二执行结果为成功时结束调试。由此可见,本技术通过执行检查网络是否连通命令判断当前的时钟相位是否需要调整,当需要调整时动态配置接口的时钟和数据相位关系,直到检查网络是否连通命令的执行结果为成功时停止,全面完整的验证芯片的功能,提高原型验证平台的适应性,缩短原型验证时间,提高效率。
[0102]
在一些具体实施例中,所述第一连通命令执行模块11,具体包括:
[0103]
数据流文件获取单元,用于将基板管理控制器的代码移植至现场可编程门阵列,以便通过所述现场可编程门阵列的软件工具进行代码综合操作以及布局布线操作,得到数据流文件;
[0104]
数据流文件烧录单元,用于通过所述现场可编程门阵列的下载器将所述数据流文件烧录至flash芯片;
[0105]
测试单元,用于通过所述硬件平台向所述电脑端发送用于执行所述检查网络是否连通命令的所述数据包,以便所述电脑端执行所述检查网络是否连通命令进行测试,得到
检查网络是否连通打印;
[0106]
第一执行结果确定单元,用于基于所述检查网络是否连通打印确定所述第一执行结果。
[0107]
在一些具体实施例中,所述发送判断模块12,具体包括:
[0108]
地址解析协议响应包发送判断单元,用于当所述第一执行结果为失败时,将发送侧确定为所述目标侧,并判断所述电脑端是否发送地址解析协议响应包;
[0109]
物理地址获取单元,用于若所述电脑端未发送所述地址解析协议响应包,则获取所述电脑端的所述物理地址;其中,所述物理地址为通过所述硬件平台向所述电脑端发送地址解析协议请求包后得到的地址;
[0110]
物理地址判断单元,用于判断所述电脑端的所述物理地址与所述基板管理控制器的所述物理地址是否一致;
[0111]
数据包发送判定单元,用于若不一致则判定所述硬件平台的所述发送侧未成功发送所述数据包。
[0112]
在一些具体实施例中,所述相位调整模块13,具体包括:
[0113]
调整步进确定单元,用于获取所述目标侧的相位调整值,并基于所述相位调整值以及总的相位值确定调整步进;
[0114]
时钟步进计算单元,用于获取时钟周期,并基于所述时钟周期以及所述相位调整值计算时钟步进;
[0115]
调整的总次数计算单元,用于确定当前器件对应的精度,基于所述精度以及所述时钟周期计算调整的总次数;
[0116]
步进次数计算单元,用于基于所述时钟步进以及所述精度计算每调整一次步进对应的调整所述当前器件的步进次数;
[0117]
最新值获取单元,用于若所述目标侧未成功发送或接收所述数据包,且当所述目标侧为所述发送侧时,利用寄存器记录所述发送侧的当前值并接收所述发送侧的最新值;
[0118]
值判断单元,用于判断所述当前值与所述最新值是否相等;
[0119]
相位加单元,用于当所述当前值与所述最新值不相等,并且所述最新值大于所述当前值时,执行相位加操作;
[0120]
相位减单元,用于当所述当前值与所述最新值不相等,并且所述最新值小于所述当前值时,执行相位减操作;
[0121]
差值记录单元,用于利用所述寄存器记录所述当前值与所述最新值之间的差值;
[0122]
相位调整总次数判断单元,用于获取所述相位加操作或所述相位减操作对应的相位调整总次数,并判断所述相位调整总次数与所述差值是否相同;
[0123]
相位调整结束单元,用于若所述相位调整总次数与所述差值相同,则结束相位调整操作并得到所述调整后发送时钟相位;
[0124]
相位调整总次数更新单元,用于当所述相位加操作或所述相位减操作执行所述步进次数时,所述相位调整总次数加1,以得到新的所述相位调整总次数。
[0125]
在一些具体实施例中,所述第二连通命令执行模块14,具体包括:
[0126]
命令执行单元,用于基于所述调整后时钟相位重新执行所述检查网络是否连通命令,以得到第二执行结果;
[0127]
数据包判断单元,用于当所述第二执行结果为失败时,将接收侧确定为所述目标侧,并重新进入所述通过所述电脑端的网络封包分析软件判断所述硬件平台的目标侧是否成功发送或接收所述数据包的步骤;
[0128]
调试结束单元,用于当所述第二执行结果为成功时结束调试。
[0129]
进一步的,本技术实施例还提供了一种电子设备。图11是根据一示例性实施例示出的电子设备20结构图,图中的内容不能认为是对本技术的使用范围的任何限制。
[0130]
图11为本技术实施例提供的一种电子设备20的结构示意图。该电子设备20,具体可以包括:至少一个处理器21、至少一个存储器22、电源23、通信接口24、输入输出接口25和通信总线26。其中,所述存储器22用于存储计算机程序,所述计算机程序由所述处理器21加载并执行,以实现前述任一实施例公开的相位调试方法中的相关步骤。另外,本实施例中的电子设备20具体可以为电子计算机。
[0131]
本实施例中,电源23用于为电子设备20上的各硬件设备提供工作电压;通信接口24能够为电子设备20创建与外界设备之间的数据传输通道,其所遵循的通信协议是能够适用于本技术技术方案的任意通信协议,在此不对其进行具体限定;输入输出接口25,用于获取外界输入数据或向外界输出数据,其具体的接口类型可以根据具体应用需要进行选取,在此不进行具体限定。
[0132]
另外,存储器22作为资源存储的载体,可以是只读存储器、随机存储器、磁盘或者光盘等,其上所存储的资源可以包括操作系统221、计算机程序222等,存储方式可以是短暂存储或者永久存储。
[0133]
其中,操作系统221用于管理与控制电子设备20上的各硬件设备以及计算机程序222,其可以是windows server、netware、unix、linux等。计算机程序222除了包括能够用于完成前述任一实施例公开的由电子设备20执行的相位调试方法的计算机程序之外,还可以进一步包括能够用于完成其他特定工作的计算机程序。
[0134]
进一步的,本技术实施例还公开了一种存储介质,所述存储介质中存储有计算机程序,所述计算机程序被处理器加载并执行时,实现前述任一实施例公开的相位调试方法步骤。
[0135]
本说明书中各个实施例采用递进的方式描述,每个实施例重点说明的都是与其它实施例的不同之处,各个实施例之间相同或相似部分互相参见即可。对于实施例公开的装置而言,由于其与实施例公开的方法相对应,所以描述的比较简单,相关之处参见方法部分说明即可。
[0136]
最后,还需要说明的是,在本文中,诸如第一和第二等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。而且,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个
……”
限定的要素,并不排除在包括所述要素的过程、方法、物品或者设备中还存在另外的相同要素。
[0137]
以上对本发明所提供的一种相位调试方法、装置、设备及存储介质进行了详细介绍,本文中应用了具体个例对本发明的原理及实施方式进行了阐述,以上实施例的说明只
是用于帮助理解本发明的方法及其核心思想;同时,对于本领域的一般技术人员,依据本发明的思想,在具体实施方式及应用范围上均会有改变之处,综上所述,本说明书内容不应理解为对本发明的限制。

技术特征:
1.一种相位调试方法,其特征在于,包括:通过硬件平台向电脑端发送用于执行检查网络是否连通命令的数据包,以得到第一执行结果;当所述第一执行结果为失败时,通过所述电脑端的网络封包分析软件判断所述硬件平台的目标侧是否成功发送或接收所述数据包;若所述目标侧未成功发送或接收所述数据包,则通过预设相位调整方法调整所述目标侧的发送或接收时钟相位,以得到调整后时钟相位;基于所述调整后时钟相位重新执行所述检查网络是否连通命令,以得到第二执行结果,并当所述第二执行结果为成功时结束调试。2.根据权利要求1所述的相位调试方法,其特征在于,所述通过硬件平台向电脑端发送用于执行检查网络是否连通命令的数据包,以得到第一执行结果之前,还包括:将基板管理控制器的代码移植至现场可编程门阵列,以便通过所述现场可编程门阵列的软件工具进行代码综合操作以及布局布线操作,得到数据流文件;通过所述现场可编程门阵列的下载器将所述数据流文件烧录至flash芯片。3.根据权利要求2所述的相位调试方法,其特征在于,所述通过硬件平台向电脑端发送用于执行检查网络是否连通命令的数据包,以得到第一执行结果,包括:通过所述硬件平台向所述电脑端发送用于执行所述检查网络是否连通命令的所述数据包,以便所述电脑端执行所述检查网络是否连通命令进行测试,得到检查网络是否连通打印;基于所述检查网络是否连通打印确定所述第一执行结果。4.根据权利要求3所述的相位调试方法,其特征在于,所述当所述第一执行结果为失败时,通过所述电脑端的网络封包分析软件判断所述硬件平台的目标侧是否成功发送或接收所述数据包,包括:当所述第一执行结果为失败时,将发送侧确定为所述目标侧,并判断所述电脑端是否发送地址解析协议响应包;若所述电脑端未发送所述地址解析协议响应包,则获取所述电脑端的所述物理地址;其中,所述物理地址为通过所述硬件平台向所述电脑端发送地址解析协议请求包后得到的地址;判断所述电脑端的所述物理地址与所述基板管理控制器的所述物理地址是否一致;若不一致则判定所述硬件平台的所述发送侧未成功发送所述数据包;相应的,所述基于所述调整后时钟相位重新执行所述检查网络是否连通命令,以得到第二执行结果之后,还包括:当所述第二执行结果为失败时,将接收侧确定为所述目标侧,并重新进入所述通过所述电脑端的网络封包分析软件判断所述硬件平台的目标侧是否成功发送或接收所述数据包的步骤。5.根据权利要求4所述的相位调试方法,其特征在于,所述通过预设相位调整方法调整所述目标侧的发送或接收时钟相位,以得到调整后时钟相位之前,还包括:获取所述目标侧的相位调整值,并基于所述相位调整值以及总的相位值确定调整步进;
获取时钟周期,并基于所述时钟周期以及所述相位调整值计算时钟步进;确定当前器件对应的精度,基于所述精度以及所述时钟周期计算调整的总次数;基于所述时钟步进以及所述精度计算每调整一次步进对应的调整所述当前器件的步进次数。6.根据权利要求5所述的相位调试方法,其特征在于,所述通过预设相位调整方法调整所述目标侧的发送或接收时钟相位,以得到调整后时钟相位,包括:当所述目标侧为所述发送侧时,利用寄存器记录所述发送侧的当前值并接收所述发送侧的最新值;判断所述当前值与所述最新值是否相等;当所述当前值与所述最新值不相等,并且所述最新值大于所述当前值时,执行相位加操作;当所述当前值与所述最新值不相等,并且所述最新值小于所述当前值时,执行相位减操作;利用所述寄存器记录所述当前值与所述最新值之间的差值;获取所述相位加操作或所述相位减操作对应的相位调整总次数,并判断所述相位调整总次数与所述差值是否相同;若所述相位调整总次数与所述差值相同,则结束相位调整操作并得到所述调整后发送时钟相位。7.根据权利要求6所述的相位调试方法,其特征在于,所述获取所述相位加操作或所述相位减操作对应的相位调整总次数,包括:当所述相位加操作或所述相位减操作执行所述步进次数时,所述相位调整总次数加1,以得到新的所述相位调整总次数。8.一种相位调试装置,其特征在于,包括:第一连通命令执行模块,用于通过硬件平台向电脑端发送用于执行检查网络是否连通命令的数据包,以得到第一执行结果;发送判断模块,用于当所述第一执行结果为失败时,通过所述电脑端的网络封包分析软件判断所述硬件平台的目标侧是否成功发送或接收所述数据包;相位调整模块,用于若所述目标侧未成功发送或接收所述数据包,则通过预设相位调整方法调整所述目标侧的发送或接收时钟相位,以得到调整后时钟相位;第二连通命令执行模块,用于基于所述调整后时钟相位重新执行所述检查网络是否连通命令,以得到第二执行结果,并当所述第二执行结果为成功时结束调试。9.一种电子设备,其特征在于,包括:存储器,用于保存计算机程序;处理器,用于执行所述计算机程序,以实现如权利要求1至7任一项所述的相位调试方法的步骤。10.一种计算机可读存储介质,其特征在于,用于存储计算机程序;其中,所述计算机程序被处理器执行时实现如权利要求1至7任一项所述的相位调试方法。

技术总结
本申请公开了一种相位调试方法、装置、设备及存储介质,涉及计算机技术领域,包括:通过硬件平台向电脑端发送用于执行检查网络是否连通命令的数据包,得到第一执行结果;当所述第一执行结果为失败,通过所述电脑端的网络封包分析软件判断所述硬件平台的目标侧是否成功发送所述数据包;若未成功发送所述数据包则通过预设相位调整方法调整所述目标侧的发送时钟相位,得到调整后发送时钟相位;基于所述调整后发送时钟相位重新执行所述检查网络是否连通命令,得到第二执行结果,当所述第二执行结果为成功时结束调试。本申请通过动态配置接口的时钟和数据相位关系,全面完整的验证芯片的功能,提高原型验证平台的适应性,缩短原型验证时间,提高效率。提高效率。提高效率。


技术研发人员:李长云 张进 陈贝
受保护的技术使用者:山东云海国创云计算装备产业创新中心有限公司
技术研发日:2023.05.12
技术公布日:2023/8/4
版权声明

本文仅代表作者观点,不代表航空之家立场。
本文系作者授权航家号发表,未经原创作者书面授权,任何单位或个人不得引用、复制、转载、摘编、链接或以其他任何方式复制发表。任何单位或个人在获得书面授权使用航空之家内容时,须注明作者及来源 “航空之家”。如非法使用航空之家的部分或全部内容的,航空之家将依法追究其法律责任。(航空之家官方QQ:2926969996)

飞行汽车 https://www.autovtol.com/

分享:

扫一扫在手机阅读、分享本文

相关推荐