一种残膜回收机防缠绕挑膜装置的制 一种秧草收获机用电力驱动行走机构

IP核outstanding能力检查方法及装置与流程

2023-01-15 11:31:10 来源:中国专利 TAG:

ip核outstanding能力检查方法及装置
技术领域
1.本发明涉及芯片系统仿真测试技术领域,尤其涉及一种ip核outstanding能力检查方法及装置。


背景技术:

2.在ic(集成电路)设计领域,主流芯片设计越来越倾向于使用可复用ip(intellectual property,或称ip核)的soc(system-on-chip,系统芯片,也称片上系统)设计。在基于ip复用的soc设计中,片上总线设计是最为关键的问题。其中,axi(advanced extensible interface)总线是arm公司推出的高性能系统总线,具备较高的传输效率和良好的可移植性。axi总线协议中包括5个独立的传输通道,分别是读地址通道(ar),读数据通道(r),写地址通道(aw),写数据通道(w) 和写反馈通道(b),其中,读、写命令的发送分别是通过读、写地址通道发出,读、写数据也分别通过读、写数据通道传输。每个通道都有一套valid和ready的双向握手机制——即每个通道都有对应的valid和ready信号。其中,valid表示发送的请求或者响应是否有效,ready表示是否准备好接受请求或者响应;当valid和ready信号存在同时为高的时刻,握手即视为成功;数据data使用valid信号作为有效性指示,ready信号表征下一级是否准备好。其中ar、aw和w通道主数据流方向是从master(主机)设备端到slave(从机)设备端,r和b通道主数据流方向是从slave(从机)设备端到master(主机)设备端。目前,axi总线协议被广泛用作基于arm高性能处理器的soc芯片的总线系统,可以满足高性能、高复杂度的soc芯片设计的需求。
3.axi协议支持outstanding传输机制(outstanding 传输机制通常也被称为超前传输机制)。outstanding表示在途,利用outstanding传输机制,axi总线设备在当前传输事务完成前,就可以开始下一个传输事务,以此可以有效提高传输效率。基于arm高性能处理器的soc芯片在中使用axi协议进行模块之间的相互通信时,axi outstanding能力(也称超前传输能力或超前传输深度)是一个重要性能指标,outstanding能力的数值越高,表示数据处理能力越强。其中,在分析axi outstanding能力时,主要是分析axi主机(master)的outstanding能力,作为举例,比如令axi主机的outstanding能力为n,表示axi主机在没有收到回应(response)时可以持续发起n个传输事务(transaction);如果主机当前未处理完的读/写事务(r/w transaction)数量达到n,则不再发起新事务,当其中一个事务完成后,则主机可以继续发起一个新事务。
4.在soc 芯片设计中,基于arm 高性能处理器的 ip核都需要设计outstanding能力,作为举例而非限制,比如某个ip核的outstanding能力设计为16,则表示这个ip 核最多支持发16个地址而不用等待响应之后再发下一笔数据(传输请求)。在进行ip核的性能仿真验证时,检查ip核的outstanding能力是否达到设计标准是一个必须且重要的步骤。目前,业界通常是由仿真验证工程师分析波形图(仿真验证工具提供波形图以便在传输事务级别查看信号)来检查ip核的outstanding能力。具体的,是通过分析读/写事务的valid-ready信号握手情况(在波形图上显示为各传输通道上valid和ready信号的拉高变化,valid和
ready信号同时为高时表示数据传输发生)来统计outstanding数。上述方法存在如下缺陷:1)波形图为图形化信息,工程师在分析图形化信息时需要将图形转换为具体的信号逻辑和信号值,且需要定位和比对多个传输通道的valid和ready信号,消耗了工程师极大的时间和精力。2)针对各个ip核,在根据valid和ready信号的对应情况确定各个ip核的outstanding能力后,通常还需要人工将仿真得到的outstanding能力值与各个ip核的outstanding能力设计值进行比对,从而验证各ip核的outstanding能力是否达标,上述验证方法的自动化程度较低。尤其的,随芯片规模的增加,芯片中集成的ip核模块也越来越多,各ip核的outstanding能力的检查造成了仿真时间、人力资源和计算资源的极大浪费,在一定程度上影响了整个开发周期。同时,依赖于人工检查和比对也会影响检查结果的稳定性和可靠性。
5.综上所述,如何提供一种检查效率更高、可靠性好、易于实现且适用性广的ip核outstanding能力的验证方案,是当前亟需解决的技术问题。


