CN106326045A - 一种检测总线延时的方法 - Google Patents

一种检测总线延时的方法 Download PDF

Info

Publication number
CN106326045A
CN106326045A CN201510377589.1A CN201510377589A CN106326045A CN 106326045 A CN106326045 A CN 106326045A CN 201510377589 A CN201510377589 A CN 201510377589A CN 106326045 A CN106326045 A CN 106326045A
Authority
CN
China
Prior art keywords
reading
delay
value
write
writing
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
CN201510377589.1A
Other languages
English (en)
Other versions
CN106326045B (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.)
Spreadtrum Communications Shanghai Co Ltd
Original Assignee
Spreadtrum Communications Shanghai 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 Spreadtrum Communications Shanghai Co Ltd filed Critical Spreadtrum Communications Shanghai Co Ltd
Priority to CN201510377589.1A priority Critical patent/CN106326045B/zh
Publication of CN106326045A publication Critical patent/CN106326045A/zh
Application granted granted Critical
Publication of CN106326045B publication Critical patent/CN106326045B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Landscapes

  • Data Exchanges In Wide-Area Networks (AREA)
  • Bus Control (AREA)

Abstract

本发明公开了一种检测总线延时的方法,属于数据传输总线技术领域;方法包括写延时检测过程和读延时检测过程。写延时检测过程包括:步骤A1,检测写地址信号和写响应信号,并处理得到写延时值;步骤A2,检测写突发信号,并处理得到写吞吐率计数值;步骤A3,根据写延时判断值和写吞吐率计数值计算得到每字节写延时值并输出,随后退出;读延时检测过程包括:步骤B1,检测读地址信号以及读数据信号,并处理得到读延时值;步骤B2,检测读突发信号,并处理得到读吞吐率计数值;步骤B3,根据读延时判断值和读吞吐率计数值计算得到每字节读延时值并输出,随后退出。上述技术方案的有益效果是:简化检测延时的计算过程,减少检测延时的计算量。

Description

