一种AHB总线读写burst相互打断的验证方法及装置制造方法

文档序号:6489810阅读:422来源:国知局
一种AHB总线读写burst相互打断的验证方法及装置制造方法
【专利摘要】本发明适用于电子信息【技术领域】,提供了一种AHB总线读写burst相互打断的验证方法及装置,所述方法包括:接收测试场景scenario;根据中断属性,将所述测试场景中的事务transaction分配到打断队列和被打断队列;按顺序从被打断队列中选取被打断的transaction,在打断队列中查找打断transaction,所述打断transaction符合打断所述被打断的transaction的条件;将所述打断transaction与所述被打断transaction按照打断情况顺序发送至DUT;对比进出DUT每拍数据和顺序的一致性来验证DUT对打断情况处理的正确性。本发明将测试场景分为打断队列和被打断队列,通过比较进出DUT每拍的数据和顺序,实现了验证DUT对打断情况处理的正确性。
【专利说明】—种AHB总线读写burst相互打断的验证方法及装置
【技术领域】
[0001]本发明属于电子信息【技术领域】,尤其涉及一种AHB总线读写burst相互打断的验证方法及装置。
【背景技术】
[0002]验证方法学(VerificationMethodology Manual, VMM)是 SYNOPSYS 公司推出的验证平台,该平台为分层次的结构,该平台的分层结构如图1所示。
[0003]整个验证平台共分为五层:测试层,数据生成层,功能层,命令层,信号层,图中不同的层次用虚线隔开,每个方块代表了一个验证组件,同一层次中可能会包含几种不同的验证组件。各个层次实现的功能分别是:测试层(Test layer)用来进一步对下层的数据生成层进行约束,控制生成符合要求的数据流,测试层包括很多测试用例;数据生成层(Generation layer)是生成随机数据流的地方,数据流的基本单位是事务(transaction);功能层(Function layer)根据实际应用对生成层送过来的transaction进行变换,使其符合借助测试的设计(Design Under Test,DUT)的要求,同时将参考模型(Reference Model)产生的参考数据和DUT产生的实际数据进行比较,实现自动对比的功能;命令层(Commandlayer)的功能是将功能层送过来的transaction转化成具体的信号并用来驱动DUT或是对DUT的输出进行监控,分别对应的验证组件是驱动Driver和监控Monitor。信号层(Signallayer)用来将DUT和Driver及Monitor连接起来。
[0004]利用VMM验证平台对DUT验证的大致思路是这样的:数据生成层根据约束条件生成符合要求的数据流(transaction的集合),数据流通过功能层的转换和命令层的驱动送到DUT,同时DUT的输出数据通过monitor监控送到计分板(scoreboard),实现输入和输出数据的自动比对,通过比对和功能覆盖率的情况来验证DUT功能的正确性。
[0005]上述方法在先进的高性能系统总线(Advanced High-performance Bus,AHB)验证时会遇到问题,会出现后面的总线数据串burst打断前面burst的情况,(这里burst用所述transaction来表示),现有技术下整个验证平台没有对打断情况的处理机制,因此现有技术无法实现DUT对打断情况处理正确性的验证。

【发明内容】

[0006]本发明实施例的目的在于提供一种AHB总线读写burst相互打断的验证方法及装置,以解决现有技术无法实现DUT对打断情况处理正确性的验证。
[0007]本发明的实施例是这样实现的,一种AHB总线读写burst相互打断的验证方法,所述方法包括以下步骤:
[0008]接收测试场景scenario ;
[0009]根据中断属性,将所述测试场景中的事务transaction分配到打断队列和被打断队列;
[0010]按顺序从被打断队列中选取被打断的transaction,在打断队列中查找打断transaction,所述打断transaction符合打断所述被打断的transaction的条件;
[0011]将所述打断transaction与所述被打断的transaction按照打断情况顺序发送至DUT ;
[0012]对比进出DUT每拍数据和顺序的一致性来验证DUT对打断情况处理的正确性。
[0013]本发明的实施例的另一目的在于提供一种AHB总线读写burst相互打断的验证装置,所述装置包括:
[0014]接收单元,用于接收测试场景scenario ;
[0015]分配单元,用于根据中断属性,将所述测试场景中的事务transaction分配到打断队列和被打断队列;
[0016]查找单元,用于按顺序从被打断队列中选取被打断的transaction,在打断队列中查找打断transaction,所述打断transaction符合打断所述被打断的transaction的条件;
[0017]发送单元,将所述打断transaction与被打断的transaction按照打断情况顺序发送至DUT ;
[0018]对比单元,对比进出DUT每拍数据和顺序的一致性来验证DUT对打断情况处理的正确性。
[0019]本发明实施例通过对transaction分配队列,进行打断,将打断以后进出DUT每拍数据和顺序进行比较,实现了验证DUT对打断情况处理的正确性。
【专利附图】