技术实现要素:

6.本发明的目的在于:克服现有技术的不足,提供了一种ip核outstanding能力检查方法及装置。本发明提供的ip核outstanding能力检查方法,通过针对每个ip核配置存储outstanding 计数的栈,能够在仿真过程中自动检查各ip核的outstanding数量并获得ip核实际的outstanding 能力,然后将实际的outstanding 能力与各ip核的outstanding 能力设计值进行比对以验证ip核的outstanding 能力是否达标,检查过程不依赖人工检查和比对,检查效率高,可靠性好,且易于实现,适用性广。
7.为实现上述目标,本发明提供了如下技术方案:一种ip核outstanding能力检查方法,包括如下步骤:获取芯片系统中的各ip核的outstanding 能力设计值,基于预设数据格式生成包含有所有ip核的outstanding 能力设计值的数据文件;以及,针对每个ip核配置一个栈,所述栈用于在仿真过程中存储对应ip核的outstanding 计数trans_num的最大值;其中,所述outstanding 计数trans_num为任意时刻写outstanding 计数w_trans_num和读outstanding 计数r_trans_num的和,所述写outstanding 计数w_trans_num为ip核发送的当前处于outstanding中的写事务数量,所述读outstanding 计数r_trans_num为ip核发送的当前处于outstanding中的读事务数量,所述outstanding 计数trans_num的值随着仿真的进行发生变化;启动前述芯片系统的仿真后,在仿真过程中通过各ip核的栈存储对应ip核的outstanding 计数trans_num的最大值;以及,监测到仿真结束时,对每个ip核对应的栈的栈顶进行peek 操作以返回栈顶数值,所述栈顶数值即为该ip核的outstanding 能力仿真值;将各ip核的 outstanding 能力仿真值和前述数据文件中对应的outstanding 能力设计值进行比对,以检查ip核的outstanding 能力是否达到预设要求。
8.进一步,检查ip核的outstanding 能力是否达到预设要求的步骤包括:针对每个ip核,比较该ip核的outstanding 能力仿真值与outstanding 能力设计值的大小;
能力仿真值与outstanding 能力设计值的大小;当 outstanding 能力仿真值大于等于outstanding 能力设计值时,判定ip核的outstanding 能力达到预设要求,在前述数据文件中标记通过检查;当outstanding 能力仿真值小于outstanding 能力设计值时,判定ip核的outstanding 能力未达到预设要求,将outstanding 能力仿真值在前述数据文件中对应着outstanding 能力设计值记录。
14.进一步,所述数据文件为表格格式,表格的预设字段至少包括ip核名称字段、outstanding 能力设计值字段和检查结果字段;所述数据比对单元被配置为:在判定ip核的outstanding 能力达到预设要求时,在检查结果字段的对应行写入通过的标记,以及,在判定ip核的outstanding 能力未达到预设要求时,在检查结果字段的对应行写入outstanding 能力仿真值。
15.进一步,所述初始化单元包括栈配置子单元,通过所述栈配置子单元配置栈的压入规则,如下:每当当前的outstanding 计数 trans_num 大于当前栈顶的数值时,将当前outstanding 计数trans_num 压入栈中。
16.进一步,trans_num的计数方法如下:令写outstanding 计数w_trans_num和读outstanding 计数r_trans_num的初始值均为0;在仿真过程中监测各传输通道的valid和ready信号,当写地址通道的aw_valid信号拉高,且写反馈通道的b_valid 和 b_ready 信号没有同时拉高时,每过一个axi_clk 时钟周期将w_trans_num的值加1;当aw_valid 信号没有拉高,且b_valid 和b_ready信号同时拉高时,就将w_trans_num的值减1;当读地址通道的ar_valid信号拉高,且读数据通道没有r_resp信号返回时,每过一个axi_clk 时钟周期将r_trans_num加1;当收到一个r_resp信号返回时就将r_trans_num减1。
17.本发明由于采用以上技术方案,与现有技术相比,作为举例,具有以下的优点和积极效果:所述ip核outstanding能力检查方法,通过针对每个ip核配置存储outstanding 计数的栈,能够在仿真过程中自动检查各ip核的outstanding数量并获得ip核实际的outstanding 能力,然后将实际的outstanding 能力与各ip核的outstanding 能力设计值进行比对以验证ip核的outstanding 能力是否达标,检查过程不依赖人工检查和比对,检查效率高,可靠性好,且易于实现,适用性广。
附图说明
18.图1为本发明实施例提供的ip核outstanding能力检查方法的流程图。
19.图2为本发明实施例提供的记载ip核的outstanding 能力值的数据文件的数据结果示例图。
20.图3为本发明实施例提供的写入检查结果后的数据文件的数据结果示例图。
21.图4为本发明实施例提供的ip核outstanding能力检查装置的模块结构示意图。
具体实施方式
22.以下结合附图和具体实施例对本发明公开的ip核outstanding能力检查方法及装置作进一步详细说明。应当注意的是,下述实施例中描述的技术特征或者技术特征的组合不应当被认为是孤立的,它们可以被相互组合从而达到更好的技术效果。在下述实施例的
附图中,各附图所出现的相同标号代表相同的特征或者部件,可应用于不同实施例中。因此,一旦某一项在一个附图中被定义,则在随后的附图中不需要对其进行进一步讨论。
23.需说明的是,本说明书所附图中所绘示的结构、比例、大小等,均仅用以配合说明书所揭示的内容,以供熟悉此技术的人士了解与阅读,并非用以限定发明可实施的限定条件,任何结构的修饰、比例关系的改变或大小的调整,在不影响发明所能产生的功效及所能达成的目的下,均应落在发明所揭示的技术内容所能涵盖的范围内。本发明的优选实施方式的范围包括另外的实现,其中可以不按所述的或讨论的顺序,包括根据所涉及的功能按基本同时的方式或按相反的顺序,来执行功能,这应被本发明的实施例所属技术领域的技术人员所理解。
24.对于相关领域普通技术人员已知的技术、方法和设备可能不作详细讨论,但在适当情况下,所述技术、方法和设备应当被视为说明书的一部分。在这里示出和讨论的所有示例中,任何具体值应被解释为仅仅是示例性的,而不是作为限制。因此,示例性实施例的其它示例可以具有不同的值。
实施例
25.参见图1所示,为本发明提供的一种ip核outstanding能力检查方法,所述方法包括如下步骤。
26.s100,获取芯片系统中的各ip核的outstanding 能力设计值,基于预设数据格式生成包含有所有ip核的outstanding 能力设计值的数据文件;以及,针对每个ip核配置一个栈,所述栈用于在仿真过程中存储对应ip核的outstanding 计数trans_num的最大值。
27.其中,所述outstanding 计数trans_num为任意时刻写outstanding 计数w_trans_num和读outstanding 计数r_trans_num的和,所述写outstanding 计数w_trans_num为ip核发送的当前处于outstanding中的写事务数量,所述读outstanding 计数r_trans_num为ip核发送的当前处于outstanding中的读事务数量。在仿真过程中,所述outstanding 计数trans_num的值随着仿真的进行发生变化。
28.s200,启动前述芯片系统的仿真后,在仿真过程中通过各ip核的栈存储对应ip核的outstanding 计数trans_num的最大值;以及,监测到仿真结束时,对每个ip核对应的栈的栈顶进行peek 操作以返回栈顶数值,所述栈顶数值即为该ip核的outstanding 能力仿真值。
29.s300,将各ip核的 outstanding 能力仿真值和前述数据文件中对应的outstanding 能力设计值进行比对,以检查ip核的outstanding 能力是否达到预设要求。
30.本实施例中,步骤s300中,检查ip核的outstanding 能力是否达到预设要求的步骤具体可以如下:针对每个ip核,比较该ip核的outstanding 能力仿真值与outstanding 能力设计值的大小;当 outstanding 能力仿真值大于等于outstanding 能力设计值时,判定ip核的outstanding 能力达到预设要求,在前述数据文件中标记通过检查;当outstanding 能力仿真值小于outstanding 能力设计值时,判定ip核的outstanding 能力未达到预设要求,将outstanding 能力仿真值在前述数据文件中对应着outstanding 能力设计值记录。
31.在优选的实施方式中,所述数据文件优选为表格格式,比如可以采样excel表、
word表等。所述表格的预设字段至少包括ip核名称字段、outstanding 能力设计值字段和检查结果字段。
32.所述ip核名称字段下,记载有各ip核的名称。作为举例而非限制,比如图2中的cpu、ai、pcie等。
33.所述outstanding 能力设计值字段下,记载有各ip核的outstanding 能力设计值。作为举例而非限制,比如图2中cpu ip核的outstanding 能力设计值outstanding value等于16,ai ip核的outstanding 能力设计值outstanding value等于32,pcie ip核的outstanding 能力设计值outstanding value等于8。
34.所述检查结果字段下记载有检查的结果信息;在仿真前,检查结果字段下的数据为空,仿真结束后检查结果字段下写入结果数据。具体的,在判定ip核的outstanding 能力达到预设要求时,在检查结果字段下写入通过的标记——比如pass,以及在判定ip核的outstanding 能力未达到预设要求时,在检查结果字段下写入outstanding 能力仿真值。作为举例而非限制,参见图3所示,比如cpu ip核仿真得到的实际outstanding 能力(即仿真值)为16,即该ip核的实际outstanding 能力等于outstanding 能力设计值outstanding value,判定检查通过,cpu ip核对应的检查结果字段下写入“pass”标记。再比如,ai ip核仿真得到的实际outstanding 能力(即仿真值)为29,即该ip核的实际outstanding 能力小于outstanding 能力设计值32,未达到设计的outstanding 能力,判定检查未通过,此时,在ai ip核对应的检查结果字段下写入实际的outstanding 能力值“29”。
35.本实施例中,通过设置栈的压入规则来实现通过所述栈存储对应ip核的outstanding 计数trans_num的最大值。具体的,所述栈的压入规则被配置为如下:每当当前的outstanding 计数 trans_num 大于当前栈顶的数值时,将当前outstanding 计数trans_num 压入栈中。
36.当ip核作为master 端时,master的写outstanding能力是指master没有收到slave传过来的 b_valid信号时,能够将aw_valid信号拉高多少个时钟周期;master的读outstanding能力是指master在没有收到r_resp 信号反馈时, master能够发出多少个 ar_valid信号。此时,所述outstanding 计数 trans_num的计数方法可以如下。
37.令写outstanding 计数w_trans_num和读outstanding 计数r_trans_num的初始值均为0。在仿真过程中,监测各传输通道的valid和ready信号,所述传输通道具体包括读地址通道ar,读数据通道r,写地址通道aw,写数据通道w 和写反馈通道b,每个传输通道都有一套valid和ready信号的双向握手机制,各传输通道的valid和ready信号的双向握手机制参考现有的axi总线协议,在此不再赘述。当写地址通道的aw_valid信号拉高,且写反馈通道的b_valid 和 b_ready 信号没有同时拉高时,每过一个axi_clk 时钟周期将w_trans_num的值加1(即执行w_trans_num=w_trans_num 1);当aw_valid 信号没有拉高,且b_valid 和b_ready信号同时拉高时,就将w_trans_num的值减1(即执行w_trans_num=w_trans_num-1);当读地址通道的ar_valid信号拉高,且读数据通道没有r_resp信号返回时,每过一个axi_clk 时钟周期将r_trans_num加1(即执行r_trans_num=r_trans_num 1);当收到一个r_resp信号返回时就将r_trans_num减1(即执行r_trans_num=r_trans_num-1)。
38.上述方案中,通过在每个ip核上配置一个栈来保存仿真过程中该ip核的outstanding 计数的最大值,仿真结束时对每一个ip核的栈顶进行peek 操作得到对应ip
核的outstanding 能力仿真值,将得到的 ip核的outstanding 能力仿真值和表格文件中的outstanding value 值进行比对,当outstanding 能力仿真值大于等于 outstanding value 时标记为pass,否则就将当前的outstanding 能力仿真值填写到表格文件的结果字段下 (参见图3中的result 列)。如此,当仿真结束时,达到outstanding 能力的ip核自动标示 pass, 达不到 outstanding 能力的ip核自动标出实际的outstanding 能力值,检查过程不依赖人工检查和比对,检查效率高,可靠性好,且易于实现,适用性广。
39.优选的,在配置所述数据文件的数据结构时,还可以增加读事务的outstanding 计数和写事务的outstanding 计数,以分别记录仿真过程中写outstanding 计数w_trans_num和读outstanding 计数r_trans_num的值。
40.参见图4所示,为本发明的另一实施例,还提供了一种ip核outstanding能力检查装置。
41.所述装置包括初始化单元、仿真监测单元和数据比对单元。
42.所述初始化单元,用于获取芯片系统中的各ip核的outstanding 能力设计值,基于预设数据格式生成包含有所有ip核的outstanding 能力设计值的数据文件;以及,针对每个ip核配置一个栈,所述栈用于在仿真过程中存储对应ip核的outstanding 计数trans_num的最大值。其中,所述outstanding 计数trans_num为任意时刻写outstanding 计数w_trans_num和读outstanding 计数r_trans_num的和,所述写outstanding 计数w_trans_num为ip核发送的当前处于outstanding中的写事务数量,所述读outstanding 计数r_trans_num为ip核发送的当前处于outstanding中的读事务数量,所述outstanding 计数trans_num的值随着仿真的进行发生变化。
43.所述仿真监测单元,用于在前述芯片系统的仿真过程中,通过各ip核的栈存储对应ip核的outstanding 计数trans_num的最大值;以及,监测到仿真结束时,对每个ip核对应的栈的栈顶进行peek 操作以返回栈顶数值,所述栈顶数值即为该ip核的outstanding 能力仿真值。
44.所述数据比对单元,用于从仿真监测单元获取各ip核的 outstanding 能力仿真值后,与前述数据文件中对应的outstanding 能力设计值进行比对,以检查ip核的outstanding 能力是否达到预设要求。
45.具体的,所述数据比对单元被配置为:针对每个ip核,比较该ip核的outstanding 能力仿真值与outstanding 能力设计值的大小;当 outstanding 能力仿真值大于等于outstanding 能力设计值时,判定ip核的outstanding 能力达到预设要求,在前述数据文件中标记通过检查;当outstanding 能力仿真值小于outstanding 能力设计值时,判定ip核的outstanding 能力未达到预设要求,将outstanding 能力仿真值在前述数据文件中对应着outstanding 能力设计值记录。
46.本实施例中,所述数据文件为表格格式,表格的预设字段至少包括ip核名称字段、outstanding 能力设计值字段和检查结果字段。
47.所述数据比对单元被配置为:在判定ip核的outstanding 能力达到预设要求时,在检查结果字段的对应行写入通过的标记;以及,在判定ip核的outstanding 能力未达到预设要求时,在检查结果字段的对应行写入outstanding 能力仿真值。
48.所述初始化单元包括栈配置子单元,通过所述栈配置子单元配置栈的压入规则,
如下:每当当前的outstanding 计数 trans_num 大于当前栈顶的数值时,将当前outstanding 计数trans_num 压入栈中。
49.本实施例中,所述trans_num的计数方法具体可以如下:令写outstanding 计数w_trans_num和读outstanding 计数r_trans_num的初始值均为0;在仿真过程中监测各传输通道的valid和ready信号,当写地址通道的aw_valid信号拉高,且写反馈通道的b_valid 和 b_ready 信号没有同时拉高时,每过一个axi_clk 时钟周期将w_trans_num的值加1;当aw_valid 信号没有拉高,且b_valid 和b_ready信号同时拉高时,就将w_trans_num的值减1;当读地址通道的ar_valid信号拉高,且读数据通道没有r_resp信号返回时,每过一个axi_clk 时钟周期将r_trans_num加1;当收到一个r_resp信号返回时就将r_trans_num减1。
50.其它技术特征参见在前实施例的描述,在此不再赘述。
51.在上面的描述中,本发明的公开内容并不旨在将其自身限于这些方面。而是,在本公开内容的目标保护范围内,各组件可以以任意数目选择性地且操作性地进行合并。另外,像“包括”、“囊括”以及“具有”的术语应当默认被解释为包括性的或开放性的,而不是排他性的或封闭性,除非其被明确限定为相反的含义。所有技术、科技或其他方面的术语都符合本领域技术人员所理解的含义,除非其被限定为相反的含义。在词典里找到的公共术语应当在相关技术文档的背景下不被太理想化或太不实际地解释,除非本公开内容明确将其限定成那样。本发明领域的普通技术人员根据上述揭示内容做的任何变更、修饰,均属于权利要求书的保护范围。
再多了解一些

本文用于创业者技术爱好者查询,仅供学习研究,如用于商业用途,请联系技术所有人。

发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表

相关文献