一种验证总线乱序传输的方法和装置的制作方法

文档序号:6353774阅读:265来源:国知局
专利名称:一种验证总线乱序传输的方法和装置的制作方法
技术领域
本发明涉及大规模集成电路的验证技术,特别是涉及一种验证总线乱序传输的方 法和装置。
背景技术
目前大部分高速总线传输协议都支持乱序的传输方式。乱序是指总线打乱数据包 原有的次序,按照实际的情况重新排序传输。图1为总线结构的示意图,如图1所示,设备IDl、设备ID2、设备ID3和设备ID4 都连接总线100,如果这些设备按照时间顺序分别向总线发送了执行相应命令的请求ID1、 请求ID2、请求ID3、请求ID4,这行执行请求被执行之后,需要总线向相应的设备返回对应 的执行结果,因为有的执行快,有的执行慢,所以这些执行结果可能并不是按照请求的顺序 生成的,为了节约资源,总线并不按照请求的顺序返回执行结果,而是在执行结果生成后, 就立即返回具有该执行结果的数据包,也就是乱序返回执行结果,因此,为了使设备能够辨 识乱序传输的数据包,需要通过数据包的10(10甜丨^7,身份标识号码)来确定数据包的身 份。此外,乱序传输需要尊循以下两个原则1)对于不同ID的数据包,可以乱序传输;2)对 于ID相同的数据包,不能打乱次序,必须按照原有的先后顺序传输。为了满足这两个原则, 需要对总线中的请求和响应进行监控。在大规模集成电路的设计阶段,需要对还未实际生产的芯片进行功能验证,看看 其是否能够实现预期的功能。现有技术在验证总线乱序传输时,为了使模拟的总线符合乱 序传输的两个原则,一般也采用监控的方式,但是,在验证领域如果采取与设计相同的方式 来支持乱序传输,会使验证环境过于复杂,不容易实现,而且,如果怎么设计就怎么验证,有 可能使验证犯同样的逻辑错误,甚至会造成对设计缺陷(bug)的遗漏。

发明内容
本发明的目的是提供一种验证总线乱序传输的方法和装置,能够使总线的验证方 式区别于总线的设计方式,能够避免漏检设计缺陷,并且实现简单。为了实现上述目的,一方面,提供了一种验证总线乱序传输的方法,包括步骤一,设置存储模块,所述存储模块具有多个先进先出的缓存队列,每个所述缓 存队列对应一个ID号;步骤二,模拟来自设备的执行请求,根据所述执行请求的ID号将所述执行请求存 入对应的缓存队列;步骤三,根据模拟的总线执行过程,从所述存储模块中读取所述执行请求,执行并 获得执行结果;步骤四,将所述执行结果与预期结果进行比较,获得验证结果。优选地,上述的方法中,所述步骤四具体包括根据所述执行结果的ID号,获得对 应的预期结果,将多个所述执行结果与各自对应的预期结果相比较,获得所述验证结果。
优选地,上述的方法中,通过硬件设计和验证的语言工具来建立所述存储模块。为了实现上述目的,本发明实施例还提供了一种验证总线乱序传输的装置,包 括存储模块,具有多个先进先出的缓存队列,每个所述缓存队列对应一个ID号;请求模块,用于模拟来自设备的执行请求,根据所述执行请求的ID号将所述执 行请求存入对应的缓存队列;响应模块,用于根据模拟的总线执行过程,从所述存储模块中读取所述执行请 求,执行并获得执行结果;比较模块,用于将所述执行结果与预期结果进行比较,获得验证结果。优选地,上述的装置中,所述比较模块具体用于根据所述执行结果的ID号,获得 对应的预期结果,将多个所述执行结果与各自对应的预期结果相比较,获得所述验证结果。优选地,上述的装置中,所述总线支持AXI总线协议。本发明至少存在以下技术效果1)本发明实施例通过存储模块的先进先出的缓存队列,来保障同一 ID的请求的 响应顺序不被打乱,从而简单方便的实现了对总线乱序传输功能的模拟,大大简化了验证 环境的复杂程度,缩短了开发时间。2)本发明的先进先出队列的模拟方式与总线设计中的监控方式完全不同,能够使 总线的验证方式区别于总线的设计方式,所以能够避免漏检设计缺陷。