一种检测总线延时的方法
技术领域
本发明涉及数据传输总线技术领域,尤其涉及一种检测时延的方法。
背景技术
现有的演进型片上总线(Advanced Microcontroller Bus Architecture,AMBA)传输协议是一种可以应用于片上系统(System on Chip,SoC)的数据传输协议,该协议目前的最新版本为AMBA 3.0。
在AMBA传输协议中,最重要的组成部分为演进型可扩展接口(Advanced Extensible Interface,AXI)总线。衡量AXI总线的传输性能的两个比较重要的指标即为延时(Latency)和带宽(Bandwidth)。现有技术中,对于一般的总线而言,通常会将总线监控器(Bus Monitor)放在总线上,并通过实时监控获取总线的延时和带宽,从而达到测量总线性能的目的。但是,由于AXI总线支持多显著事务操作(multiple outstanding transaction),因此,在检测总线延时的过程中,需要根据AMBA协议的描述对每个事务操作(transaction)一一进行延时计算会会变得非常复杂,计算量较大,从而降低了延时检测的效率。
发明内容
根据现有技术中存在的问题,现提供一种检测总线延时的方法的技术方案,旨在解决现有技术中存在的对于AXI总线检测延时比较麻烦,计算过程较为复杂的问题。
上述技术方案具体包括:
一种检测总线延时的方法,适用于AXI总线;其中,包括一写延时检测过程;
所述写延时检测过程包括:
步骤A1,检测所述AXI总线中基于写地址通道的写地址信号,以及基于写响应通道中传输的写响应信号,并处理得到相应的写延时值;
步骤A2,检测基于所述写地址通道的写突发信号,并处理得到相应的写吞吐率计数值;
步骤A3,根据所述写延时判断值和所述写吞吐率计数值计算得到相应的每字节写延时值并输出,随后退出。
优选的,该检测总线延时的方法,其中,所述步骤A1具体包括:
步骤A11,检测所述写地址信号的有效性,以及所述写响应信号的有效性;
步骤A12,根据所述写地址信号的有效性和所述写响应信号的有效性处理得到相应的写延时计数值;
步骤A13,根据所述写延时计数值,计算得到相应的所述写延时判断值;
步骤A14,根据所述写延时判断值,处理得到相应的所述写延时值。
优选的,该检测总线延时的方法,其中,所述步骤A12中,设置一第一计数器,并将所述第一计数器中的计数值作为所述写延时计数值;
于所述第一计数器中,依照下述公式计数得到所述写延时计数值;
w r _ c n t = w r _ c n t ; ( A W V A L I D = 1 A N D A W R E A D Y = 1 ) A N D ( B V A L I D = 1 A N D B R E A D Y = 1 ) w r _ c n t = w r _ c n t + 1 ; ( A W V A L I D = 1 A N D A W R E A D Y = 1 ) w r _ c n t = w r _ c n t - 1 ; ( B V A L I D = 1 A N D B R E A D Y = 1 )
其中,
wr_cnt用于表示所述写延时计数值;
AWVALID为主设备通过所述写地址通道向从设备发送的用于指示相应的所述写地址信号的有效性的第一写地址指示符;
当AWVALID=1时,表示所述写地址信号有效;
AWREADY为所述从设备通过所述写地址通道向所述主设备发送的用于指示是否准备接收相应的所述写地址信号的第二写地址指示符;
当AWREADY=1时,表示所述从设备准备接收所述写地址信号;
BVALID为所述从设备通过所述写响应通道向所述主设备发送的用于指示相应的所述写响应信号的有效性的第一写响应指示符;
当BVALID=1时,表示所述写响应信号有效;
BREADY为所述主设备通过所述写响应通道向所述从设备发送的用于指示是否准备接收相应的所述写响应信号的第二写响应指示符;
当BVALID=1时,表示所述主设备准备接收所述写响应信号。
优选的,该检测总线延时的方法,其中,所述步骤A13中,依照下述公式,根据所述写延时计数值计算得到相应的写延时判断值:
W R _ C A C T I V E = 1 ; w r _ c n t > 0 W R _ C A C T I V E = 0 ; w r _ c n t ≤ 0
其中,
WR_CACTIVE为所述写延时判断值;
wr_cnt为所述写延时计数值。
优选的,该检测总线延时的方法,其中,所述步骤A14中,设置一第二计数器,并将所述第二计数器中的计数值作为所述写延时值;
则于所述第二计数器中,依照下述公式计数得到所述写延时值:
w r _ l a t e n c y = w r _ l a t e n c y ; W R _ C A C T I V E = 0 w r _ l a t e n c y = w r _ l a t e n c y + 1 ; W R _ C A C T I V E = 1
其中,
wr_latency为所述写延时值;
WR_CACTIVE为所述写延时判断值;
所述写延时判断值具有0和1两种取值状态。
优选的,该检测总线延时的方法,其中,所述步骤A2中,设置一第三计数器,并将所述第三计数器中的计数值作为所述写吞吐率计数值;
于所述第三计数器中,依照下述公式计数得到所述写吞吐率计数值:
w r _ b w _ c n t = w r _ b w _ c n t + ( A W L E N + 1 ) < < A W S I Z E ; A W V A L I D = 1 A N D A W R E A D Y = 1 w r _ b w _ c n t = w r _ b w _ c n t ; O t h e r w i s e
其中,
wr_bw_cnt为所述写吞吐率计数值;
AWLEN为主设备通过所述写地址通道向所述从设备发送的用于指示本次突发写入的数据长度的第一写突发指示符;
AWSIZE为所述主设备通过所述写地址通道向所述从设备发送的用于指示本次突发写入的数据大小的第二写突发指示符;
AWVALID为所述主设备通过所述写地址通道向所述从设备发送的用于指示相应的所述写地址信号的有效性的第一写地址指示符;
当AWVALID=1时,表示所述写地址信号有效;
AWREADY为所述从设备通过所述写地址通道向所述主设备发送的用于指示是否准备接收相应的所述写地址信号的第二写地址指示符;
当AWREADY=1时,表示所述从设备准备接收所述写地址信号;
<<表示左移运算。
优选的,该检测总线延时的方法,其中,所述步骤A3中,依照下述公式计算得到所述每字节写延时值并输出:
wr_latency_per_byte=wr_latency/wr_bw_cnt
其中,
wr_latency_per_byte为所述每字节写延时值;
wr_latency为所述写延时值;
wr_bw_cnt为所述写吞吐率计数值。
一种检测总线延时的方法,适用于AXI总线;其中,包括一读延时检测过程;
所述读延时检测过程包括:
步骤B1,检测所述AXI总线中基于读地址通道的读地址信号,以及基于读数据通道中传输的读数据信号,并处理得到相应的读延时值;
步骤B2,检测基于所述读地址通道的读突发信号,并处理得到相应的读吞吐率计数值;
步骤B3,根据所述读延时判断值和所述读吞吐率计数值计算得到相应的每字节读延时值并输出,随后退出。
优选的,该检测总线延时的方法,其中,所述步骤B1具体包括:
步骤B11,检测所述读地址信号的有效性,以及所述读数据信号的有效性;
步骤B12,根据所述读地址信号的有效性和所述读数据信号的有效性处理得到相应的读延时计数值;
步骤B13,根据所述读延时计数值,计算得到相应的所述读延时判断值;
步骤B14,根据所述读延时判断值,处理得到相应的所述读延时值。
优选的,该检测总线延时的方法,其中,所述步骤B12中,设置一第四计数器,并将所述第四计数器中的计数值作为所述读延时计数值;
于所述第四计数器中,依照下述公式计数得到所述读延时计数值;
r d _ c n t = r d _ c n t ; ( A R V A L I D = 1 A N D A R R E A D Y = 1 ) A N D ( R V A L I D = 1 A N D RR E A D Y = 1 A N D R L A S T = 1 ) r d _ c n t = r d _ c n t + 1 ; ( A R V A L I D = 1 A N D A R R E A D Y = 1 ) r d _ c n t = r d _ c n t - 1 ; ( R V A L I D = 1 A N D R R E A D Y = 1 A N D R L A S T = 1 )
其中,
rd_cnt用于表示所述读延时计数值;
ARVALID为主设备通过所述读地址通道向从设备发送的用于指示相应的所述读地址信号的有效性的第一读地址指示符;
当ARVALID=1时,表示所述读地址信号有效;
ARREADY为所述从设备通过所述读地址通道向所述主设备发送的用于指示是否准备接收相应的所述读地址信号的第二读地址指示符;
当ARREADY=1时,表示所述从设备准备接收所述读地址信号;
RVALID为所述从设备通过所述读数据通道向所述主设备发送的用于指示相应的所述读数据信号的有效性的第一读数据指示符;
当RVALID=1时,表示所述读数据信号有效;
RREADY为所述主设备通过所述读数据通道向所述从设备发送的用于指示是否准备接收相应的所述读数据信号的第二读数据指示符;
当RREADY=1时,表示所述主设备准备接收所述读数据信号;
RLAST为所述从设备通过所述读数据通道向所述主设备发送的用于指示本次数据传输的最后一个数据的第三读数据指示符;
当RLAST=1时,表示当前数据为本次数据传输的最后一个数据。
优选的,该检测总线延时的方法,其中,所述步骤B13中,依照下述公式,根据所述读延时计数值计算得到相应的读延时判断值:
R D _ C A C T I V E = 1 ; r d _ c n t > 0 R D _ C A C T I V E = 0 ; r d _ c n t &le; 0
其中,
RD_CACTIVE为所述读延时判断值;
rd_cnt为所述读延时计数值。
优选的,该检测总线延时的方法,其中,所述步骤B14中,设置一第五计数器,并将所述第五计数器中的计数值作为所述读延时值;
则于所述第五计数器中,依照下述公式计数得到所述读延时值:
r d _ l a t e n c y = r d _ l a e n c y ; R D _ C A C T I V E = 0 r d _ l a t e n c y = r d _ l a t e n c y + 1 ; R D _ C A C T I V E = 1
其中,
rd_latency为所述读延时值;
RD_CACTIVE为所述读延时判断值;
所述读延时判断值具有0和1两种取值状态。
优选的,该检测总线延时的方法,其中,所述步骤B2中,设置一第六计数器,并将所述第六计数器中的计数值作为所述读吞吐率计数值;
于所述第六计数器中,依照下述公式计数得到所述读吞吐率计数值:
r d _ b w _ c n t = r d _ b w _ c n t + ( A R L E N + 1 ) < < A R S I Z E ; A R V A L I D = 1 A N D A R R E A D Y = 1 r d _ b w _ c n t = r d _ b w _ c n t ; O t h e r w i s e
其中,
rd_bw_cnt为所述读吞吐率计数值;
ARLEN为主设备通过所述读地址通道向从设备发送的用于指示本次突发读取的数据长度的第一读突发指示符;
ARSIZE为所述主设备通过所述读地址通道向所述从设备发送的用于指示本次突发读取的数据大小的第二读突发指示符;
ARVALID为所述主设备通过所述读地址通道向所述从设备发送的用于指示相应的所述读地址信号的有效性的第一读地址指示符;
当ARVALID=1时,表示所述读地址信号有效;
ARREADY为所述从设备通过所述读地址通道向所述主设备发送的用于指示是否准备接收相应的所述读地址信号的第二读地址指示符;
当ARREADY=1时,表示所述从设备准备接收所述读地址信号;
<<表示左移运算。
优选的,该检测总线延时的方法,其中,所述步骤B3中,依照下述公式计算得到所述每字节写延时值并输出:
rd_latency_per_byte=rd_latency/rd_bw_cnt
其中,
rd_latency_per_byte为所述每字节读延时值;
rd_latency为所述读延时值;
rd_bw_cnt为所述读吞吐率计数值。
上述技术方案的有益效果是:提供一种检测总线延时的方法,简化了检测延时的计算过程,减少检测延时过程中的庞大计算量,降低处理花销,提升检测效率。
附图说明
图1-2是本发明的较佳的实施例中,一种检测系统延时的方法的总体流程示意图;
图3-4是本发明的较佳的实施例中,一种检测系统延时的方法的分步骤流程示意图。
具体实施方式
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有作出创造性劳动的前提下所获得的所有其他实施例,都属于本发明保护的范围。
需要说明的是,在不冲突的情况下,本发明中的实施例及实施例中的特征可以相互组合。
下面结合附图和具体实施例对本发明作进一步说明,但不作为本发明的限定。
现有技术中,若需要检测AXI总线的传输延时,则需要知道AXI总线的主设备(AXI Master)所能够支持的最大的读/写显著事务(write/readtransaction outstanding)的个数,并根据得到的个数对每个读/写事务(write/read transaction)设置相应的计数器来测量该事务的延时,因此会导致对整个AXI总线的延时测量过程非常复杂。
则本发明的较佳的实施例中,基于现有技术中存在的上述问题,现提供一种检测总线延时的方法,适用于AXI总线。现有的AMBA 3.0协议中,对于AXI总线,通常定义了五条通道,每条通道都是单向传输的,即在同一时刻只允许单向的信号传输,每条通道都包括一个信息信号,以及一个双路的VALID/READY握手信号。
则现有技术中,AXI总线中定义的五条通道大致包括:
1.关联于写入数据的通道:
1)写地址通道(Write Address Channel)。写地址通道用于传输相应的写地址信号。所谓写地址信号,其中包括主设备本次写入数据对应的地址信息以及其他控制信息,因此,写地址通道中,写地址信号从主设备(Master)传输至从设备(Slave)。
则在写地址通道中,可以包括相应的写地址信号(如上文中所述)作为信息信号,以及一个VALID信号(AWVALID)用于表示上述写地址信号是否有效,以及一个READY信号(AWREADY)用于表示上述从设备是否已经准备好接收写地址信号。
2)写数据通道(Write Data Channel)。写数据通道用于传输实际写入的数据。换言之,现有技术中,写数据通道供主设备向从设备写入数据。
则在写数据通道中,可以包括相应的写数据信号,即主设备需要写入从设备的数据信息(信息信号),以及一个VALID信号(WVALID)用于表示上述写数据信号是否有效,以及一个READY信号(WREADY)用于表示上述从设备是否已经准备好接收写数据信号。
3)写响应通道(Write Response Channel)。写响应通道供从设备向主设备传输相应的写响应信号,以表示写入数据得到响应。
则在写响应通道中,可以包括相应的写响应信号(信息信号),以及一个VALID信号(BVALID)用于表示上述写响应信号是否有效,以及一个READY信号(BREADY)用于表示上述主设备是否已经准备好接收写响应信号。
2.关联于读取数据的通道:
4)读地址通道(Read Address Channel)。类似上文中所述,读地址通道用于传输相应的读地址信号。所谓读地址信号,其中包括主设备本次读取数据对应的地址信息以及其他控制信息,因此,读地址通道中,读地址信号从主设备传输至从设备。
则在读地址通道中,类似于上文中所述,可以包括相应的读地址信号(信息信号),以及一个VALID信号(ARVALID)用于表示相应的读地址信号是否有效,以及一个READY信号(ARREADY)用于表示相应的从设备是否已经准备好接收读地址信号。
5)读数据通道(Read Data Channel)。类似上文中所述,读数据通道供从设备向主设备传输相应的读数据信号(即主设备需要读取的数据信息的内容)。
则在读数据通道中,可以包括相应的读数据信号(信息信号),以及一个VALID信号(RVALID)用于表示相应的读数据信号有效,以及一个READY信号(RREADY)用于表示相应的主设备已经准备好接收读数据信号。
则基于上文中所述的AXI总线,为解决现有技术中存在的问题,本发明的较佳的实施例中,一种检测总线延时的方法具体包括写延时检测过程和读延时检测过程。所谓写延时检测过程,用于检测AXI总线上主设备在向从设备写入数据时的延时情况;所谓读延时检测过程,用于检测AXI总线上主设备从从设备中读取数据时的延时情况。
则本发明的较佳的实施例中,最终输出的AXI总线的延时检测结果,即为上文中所述的每字节写延时值,以及每字节读延时值。
当然,本发明的一个较佳的实施例中,可以选择执行写延时检测过程,或者读延时检测过程,以检测写过程/读过程中产生的延时。上述检测过程同样包括在本发明的保护范围内。
则本发明的较佳的实施例中,如图1所示,上述写延时检测过程具体包括:
步骤A1,检测AXI总线中基于写地址通道的写地址信号,以及基于写响应通道中传输的写响应信号,并处理得到相应的写延时值;
本发明的较佳的实施例中,如图3所示,上述步骤A1具体包括:
步骤A11,检测写地址信号的有效性,以及写响应信号的有效性;
本发明的较佳的实施例中,如上文中所述,可以采用第一写地址指示符(AWVALID)指示上述写地址信号是否有效。进一步地,若AWVALID=1,即AWVALID信号拉高,则表示上述写地址信号有效;相反地,若AWVALID=0,即AWVALID信号拉低,则表示上述写地址信号无效。
同样地,本发明的较佳的实施例中,可以采用第二写地址指示符(AWREADY)指示从设备是否已经准备好接收上述写地址信号。进一步地,若AWREADY=1,即AWREADY信号拉高,则表示从设备已经准备好接收上述写地址信号;相反地,若AWREADY=0,即AWREADY信号拉低,则表示从设备尚未准备好接收上述写地址信号。
本发明的较佳的实施例中,对于写响应信号而言,同样可以采用第一写响应指示符(BVALID)来指示相应的写响应信号是否有效。进一步地,若BVALID=1,即BVALID信号拉高,则表示相应的写响应信号有效;相反地,若BVALID=0,即BVALID信号拉低,则表示相应的写响应信号无效。
同样地,本发明的较佳的实施例中,可以采用第二写响应指示符(BREADY)来指示主设备是否准备好接收写响应信号。进一步地,若BREADY=1,即BREADY信号拉高,则表示主设备已经准备好接收写响应信号;若BREADY=0,即BREADY信号拉低,则表示主设备尚未准备好接收写响应信号。
步骤A12,根据写地址信号的有效性和写响应信号的有效性处理得到相应的写延时计数值;
本发明的较佳的实施例中,上述步骤A12中,首先设置一个第一计数器,则该第一计数器的计数值即为上述写延时计数值。
因此,本发明的较佳的实施例中,可以依据下述公式,根据写地址信号的有效性和写响应信号的有效性更新第一计数器的计数值,也就是处理得到相应的写延时计数值:
w r _ c n t = w r _ c n t ; ( A W V A L I D = 1 A N D A W R E A D Y = 1 ) A N D ( B V A L I D = 1 A N D B R E A D Y = 1 ) w r _ c n t = w r _ c n t + 1 ; ( A W V A L I D = 1 A N D A W R E A D Y = 1 ) w r _ c n t = w r _ c n t - 1 ; ( B V A L I D = 1 A N D B R E A D Y = 1 ) - - - ( 1 )
其中,
wr_cnt为上述写延时计数值。
则本发明的较佳的实施例中,上述公式(1)中,当AWVALID和AWREADY均拉高(写地址信号有效,且从设备准备好接收写地址信号),且BVALID和BREADY均拉高(写响应信号有效,且主设备准备好接收写响应信号)时,wr_cnt=wr_cnt,即第一计数器中的计数值不变。
本发明的较佳的实施例中,上述公式(1)中,当AWVALID和AWREADY均拉高(写地址信号有效,且从设备准备好写地址信号),但是BVALID和BREADY并不都是处于拉高状态,则表示写响应通道此时由于延时无法使用,则wr_cnt=wr_cnt+1,即第一计数器中的计数值加1。
本发明的较佳的实施例中,上述公式(1)中,当BVALID和BREADY均拉高(写响应信号有效,且主设备准备好接收写响应信号),但是AWVALID和AWREADY并不都是处于拉高状态,则表示写地址通道尚不处于可用状态,则wr_cnt=wr_cnt-1,即第一计数器中的计数值减1。
步骤A13,根据写延时计数值,计算得到相应的写延时判断值;
本发明的较佳的实施例中,上述步骤A13中,依照下述公式,根据写延时计数值wr_cnt计算得到相应的写延时判断值:
W R _ C A C T I V E = 1 ; w r _ c n t > 0 W R _ C A C T I V E = 0 ; w r _ c n t &le; 0 - - - ( 2 )
其中,
WR_CACTIVE为上述写延时判断值。
则本发明的较佳的实施例中,根据上述第一计数器的当前的计数值wr_cnt,对写延时判断值WR_CACTIVE进行计算,并得到对应于该检测时刻的WR_CACTIVE。
步骤A14,根据写延时判断值,处理得到相应的写延时值。
本发明的较佳的实施例中,同样设置一第二计数器,该第二计数器中的计数值即为写延时值。
则上述步骤A14中,依照下述公式,根据上述写延时判断值,可以处理得到相应的写延时值,即根据上述写延时判断值更新第二计数器中的计数值:
w r _ l a t e n c y = w r _ l a t e n c y ; W R _ C A C T I V E = 0 w r _ l a t e n c y = w r _ l a t e n c y + 1 ; W R _ C A C T I V E = 1 - - - ( 3 )
其中,
wr_latency即表示写延时值。
则本发明的较佳的实施例中,如上文中所述,若根据第一计数器中的当前的计数值计算得到的WR_CACTIVE=0,则相应地wr_latency保持不变,即第二计数器中的计数值保持不变;相反地,若根据第一计数器中的当前的计数值计算得到的WR_CACTIVE=1,则相应地wr_latency=wr_latency+1,即第二计数器中的计数值加1。
步骤A2,检测基于写地址通道的写突发信号,并处理得到相应的写吞吐率计数值;
本发明的较佳的实施例中,上述步骤A2中,首先设置一第三计数器,并将第三计数器中的计数值作为写吞吐率计数值。
则本发明的较佳的实施例中,上述步骤A2中,可以依照下述公式,根据写突发信号处理得到相应的写吞吐率计数值,即根据写突发信号更新第三计数器中的计数值:
w r _ bw _ c n t = w r _ b w _ c n t + ( A W L E N + 1 ) < < A W S I Z E ; A W V A L I D = 1 A N D A W R E A D Y = 1 w r _ b w _ c n t = w r _ b w _ c n t ; O t h e r w i s e - - - ( 4 )
其中,
wr_bw_cnt表示上述写吞吐率计数值;
AWLEN为主设备通过写地址通道向从设备发送的用于指示本次突发写入的数据长度的第一写突发指示符。本发明的较佳的实施例中,第一写突发指示符AWLEN用于指示主设备于本次突发写入向从设备写入的数据长度,也就是突发写入的数据的个数。
AWSIZE为主设备通过写地址通道向从设备发送的用于指示本次突发写入的数据大小的第二写突发指示符。本发明的较佳的实施例中,第二写突发指示符AWSIZE用于指示主设备于本次突发写入向从设备写入的数据大小,也就是突发写入的数据总量;
<<表示左移运算。
则本发明的较佳的实施例中,上述公式(4)实际可以简化为:
当AWVALID=1且AWREADY=1时:
wr_bw_cnt=wr_bw_cnt+(AWLEN+1)*2AWSIZE;即在这种情况下,第三计数器中的计数值加(AWLEN+1)*2AWSIZE
在其他情况下,wr_bw_cnt保持不变,即第三计数器中的计数值保持不变。
步骤A3,根据写延时判断值和写吞吐率计数值计算得到相应的每字节写延时值并输出,随后退出;
本发明的较佳的实施例中,如上文中所述,获取依据公式(1)-(3)计算得到的写延时值,以及依据公式(4)计算得到的写吞吐率计数值,并依照下述公式计算获取当前AXI总线上的写延时检测结果:
wr_latency_per_byte=wr_latency/wr_bw_cnt (5)
其中,
wr_latency_per_byte为每字节写延时值,即为最终输出的写延时检测结果。
综上所述,本发明技术方案中,于写延时检测过程中,首先设定计数器,并对其中的写延时计数值进行更新,随后根据更新的写延时计数值,计算得到相应的写延时判断值,再设定计数器,根据写延时判断值对计数器中的写延时值进行更新并输出。同时,本发明技术方案中,于写延时检测过程中,设定计数器并对其中的写吞吐率计数值进行更新并输出。最后根据更新的写延时值和写吞吐率计数值计算得到最终的写延时检测结果,因此避免了对每个事务设定计数器并计算延时的复杂的计算过程,提升了延时检测的效率。
本发明的较佳的实施例中,如上文中所述,上述检测总线延时的方法中,还包括读延时检测过程。
本发明的较佳的实施例中,读延时检测过程类似于上文中所述的写延时检测过程,其步骤如图2所示,具体包括:
步骤B1,检测AXI总线中基于读地址通道的读地址信号,以及基于读数据通道中传输的读数据信号,并处理得到相应的读延时值;
本发明的较佳的实施例中,如图4所示,上述步骤B1具体包括:
步骤B11,检测读地址信号的有效性,以及读数据信号的有效性;
步骤B12,根据读地址信号的有效性和读数据信号的有效性处理得到相应的读延时计数值;
本发明的较佳的实施例中,上述步骤B12中,设置一第四计数器,并将第四计数器中的计数值作为读延时计数值;
则本发明的较佳的实施例中,于第四计数器中,依照下述公式计数得到读延时计数值;
r d _ c n t = r d _ c n t ; ( A R V A L I D = 1 A N D A R R E A D Y = 1 ) A N D ( R V A L I D = 1 A N D R R E A D Y = 1 A N D R L A S T = 1 ) r d _ c n t = r d _ c n t + 1 ; ( A R V A L I D = 1 A N D A R R E A D Y = 1 ) r d _ c n t = r d _ c n t - 1 ; ( R V A L I D = 1 A N D R R E A D Y = 1 A N D R L A S T = 1 ) - - - ( 6 )
其中,
rd_cnt用于表示读延时计数值。
RLAST为为从设备通过读数据通道向主设备发送的用于指示本次数据传输的最后一个数据的第三读数据指示符;当RLAST=1时,表示当前数据为本次数据传输的最后一个数据。
则上述步骤B12中,依据公式(6)更新第四计数器中的计数值(即读延时计数值)。
步骤B13,根据读延时计数值,计算得到相应的读延时判断值;
本发明的较佳的实施例中,上述步骤B13中,依照下述公式,根据读延时计数值计算得到相应的读延时判断值:
R D _ C A C T I V E = 1 ; r d _ c n t > 0 R D _ C A C T I V E = 0 ; r d _ c n t &le; 0 - - - ( 7 )
其中,
RD_CACTIVE为读延时判断值。
步骤B14,根据读延时判断值,处理得到相应的读延时值。
本发明的较佳的实施例中,步骤B14中,设置一第五计数器,并将第五计数器中的计数值作为读延时值;
则于第五计数器中,依照下述公式计数得到读延时值:
{ rd _ l a t e n c y = r d _ l a t e n c y ; R D _ C A C T I V E = 0 r d _ l a t e n c y = r d _ l a t e n c y + 1 ; R D _ C A C T I V E = 1 - - - ( 8 )
其中,
rd_latency为读延时值。
则上述步骤B14中,依据公式(8)更新第五计数器中的计数值(即读延时值)。
步骤B2,检测基于读地址通道的读突发信号,并处理得到相应的读吞吐率计数值;
本发明的较佳的实施例中,上述步骤B2中,设置一第六计数器,并将第六计数器中的计数值作为读吞吐率计数值;
于第六计数器中,依照下述公式计数得到读吞吐率计数值:
r d _ b w _ c n t = r d _ b w _ c n t + ( A R L E N + 1 ) < < A R S I Z E ; A R V A L I D = 1 A N D A R R E A D Y = 1 r d _ b w _ c n t = r d _ b w _ c n t ; O t h e r w i s e - - - ( 9 )
其中,
rd_bw_cnt为读吞吐率计数值;
ARLEN为主设备通过读地址通道向从设备发送的用于指示本次突发读取的数据长度的第一读突发指示符,即用于指示本次突发读取的数据的个数;
ARSIZE为主设备通过读地址通道向从设备发送的用于指示本次突发读取的数据大小的第二读突发指示符,即用于指示本次突发读取的数据总量;
<<表示左移运算。
则本发明的较佳的实施例中,上述公式(9)实际可以简化为:
当ARVALID=1且ARREADY=1时:
rd_bw_cnt=rd_bw_cnt+(ARLEN+1)*2ARSIZE;即在这种情况下,第六计数器中的计数值加(ARLEN+1)*2ARSIZE
在其他情况下,rd_bw_cnt保持不变,即第六计数器中的计数值保持不变。
步骤B3,根据读延时判断值和读吞吐率计数值计算得到相应的每字节读延时值并输出,随后退出;
本发明的较佳的实施例中,依照下述公式计算得到每字节写延时值并输出:
rd_latency_per_byte=rd_latency/rd_bw_cnt (10)
其中,
rd_latency_per_byte为每字节读延时值,也即最终输出的读延时检测结果。
以上所述仅为本发明较佳的实施例,并非因此限制本发明的实施方式及保护范围,对于本领域技术人员而言,应当能够意识到凡运用本发明说明书及图示内容所作出的等同替换和显而易见的变化所得到的方案,均应当包含在本发明的保护范围内。

Claims (14)

1.一种检测总线延时的方法,适用于AXI总线;其特征在于,包括一写延时检测过程;
所述写延时检测过程包括:
步骤A1,检测所述AXI总线中基于写地址通道的写地址信号,以及基于写响应通道中传输的写响应信号,并处理得到相应的写延时值;
步骤A2,检测基于所述写地址通道的写突发信号,并处理得到相应的写吞吐率计数值;
步骤A3,根据所述写延时判断值和所述写吞吐率计数值计算得到相应的每字节写延时值并输出,随后退出。
2.如权利要求1所述的检测总线延时的方法,其特征在于,所述步骤A1具体包括:
步骤A11,检测所述写地址信号的有效性,以及所述写响应信号的有效性;
步骤A12,根据所述写地址信号的有效性和所述写响应信号的有效性处理得到相应的写延时计数值;
步骤A13,根据所述写延时计数值,计算得到相应的所述写延时判断值;
步骤A14,根据所述写延时判断值,处理得到相应的所述写延时值。
3.如权利要求2所述的检测总线延时的方法,其特征在于,所述步骤A12中,设置一第一计数器,并将所述第一计数器中的计数值作为所述写延时计数值;
于所述第一计数器中,依照下述公式计数得到所述写延时计数值;
w r _ c n t = w r _ c n t ; ( A W V A L I D = 1 A N D A W R E A D Y = 1 ) A N D ( B V A L I D = 1 A N D B R E A D Y = 1 ) w r _ c n t = w r _ c n t + 1 ; ( A W V A L I D = 1 A N D A W R E A D Y = 1 ) w r _ c n t = w r _ c n t - 1 ; ( B V A L I D = 1 A N D B R E A D Y = 1 )
其中,
wr_cnt用于表示所述写延时计数值;
AWVALID为主设备通过所述写地址通道向从设备发送的用于指示相应的所述写地址信号的有效性的第一写地址指示符;
当AWVALID=1时,表示所述写地址信号有效;
AWREADY为所述从设备通过所述写地址通道向所述主设备发送的用于指示是否准备接收相应的所述写地址信号的第二写地址指示符;
当AWREADY=1时,表示所述从设备准备接收所述写地址信号;
BVALID为所述从设备通过所述写响应通道向所述主设备发送的用于指示相应的所述写响应信号的有效性的第一写响应指示符;
当BVALID=1时,表示所述写响应信号有效;
BREADY为所述主设备通过所述写响应通道向所述从设备发送的用于指示是否准备接收相应的所述写响应信号的第二写响应指示符;
当BVALID=1时,表示所述主设备准备接收所述写响应信号。
4.如权利要求2所述的检测总线延时的方法,其特征在于,所述步骤A13中,依照下述公式,根据所述写延时计数值计算得到相应的写延时判断值:
W R _ C A C T I V E = 1 ; w r _ c n t > 0 W R _ C A C T I V E = 0 ; w r _ c n t &le; 0
其中,
WR_CACTIVE为所述写延时判断值;
wr_cnt为所述写延时计数值。
5.如权利要求2所述的检测总线延时的方法,其特征在于,所述步骤A14中,设置一第二计数器,并将所述第二计数器中的计数值作为所述写延时值;
则于所述第二计数器中,依照下述公式计数得到所述写延时值:
w r _ l a t e n c y = w r _ l a t e n c y ; W R _ C A C T I V E = 0 w r _ l a t e n c y = w r _ l a t e n c y + 1 ; W R _ C A C T I V E = 1
其中,
wr_latency为所述写延时值;
WR_CACTIVE为所述写延时判断值;
所述写延时判断值具有0和1两种取值状态。
6.如权利要求1所述的检测总线延时的方法,其特征在于,所述步骤A2中,设置一第三计数器,并将所述第三计数器中的计数值作为所述写吞吐率计数值;
于所述第三计数器中,依照下述公式计数得到所述写吞吐率计数值:
w r _ b w _ c n t = w r _ b w _ c n t + ( A W L E N + 1 ) < < A W S I Z E ; A W V A L I D = 1 A N D A W R E A D Y = 1 w r _ b w _ c n t = w r _ b w _ c n t ; O t h e r w i s e
其中,
wr_bw_cnt为所述写吞吐率计数值;
AWLEN为主设备通过所述写地址通道向所述从设备发送的用于指示本次突发写入的数据长度的第一写突发指示符;
AWSIZE为所述主设备通过所述写地址通道向所述从设备发送的用于指示本次突发写入的数据大小的第二写突发指示符;
AWVALID为所述主设备通过所述写地址通道向所述从设备发送的用于指示相应的所述写地址信号的有效性的第一写地址指示符;
当AWVALID=1时,表示所述写地址信号有效;
AWREADY为所述从设备通过所述写地址通道向所述主设备发送的用于指示是否准备接收相应的所述写地址信号的第二写地址指示符;
当AWREADY=1时,表示所述从设备准备接收所述写地址信号;
<<表示左移运算。
7.如权利要求1所述的检测总线延时的方法,其特征在于,所述步骤A3中,依照下述公式计算得到所述每字节写延时值并输出:
wr_latency_per_byte=wr_latency/wr_bw_cnt
其中,
wr_latency_per_byte为所述每字节写延时值;
wr_latency为所述写延时值;
wr_bw_cnt为所述写吞吐率计数值。
8.一种检测总线延时的方法,适用于AXI总线;其特征在于,包括一读延时检测过程;
所述读延时检测过程包括:
步骤B1,检测所述AXI总线中基于读地址通道的读地址信号,以及基于读数据通道中传输的读数据信号,并处理得到相应的读延时值;
步骤B2,检测基于所述读地址通道的读突发信号,并处理得到相应的读吞吐率计数值;
步骤B3,根据所述读延时判断值和所述读吞吐率计数值计算得到相应的每字节读延时值并输出,随后退出。
9.如权利要求8所述的检测总线延时的方法,其特征在于,所述步骤B1具体包括:
步骤B11,检测所述读地址信号的有效性,以及所述读数据信号的有效性;
步骤B12,根据所述读地址信号的有效性和所述读数据信号的有效性处理得到相应的读延时计数值;
步骤B13,根据所述读延时计数值,计算得到相应的所述读延时判断值;
步骤B14,根据所述读延时判断值,处理得到相应的所述读延时值。
10.如权利要求9所述的检测总线延时的方法,其特征在于,所述步骤B12中,设置一第四计数器,并将所述第四计数器中的计数值作为所述读延时计数值;
于所述第四计数器中,依照下述公式计数得到所述读延时计数值;
r d _ c n t = r d _ c n t ; ( A R V A L I D = 1 A ND AR R E A D Y = 1 ) AN D ( R V A L I D = 1 A ND R R E A D Y = 1 AN D R L A S T = 1 ) r d _ c n t = r d _ c n t + 1 ; ( A R V A L I D = 1 A N D A R R E A D Y = 1 ) r d _ c n t = r d _ c n t - 1 ; ( R V A L I D = 1 A N D RR E A D Y = 1 A N D R L A S T = 1 )
其中,
rd_cnt用于表示所述读延时计数值;
ARVALID为主设备通过所述读地址通道向从设备发送的用于指示相应的所述读地址信号的有效性的第一读地址指示符;
当ARVALID=1时,表示所述读地址信号有效;
ARREADY为所述从设备通过所述读地址通道向所述主设备发送的用于指示是否准备接收相应的所述读地址信号的第二读地址指示符;
当ARREADY=1时,表示所述从设备准备接收所述读地址信号;
RVALID为所述从设备通过所述读数据通道向所述主设备发送的用于指示相应的所述读数据信号的有效性的第一读数据指示符;
当RVALID=1时,表示所述读数据信号有效;
RREADY为所述主设备通过所述读数据通道向所述从设备发送的用于指示是否准备接收相应的所述读数据信号的第二读数据指示符;
当RREADY=1时,表示所述主设备准备接收所述读数据信号;
RLAST为所述从设备通过所述读数据通道向所述主设备发送的用于指示本次数据传输的最后一个数据的第三读数据指示符;
当RLAST=1时,表示当前数据为本次数据传输的最后一个数据。
11.如权利要求9所述的检测总线延时的方法,其特征在于,所述步骤B13中,依照下述公式,根据所述读延时计数值计算得到相应的读延时判断值:
R D _ C A C T I V E = 1 ; r d _ c n t > 0 R D _ C A C T I V E = 0 ; r d _ c n t &le; 0
其中,
RD_CACTIVE为所述读延时判断值;
rd_cnt为所述读延时计数值。
12.如权利要求9所述的检测总线延时的方法,其特征在于,所述步骤B14中,设置一第五计数器,并将所述第五计数器中的计数值作为所述读延时值;
则于所述第五计数器中,依照下述公式计数得到所述读延时值:
r d _ l a t e n c y = r d _ l a t e n c y ; R D _ C A C T I V E = 0 r d _ l a t e n c y = r d _ l a t e n c y + 1 ; R D _ C A C T I V E = 1
其中,
rd_latency为所述读延时值;
RD_CACTIVE为所述读延时判断值;
所述读延时判断值具有0和1两种取值状态。
13.如权利要求8所述的检测总线延时的方法,其特征在于,所述步骤B2中,设置一第六计数器,并将所述第六计数器中的计数值作为所述读吞吐率计数值;
于所述第六计数器中,依照下述公式计数得到所述读吞吐率计数值:
r d _ b w _ c n t = r d _ b w _ c n t + ( A R L E N + 1 ) < < A R S I Z E ; A R V A L I D = 1 A N D ARREADY = 1 r d _ b w _ c n t = r d _ b w _ c n t ; O t h e r w i s e
其中,
rd_bw_cnt为所述读吞吐率计数值;
ARLEN为主设备通过所述读地址通道向从设备发送的用于指示本次突发读取的数据长度的第一读突发指示符;
ARSIZE为所述主设备通过所述读地址通道向所述从设备发送的用于指示本次突发读取的数据大小的第二读突发指示符;
ARVALID为所述主设备通过所述读地址通道向所述从设备发送的用于指示相应的所述读地址信号的有效性的第一读地址指示符;
当ARVALID=1时,表示所述读地址信号有效;
ARREADY为所述从设备通过所述读地址通道向所述主设备发送的用于指示是否准备接收相应的所述读地址信号的第二读地址指示符;
当ARREADY=1时,表示所述从设备准备接收所述读地址信号;
<<表示左移运算。
14.如权利要求8所述的检测总线延时的方法,其特征在于,所述步骤B3中,依照下述公式计算得到所述每字节写延时值并输出:
rd_latency_per_byte=rd_latency/rd_bw_cnt
其中,
rd_latency_per_byte为所述每字节读延时值;
rd_latency为所述读延时值;
rd_bw_cnt为所述读吞吐率计数值。
CN201510377589.1A 2015-06-30 2015-06-30 一种检测总线延时的方法 Active CN106326045B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201510377589.1A CN106326045B (zh) 2015-06-30 2015-06-30 一种检测总线延时的方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201510377589.1A CN106326045B (zh) 2015-06-30 2015-06-30 一种检测总线延时的方法

Publications (2)

Publication Number Publication Date
CN106326045A true CN106326045A (zh) 2017-01-11
CN106326045B CN106326045B (zh) 2019-10-25

Family

ID=57727691

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201510377589.1A Active CN106326045B (zh) 2015-06-30 2015-06-30 一种检测总线延时的方法

Country Status (1)

Country Link
CN (1) CN106326045B (zh)

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN108010558A (zh) * 2017-11-28 2018-05-08 晶晨半导体(上海)股份有限公司 一种存储器的信号完整性测试方法
CN110956990A (zh) * 2018-09-26 2020-04-03 展讯通信(上海)有限公司 Sram读取延时控制电路及sram
CN112749057A (zh) * 2020-12-30 2021-05-04 成都忆芯科技有限公司 用于读事务的总线监视器
CN116881065A (zh) * 2023-09-07 2023-10-13 湖北芯擎科技有限公司 总线传输延时检测模块、电路及方法

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1200823A (zh) * 1995-09-05 1998-12-02 英特尔公司 动态延迟事务机制
JP2008102609A (ja) * 2006-10-17 2008-05-01 Canon Inc バス・ブリッジ
CN102207920A (zh) * 2010-03-30 2011-10-05 比亚迪股份有限公司 一种bvci总线到ahb总线的转换桥
CN103106164A (zh) * 2011-11-09 2013-05-15 深圳市德赛微电子技术有限公司 一种高效dma控制器
US20140282560A1 (en) * 2013-03-14 2014-09-18 Altera Corporation Mapping Network Applications to a Hybrid Programmable Many-Core Device

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1200823A (zh) * 1995-09-05 1998-12-02 英特尔公司 动态延迟事务机制
JP2008102609A (ja) * 2006-10-17 2008-05-01 Canon Inc バス・ブリッジ
CN102207920A (zh) * 2010-03-30 2011-10-05 比亚迪股份有限公司 一种bvci总线到ahb总线的转换桥
CN103106164A (zh) * 2011-11-09 2013-05-15 深圳市德赛微电子技术有限公司 一种高效dma控制器
US20140282560A1 (en) * 2013-03-14 2014-09-18 Altera Corporation Mapping Network Applications to a Hybrid Programmable Many-Core Device

Cited By (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN108010558A (zh) * 2017-11-28 2018-05-08 晶晨半导体(上海)股份有限公司 一种存储器的信号完整性测试方法
CN110956990A (zh) * 2018-09-26 2020-04-03 展讯通信(上海)有限公司 Sram读取延时控制电路及sram
CN110956990B (zh) * 2018-09-26 2022-03-01 展讯通信(上海)有限公司 Sram读取延时控制电路及sram
CN112749057A (zh) * 2020-12-30 2021-05-04 成都忆芯科技有限公司 用于读事务的总线监视器
CN116881065A (zh) * 2023-09-07 2023-10-13 湖北芯擎科技有限公司 总线传输延时检测模块、电路及方法
CN116881065B (zh) * 2023-09-07 2023-12-15 湖北芯擎科技有限公司 总线传输延时检测模块、电路及方法

Also Published As

Publication number Publication date
CN106326045B (zh) 2019-10-25

Similar Documents

Publication Publication Date Title
CN106326045A (zh) 一种检测总线延时的方法
USRE49806E1 (en) Timestamping packets in a network
US8874801B1 (en) On chip performance tracking for a system on a chip
CN103198001B (zh) 能够自测pcie接口的存储系统及测试方法
CN109739712B (zh) Fpga加速卡传输性能测试方法、装置及设备和介质
US9356847B2 (en) Method for monitoring and displaying high speed bus performance
CN103675022A (zh) Tds 检测方法、检测装置和检测系统
CN104714787B (zh) Mdf格式文件的生成方法及装置
CN104408213B (zh) 一种便携式数据采集卡
CN106468733A (zh) 一种特高压雷电侵入波的监测系统及其监测方法
US8452910B1 (en) Capture of USB packets into separate USB protocol streams based on different USB protocol specifications
US5317564A (en) Merging network for collection of data from multi-computers
CN106892134B (zh) 一种虚拟仪表的测试方法和装置
CN106257257B (zh) 一种检测光模块星座图的方法、装置及虚拟矢量分析仪
CN207718361U (zh) Pcm信号采集装置及系统
CN106597095A (zh) 一种双cpu等间隔采样的频率跟踪实现方法
CN111127700A (zh) 一种自动驾驶汽车的系统指标监控系统
CN110636522A (zh) 一种通信网络覆盖质量的确定方法及装置
CN107066232B (zh) 半导体设备及其操作方法
CN113393547B (zh) Pet符合数据量控制方法、装置、设备和存储介质
CN105429896B (zh) 一种耦合报文信用释放方法及系统
CN104102604B (zh) 一种业务处理装置
CN102981430B (zh) 一种准确获取星图星时的方法
JP4880355B2 (ja) バスモニタ回路
JP2001033556A (ja) 放射線画像装置

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
GR01 Patent grant
GR01 Patent grant