【附图说明】
[0020]为了更清楚地说明本发明实施例中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动性的前提下,还可以根据这些附图获得其他的附图。
[0021]图1是VMM验证平台的结构图;
[0022]图2是本发明提供的AHB总线读写burst相互打断的验证方法的实现流程图;
[0023]图3是本发明提供的AHB总线读写burst相互打断的验证装置的模块结构图;
[0024]图4是本发明实施例提供的AHB总线读写burst相互打断的验证方法的实现流程图;
[0025]图5是本发明实施例提供的AHB总线读写burst相互打断的验证装置的模块结构图。
【具体实施方式】
[0026]为了使本发明的目的、技术方案及优点更加清楚明白,以下结合附图及实施例,对本发明进行进一步详细说明。应当理解,此处所描述的具体实施例仅仅用以解释本发明,并不用于限定本发明。
[0027]本发明提供了一种AHB总线读写burst相互打断的验证方法,所述方法如图2所示,具体步骤包括:
[0028]在步骤SlOl中,接收测试场景scenario ;[0029]在步骤S102中,根据中断属性,将所述测试场景中的事务transaction分配到打断队列和被打断队列;
[0030]在步骤S103中,按顺序从被打断队列中选取被打断的transaction,在打断队列中查找打断transaction,所述打断transaction符合打断所述被打断的transaction的条件;
[0031]在步骤S104中,将所述打断transaction与所述被打断的transaction按照打断情况顺序发送至DUT ;
[0032]在步骤S105中,对比进出DUT每拍数据和顺序的一致性来验证DUT对打断情况处理的正确性。
[0033]在所述步骤S103中,所述按顺序从被打断队列中选取被打断的transaction,在打断队列中查找打断transaction,所述打断transaction符合打断所述被打断的transaction的条件具体为:
[0034]按顺序选取被打断队列中的被打断的transaction,在打断对列中查找打断transaction,所述打断transaction的事务索引与所述被打断transaction在被打断队列的排列序号一致并且所述打断transaction的拍索引应小于所述被打断transaction总的数据拍数。
[0035]在所述步骤S104中,所述将所述符合打断条件的打断transaction与所述被打断队列中的被打断transaction根据打断情况顺序发送具体为:
[0036]按照拍顺序发送被打断的transaction的拍数据,如果在所述打断transaction中查找到打断所述拍的transaction,则插入发送所述打断所述拍的transaction,如果所述拍没有被打断,则紧接着发送下一拍数据,直到被打断transaction的所有拍数据发送完毕。
[0037]本发明提供了一种AHB总线读写burst相互打断的验证装置,所述装置如图3所示,具体包括:
[0038]接收单元21,用于接收测试场景scenario ;
[0039]分配单元22,用于根据中断属性,将所述测试场景中的事务transaction分配到打断队列和被打断队列;
[0040]查找单元23,用于按顺序从被打断队列中选取被打断的transaction,在打断队列中查找打断transaction,所述打断transaction符合打断所述被打断的transaction的条件;
[0041]发送单元24,用于将所述打断transaction与所述被打断的transaction按照打断情况顺序发送到DUT ;
[0042]对比单元25,用于对比进出DUT每拍数据和顺序的一致性来验证DUT对打断情况处理的正确性。
[0043]进一步的是,所述查找单元23具体用于:
[0044]按顺序选取被打断队列中的被打断的transaction,在打断对列中查找打断transaction,所述打断transaction的事务索引与所述被打断transaction在被打断队列的排列序号一致并且所述打断transaction的拍索引应小于所述被打断transaction总的数据拍数。[0045]进一步的是,所述发送单元24具体用于:
[0046]按照拍顺序发送被打断的transaction的拍数据,如果在所述打断transaction中查找到打断所述拍的transaction,则插入发送所述打断所述拍的transaction,如果所述拍没有被打断,则紧接着发送下一拍数据,直到被打断transaction的所有拍数据发送完毕。
[0047]为了说明本发明所述的技术方案,下面通过具体实施例来进行说明。
[0048]实施例一
[0049]图4示出了本发明实施例提供的AHB总线读写burst相互打断的验证方法实现流程,该方法过程详述如下: [0050]在步骤S301中,接收测试场景;
[0051]在本实施例中,测试场景(scenario)包括N个transaction, N为scenario的长度值,transaction包括有一拍或多拍数据,一拍为不可以再分割的数据。
[0052]transaction有3个属性参数:打断使能(ter_enable)、事务索弓丨(ter_trans_index)和拍索引(ter_beat_index),打断使能为中断属性。
[0053]打断使能为O代表该transaction可以被打断,即该transaction包含的拍可以被打断;打断使能为I代表该transaction可以去打断其它transaction,即可以打断其它transaction所包含的拍;也可以用其他方式标识打断使能,例如yes代表该transaction可以被打断,no代表该transaction可以去打断其它transaction,在这里不--赘述。
[0054]事务索引是可以打断其它transaction的索弓丨,假设transaction I可以打断transaction 6, transaction I的事务索引为6,意思是transactionl可以打断被打断队列中的第六个transaction。
[0055]拍索引是指被打断transaction的可以被打断拍的拍号,假设transactionl可以打断transaction 5的第6拍,那此时transaction I的拍索引为6。
[0056]在步骤S302中,为测试场景中的transaction分配队列;
[0057]在本实施例中,将transaction根据打断使能标志分配到被打断和打断两个队列,打断使能标志为O的分配到被打断队列,打断使能标志为I的分配到打断队列。
[0058]在步骤S303中,按顺序在被打断队列中选取被打断transaction ;
[0059]在步骤S304中,在打断队列中查询所有transaction的事务索引和拍索引,选取符合打断条件的打断transaction ;
[0060]在本实施例中,若打断transaction的事务索引与所述被打断的transaction在被打断队列的排列序号一致并且所述打断transaction的拍索引应小于所述被打断transaction总的数据拍数,则所述打断队列中的transaction符合打断条件。例如打断transaction的事务索引为8,拍索引为4,被打断的transaction在被打断队列中排列序号也为8,被打断的transaction总的数据拍数为6,则所述打断transaction可以打断所述被打断的transaction。
[0061]在步骤S305中,按顺序在所述被打断transaction中选取拍,提取打断队列中的可以打断所述拍的transaction,将所述可以打断所述拍的transaction插在所述拍后面,在所述拍发送后,发送至DUT;
[0062]在本实施例中,提取打断队列中的可以打断所述拍的transaction方法具体为从步骤S304中选取得到的所述符合打断条件的打断transaction,根据所述符合打断条件的打断transaction的拍索引是否与所述选取拍的拍号一致,如果一致,所述选取得到的符合打断条件的打断transaction可以打断所述选取的拍;如果没有查询到符合打断条件的打断transaction,就直接发送所述拍。
[0063]在步骤S306中,检测被打断队列中的被打断的transaction是否发送完成;
[0064]若是,则执行步骤S307 ;若否,则继续执行S303。
[0065]在步骤S307中,将进出DUT每拍的数据和顺序比较,验证打断以后DUT对打断情况处理的正确性。
[0066]在本实施例中,如果进出DUT每拍的数据和顺序一致,则DUT对打断情况处理正确有效;否则无效。
[0067]实施例二
[0068]图5所示为本发明实施例提供的数据串相互打断的验证装置的模块结构图,为了便于说明,仅示出与本发明实施例相关的部分。
[0069]该数据串相互打断的验证装置包括:
[0070]接收单元41,用于接收测试场景;
[0071]分配单元42,用于为测试场景中的transaction分配队列;
[0072]查找单元43,用于按顺序在被打断队列中选取被打断transaction,在打断队列中查询所有transaction的事务索引和拍索引,选取符合打断条件的打断transaction ;
[0073]所述查找单元具体包括:
[0074]选择模块431,用于按顺序在被打断队列中选取被打断的transaction ;
[0075]查找模块432,用于在打断队列中查询所有transaction的事务索引和拍索引,选取符合打断条件的transaction。
[0076]发送单元44,用于提取打断队列中的可以打断所述拍的打断transaction,将所述可以打断所述拍的打断transaction插在所述拍后面与所述拍一起发送;
[0077]检测单元45,用于检测被打断队列中的被打断transaction是否发送完成;
[0078]对比单元46,用于将进出DUT每拍的数据和顺序比较,验证打断以后DUT对打断情况处理的正确性。
[0079]本实施例提供的AHB总线读写burst相互打断的验证装置可以使用在前述对应的AHB总线读写burst相互打断的验证方法,详情参见上述数据串相互打断的验证方法实施例的相关描述,在此不再赘述。
[0080]本领域普通技术人员可以理解为上述实施例所包括的各个模块只是按照功能逻辑进行划分的,但并不局限于上述的划分,只要能够实现相应的功能即可;另外,各功能模块的具体名称也只是为了便于相互区分,并不用于限制本发明的保护范围。
[0081]本领域普通技术人员还可以理解,实现上述实施例方法中的全部或部分步骤是可以通过程序来指令相关的硬件来完成,所述的程序可以在存储于装置的可读取存储介质中,所述的存储介质,包括R0M/RAM等。
[0082]以上所述仅为本发明的较佳实施例而已,并不用以限制本发明,凡在本发明的精神和原则之内所作的任何修改、等同替换和改进等,均应包含在本发明的保护范围之内。
【权利要求】
1.一种AHB总线读写burst相互打断的验证方法,其特征在于,所述方法包括以下步骤: 接收测试场景scenario ; 根据中断属性,将所述测试场景中的事务transaction分配到打断队列和被打断队列; 按顺序从被打断队列中选取被打断的transaction,在打断队列中查找打断transaction,所述打断transaction符合打断所述被打断的transaction的条件; 将所述打断transaction与所述被打断的transaction按照打断情况顺序发送至借助测试的设计DUT ; 对比进出DUT每拍数据和顺序的一致性来验证DUT对打断情况处理的正确性。
2.如权利要求1所述的方法,其特征在于,所述按顺序从被打断队列中选取被打断的transaction,在打断队列中查找打断transaction,所述打断transaction符合打断所述被打断的transaction的条件具体为: 按顺序从被打断队列中选取被打断的transaction,在打断对列中查找打断transaction,所述打断transaction的事务索引与所述被打断的transaction在被打断队列中的排列序号应一致,并且所述打断transaction的拍索引应小于所述被打断的transaction总的数据拍数。
3.如权利要求1或2所述的方法,其特征在于,所述将所述打断transaction与所述被打断的transaction按照打断情况顺序发送至DUT具体为: 按照拍顺序发送被打断的transaction的拍数据,如果在所述打断transaction中查找到打断所述拍的transaction,则插入发送所述打断所述拍的transaction,如果所述拍没有被打断,则紧接着发送下一拍数据,直到被打断transaction的所有拍数据发送完毕。
4.一种AHB总线读写burst相互打断的装置,其特征在于,所述装置包括: 接收单元,用于接收测试场景scenario ; 分配单元,用于根据中断属性,将所述测试场景中的事务transaction分配到打断队列和被打断队列; 查找单元,用于按顺序从被打断队列中选取被打断的transaction,在打断队列中查找打断transaction,所述打断transaction符合打断所述被打断的transaction的条件; 发送单元,用于将所述打断transaction与被打断transaction中按照打断情况顺序发送至DUT ; 对比单元,用于对比进出DUT每拍数据和顺序的一致性来验证DUT对打断情况处理的正确性。
5.如权利要求4所述的装置,其特征在于,所述查找单元具体用于: 按顺序选取被打断队列中的被打断的transaction,在打断对列中查找打断transaction,所述打断transaction的事务索引与所述被打断的transaction在被打断队列中的排列序号一致并且所述打断transaction的拍索引应小于所述被打断transaction总的数据拍数。
6.如权利要求4或5任一项所述的装置,其特征在于,所述发送单元具体用于:按照拍顺序发送被打断的transaction的拍数据,如果在所述打断transaction中查找到打断所述拍的transaction,则插入发送所述打断所述拍的transaction,如果所述拍没有被打断, 则紧接着发送下一拍数据,直到被打断transaction的所有拍数据发送完毕。
【文档编号】G06F11/00GK103729259SQ201210387861
【公开日】2014年4月16日 申请日期:2012年10月12日 优先权日:2012年10月12日
【发明者】王恒军, 胡胜发 申请人:安凯(广州)微电子技术有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1