图1为总线结构的示意图;图2为本发明实施例提供的方法的步骤流程图;图3为本发明实施例提供的装置的结构图。
具体实施例方式为使本发明实施例的目的、技术方案和优点更加清楚,下面将结合附图对具体实 施例进行详细描述。图2为本发明实施例提供的方法的步骤流程图,如图2所示,本发明实施例提供一 种验证总线乱序传输的方法,包括步骤201,设置存储模块,所述存储模块具有多个先进先出的缓存队列,每个所述 缓存队列对应一个ID号;步骤202,模拟来自设备的执行请求,根据所述执行请求的ID号将所述执行请求 存入对应的缓存队列;步骤203,根据模拟的总线执行过程,从所述存储模块中读取所述执行请求,执行 并获得执行结果;步骤204,将所述执行结果与预期结果进行比较,获得验证结果。可见,本发明实施例通过存储模块的先进先出的缓存队列,来保障同一 ID的请求 的响应顺序不被打乱,从而简单方便的实现了对总线乱序传输功能的模拟,并且因为先进 先出队列的模拟方式与总线设计中的监控方式完全不同,所以能够避免漏检设计缺陷。
本发明实施例中,步骤203获得执行结果,该执行结果就是所模拟的物理总线中 要返回给设备的执行结果,此时不必再模拟返回给设备的过程,直接模拟验证该执行结果 是否是设备期待的结果就可以了。该验证可以是对多个设备的多个执行结果的验证,因此, 所述步骤204具体包括根据所述执行结果的ID号,获得对应的预期结果,将多个所述执行 结果与各自对应的预期结果相比较,获得所述验证结果。其中,可以通过硬件设计和验证的语言工具来建立所述存储模块,例如采用 SV(System Verilog,是一种硬件设计和验证的语言,建立在Verilog语言的基础上,是 IEEE 1364 Verilog-2001 标准的扩展增强)。此外,本发明实施例还提供了一种验证总线乱序传输的装置,图3为本发明实施 例提供的装置的结构图,如图3所示,装置包括存储模块301,具有多个FIF0(First In First Out,先进先出)的缓存队列,每个 所述缓存队列对应一个ID号;请求模块302,用于模拟来自设备的执行请求,根据所述执行请求的ID号将所述 执行请求存入对应的缓存队列;响应模块303,用于根据模拟的总线执行过程,从所述存储模块中读取所述执行 请求,执行并获得执行结果;比较模块304,用于将所述执行结果与预期结果进行比较,获得验证结果。图3中,单向箭头表示存储模块301、比较模块304只是检测总线,但是不会改变总 线行为。其中,所述比较模块304还具体用于根据所述执行结果的ID号,获得对应的预期 结果,将多个所述执行结果与各自对应的预期结果相比较,获得所述验证结果。所述总线支 持 AXI (Advanced extensible Interface)总线协议。可见,本发明通过对不同ID分别建立属于各自的FIFO,使得不支持乱序传输的验 证环境也能对乱序传输的高速总线进行验证。因此,本发明是利用相同的ID的访问请求之间有严格的相关性,不能重排序操作 的特性,而建立一个与该ID对应的FIFO,在验证的过程中,将请求通过ID标记号放入对应 的FIFO,执行的时候按照设计从对应ID的FIFO取出此时设计执行的指令,执行后与设计结 果进行数据对比。本发明大大简化了验证环境的复杂程度,避免验证环境的bug,缩短了开 发时间。由上可知,本发明实施例具有以下优势1)本发明实施例通过存储模块的先进先出的缓存队列,来保障同一 ID的请求的 响应顺序不被打乱,从而简单方便的实现了对总线乱序传输功能的模拟,大大简化了验证 环境的复杂程度,缩短了开发时间。2)本发明的先进先出队列的模拟方式与总线设计中的监控方式完全不同,能够使 总线的验证方式区别于总线的设计方式,所以能够避免漏检设计缺陷。以上所述仅是本发明的优选实施方式,应当指出,对于本技术领域的普通技术人 员来说,在不脱离本发明原理的前提下,还可以做出若干改进和润饰,这些改进和润饰也应 视为本发明的保护范围。
权利要求
1.一种验证总线乱序传输的方法,其特征在于,包括步骤一,设置存储模块,所述存储模块具有多个先进先出的缓存队列,每个所述缓存队 列对应一个ID号;步骤二,模拟来自设备的执行请求,根据所述执行请求的ID号将所述执行请求存入对 应的缓存队列;步骤三,根据模拟的总线执行过程,从所述存储模块中读取所述执行请求,执行并获得 执行结果;步骤四,将所述执行结果与预期结果进行比较,获得验证结果。
2.根据权利要求1所述的方法,其特征在于,所述步骤四具体包括根据所述执行结果 的ID号,获得对应的预期结果,将多个所述执行结果与各自对应的预期结果相比较,获得 所述验证结果。
3.根据权利要求1所述的方法,其特征在于,通过硬件设计和验证的语言工具来建立 所述存储模块。
4.一种验证总线乱序传输的装置,其特征在于,包括存储模块,具有多个先进先出的缓存队列,每个所述缓存队列对应一个ID号;请求模块,用于模拟来自设备的执行请求,根据所述执行请求的ID号将所述执行请 求存入对应的缓存队列;响应模块,用于根据模拟的总线执行过程,从所述存储模块中读取所述执行请求,执 行并获得执行结果;比较模块,用于将所述执行结果与预期结果进行比较,获得验证结果。
5.根据权利要求4所述的装置,其特征在于,所述比较模块具体用于根据所述执行结 果的ID号,获得对应的预期结果,将多个所述执行结果与各自对应的预期结果相比较,获 得所述验证结果。
6.根据权利要求4所述的装置,其特征在于,所述总线支持AXI总线协议。
全文摘要
本发明提供一种验证总线乱序传输的方法和装置,方法包括步骤一,设置存储模块,所述存储模块具有多个先进先出的缓存队列,每个所述缓存队列对应一个ID号;步骤二,模拟来自设备的执行请求,根据所述执行请求的ID号将所述执行请求存入对应的缓存队列;步骤三,根据模拟的总线执行过程,从所述存储模块中读取所述执行请求,执行并获得执行结果;步骤四,将所述执行结果与预期结果进行比较,获得验证结果。本发明能够使总线的验证方式区别于总线的设计方式,能够避免漏检设计缺陷,并且实现简单。
文档编号G06F17/50GK102096734SQ201110028899
公开日2011年6月15日 申请日期2011年1月26日 优先权日2011年1月26日
发明者杨磊, 祝丹 申请人:北京中星微电子有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1