一种基于层次状态机的AXI总线性能分析方法及装置与流程

文档序号:24443874发布日期:2021-03-27 02:40阅读:275来源:国知局
一种基于层次状态机的AXI总线性能分析方法及装置与流程
一种基于层次状态机的axi总线性能分析方法及装置
技术领域
1.本发明涉及芯片片内总线性能分析技术,特别是涉及一种基于层次状态机的axi(advanced extensible interface,先进可扩展接口)总线性能分析方法及装置。


背景技术:

2.随着芯片设计及工艺技术的不断提升,功能模块性能不断攀升,性能瓶颈慢慢转移到了总线上,尤其数据通信量较大的芯片对于其内部总线性能的需求日益增大。总线的设计伴随整个芯片设计流程,为了使各模块都工作在最佳状态下,需要不断地进行总线性能分析来获取总线的修改及优化方向,总线性能分析的效率低下及不准确都将给芯片性能带来巨大的影响。axi总线作为当前芯片设计领域常用的高性能片内总线之一,广泛应用于片上系统及片上网络的设计中。因此对于axi总线全面且准确的性能分析方法相当重要。
3.在不断提升总线频率来提升总线性能的同时,能够提升串并行传输性能的交易特性如burst传输(burst transmission,突发传输)、ot(outstanding transaction,并发传输)不断出现,这些特性有效缩短了交易间的等待时间,提升总线利用率的同时大大降低了每次传输的平均延时。这些特性也不单是总线单方面的性能指标,需要模块和总线进行性能上的匹配,是不可缺少的总线性能评估参数。不适用于上述特性的总线性能分析方法将会导致交易或传输的缺失,影响轻则导致性能分析与实现不符、失去分析价值,重则导致技术混乱、将总线修改或优化引导向错误的方向,会给芯片设计周期、性能分析效率及设计正确性带来巨大的影响,是一个急需解决的问题。


技术实现要素:

4.本发明的目的是为了克服上述背景技术的不足,提供一种基于层次状态机的axi总线性能分析方法及装置,可以实现全面分析交易特性,分别独立分析总线性能的读/写通道,从而能够准确找到性能瓶颈,提高了分析效率,大幅缩短了芯片设计周期。
5.本发明提供的一种基于层次状态机的axi总线性能分析方法,包括如下步骤:步骤1、分析总线占用:以axi总线上存在传输数作为总线占用情况的分析条件,分别得到总线占用信号、读通道占用信号及写通道占用信号;步骤2、设置层次状态机:通过读通道与写通道占用情况设置层次状态机,层次状态机包括一个父层状态机和两个子层状态机;步骤3、分析总线性能:父层状态机对应全局状态机,进行axi总线全局性能分析,子层状态机对应读写两通道实时状态机,进行axi读写通道实时性能分析。
6.在上述技术方案中,所述步骤1的步骤如下:步骤1.1、根据总线上存在的交易数不为0时,判断此时总线占用,根据总线上存在的交易数为0时,判断此时总线空闲;步骤1.2、监控axi总线的写地址/写响应/读地址/读数据四个通道,根据读地址/写地址通道地址有效时,记录读/写通道各自未完成传输数,根据读数据/写响应有效时,记录读/写通道各自完成传输数,未完成传输数与完成传输数的差值为存在传输数,存在传输数为0时,表示总线未占用,存在传输数为1时,表示总线占用。
7.在上述技术方案中,所述步骤1.2的具体步骤如下:步骤1.2.1、当配置监控起始信号为1时,状态机进入监控状态;步骤1.2.2、监控写地址通道信号awready、awvalid,写响应通道信号bready、bvalid,读地址通道信号arready、arvalid,读数据通道信号rready、rvalid,通过这4组共8个信号来分析目前读写通道上各自未完成的传输数;步骤1.2.3、当写地址通道信号awready&awvalid为1时,写地址通道地址有效,监控写地址通道传输长度信号awlen,记录读地址通道未完成传输数wsignal0=wsignal0+(awlen+1’b1),wsignal0初始值为0;步骤1.2.4、当写响应通道信号bready&bvalid为1时,写响应通道响应有效,且wsignal0不为0时,记录响应通道完成传输数wsignal1=wsignal1+1’b1,若wsignal0为0时,说明此前总线上还有写传输未完成,本次响应不计入完成写传输数;步骤1.2.5、当读地址通道信号arready&arvalid为1时,读地址通道地址有效,监控读地址通道传输长度信号arlen,记录读地址通道未完成传输数rsignal0=rsignal0+(arlen+1

b1),rsignal0初始值为0;步骤1.2.6、当读数据通道信号rready&rvalid为1时,读数据通道数据有效,且rsignal0不为0时,记录读数据通道完成传输数rsignal1=rsignal1+1’b1,若rsignal0为0时,说明此前总线上还有读传输未完成,该次响应不计入完成读传输数;步骤1.2.7、记录wsignal0

