基于SystemVerilog断言和任务的协同总线验证方法及系统技术方案

技术编号:7443918 阅读:346 留言:0更新日期:2012-06-16 23:45
本发明专利技术公开了基于SystemVerilog断言和任务的协同总线验证方法及系统。该验证方法包括:步骤1,列举AHB总线时序;步骤2,根据AHB总线时序类型对AHB总线时序进行属性抽象;步骤3,根据预设的条件对AHB总线时序属性用SystemVerilog断言描述,或者对AHB总线时序属性用任务描述。本发明专利技术充分利用了断言验证的优点,同时对SystemVerilog断言不易定义的部分属性,利用SystemVerilog任务作为补充,对其描述和验证,两者协同工作,各取所长,以最简便方式,获得较高的覆盖率,达到良好的验证效果。

【技术实现步骤摘要】

本专利技术涉及片上系统,尤其涉及基于SystemVerilog断言和任务的协同总线验证方法及系统
技术介绍
基于断言的验证方法学是片上系统(SoC)功能验证的一个有效地方法,其主要优点是提高了 SoC设计验证的可观察性和可控制性。断言可以比较容易地发现潜在电路设计的内部错误,为SoC设计验证提供了良好的可观察性。传统的验证方法是输入激励到待验证设计(DUV),在输出端口检查信号的正确性。然而,激励触发的内部错误,有可能无法传递到输出端口。这样,就无法检查出此错误。 如果在验证代码中嵌入断言,就可以在更接近产生错误的地方将其检测出来。断言可以对一个给定输入的设计期望行为进行精确的描述,从而可以更方便地描述输入/输出行为、总线协议以及设计中一些复杂的关系,提高了验证的可控制性。基于断言的验证可以使用简洁的语言结构来建立精确的时序表达式。通过检查这些表达式是否发生,可以很简单地进行功能覆盖的检查,并且这种覆盖率分析针对跨多个时序周期的一个时间序列或者整个传输。断言的覆盖分析可以直接使用在协议检查或者事件描述中用到的时序表达式,无需额外编写覆盖分析代码,因此编码会更加灵活、简洁。AHB总线协议是高级微控制器总线体系(AMBA)的一部分。AMBA总线系统和ARM 嵌入式微处理器是当前SoC设计最流行的体系架构。AMBA标准定义了三种不同的总线高级高性能总线(AHB)、高级系统总线(ASB)和高级外设总线(APB)。其中,AHB是用于高性能、高时钟频率的系统模块,其担当高性能系统的中枢总线。AHB支持处理器,片上存储器, 片外存储器以及低功耗外设宏功能单元之间的有效连接。在SoC设计中,会用到大量的IP,如图1中的直接内存访问(DMA)、通用异步接收 /发送装置(UART)、定时器(Timer),键盘(Keypad),通用输入输出(GPIO)等。为节省研发成本和时间,可以采用免费的开源IP核。OpenCores便提供了大量有用的基于WISHBONE总线系统的开源IP核。WISHBONE是OpenCores建议的片上总线标准,目前已有大量开源的IP核使用 WISHBONE总线作为互连标准。与其他片上总线相比,WisWxme总线结构简单,互连灵活,对用户定制的支持良好,与其他片上总线的互连也较简单,同样有着广泛的应用前景。如图2所示,WISHBONE到AHB的转换桥,即是两种总线时序规范间的转换。对 WISHBONE到AHB转换桥的验证,实际上就是对其AHB端时序是否满足总线协议规则的验证。 本专利技术充分利用SystemVerilog断言和任务,可以对总线协议规范进行有效的验证。
技术实现思路
针对现有技术中存在的上述问题,本专利技术提供了基于SystemVerilog断言和任务的协同总线验证方法及系统。本专利技术提供了基于SystemVerilog断言和任务的协同总线验证方法,包括步骤1,列举AHB总线时序;步骤2,根据AHB总线时序类型对AHB总线时序进行属性抽象;步骤3,根据预设的条件对AHB总线时序属性用SystemVerilog断言描述,或者对 AHB总线时序属性用SystemVerilog任务描述。在一个示例中,步骤2中,AHB总线时序抽象为传输中插入等待周期,空闲传输,忙传输,从机错误响应,从机重试响应,从机分块响应,流水操作,突发传输或复位。在一个示例中,步骤3中,如果AHB总线时序属性为传输中插入等待周期,空闲传输,忙传输,从机错误响应,从机重试响应或从机分块响应,则用SystemVerilog断言描述; 如果AHB总线时序属性为流水操作,突发传输或复位,则用SystemVerilog任务描述。在一个示例中,进行覆盖率统计本专利技术提供了基于SystemVerilog断言和任务的协同总线验证系统,包括时序列举模块,用于列举AHB总线时序;属性抽象模块,用于根据AHB总线时序类型对AHB总线时序进行属性抽象;验证模块,用于根据预设的条件对AHB总线时序属性用SystemVerilog断言描述, 或者对AHB总线时序属性用SystemVerilog任务描述。在一个示例中,AHB总线时序抽象为传输中插入等待周期,空闲传输,忙传输,从机错误响应,从机重试响应,从机分块响应,流水操作,突发传输或复位。在一个示例中,如果AHB总线时序属性为传输中插入等待周期,空闲传输,忙传输,从机错误响应,从机重试响应或从机分块响应,则用SystemVerilog断言描述;如果AHB 总线时序属性为流水操作,突发传输或复位,则用SystemVerilog任务描述。在一个示例中,还包括统计模块,用于统计覆盖率。本专利技术充分利用了断言验证的优点,同时对SystemVerilog断言(SVA)不易定义的部分属性,利用SystemVerilog任务(SystemVerilog Task)作为补充,对其描述和验证, 两者协同工作,各取所长,以最简便方式,获得较高的覆盖率,达到良好的验证效果。附图说明下面结合附图来对本专利技术作进一步详细说明,其中图1是典型的SoC构架;图2是WISHBONE到AHB转换桥示意图3是本专利技术的协同总线验证方法流程。具体实施方式如图3所示,本专利技术的验证方法为根据AHB总线协议,列举出其各种时序规范,并将其抽象为各种属性,然后利用SVA和Task定义并描述出这些属性,以实现对它们的监测和验证,最后通过覆盖率语句来实现覆盖率检查和分析。对于总线属性的描述,因断言在时序表达上的优势,优先选用其描述。然而,对于跨时钟周期信号值的定量分析,无法用简洁的断言语句表达,则选用任务语句描述。即本方案充分发挥断言和任务两种工具协同作用之优点。AHB总线信号如下权利要求1.基于SystemVerilog断言和任务的协同总线验证方法,其特征在于,包括步骤1,列举AHB总线时序;步骤2,根据AHB总线时序类型对AHB总线时序进行属性抽象;步骤3,根据预设的条件对AHB总线时序属性用SystemVerilog断言描述,或者对AHB 总线时序属性用SystemVerilog任务描述。2.如权利要求1所述的协同总线验证方法,其特征在于,步骤2中,AHB总线时序抽象为传输中插入等待周期,空闲传输,忙传输,从机错误响应,从机重试响应,从机分块响应, 流水操作,突发传输或复位。3.如权利要求1或2所述的协同总线验证方法,其特征在于,步骤3中,如果AHB总线时序属性为传输中插入等待周期,空闲传输,忙传输,从机错误响应,从机重试响应或从机分块响应,则用SystemVerilog断言描述;如果AHB总线时序属性为流水操作,突发传输或复位,则用SystemVerilog任务描述。4.如权利要求1或2所述的协同总线验证方法,其特征在于,还包括步骤4,进行覆盖率统计。5.基于SystemVerilog断言和任务的协同总线验证系统,其特征在于,包括时序列举模块,用于列举AHB总线时序;属性抽象模块,用于根据AHB总线时序类型对AHB总线时序进行属性抽象;验证模块,用于根据预设的条件对AHB总线时序属性用SystemVerilog断言描述,或者对AHB总线时序属性用SystemVerilog任务描述。6.如权利要求5所述的协同总线验证系统,其特征在于,AHB总线时序抽象本文档来自技高网
...

【技术保护点】

【技术特征摘要】

【专利技术属性】
技术研发人员:张挺陈岚冯燕
申请(专利权)人:中国科学院微电子研究所
类型:发明
国别省市:

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1
相关领域技术