CN113704045A - 一种时钟同步测试方法、系统及芯片 - Google Patents
一种时钟同步测试方法、系统及芯片 Download PDFInfo
- Publication number
- CN113704045A CN113704045A CN202110783178.8A CN202110783178A CN113704045A CN 113704045 A CN113704045 A CN 113704045A CN 202110783178 A CN202110783178 A CN 202110783178A CN 113704045 A CN113704045 A CN 113704045A
- Authority
- CN
- China
- Prior art keywords
- interface
- time
- processor
- slave
- message
- 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
Links
- 238000010998 test method Methods 0.000 title claims abstract description 11
- 238000012360 testing method Methods 0.000 claims abstract description 79
- 238000000034 method Methods 0.000 claims abstract description 50
- 238000012795 verification Methods 0.000 claims abstract description 20
- 230000004044 response Effects 0.000 claims description 33
- 230000001360 synchronised effect Effects 0.000 claims description 23
- 238000004590 computer program Methods 0.000 claims description 10
- 230000003111 delayed effect Effects 0.000 claims description 9
- 238000004806 packaging method and process Methods 0.000 claims description 5
- 230000008569 process Effects 0.000 description 19
- PZWWYAHWHHNCHO-FGHAYEPSSA-N (4r,7s,10s,13r,16s,19r)-n-[(2s,3r)-1-amino-3-hydroxy-1-oxobutan-2-yl]-19-[[(2r)-2-amino-3-phenylpropanoyl]amino]-10-(3-aminopropyl)-7-[(1r)-1-hydroxyethyl]-16-[(4-hydroxyphenyl)methyl]-13-(1h-indol-3-ylmethyl)-3,3-dimethyl-6,9,12,15,18-pentaoxo-1,2-dithia Chemical group C([C@H]1C(=O)N[C@H](CC=2C3=CC=CC=C3NC=2)C(=O)N[C@@H](CCCN)C(=O)N[C@H](C(=O)N[C@@H](C(SSC[C@@H](C(=O)N1)NC(=O)[C@H](N)CC=1C=CC=CC=1)(C)C)C(=O)N[C@@H]([C@H](O)C)C(N)=O)[C@@H](C)O)C1=CC=C(O)C=C1 PZWWYAHWHHNCHO-FGHAYEPSSA-N 0.000 description 17
- 108700040302 phenylalanyl-cyclo(cysteinyltyrosyl-tryptophyl-ornithyl-threonyl-penicillamine)threoninamide Proteins 0.000 description 17
- 238000012545 processing Methods 0.000 description 14
- 230000007246 mechanism Effects 0.000 description 11
- 238000004891 communication Methods 0.000 description 9
- 230000006870 function Effects 0.000 description 5
- 230000009471 action Effects 0.000 description 4
- 238000004458 analytical method Methods 0.000 description 4
- 238000010586 diagram Methods 0.000 description 4
- 230000006855 networking Effects 0.000 description 4
- 230000009286 beneficial effect Effects 0.000 description 2
- 230000008859 change Effects 0.000 description 2
- 230000003993 interaction Effects 0.000 description 2
- 238000004088 simulation Methods 0.000 description 2
- 230000002159 abnormal effect Effects 0.000 description 1
- 238000003491 array Methods 0.000 description 1
- 230000005540 biological transmission Effects 0.000 description 1
- 238000011161 development Methods 0.000 description 1
- 238000005516 engineering process Methods 0.000 description 1
- 230000006872 improvement Effects 0.000 description 1
- 238000009434 installation Methods 0.000 description 1
- 230000002452 interceptive effect Effects 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000003287 optical effect Effects 0.000 description 1
- 230000002093 peripheral effect Effects 0.000 description 1
- 238000003672 processing method Methods 0.000 description 1
- 239000004065 semiconductor Substances 0.000 description 1
- 230000001960 triggered effect Effects 0.000 description 1
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/22—Detection or location of defective computer hardware by testing during standby operation or during idle time, e.g. start-up testing
- G06F11/26—Functional testing
- G06F11/273—Tester hardware, i.e. output processing circuits
- G06F11/2733—Test interface between tester and unit under test
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/22—Detection or location of defective computer hardware by testing during standby operation or during idle time, e.g. start-up testing
- G06F11/2205—Detection or location of defective computer hardware by testing during standby operation or during idle time, e.g. start-up testing using arrangements specific to the hardware being tested
- G06F11/2236—Detection or location of defective computer hardware by testing during standby operation or during idle time, e.g. start-up testing using arrangements specific to the hardware being tested to test CPU or processors
Abstract
本申请提供了一种时钟同步测试方法、系统及芯片,该方法应用于芯片验证平台上的被测芯片中,所述被测芯片包括处理器和多个接口,所述被测芯片的多个接口之间通过外接的虚拟网桥进行通信;在单台被测芯片上执行时钟同步测试流程,处理器利用被测芯片上的主接口和从接口以及连接被测芯片的接口的虚拟网桥来实施时钟同步测试流程。这样,不仅简化了测试流程而且可以方便快捷的完成时钟同步测试,同时不需要过多设备的参与,也不需要人工替换设备连线,操作更方便。
Description
技术领域
本申请涉及半导体技术领域,尤其涉及一种时钟同步测试方法、系统及芯片。
背景技术
PTP(Precise Time Protocol,精确时间协议)是一种基于IEEE 1588协议的时间同步协议,用于设备间高精度的相位同步和频率同步。相比NTP(Network Time Protocol,网络时间协议),PTP能够满足更高精度的时间同步要求,其时间同步精度可达到亚微秒甚至纳秒级,可满足各种组网环境下高精度的时间同步要求。
IEEE 1588工作机制主要分为建立主从秩序和进行时钟同步两部分;网络中各节点通过“最佳主时钟算法(Best Master Clock Algorithm,BMC)”选出祖母时钟(Grandmother Clock,GM)、主时钟(Master Clock)和从时钟(Slave Clock)。祖母时钟的精度最高,主时钟次之,从时钟最低。低等级的时钟向高等级的时钟通过握手机制进行同步报文交互,遵循从时钟的网络节点通过提取同步报文中携带的时间戳,计算出路径时延(Delay)和主时钟的误差(Offset),如此完成时钟域内网络节点的时间同步。
现有技术在进行时钟同步测试时,采用被测芯片(DUT)和支持1588功能的验证分析设备Paraon-X两个组件进行时钟同步测试,但是该验证分析设备需要复杂的安装步骤且上手困难,即使具备1588相关原理知识,仍需要花大量时间熟悉软件使用及环境搭建;此外,该验证分析设备切换Master和Slave角色时需要人工替换设备连线,不利于远程操作;而且该验证分析设备未提供收发时间显式表示,不便于用户观测。
因此,如何方便快捷地进行时钟同步测试是值得考虑的技术问题之一。
发明内容
有鉴于此,本申请提供一种时钟同步测试方法、系统及芯片,用以方便快捷地进行时钟同步测试。
具体地,本申请是通过如下技术方案实现的:
根据本申请的第一方面,提供一种时钟同步测试方法,应用于芯片验证平台上的被测芯片中,所述被测芯片包括处理器和多个接口,所述被测芯片的多个接口之间通过外接的虚拟网桥进行通信;所述方法,包括:
所述处理器在构造同步报文后,通过所述多个接口中的主接口连接的虚拟网桥将所述同步报文发送给所述多个接口中的从接口,以及将所述主接口发送所述同步报文的第一时间通过所述主接口连接的虚拟网桥发送给所述从接口,以使所述从接口将接收到所述同步报文的第二时间发送给所述处理器;
所述处理器在获取到所述第一时间后,构造延迟请求报文;以及通过所述从接口连接的虚拟网桥将所述延迟请求报文发送给所述主接口,并获取所述从接口发送所述延迟请求报文的第三时间,以使所述主接口将接收到所述延迟请求报文的第四时间发送给所述处理器;
所述处理器在接收到所述第四时间后,将所述第四时间封装到延迟请求响应报文中;并通过所述主接口连接的虚拟网桥将所述延迟请求响应报文发送给所述从接口,以使所述从接口将所述延迟请求响应报文转发给所述处理器;
所述处理器从所述延迟请求响应报文中解析出所述第四时间;并根据所述第一时间、所述第二时间、所述第三时间和所述第四时间,分别计算时钟偏差和平均路径时延;根据所述时钟偏差和平均路径时延,确定所述被测芯片的时钟同步测试结果。
根据本申请的第二方面,提供一种时钟同步测试系统,包括芯片验证平台和虚拟网桥,所述芯片验证平台上运行有被测芯片,所述被测芯片包括处理器和多个接口,所述被测芯片的多个接口之间通过外接的虚拟网桥进行通信,其中:
所述处理器,用于在构造同步报文后,将所述同步报文发送给所述多个接口中的主接口,以及将所述主接口发送所述同步报文的第一时间通过所述主接口连接的虚拟网桥发送给所述从接口;
所述主接口,用于将所述同步报文通过与其连接的虚拟网桥发送给所述多个接口中的从接口;
所述从接口,用于将接收到所述同步报文的第二时间发送给所述处理器;
所述处理器,还用于在获取到所述第一时间后,构造延迟请求报文;将所述延迟请求报文发送给所述从接口;并获取所述从接口发送所述延迟请求报文的第三时间;
所述从接口,还用于通过所述从接口连接的虚拟网桥将所述延迟请求报文发送给所述主接口;
所述主接口,还用于将接收到所述延迟请求报文的第四时间发送给所述处理器;
所述处理器,还用于在接收到所述第四时间后,将所述第四时间封装到延迟请求响应报文中;并将所述延迟请求响应报文发送给所述主接口;
所述主接口,还用于通过所述主接口连接的虚拟网桥将所述延迟请求响应报文发送给所述从接口;
所述从接口,还用于将所述延迟请求响应报文转发给所述处理器;
所述处理器,还用于从所述延迟请求响应报文中解析出所述第四时间;并根据所述第一时间、所述第二时间、所述第三时间和所述第四时间,分别计算时钟偏差和平均路径时延;根据所述时钟偏差和平均路径时延,确定所述被测芯片的时钟同步测试结果。
可选地,所述处理器,具体用于获取所述第一时间;将获取到的第一时间封装到跟随报文中,并发送给所述主接口;
所述主接口,具体用于通过所述主接口连接的虚拟网桥将所述跟随报文发送给所述从接口。
可选地,所述被测芯片还包括串口;则
所述处理器,还用于通过所述串口输出展示所述第一时间、所述第二时间、所述第三时间和所述第四时间。
可选地,所述处理器,具体用于查询接口表分别确定主接口和从接口,所述接口表包括所述多个接口的接口信息;所述主接口与所述从接口是所述多个接口中的两个接口。
可选地,所述处理器,具体用于查询主接口表确定所述多个接口中的主接口;以及查询从接口表确定所述多个接口中的从接口;
其中,所述主接口表和所述从接口表为基于所述被测芯片上的接口的接口信息生成的;所述主接口表中的接口信息与所述从接口表中的接口信息不相同。
根据本申请的第三方面,提供一种芯片,包括处理器和机器可读存储介质,机器可读存储介质存储有能够被处理器执行的计算机程序,处理器被计算机程序促使执行本申请实施例第一方面所提供的方法。
根据本申请的第四方面,提供一种机器可读存储介质,机器可读存储介质存储有计算机程序,在被处理器调用和执行时,计算机程序促使处理器执行本申请实施例第一方面所提供的方法。
本申请实施例的有益效果:
在单台被测芯片上执行时钟同步测试流程,处理器利用被测芯片上的主接口和从接口以及连接被测芯片的接口的虚拟网桥来实施时钟同步测试流程,这样,不仅简化了测试流程而且可以方便快捷的完成时钟同步测试,同时不需要过多设备的参与,也不需要人工替换设备连线,操作更方便。
附图说明
图1是本申请实施例提供的一种时钟同步测试系统的结构示意图;
图2是本申请实施例提供的一种时钟同步测试方法的流程图;
图3是本申请实施例提供的时钟同步测试的逻辑交互图;
图4是本申请实施例提供的另一种时钟同步测试方法的流程示意图;
图5是本申请实施例提供的芯片的硬件结构示意图。
具体实施方式
这里将详细地对示例性实施例进行说明,其示例表示在附图中。下面的描述涉及附图时,除非另有表示,不同附图中的相同数字表示相同或相似的要素。以下示例性实施例中所描述的实施方式并不代表与本申请相一致的所有实施方式。相反,它们仅是与如本申请的一些方面相一致的装置和方法的例子。
在本申请使用的术语是仅仅出于描述特定实施例的目的,而非旨在限制本申请。在本申请中所使用的单数形式的“一种”、“所述”和“该”也旨在包括多数形式,除非上下文清楚地表示其他含义。还应当理解,本文中使用的术语“和/或”是指并包含一个或多个相对应的列出项目的任何或所有可能组合。
应当理解,尽管在本申请可能采用术语第一、第二、第三等来描述各种信息,但这些信息不应限于这些术语。这些术语仅用来将同一类型的信息彼此区分开。例如,在不脱离本申请范围的情况下,第一信息也可以被称为第二信息,类似地,第二信息也可以被称为第一信息。取决于语境,如在此所使用的词语“如果”可以被解释成为“在……时”或“当……时”或“响应于确定”。
在介绍本申请提供的时钟同步测试方法之前,先对本申请涉及的技术术语进行介绍:
时钟偏差,为主时钟与从时钟之间存在的时间偏差,用offset表示。
平均路径延时,是指报文在网络中传输带来的延时,用Delay表示。
下面对本申请提供的时钟同步处理方法进行详细地说明。
参见图1,图1是本申请提供的一种时钟同步测试系统的结构示意图,该系统包括芯片验证平台和虚拟网桥,芯片验证平台上运行有被测芯片,该被测芯片包括处理器和多个接口,上述被测芯片的多个接口之间通过外接的虚拟网桥进行通信,其中:被测芯片可以按照图2所示的流程实施时钟同步测试方法,可以包括如下所示步骤:
S201、处理器在构造同步报文后,将同步报文发送给多个接口中的主接口,以及将主接口发送同步报文的第一时间通过主接口连接的虚拟网桥发送给多个接口中的从接口。
本步骤中,对于被测芯片的芯片测试环节,比较关注的是被测芯片对PTP报文的处理流程和时间戳的准确度,基于此,本实施例将时钟域进行简化处理,将时钟同步流程精简到单台设备(单个被测芯片)的不同接口之间进行时钟同步。也就是说,本实施例中的处理器即充当主节点也充当从节点,具体实现时,可以在处理器中配置主时钟的处理机制和从时钟的处理机制,以执行时钟同步测试流程。基于此原理,在需要测试被测芯片的时钟同步功能时,会启用上述两种机制,然后由被测芯片的处理器作为主用角色来执行时钟同步测试流程,即,处理器会构造一个同步报文,也称Sync报文,然后将该同步报文发送给该被测芯片的多个接口中的主接口;此外,为了能够完成时钟同步测试,按照时钟同步测试原理,还需要向从时钟发送同步报文的发送时间,为此,本申请采用下述方法实现:处理器将主接口发送该同步报文的第一时间同步给从接口,以使从接口将上述第一时间发送给处理器,由此实现了第一时间到达处理器,此时执行从时钟的处理机制的处理器会记录该第一时间。
可选地,上述同步报文是由定时器触发的,当定时器的定时时间到达时,表明处理器开始执行一次时钟同步测试,即通过执行图2所示的流程完成一次从时钟向主时钟的同步测试过程。
可选地,一种实施例中,处理器可以按照下述方法确定主接口和从接口:查询接口表确定主接口和从接口。
具体地,处理器可以维护一张接口表,即基于被测芯片的所有接口的接口信息创建接口表,然后可以利用哈希算法计算报文的哈希值,然后基于哈希值匹配接口表,以确认报文的出接口的接口信息,确定出的出接口即为主接口。同理,也可以通过查询接口表来确定出从接口。
另一种实施例中,处理器还可以按照下述过程确定主接口和从接口:查询主接口表确定多个接口中的主接口;以及查询从接口表确定多个接口中的从接口。
具体地,处理器还可以维护一张主接口表和从接口表,即,将被测芯片的所有接口中充当主接口的接口的接口信息构成一张主接口表,同理,将被测芯片的所有接口中充当从接口的接口的接口信息构成一张从接口表,需要说明的是,主接口表和从接口表中的接口不相同。基于此,在生成报文(同步报文、跟随报文、延迟请求报文或延迟请求响应报文)后,可以基于哈希计算出一个哈希值,然后利用该哈希值去匹配主接口表或从接口表,从而可以确定出本次发送报文的主接口或从接口。
值得注意的是,在一次时钟同步测试流程中,主接口与从接口是两个不同的接口,而且在按照上述任一方式确定出主接口和从接口后,确定出的这两个接口可以通过虚拟网桥相互通信。
需要说明的是,由于主接口和从接口分别为多个接口中的一个,而多个接口之间通过虚拟网桥进行通信,也就是说任一对接口形成的一条通路中,由该对接口与虚拟网桥的两侧相连来实现,这样一来,当进行时钟同步测试处理器从多个接口中选中主接口时,该主接口所对应通路中的另一接口则记为从接口。实际应用中,可能会使用多对接口来执行时钟同步测试流程,相应地,在每次执行一次时钟同步测试流程时,则所使用的一对接口分别为主接口和从接口。
在此基础上,处理器在发送第一时间时,可以但不限于按照下述两种实施例实施:
一种实施例中,上述主接口发送同步报文的第一时间可以携带在同步报文中,然后随着同步报文发送给从接口。
具体地,主接口中具有捕获时间的接口逻辑,当主接口转发接收到的同步报文时,该接口逻辑可以将当前时间戳(也即第一时间)添加到同步报文中,然后通过主接口连接的虚拟网桥将添加了第一时间的同步报文发送给从接口。
另一种实施例中,处理器可以按照下述过程执行将主接口发送同步报文的第一时间通过主接口连接的虚拟网桥发送给从接口:获取所述第一时间;将获取到的第一时间封装到跟随报文中,并发送给主接口;由主接口通过主接口连接的虚拟网桥将跟随报文发送给从接口。
具体地,主接口在利用接口逻辑捕获到第一时间后,可以将第一时间返回给处理器,处理器接收到第一时间后,可以构造跟随报文,也称Follow_up报文,然后将第一时间封装到跟随报文中,然后将跟着报文发送给主接口;这样主接口接收到跟随报文后,就可以通过与其连接的虚拟网桥将跟随报文发送给从接口,进而到达处理器。
S202、主接口将同步报文通过与其连接的虚拟网桥发送给多个接口中的从接口。
本步骤中,主接口接收到处理器发送的同步报文后,会通过该主接口连接的虚拟网桥将同步报文对外发送;而虚拟网桥的作用是建立两个接口之间的连接,当以此实现报文的成功发送即回传。基于此描述,当虚拟网桥的一侧的主接口发送同步报文后,而虚拟网桥的另一侧与被测芯片的接口作为从接口会接收到主接口发送的同步报文。
S203、从接口将接收到同步报文的第二时间发送给处理器。
本步骤中,从接口中也配置有捕获时间的接口逻辑,当从接口在接收到同步报文后,该接口逻辑会捕获到从接口接收到同步报文的第二时间,然后将该第二时间发送给处理器,此时执行从时钟的处理机制的处理器会记录该第二时间,具体可以将第二时间携带在同步报文中发送给处理器。
S204、处理器在获取到第一时间后,构造延迟请求报文;将延迟请求报文发送给从接口;并获取从接口发送延迟请求报文的第三时间。
本步骤中,当第一时间携带在同步报文中时,处理器可以从同步报文中解析出第一时间;而当第一时间携带在跟随报文中时,处理器可以从跟随报文中解析出第一时间。处理器在获取到第一时间后,就可以构造延迟请求报,也称Delay_Req报文,然后将延迟请求报文发送给从接口。这样从接口接收到延迟请求报文后,在向主接口发送延迟请求报文的时候,从接口中的接口逻辑会捕获到延迟请求报文的发送时间,即第三时间,然后从接口可以通过接口逻辑将第三时间发送给处理器,此时执行从时钟的处理机制的处理器会记录该第三时间。
S205、从接口通过从接口连接的虚拟网桥将延迟请求报文发送给主接口。
S206、主接口将接收到延迟请求报文的第四时间发送给处理器。
本步骤中,主接口接收到从接口通过虚拟网桥发送的延迟请求报文后,会利用其内的接口逻辑捕获延迟请求报文的接收时间,也即第四时间,然后将第四时间发送给处理器。具体地,主接口可以将第四时间携带在延迟请求报文中发送给处理器,以使处理器从延迟请求报文中解析出上述第四时间。
S207、处理器在接收到第四时间后,将第四时间封装到延迟请求响应报文中;并将延迟请求响应报文发送给主接口。
本步骤中,当处理器获取到第四时间后,可以将第四时间封装到延迟请求响应报文(也称Delay_Resp报文)中并发送给主接口。
S208、主接口通过主接口连接的虚拟网桥将延迟请求响应报文发送给从接口。
S209、从接口将延迟请求响应报文转发给处理器。
S210、处理器从延迟请求响应报文中解析出第四时间;并根据第一时间、第二时间、第三时间和第四时间,分别计算时钟偏差和平均路径时延;根据时钟偏差和平均路径时延,确定被测芯片的时钟同步测试结果。
本步骤中,当处理器接收到延迟请求响应报文后,就可以从延迟请求响应报文中解析出第四时间并进行记录;然后执行从时钟处理机制的处理器就可以基于记录的第一时间、第二时间、第三时间和第四时间来计算时钟偏差和平均路径时延。具体可以按照下述两个公式计算时钟偏差Offset和平均路径时延Delay:
上述两个公式中,t1用于表示第一时间,t2用于表示第二时间,t3用于表示第三时间,t4用于表示第四时间。
由此可以按照上述两个公式确定出本次时钟同步测试得到的时钟偏差Offset和平均路径时延Delay。然后基于这两个数值来判断被测芯片的时钟同步性能。由于本申请采用的时钟同步测试流程是在被测芯片上单独实施的,也即在一个RTC时钟下,理论上来说,Offset数值应该相对较小;此外,数据报文链路只通过了一个虚拟网桥Bridge,Delay数值也应该较小。则基于此原理,如果获得的时钟偏差的数值相对较小,且Ddelay数值相对较小,则表明被测芯片的时钟同步性能正常,即测试结果为测试通过;如果任一数值比较大,则表明被测芯片的时钟同步性能存在异常,测试结果不通过,需要调整被测芯片的时钟同步实现逻辑。
需要说明的是,执行主时钟的处理逻辑和从时钟的处理逻辑的处理器在后续的报文处理流程中,可以通过报文类型进行区分,这样就可以控制主和从两种处理逻辑的并存。
进一步地,可以利用图2所示的方法,获得多组数据(第一时间、第二时间、第三时间和第四时间),分别计算各组的时钟偏差和平均路径时延;然后分析多组时间的变化规律,以展示给用户,由用户分析被测芯片的时钟同步性能。
需要说明的是,本申请中的被测芯片是集成在芯片仿真验证平台中,相应地,虚拟网桥也是通过逻辑实现的,因此,虚拟网桥两侧连接的主接口和从接口可以动态变更,只需要修改代码就能够实现,灵活可控,可以按需所以切换主接口和从接口,无需更换设备连线,只需要通过修改接口表即可实现。
此外,本申请提供的时钟测试方法在仿真验证平台即可实现,而且只需在被测芯片上单独实施,组网简单且节约成本。
可选地,被测芯片还包括串口,也请参考图1所示,该串口可以由处理器控制;在此基础上,本实施例提供的时钟同步测试方法,还可以包括:处理器通过串口输出展示第一时间、第二时间、第三时间和第四时间。
具体地,通过上述串口uart,处理器可以将第一~第四时间,以及时钟偏差和平均路径时延进行输出展示。以便用户更直观的观测及分析。
此外,被测芯片可以通过串口uart与串口服务器uart_server相连,也请参考图1所示,以通过uart_server与外部交互,进而执行其他操作。例如对被测芯片的数据逻辑进行控制和输出展示等等。
可选地,被测芯片还包括PCIE接口,可以通过PCIE接口与Linux_Server相连,也请参考图1所示,该Linux_Server上运行有与被测芯片验证相关的软件工具开发部(SDK),用于为芯片验证平台提供控制环境。例如,Linux_Server通过PCIE接口对被测芯片进行控制。
可选地,上述被测芯片中的处理器可以但不限于为芯片内部微处理器等。此外,与被测芯片连接的虚拟网桥包括两侧接口,一侧的接口与被测芯片的接口相连,另一侧为GE光口,可以连接外接设备进行组网或者连接其他测试分析仪以进行其他操作。
可选地,上述芯片验证平台可以但不限于为EMU(Emulation)或FPGA(现场可编程门阵列)平台。
通过实施本申请提供的时钟同步测试方法,在单台被测芯片上执行时钟同步测试流程,处理器利用被测芯片上的主接口和从接口以及连接被测芯片的接口的虚拟网桥来实施时钟同步测试流程,这样,不仅简化了测试流程而且不需要过多设备的参与,同时也不需要人工替换设备连线,操作更方便。
为例更好地理解本实施例,以图3所示的流程描述本申请实施例提供的时钟同步测试方法,其中,将第一时间记为t1,第二时间记为t2,第三时间记为t3,第四时间记为t4。处理器为CTOP,CTOP通过查主接口表选择的主接口(Master)为接口0,记为EMU-port0,通过查找从接口表选择出的从接口(Slave)为接口1,记为EMU-port1。则可以按照下述过程实施时钟同步测试:
步骤1:CTOP通过定时器timer定时触发构造Sync报文,然后查找主接口表决定主接口(接口0)的接口标识,并将Sync报文发往该主接口(接口0);
步骤2:主接口(接口0)在接收到Sync报文时,会打上当前时戳,也称第一时间t1,主接口上的接口逻辑将t1返回CTOP,同时将Sync报文送出被测芯片,即,将Sync报文通过与主接口连接的虚拟网桥Bridge环回进入从接口(接口1);
步骤3:CTOP将t1封装到Follow-up报文中,通过查表决定出接口(接口0)并发送,通过虚拟网桥Bridge环回进入从接口;
步骤4:从接口收到Sync报文时会记录接收时戳,也即第二时间t2,然后将同步报文和t2发给CTOP,以使CTOP进行t2的记录缓存;
步骤5:CTOP收到Follow-up报文,取出t1并进行t1的记录缓存;
步骤6:CTOP在获取到t1后,构造Delay_Req报文,通过查从接口表决定Delay_Req报文的出接口(从接口)并将Delay_Req报文发送给从接口;
步骤7:从接口收到Delay_Req报文时会打上当前时戳,也即第三时间t3,从接口中的接口逻辑会将t3返回给CTOP,同时将Delay_Req报文对外发送,通过虚拟网桥Bridge环回进入主接口。
步骤8:当Delay_Req报文进入主接口时,主接口会打上当前时戳,即第四时间t4,然后将t4与Delay_Req报文一同送至CTOP;
步骤9:CTOP构造延迟请求响应报文(Delay_Resp报文),会将t4携带在Delay_Resp报文中发送给主接口,以使通过主接口连接的虚拟网桥Bridge环回进入从接口,进而使得从接口将Delay_Resp报文返回至CTOP;
步骤10:CTOP收到Delay_Resp报文,会取出t4。至此完成一次PTP交互流程,CTOP获取的t1、t2、t3、t4四个时间;
步骤11:CTOP通过Uart可以将上述四个时间进行输出显示,并计算Delay和Offset,进而分析本次时钟同步测试结果。
需要说明的是,步骤3和步骤5不是必须要执行的,例如当将t1携带在Sync报文中,则不需要执行步骤3和步骤5。
值得注意的是,在CTOP中可以启用两个线程,分别记为主用线程和备用线程,然后由主用线程执行主时钟的处理机制,由备用线程执行从时钟的处理机制。例如,结合图2所示的流程,由主用线程执行步骤S201和S207,由备用线程执行步骤S204和S210。再比如,结合图3所示的流程,由主用线程执行步骤1、步骤3和步骤9,由备用线程执行步骤5、步骤6、步骤10和步骤11。
由此,通过实施上述任一实施例提供的时钟同步测试流程,实现了在单台被测芯片上实现时钟同步功能的验证,而且简化了组网环境和节约了设备成本。此外,通过查接口表可以实现主接口和从接口的灵活切换,且实现了时钟同步测试流程的自动化实施,有效提高了验证效率;再者,通过串口可以打印输出时钟同步测试涉及的时间,使得用户可以更直观的观测和评估测试结果。
基于同一发明构思,本申请还提供了一种被测芯片实施的时钟同步测试方法,参考图4所示,可以包括以下步骤:
S401、处理器在构造同步报文后,通过多个接口中的主接口连接的虚拟网桥将同步报文发送给多个接口中的从接口,以及将主接口发送同步报文的第一时间通过主接口连接的虚拟网桥发送给从接口,以使从接口将接收到同步报文的第二时间发送给处理器。
S402、处理器在获取到第一时间后,构造延迟请求报文;以及通过从接口连接的虚拟网桥将延迟请求报文发送给主接口,并获取从接口发送延迟请求报文的第三时间,以使主接口将接收到延迟请求报文的第四时间发送给处理器。
S403、处理器在接收到第四时间后,将第四时间封装到延迟请求响应报文中;并通过主接口连接的虚拟网桥将延迟请求响应报文发送给从接口,以使从接口将延迟请求响应报文转发给处理器。
S404、处理器从延迟请求响应报文中解析出第四时间;并根据第一时间、第二时间、第三时间和第四时间,分别计算时钟偏差和平均路径时延;根据时钟偏差和平均路径时延,确定被测芯片的时钟同步测试结果。
通过实施上述方法,处理器利用被测芯片上的主接口和从接口以及连接被测芯片的接口的虚拟网桥来实施时钟同步测试流程,这样,不仅简化了测试流程而且可以方便快捷的完成时钟同步测试,同时不需要过多设备的参与,也不需要人工替换设备连线,操作更方便且提高了验证效率。
可选地,上述第一时间可以携带在同步报文中。
可选地,处理器将所述主接口发送所述同步报文的第一时间通过所述主接口连接的虚拟网桥发送给所述从接口,包括:处理器获取所述第一时间;将获取到的第一时间封装到跟随报文中,并通过主接口连接的虚拟网桥将跟随报文发送给从接口。
可选地,上述主接口和从接口为处理器通过查询接口表分别确定出的,接口表包括多个接口的接口信息;主接口与从接口是多个接口中的两个接口。
可选地,上述主接口为通过查询主接口表确定出的,从接口为通过查询从接口表确定出的,其中,主接口表和从接口表为基于被测芯片上的接口的接口信息生成的;主接口表中的接口信息与从接口表中的接口信息不相同。
可选地,上述被测芯片还包括串口;则本申请提供的方法,还包括:
处理器通过上述串口输出展示上述第一时间、上述第二时间、上述第三时间和上述第四时间。
基于同一发明构思,本申请实施例提供了一种芯片,如图5所示,包括处理器501和机器可读存储介质502,机器可读存储介质502存储有能够被处理器501执行的计算机程序,处理器501被计算机程序促使执行本申请任一实施例所提供的时钟同步测试方法。此外,该芯片还包括通信接口503和通信总线504,其中,处理器501,通信接口503,机器可读存储介质502通过通信总线504完成相互间的通信。
上述芯片提到的通信总线可以是外设部件互连标准(Peripheral ComponentInterconnect,PCI)总线或扩展工业标准结构(Extended Industry StandardArchitecture,EISA)总线等。该通信总线可以分为地址总线、数据总线、控制总线等。为便于表示,图中仅用一条粗线表示,但并不表示仅有一根总线或一种类型的总线。
通信接口用于上述芯片与其他设备之间的通信,本申请中通信接口用于与虚拟网桥连接,实现报文的发送及回环。
存储器可以包括随机存取存储器(Random Access Memory,RAM)、DDR SRAM(Double Data Rate Synchronous Dynamic Random Access Memory,双倍速率同步动态随机存储器),也可以包括非易失性存储器(Non-Volatile Memory,NVM),例如至少一个磁盘存储器。可选的,存储器还可以是至少一个位于远离前述处理器的存储装置。
上述的处理器可以是通用处理器,包括中央处理器(Central Processing Unit,CPU)、网络处理器(Network Processor,NP)等;还可以是数字信号处理器(Digital SignalProcessor,DSP)、专用集成电路(Application Specific Integrated Circuit,ASIC)、现场可编程门阵列(Field-Programmable Gate Array,FPGA)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件。
另外,本申请实施例提供了一种机器可读存储介质,机器可读存储介质存储有计算机程序,在被处理器调用和执行时,计算机程序促使处理器执行本申请实施例所提供的时钟同步测试方法。
对于芯片以及机器可读存储介质实施例而言,由于其涉及的方法内容基本相似于前述的方法实施例,所以描述的比较简单,相关之处参见方法实施例的部分说明即可。
需要说明的是,在本文中,诸如第一和第二等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。而且,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括所述要素的过程、方法、物品或者设备中还存在另外的相同要素。
上述装置中各个单元/模块的功能和作用的实现过程具体详见上述方法中对应步骤的实现过程,在此不再赘述。
对于装置实施例而言,由于其基本对应于方法实施例,所以相关之处参见方法实施例的部分说明即可。以上所描述的装置实施例仅仅是示意性的,其中所述作为分离部件说明的单元/模块可以是或者也可以不是物理上分开的,作为单元/模块显示的部件可以是或者也可以不是物理单元/模块,即可以位于一个地方,或者也可以分布到多个网络单元/模块上。可以根据实际的需要选择其中的部分或者全部单元/模块来实现本申请方案的目的。本领域普通技术人员在不付出创造性劳动的情况下,即可以理解并实施。
以上所述仅为本申请的较佳实施例而已,并不用以限制本申请,凡在本申请的精神和原则之内,所做的任何修改、等同替换、改进等,均应包含在本申请保护的范围之内。
Claims (12)
1.一种时钟同步测试方法,其特征在于,应用于芯片验证平台上的被测芯片中,所述被测芯片包括处理器和多个接口,所述被测芯片的多个接口之间通过外接的虚拟网桥进行通信;所述方法,包括:
所述处理器在构造同步报文后,通过所述多个接口中的主接口连接的虚拟网桥将所述同步报文发送给所述多个接口中的从接口,以及将所述主接口发送所述同步报文的第一时间通过所述主接口连接的虚拟网桥发送给所述从接口,以使所述从接口将接收到所述同步报文的第二时间发送给所述处理器;
所述处理器在获取到所述第一时间后,构造延迟请求报文;以及通过所述从接口连接的虚拟网桥将所述延迟请求报文发送给所述主接口,并获取所述从接口发送所述延迟请求报文的第三时间,以使所述主接口将接收到所述延迟请求报文的第四时间发送给所述处理器;
所述处理器在接收到所述第四时间后,将所述第四时间封装到延迟请求响应报文中;并通过所述主接口连接的虚拟网桥将所述延迟请求响应报文发送给所述从接口,以使所述从接口将所述延迟请求响应报文转发给所述处理器;
所述处理器从所述延迟请求响应报文中解析出所述第四时间;并根据所述第一时间、所述第二时间、所述第三时间和所述第四时间,分别计算时钟偏差和平均路径时延;根据所述时钟偏差和平均路径时延,确定所述被测芯片的时钟同步测试结果。
2.根据权利要求1所述的方法,其特征在于,所述第一时间携带在所述同步报文中。
3.根据权利要求1所述的方法,其特征在于,所述处理器将所述主接口发送所述同步报文的第一时间通过所述主接口连接的虚拟网桥发送给所述从接口,包括:
所述处理器获取所述第一时间;
将获取到的第一时间封装到跟随报文中,并通过所述主接口连接的虚拟网桥将所述跟随报文发送给所述从接口。
4.根据权利要求1所述的方法,其特征在于,所述主接口和所述从接口为所述处理器通过查询接口表分别确定出的,所述接口表包括所述多个接口的接口信息;所述主接口与所述从接口是所述多个接口中的两个接口。
5.根据权利要求1所述的方法,其特征在于,所述主接口为通过查询主接口表确定出的,所述从接口为通过查询从接口表确定出的,其中,所述主接口表和所述从接口表为基于所述被测芯片上的接口的接口信息生成的;所述主接口表中的接口信息与所述从接口表中的接口信息不相同。
6.根据权利要求1所述的方法,其特征在于,所述被测芯片还包括串口;则所述方法,还包括:
所述处理器通过所述串口输出展示所述第一时间、所述第二时间、所述第三时间和所述第四时间。
7.一种时钟同步测试系统,其特征在于,包括芯片验证平台和虚拟网桥,所述芯片验证平台上运行有被测芯片,所述被测芯片包括处理器和多个接口,所述被测芯片的多个接口之间通过外接的虚拟网桥进行通信,其中:
所述处理器,用于在构造同步报文后,将所述同步报文发送给所述多个接口中的主接口,以及将所述主接口发送所述同步报文的第一时间通过所述主接口连接的虚拟网桥发送给所述多个接口中的从接口;
所述主接口,用于将所述同步报文通过与其连接的虚拟网桥发送给所述从接口;
所述从接口,用于将接收到所述同步报文的第二时间发送给所述处理器;
所述处理器,还用于在获取到所述第一时间后,构造延迟请求报文;将所述延迟请求报文发送给所述从接口;并获取所述从接口发送所述延迟请求报文的第三时间;
所述从接口,还用于通过所述从接口连接的虚拟网桥将所述延迟请求报文发送给所述主接口;
所述主接口,还用于将接收到所述延迟请求报文的第四时间发送给所述处理器;
所述处理器,还用于在接收到所述第四时间后,将所述第四时间封装到延迟请求响应报文中;并将所述延迟请求响应报文发送给所述主接口;
所述主接口,还用于通过所述主接口连接的虚拟网桥将所述延迟请求响应报文发送给所述从接口;
所述从接口,还用于将所述延迟请求响应报文转发给所述处理器;
所述处理器,还用于从所述延迟请求响应报文中解析出所述第四时间;并根据所述第一时间、所述第二时间、所述第三时间和所述第四时间,分别计算时钟偏差和平均路径时延;根据所述时钟偏差和平均路径时延,确定所述被测芯片的时钟同步测试结果。
8.根据权利要求7所述的系统,其特征在于,
所述处理器,具体用于获取所述第一时间;将获取到的第一时间封装到跟随报文中,并发送给所述主接口;
所述主接口,具体用于通过所述主接口连接的虚拟网桥将所述跟随报文发送给所述从接口。
9.根据权利要求7所述的系统,其特征在于,所述被测芯片还包括串口;则
所述处理器,还用于通过所述串口输出展示所述第一时间、所述第二时间、所述第三时间和所述第四时间。
10.根据权利要求7所述的系统,其特征在于,
所述处理器,具体用于查询接口表分别确定主接口和从接口,所述接口表包括所述多个接口的接口信息;所述主接口与所述从接口是所述多个接口中的两个接口。
11.根据权利要求7所述的系统,其特征在于,
所述处理器,具体用于查询主接口表确定所述多个接口中的主接口;以及查询从接口表确定所述多个接口中的从接口;
其中,所述主接口表和所述从接口表为基于所述被测芯片上的接口的接口信息生成的;所述主接口表中的接口信息与所述从接口表中的接口信息不相同。
12.一种芯片,其特征在于,包括处理器和机器可读存储介质,所述机器可读存储介质存储有能够被所述处理器执行的计算机程序,所述处理器被所述计算机程序促使执行权利要求1-6任一项所述的方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110783178.8A CN113704045B (zh) | 2021-07-12 | 2021-07-12 | 一种时钟同步测试方法、系统及芯片 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110783178.8A CN113704045B (zh) | 2021-07-12 | 2021-07-12 | 一种时钟同步测试方法、系统及芯片 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN113704045A true CN113704045A (zh) | 2021-11-26 |
CN113704045B CN113704045B (zh) | 2024-03-19 |
Family
ID=78648487
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202110783178.8A Active CN113704045B (zh) | 2021-07-12 | 2021-07-12 | 一种时钟同步测试方法、系统及芯片 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN113704045B (zh) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN117294783A (zh) * | 2023-11-24 | 2023-12-26 | 南京华芯科晟技术有限公司 | 芯片验证方法、装置和设备 |
Citations (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102104475A (zh) * | 2011-01-31 | 2011-06-22 | 上海交通大学 | 基于ieee1588的同步系统及其同步方法 |
WO2012071910A1 (zh) * | 2010-12-02 | 2012-06-07 | 中兴通讯股份有限公司 | 一种实现时间同步的方法及装置 |
CN102769908A (zh) * | 2012-07-17 | 2012-11-07 | 四川电力科学研究院 | 一种应用于电力系统保护测试设备的时间同步装置与方法 |
CN103051487A (zh) * | 2011-10-14 | 2013-04-17 | 华东电力试验研究院有限公司 | 基于电力业网络测量和控制系统时钟同步协议的测试方法 |
US20160309434A1 (en) * | 2015-04-16 | 2016-10-20 | Ixia | Methods, systems, and computer readable media for synchronizing timing among network interface cards (nics) in a network equipment test device |
US20160306726A1 (en) * | 2015-04-16 | 2016-10-20 | Ixia | Methods, systems, and computer readable media for emulating network devices with different clocks |
US20160315756A1 (en) * | 2015-04-21 | 2016-10-27 | Ixia | Methods, systems, and computer readable media for testing recovered clock quality |
CN112838903A (zh) * | 2020-12-31 | 2021-05-25 | 广东大普通信技术有限公司 | 一种时钟同步方法、设备及存储介质 |
CN112924850A (zh) * | 2021-01-27 | 2021-06-08 | 胜达克半导体科技(上海)有限公司 | 一种应用于自动测试机soc芯片并行测试切换方法 |
-
2021
- 2021-07-12 CN CN202110783178.8A patent/CN113704045B/zh active Active
Patent Citations (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2012071910A1 (zh) * | 2010-12-02 | 2012-06-07 | 中兴通讯股份有限公司 | 一种实现时间同步的方法及装置 |
CN102104475A (zh) * | 2011-01-31 | 2011-06-22 | 上海交通大学 | 基于ieee1588的同步系统及其同步方法 |
CN103051487A (zh) * | 2011-10-14 | 2013-04-17 | 华东电力试验研究院有限公司 | 基于电力业网络测量和控制系统时钟同步协议的测试方法 |
CN102769908A (zh) * | 2012-07-17 | 2012-11-07 | 四川电力科学研究院 | 一种应用于电力系统保护测试设备的时间同步装置与方法 |
US20160309434A1 (en) * | 2015-04-16 | 2016-10-20 | Ixia | Methods, systems, and computer readable media for synchronizing timing among network interface cards (nics) in a network equipment test device |
US20160306726A1 (en) * | 2015-04-16 | 2016-10-20 | Ixia | Methods, systems, and computer readable media for emulating network devices with different clocks |
US20160315756A1 (en) * | 2015-04-21 | 2016-10-27 | Ixia | Methods, systems, and computer readable media for testing recovered clock quality |
CN112838903A (zh) * | 2020-12-31 | 2021-05-25 | 广东大普通信技术有限公司 | 一种时钟同步方法、设备及存储介质 |
CN112924850A (zh) * | 2021-01-27 | 2021-06-08 | 胜达克半导体科技(上海)有限公司 | 一种应用于自动测试机soc芯片并行测试切换方法 |
Non-Patent Citations (2)
Title |
---|
刘高;金施群;: "基于IEEE1588协议的局域网精确时钟同步研究", 现代显示, no. 06, 5 June 2012 (2012-06-05), pages 14 - 18 * |
郑鸣;付蔚;: "基于NiosⅡ软核的工业以太网精确时钟同步的实现", 计算机应用与软件, no. 03, 15 March 2009 (2009-03-15), pages 32 - 33 * |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN117294783A (zh) * | 2023-11-24 | 2023-12-26 | 南京华芯科晟技术有限公司 | 芯片验证方法、装置和设备 |
CN117294783B (zh) * | 2023-11-24 | 2024-03-22 | 南京华芯科晟技术有限公司 | 芯片验证方法、装置和设备 |
Also Published As
Publication number | Publication date |
---|---|
CN113704045B (zh) | 2024-03-19 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
KR102652569B1 (ko) | 비용 최적화된 환경들에서 phy 레벨 하드웨어 타임스탬핑 및 시간 동기화의 수행 | |
JP6523589B1 (ja) | 通信装置、通信システム、通信方法および通信プログラム | |
US20100057955A1 (en) | Method and system for reducing triggering latency in universal serial bus data acquisition | |
CN106685735B (zh) | Epa片上系统、epa通信系统及通信方法 | |
AU2013204757A1 (en) | Synchronisation of a system of distributed computers | |
CN108737207A (zh) | 传输时延探测方法、设备和系统 | |
CN103117900A (zh) | 一种可配置式工业以太网数据解析系统及解析方法 | |
CN113704045B (zh) | 一种时钟同步测试方法、系统及芯片 | |
US10530562B2 (en) | Correlating local time counts of first and second integrated circuits | |
CN109471588A (zh) | 一种同步方法及设备 | |
Champion et al. | TiCkS: A flexible White-Rabbit based time-stamping board | |
US20230064647A1 (en) | Synchronization method and emulator | |
CN107066232B (zh) | 半导体设备及其操作方法 | |
Herber et al. | Design and evaluation of a low-latency avb ethernet endpoint based on arm soc | |
CN114257469A (zh) | 一种EtherCAT主站的通讯方法、装置以及介质 | |
JP2023537348A (ja) | 分散通信システムにおける同期 | |
Zhao et al. | The implementation of IEEE 1588 clock synchronization system based on FPGA | |
CN203522776U (zh) | 一种可配置式工业以太网数据解析系统 | |
US8966051B2 (en) | Technique for monitoring component processing | |
US8489943B2 (en) | Protocol sequence generator | |
Ferrari et al. | Evaluation of timing characteristics of a prototype system based on PROFINET IO RT_Class 3 | |
Liu et al. | A design and implementation of and triggering system for LXI instruments | |
TWI751466B (zh) | 時間同步方法與時間同步系統 | |
CN115529623B (zh) | 一种基带单元测试装置、方法、终端设备以及存储介质 | |
Liu et al. | A universal method for implementing IEEE 1588 with the 1000M Ethernet interface |
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 |