wsignal1,当该值大于0时,说明写通道上存在未完成的传输,配置写通道占用信号w_active=1’b1;当该值等于0时,说明写通道上所有传输已经完成,配置写通道占用信号w_active=1’b0;当该值小于0时,清空两个传输信号,在监控开始前总线上存在未完成的并发写交易;步骤1.2.8、记录rsignal0

rsignal1,当该值大于0时,说明读通道上存在未完成的传输,配置读通道占用信号r_active=1’b1;当该值等于0时,说明读通道上所有传输已经完成,配置读通道占用信号r_active=1’b0;当该值小于0时,清空两个传输信号,在监控开始前总线上存在未完成的并发读交易;步骤1.2.9、记录(wsignal0+rsignal0)

(wsignal1+rsignal1),当该值大于0时,说明总线上存在未完成的传输,配置总线占用信号axi_active=1’b1;当该值等于0时,说明总线所有传输已经完成,配置总线占用信号axi_active=1’b0。
8.在上述技术方案中,所述步骤2的具体步骤如下:步骤2.1、层次状态机分为父层状态机、读通道子层状态机与写通道子层状态机共3个状态机,父层状态机包含4个状态:初始状态、监控状态、监控计数状态和分析状态;子层状态机包含3个状态:初始状态、计数状态和分析状态。
9.在上述技术方案中,所述步骤2还包括如下步骤:步骤2.2、父层状态机根据读/写通道占用情况生成实时读/实时写两个子层状态机,当总线占用时,从父层状态机进入对应的子层状态机,当总线空闲时,从对应的子层状态机返回父层状态机;步骤2.3、当读通道占用信号为1时,起用作为读通道实时状态机的子层状态机,当读通道占用信号为0时,退出读通道实时状态机;当写通道占用信号为1时,起用作为写通道实时状态机的子层状态机,当写通道占用信号为0时,退出写通道实时状态机。
10.在上述技术方案中,所述步骤3的具体步骤如下:步骤3.1、axi总线全局性能分析在父层状态机下进行,在进入监控状态后记录时钟周期数直至退出监控计数状态;在监控计数状态下记录总线占用周期数和传输周期数,两周期数差值为总延时周期数;当地址有效时记录传输长度信号,传输长度等于1的为离散传输,传输长度大于1的为连续传输;当数据有效时记录数据选通信号,不为全通时该笔传输为窄带传输;步骤3.2、axi总线实时性能
分析在子层状态机下进行,从进入计数状态到退出状态为一笔交易,记录交易数及地址有效数,地址有效数为该笔交易outstanding数;记录计数状态周期数及传输周期数,两周期数差值为当前交易延时周期数。
11.在上述技术方案中,所述步骤3.1的具体步骤如下:步骤3.1.1、父层状态机在总线占用信号为1时跳转到监控计数状态;步骤3.1.2、父层状态机处于监控计数状态,记录时钟及传输周期数,用于分析总线占用率、平均延时;当地址有效时,记录传输长度信号awlen/arlen,若该信号等于0时说明该地址的交易只存在一次传输,为一次离散传输,若该信号大于0时说明该地址的交易为突发传输,为传输次数对应的连续传输;当数据有效时,记录写通道的选通信号wstrb,根据该信号和数据位宽判断是否为全位宽的数据都有效,如果不是全位宽有效则为窄带传输;步骤3.1.3、当总线占用信号为1时,该笔交易还没有结束,继续保持监控计数状态,当总线占用信号为0时,该笔交易结束,父层状态机跳转到监控状态;步骤3.1.4、当前总线上没有未完成的交易,等待下一笔交易的到来,且所有计数器不清零;步骤3.1.5、当总线占用信号为1时,新交易到来,状态机从监控状态跳转到监控计数状态,当总线占用信号为0时,没有新交易到来,状态机保持不变;步骤3.1.6、由步骤3.1.2引出,当监控停止信号为0时,继续保持监控技术状态,当监控停止信号为1时,监控计数状态结束;步骤3.1.7、父层状态机跳转到分析状态;步骤3.1.8、根据时钟周期数可以分析得到总线占用率;根据时钟周期数和传输周期数可以分析得到每次传输的平均延时;根据离散和连续传输数可以分析得到离散连续传输比,连续传输可以大大缩减平均延时,若存在过多离散传输且总线性能不足时,可以考虑将可以合并的离散传输转化为连续传输等做法进行总线性能优化;根据窄带传输的传输数可以分析得到窄带传输占比,当窄带传输占比很大时,说明该总线数据位宽不一定最适用与当前使用环境,可以结合需求带宽结合位宽调整进行总线性能优化。
12.在上述技术方案中,所述步骤3.2的具体步骤如下:步骤3.2.1、子层状态机在通道占用信号为1时跳转到监控状态;步骤3.2.2、开始当前交易的实时分析,记录时钟周期数和传输周期数,用于分析实时的延时;步骤3.2.3、在记录参数的同时,进行延时周期数的计算,该值为时钟周期数与传输周期数的差值;同时监控地址通道,当前通道上存在着未完成的交易,因此当地址有效时,说明本次交易存在并发交易outstanding,记录outstanding=outstanding+1’b1,outstanding初始值为1;步骤3.2.4、当通道占用信号为1时,保持监控状态,当通道占用信号为0时,监控状态结束;步骤3.2.5、子层状态机跳转到通道分析状态;步骤3.2.6、根据延时周期数与传输周期计数计算得到当前交易中每笔传输的平均延时;步骤3.2.7、将当前交易的平均延时和outstanding与此前最大延时和最大outstanding做比较,将较大值赋值给最大延时和最大outstanding,默认最大延时和最大outstanding均为0;最大延时为所有传输中的最差路径延时,是总线是否满足性能需求的重要指标;最大outstanding则是分析总线性能是否匹配总线模块的重要指标,若模块outstanding能力大于总线,将导致模块做并发交易发送时总线处理并发能力不够,交易堵塞在模块接口上导致系统性能降低,此时总线将成为整个系统的性能瓶颈,因此计算总线最大outstanding可以明确给总线设计提出性能瓶颈所在及优化方向。
13.本发明还提供了一种基于层次状态机的axi总线性能分析装置,包括如下部分:总线占用分析模块:以axi总线上存在传输数作为总线占用情况的分析条件,分别得到总线占
用信号、读通道占用信号及写通道占用信号;层次状态机设置模块:通过读通道与写通道占用情况设置层次状态机,层次状态机包括一个父层状态机和两个子层状态机;总线性能分析模块:父层状态机对应全局状态机,进行axi总线全局性能分析,子层状态机对应读写两通道实时状态机,进行axi读写通道实时性能分析。
14.在上述技术方案中,所述层次状态机设置模块包括如下部分:父层状态机设置单元:父层状态机由4个状态组成,分别是初始状态、监控状态、监控计数状态、分析状态;初始状态作为默认状态,不使用任何计数器,当监控起始信号为1时,跳转到监控状态;监控状态下,使用全局的时钟周期计数器,不进行性能参数的计数,当总线占用信号为1时,交易发送到总线上,跳转到监控计数状态;监控技术状态下,使用全局性能参数计数器,当总线占用信号为0时,跳转到监控状态,当监控停止信号为0时,跳转到分析状态;分析状态将各参数引出到可访问的寄存器中供使用,当分析结束信号为1时跳转到初始状态;子层状态机设置单元:子层状态机由3个状态组成,分别是通道初始状态、通道监控状态、通道分析状态;通道初始状态作为默认状态,不使用任何计数器,当通道占用信号为1时,跳转到通道监控状态;通道监控状态下,使用实时性能参数计数器,当通道占用信号为0时,跳转到通道分析状态;通道分析状态与父层的分析状态类似,将各参数引出到可访问的寄存器中供使用,当分析结束信号为1时跳转到通道初始状态。
15.本发明基于层次状态机的axi总线性能分析方法及装置,具有以下有益效果:
16.axi总线上存在传输数作为总线占用情况的分析条件,为burst传输、ot性能参数提供了分析环境,针对读通道与写通道占用情况生成层次状态机,层次状态机包括一个父层状态机和两个子层状态机,实现读/写通道独立的性能分析,父层状态机对应全局状态机,进行axi总线全局性能分析,子层状态机对应读写两通道实时状态机,进行axi读写通道实时性能分析。这种技术安排实现了对axi总线性能全面且准确的分析,解决了可能出现的部分特性无法分析或传输丢失导致参数分析与实际不符的情况,可以准确找到性能瓶颈,提高分析效率,并大幅缩短芯片设计周期。
附图说明
17.图1为本发明基于层次状态机的axi总线性能分析方法的整体流程示意图;
18.图2为本发明基于层次状态机的axi总线性能分析方法中步骤1的流程示意图;
19.图3为本发明基于层次状态机的axi总线性能分析方法中步骤1.2的流程示意图;
20.图4为本发明基于层次状态机的axi总线性能分析方法中步骤2的流程示意图;
21.图5为本发明基于层次状态机的axi总线性能分析方法中步骤3的流程示意图;
22.图6为本发明基于层次状态机的axi总线性能分析方法中步骤3.1的流程示意图;
23.图7为本发明基于层次状态机的axi总线性能分析方法中步骤3.2的流程示意图;
24.图8为本发明基于层次状态机的axi总线性能分析装置的结构示意图。
具体实施方式
25.下面结合附图及实施例对本发明作进一步的详细描述,但该实施例不应理解为对本发明的限制。
26.本发明所针对的axi总线性能分析参数,包含:全局性能分析参数的平均延时、总
线占用率、离散连续传输占比、窄带传输占比;还包含实时性能分析参数的单笔交易平均/最大outstanding、最大延时。
27.参考图1所示流程图,本发明首先提供了一种基于层次状态机的axi总线性能分析方法,包括如下步骤:步骤101总线占用分析步骤:以axi总线上存在传输数作为总线占用情况的分析条件,分别得到总线占用信号、读通道占用信号及写通道占用信号。随后进入步骤102层次状态机生成步骤:通过读与写通道占用情况生成层次状态机,层次状态机包括一个父层状态机和两个子层状态机。最后进入步骤103总线性能分析步骤:父层状态机对应全局状态机,进行axi总线全局性能分析,子层状态机对应读写两通道实时状态机,进行axi读写通道实时性能分析。
28.本发明在分析方法上使用总线上传输数来生成占用信号来开启性能参数的计数,在现有技术下会以交易信息发出作为一笔交易起始的判断,由于burst传输和ot的引入,一笔交易内总线上可能存在突发传输或者并行交易,如出现这种交易特性,现有技术将导致大量传输丢失甚至延时等参数分析错误。本发明以总线上传输数为基准,解决了传输丢失的情况,不受不同特性引起的总线行为变化影响,可以准确地得到占用信号从而进行总线性能分析。
29.如图2所示,所述步骤101的步骤如下:
30.步骤1011、根据总线上存在的交易数不为0时,判断此时总线占用,根据总线上存在的交易数为0时,判断此时总线空闲;
31.步骤1012、监控axi总线的写地址/写响应/读地址/读数据四个通道,根据读地址/写地址通道地址有效时,记录读/写通道各自未完成传输数,根据读数据/写响应有效时,记录读/写通道各自完成传输数,未完成传输数与完成传输数的差值为存在传输数,存在传输数为0时,表示总线未占用,存在传输数为1时,表示总线占用。
32.使用层次状态机可以更全面地分离读写通道进行分析和更灵活地分析交易特性:针对不同功能的模块,读与写的性能需求存在一定差别,分离通道的性能分析更利于总线后续的设计;针对交易特性,当ot=1时,总线交易是串行的,当ot>1时,总线交易是并行的,交易周期数少于多次传输的周期累加,ot需要在总线占用时进行分析,用一级状态机无法在分析ot时继续保持全局参数的记录,因此采用层次状态机,父层状态机对应全局状态机,进行axi总线全局性能分析,子层状态机对应读写两通道实时状态机,进行axi读写通道实时性能分析。
33.如图3所示总线占用情况分析流程图,步骤如下:
34.步骤201在配置监控起始信号为1时,父层状态机进入监控状态。
35.步骤202中监控写地址通道信号awready、awvalid,写响应通道信号bready、bvalid,读地址通道信号arready、arvalid,读数据通道信号rready、rvalid,通过这4组共8个信号来分析目前读写通道上各自未完成的传输数。
36.步骤203中当awready&awvalid为1时,写地址通道地址有效,监控写地址通道传输长度信号awlen,记录写通道未完成传输数wsignal0=wsignal0+(awlen+1’b1),wsignal0初始值为0。
37.步骤204中当bready&bvalid为1时,写响应通道响应有效,且wsignal0不为0时,记录响应通道完成传输数wsignal1=wsignal1+1’b1,若wsignal0为0时,说明此前总线上还
有写传输未完成,该次响应不计入完成写传输数。
38.步骤205中当arready&arvalid为1时,读地址通道地址有效,监控读地址通道传输长度信号arlen,记录读通道未完成传输数rsignal0=rsignal0+(arlen+1

b1),rsignal0初始值为0.
39.步骤206中当rready&rvalid为1时,读数据通道数据有效,且rsignal0不为0时,记录读通道完成传输数rsignal1=rsignal1+1’b1,若rsignal0为0时,说明此前总线上还有读传输未完成,该次响应不计入完成读传输数。
40.步骤207中记录wsignal0

wsignal1,当该值大于0时,说明写通道上存在未完成的传输,配置写通道占用信号w_active=1’b1;当该值等于0时,说明写通道上所有传输已经完成,配置写通道占用信号w_active=1’b0;当该值小于0时,清空两个传输信号,在监控开始前总线上可能存在未完成的并发写交易。
41.步骤208中记录rsignal0

rsignal1,当该值大于0时,说明读通道上存在未完成的传输,配置读通道占用信号r_active=1’b1;当该值等于0时,说明读通道上所有传输已经完成,配置读通道占用信号r_active=1’b0;当该值小于0时,清空两个传输信号,在监控开始前总线上可能存在未完成的并发读交易。
42.步骤209中记录(wsignal0+rsignal0)

(wsignal1+rsignal1),当该值大于0时,,说明总线上存在未完成的传输,配置总线占用信号axi_active=1’b1;当该值等于0时,说明总线所有传输已经完成,配置总线占用信号axi_active=1’b0。
43.如图4所示层次状态机转移图,该状态机由一个父层状态机和两个子层状态机组成,分别为父层状态机、读通道子层状态机与写通道子层状态机共3个状态机,父层状态机包含4个状态:初始状态、监控状态、监控计数状态和分析状态;子层状态机包含3个状态:初始状态、计数状态和分析状态。父层状态机用于分析全局参数,也可以称为全局状态机,子层状态机用于分析实时参数,分为读通道实时状态机和写通道实时状态机。
44.父层状态机根据读/写通道占用情况生成实时读/实时写两个子层状态机,当总线占用时,从父层状态机进入对应的子层状态机,当总线空闲时,从对应的子层状态机返回父层状态机;
45.当读通道占用信号为1时,起用子层状态机(读通道实时状态机),当读通道占用信号为0时,退出子层状态机(读通道实时状态机);当写通道占用信号为1时,起用子层状态机(写通道实时状态机),当写通道占用信号为0时,退出子层状态机(写通道实时状态机);
46.父层状态机由4个状态组成,分别是初始状态、监控状态、监控计数状态、分析状态;初始状态作为默认状态,不使用任何计数器,当监控起始信号为1时,跳转到监控状态;监控状态下,使用全局的时钟周期计数器,不进行性能参数的计数,当总线占用信号为1时,交易发送到总线上,跳转到监控计数状态;监控技术状态下,使用全局性能参数计数器,当总线占用信号为0时,跳转到监控状态,当监控停止信号为0时,跳转到分析状态;分析状态将各参数引出到可访问的寄存器中供使用,当分析结束信号为1时跳转到初始状态。
47.子层状态机由3个状态组成,分别是通道初始状态、通道监控状态、通道分析状态;通道初始状态作为默认状态,不使用任何计数器,当通道占用信号为1时,跳转到通道监控状态;通道监控状态下,使用实时性能参数计数器,当通道占用信号为0时,跳转到通道分析状态;通道分析状态与父层的分析状态类似,将各参数引出到可访问的寄存器中供使用,当
分析结束信号为1时跳转到通道初始状态。
48.如图5所示,所述步骤103的具体步骤如下:
49.步骤1031、axi总线全局性能分析在父层状态机下进行,在进入监控状态后记录时钟周期数直至退出监控计数状态;在监控计数状态下记录总线占用周期数和传输周期数,两周期数差值为总延时周期数;当地址有效时记录传输长度信号,传输长度等于1的为离散传输,传输长度大于1的为连续传输;当数据有效时记录数据选通信号,不为全通时该笔传输为窄带传输;
50.步骤1032、axi总线实时性能分析在子层状态机下进行,从进入计数状态到退出状态为一笔交易,记录交易数及地址有效数,地址有效数为该笔交易outstanding数;记录计数状态周期数及传输周期数,两周期数差值为当前交易延时周期数。
51.如图6所示父层状态机设计流程图,步骤301中,父层状态机在总线占用信号为1时跳转到监控计数状态。
52.步骤302中,父层状态机处于监控计数状态,记录时钟及传输周期数,用于分析总线占用率、平均延时;当地址有效时,记录传输长度信号awlen/arlen,若该信号等于0时说明该地址的交易只存在一次传输,为一次离散传输,若该信号大于0时说明该地址的交易为突发传输,为传输次数对应的连续传输;当数据有效时,记录写通道的选通信号wstrb,根据该信号和数据位宽判断是否为全位宽的数据都有效,如果不是全位宽有效则为窄带传输。
53.步骤303中,当总线占用信号为1时,该笔交易还没有结束,继续保持监控计数状态,当总线占用信号为0时,该笔交易结束,父层状态机跳转到监控状态。
54.步骤304中,当前总线上没有未完成的交易,等待下一笔交易的到来,且所有计数器不清零。
55.步骤305中,当总线占用信号为1时,新交易到来,状态机从监控状态跳转到监控计数状态,当总线占用信号为0时,没有新交易到来,状态机保持不变。
56.步骤306中,由步骤302引出,当监控停止信号为0时,继续保持监控技术状态,当监控停止信号为1时,监控计数状态结束。
57.步骤307中,父层状态机跳转到分析状态。
58.步骤308中,根据时钟周期数可以分析得到总线占用率;根据时钟周期数和传输周期数可以分析得到每次传输的平均延时;根据离散和连续传输数可以分析得到离散连续传输比,连续传输可以大大缩减平均延时,若存在过多离散传输且总线性能不足时,可以考虑将可以合并的离散传输转化为连续传输等做法进行总线性能优化;根据窄带传输的传输数可以分析得到窄带传输占比,当窄带传输占比很大时,说明该总线数据位宽不一定最适用与当前使用环境,可以结合需求带宽结合位宽调整进行总线性能优化。
59.如图7所示子层状态机设计流程图,步骤401中,子层状态机在通道占用信号为1时跳转到监控状态。
60.步骤402中,开始当前交易的实时分析,记录时钟周期数和传输周期数,用于分析实时的延时。
61.步骤403中,在记录参数的同时,进行延时周期数的计算,该值为时钟周期数与传输周期数的差值;同时监控地址通道,当前通道上存在着未完成的交易,因此当地址有效时,说明本次交易存在并发交易,即ot,outstanding为并发交易的并发次数,记录
outstanding=outstanding+1’b1,outstanding初始值为1;ot作为一个极大提升总线性能的特性,大幅降低了交易间的等待延时,如果不使用层次状态机生成通道占用状态进行处理,在上一笔交易还没有完成时就有交易到达总线,传统分析方法会丢失响应到达前的所有并发交易,甚至导致后续的计数出现偏移,所有参数都失去实际意义。
62.步骤404中,当通道占用信号为1时,保持监控状态,当通道占用信号为0时,监控状态结束。
63.步骤405中,子层状态机跳转到通道分析状态。
64.步骤406中,根据延时周期数与传输周期计数计算得到当前交易中每笔传输的平均延时。
65.步骤407中,将当前交易的平均延时和outstanding与此前最大延时和最大outstanding做比较,将较大值赋值给最大延时和最大outstanding,默认最大延时和最大outstanding均为0;最大延时为所有传输中的最差路径延时,是总线是否满足性能需求的重要指标;最大outstanding则是分析总线性能是否匹配总线模块的重要指标,若模块outstanding能力大于总线,将导致模块做并发交易发送时总线处理并发能力不够,交易堵塞在模块接口上导致系统性能降低,此时总线将成为整个系统的性能瓶颈,因此计算总线最大outstanding可以明确给总线设计提出性能瓶颈所在及优化方向。
66.如图8所示,本发明还提供了一种基于层次状态机的axi总线性能分析装置,包括如下部分:
67.总线占用分析模块:以axi总线上存在传输数作为总线占用情况的分析条件,分别得到总线占用信号、读通道占用信号及写通道占用信号;
68.层次状态机设置模块:通过读通道与写通道占用情况设置层次状态机,层次状态机包括一个父层状态机和两个子层状态机;
69.总线性能分析模块:父层状态机对应全局状态机,进行axi总线全局性能分析,子层状态机对应读写两通道实时状态机,进行axi读写通道实时性能分析。
70.其中,所述层次状态机设置模块包括如下部分:
71.父层状态机设置单元:父层状态机由4个状态组成,分别是初始状态、监控状态、监控计数状态、分析状态;初始状态作为默认状态,不使用任何计数器,当监控起始信号为1时,跳转到监控状态;监控状态下,使用全局的时钟周期计数器,不进行性能参数的计数,当总线占用信号为1时,交易发送到总线上,跳转到监控计数状态;监控技术状态下,使用全局性能参数计数器,当总线占用信号为0时,跳转到监控状态,当监控停止信号为0时,跳转到分析状态;分析状态将各参数引出到可访问的寄存器中供使用,当分析结束信号为1时跳转到初始状态;
72.子层状态机设置单元:子层状态机由3个状态组成,分别是通道初始状态、通道监控状态、通道分析状态;通道初始状态作为默认状态,不使用任何计数器,当通道占用信号为1时,跳转到通道监控状态;通道监控状态下,使用实时性能参数计数器,当通道占用信号为0时,跳转到通道分析状态;通道分析状态与父层的分析状态类似,将各参数引出到可访问的寄存器中供使用,当分析结束信号为1时跳转到通道初始状态。
73.显然,本领域的技术人员可以对本发明进行各种改动和变型而不脱离本发明的精神和范围。这样,倘若本发明的这些修改和变型属于本发明权利要求及其等同技术的范围
之内,则本发明也意图包含这些改动和变型在内。
74.本说明书中未作详细描述的内容属于本领域专业技术人员公知的现有技术。
当前第1页1 2 3 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1