一种基于遍历搜索存储模型的Cache系统形式化验证方法技术方案

技术编号:13034644 阅读:78 留言:0更新日期:2016-03-17 10:44
一种基于遍历搜索存储模型的Cache系统形式化验证方法,本方法提出采用基于模型检查的形式化验证方式对Cache控制单元进行验证。形式化验证方法是由输出驱动的,用户只需要根据需求编写相关的断言语句而不需要关心输入激励的产生,同时建立一个遍历搜索的Cache memory模型,并通过数学方法进行模型检查最终达到验证的目的,这样可以遍历所有的可能和相关状态条件。本发明专利技术利用形式化验证的数学穷举特性,对指令Cache和数据Cache分别建立了遍历搜索Cache memory模型,实现了Cache控制单元的准确验证,缩短了验证的时间周期,同时提高了验证的可控性和灵活性。

【技术实现步骤摘要】

本专利技术涉及一种Cache系统的形式化验证方法,特别涉及。
技术介绍
随着设计复杂度的提升,验证成为了影响设计流程的一个重要因素,而且验证的开销也越来越大。传统的Cache验证方法是仿真验证。仿真验证由输入驱动,是输入空间的采用,需要通过添加外部激励向量,通过观察Cache系统在激励信号的作用下的反映来判断该设计是否达到了设计的目标。这种方法的缺点是验证覆盖率的完整性依赖于测试向量的选取,达到高的覆盖率和充分的验证结果,是一个十分艰难的过程而且要求验证时间比较长。带有存储器管理单元的Cache系统相对较复杂,使得仿真验证状态空间变得很大,数据完整性的和验证全面性的要求使得采用形式化的验证方法更合适。此外,由于验证过程需要memory模型,传统的模型需要模拟完整的存储单元,占用太大的空间,不利于验证的进行,所以有必要在Cache memory模型建立方面进行创新,才能提高Cache形式化验证的可控性和灵活性。
技术实现思路
本专利技术的技术解决的问题是:克服了现有仿真验证的不足之处,提供了一种cache系统的形式化验证方法,该方法建立一种遍历搜索存储模型,采用模型检查的方法对Cache单元进行验证,从而克服了验证不灵活、Cache memory模型太大导致验证时间过长以及结果覆盖率不全面的缺点。本专利技术的技术解决方案是:如图1和图3所示,,包括以下步骤:(1)用硬件描述语言(例如VHDL语言)建立一种遍历搜索Cache memory模型(用RTL代码描述)。该模型包含指令Cache memory和数据Cache memory,针对指令Cachememory或数据Cache memory仅用2个Cache line来代表原来的整个memory块,每个Cacheline包括数据data、标记位tag、错误标记位err_f lag、保护锁定标识lock、替换算法标识lrr以及有效位valid。有效位valid可以进行扩展,即针对指令Cache memory和数据Cache memory的组相连方式不同,即每一个Cache line有效位valid位数是不同的,分别建立对应的模型;(2)根据Cache需要验证的功能,利用System Verilog Assert1n (SVA)语言描述指令Cache的读指令和burst操作功能,描述数据Cache的正确读写功能,即是用SVA语言对步骤(1)中的遍历搜索Cache memory模型中的数据data、标记位tag、错误标记位err_flag、保护锁定标识lock、替换算法标识lrr以及有效位valid进行描述;(3)利用接口将步骤⑴建立的遍历搜索Cache memory模型和步骤⑵中的断言描述连接(link)起来,最后用形式化工具对断言正确性进行检查,即检验步骤(2)中描述的指令Cache读指令和burst操作功能以及数据Cache的正确读写功能与步骤(1)中建立模型的待验证功能是否一致,如果一致则验证完成,否则进行对Cache进行调试,直至步骤(1)中建立模型的待验证功能与步骤(2)中断言描述的功能一致,如图4所示,当所有功能全部验证通过,则结束验证,否则通过增加或者修改断言描述来验证未完成的功能。(即从Cache memory模型实际输出的数据和向Cache memory模型请求的数据完全相等,贝lj判定验证功能一致,否则判定为不一致。)本专利技术与现有技术相比的有益效果是:(1)验证方法提出了一种遍历搜索存储模型,利用形式化穷举的特点,使用一组信号描述了整个的Cache memory行为特征,这样大大的减小了存储模型的大小,而且提高了memory模型的行为可控性;(2)采用基于断言的模型检查方法,不再需要提供外部的测试向量,而是根据设计文档对输入进行约束,用断言对输出进行描述,利用形式化遍历穷举的数学方法证明功能点,这样可以发现设计中用户无法想到或者无法用仿真来发现的错误,从而提高了验证的完备性。【附图说明】图1是本专利技术Cache形式化验证的结构示意图;图2 (a)是本专利技术的Cache memory模型中的recordO信号示意图;2(b)是本专利技术的Cache memory模型中的recordl信号示意图;图3是本专利技术Cache模型检查方法的流程图;图4是本专利技术Cache验证功能覆盖率收集过程流程图。【具体实施方式】本专利技术的思路为:,本方法提出采用基于模型检查的形式化验证方式对Cache控制单元进行验证。形式化验证方法是由输出驱动的,用户只需要根据需求编写相关的断言语句而不需要关心输入激励的产生,同时建立一个遍历搜索的Cache memory模型,并通过数学方法进行模型检查最终达到验证的目的,这样可以遍历所有的可能和相关状态条件。本专利技术利用形式化验证的数学穷举特性,对指令Cache和数据Cache分别建立了遍历搜索Cache memory模型,实现了 Cache控制单元的准确验证,缩短了验证的时间周期,同时提高了验证的可控性和灵活性。下面结合附图和具体实施例对本专利技术进行详细说明。Cache系统包括数据Cache、指令Cache、存储器管理单元、Cache与总线通信管理单元等。存储器管理单元主要进行虚拟地址和物理地址的转换,通信管理单元主要负责Cache与AHB总线之间的通信和数据传递。验证功能点包括:数据正常读写功能、指令正常读功能、指令Cache支持burst操作。(1)提出一种遍历搜索Cache memory模型,根据Cache系统中指令Cache和数据Cache的有效位valid位数不同,分别建立各自对应的cache memory模型,如图2的(a)和(b)所不,数据Cache memory中用两个Cache line (即reordO和reordl)来描述该模型,利用recordO代表整个数据Cache中存储的数据data,标记位tag,错误标记err_flag,锁定信号lock,替换标识lrr,以及有效位标识valid,这样根据形式化穷举的特征,仅需要一组信号就可以表示出整个的数据cache memory模型。为了验证数据cache的替换算法,使用2组record信号,每次数据Cache没有命中时,都要进行record信号数值的更新,但对于valid部分,recordO仅更新一次,而recordl每次都更新,当输入信号中的地址等于观察的地址时需要比较两个valid的关系即可验证整个Cache的替换算法。(例如:当替换算法是最近最少替换原则LRU时,两个valid的关系是recordO和recordl之间valid仅有一位不同,即当前第1页1 2 本文档来自技高网...
一种<a href="http://www.xjishu.com/zhuanli/55/CN105404572.html" title="一种基于遍历搜索存储模型的Cache系统形式化验证方法原文来自X技术">基于遍历搜索存储模型的Cache系统形式化验证方法</a>

【技术保护点】
一种基于遍历搜索存储模型的Cache系统形式化验证方法,其特征在于步骤如下:(1)用硬件描述语言建立一种遍历搜索Cache memory模型,包括一组请求读取该Cache memory模型中存储数据的请求输入信号和一组根据请求输出的信号,该模型包含指令Cache memory和数据Cache memory,针对指令Cache memory或数据Cache memory仅用2个Cache line来代表原来的整个memory块,每个Cache line包括数据data、标记位tag、错误标记位err_flag、保护锁定标识lock、替换算法标识lrr以及有效位valid,有效位valid能够进行扩展,即针对指令Cache memory和数据Cachememory的组相连方式不同,即每一个Cache line有效位valid位数是不同的,根据有效位valid位数,分别建立对应的指令Cache memory或数据Cache memory模型;(2)根据Cache需要验证的功能,利用System Verilog Assertion语言描述指令Cache的读指令和burst操作功能,即输入一组读指令请求信号,输出一组对应的指令信号;描述数据Cache的正确读写功能,即输入一组读数据请求信号,输出一组对应的数据信号;即是用SVA语言对步骤(1)中的遍历搜索Cache memory模型中的数据data、标记位tag、错误标记位err_flag、保护锁定标识lock、替换算法标识lrr以及有效位valid进行描述,形成断言;(3)利用接口信号,将步骤(1)建立的遍历搜索Cache memory模型的输入、输出和步骤(2)中的断言描述的输入、输出分别链接起来,最后用形式化工具对断言正确性进行检查,即检验步骤(2)中描述的指令Cache读指令和burst操作功能以及数据Cache的正确读写功能与步骤(1)中建立模型的需要验证的功能是否一致,如果一致则验证完成,否则对不一致的Cache功能进行调试,直至步骤(1)中建立模型的待验证功能与步骤(2)中断言描述的功能一致。...

【技术特征摘要】

【专利技术属性】
技术研发人员:赵元富侯国伟于立新彭和平庄伟覃辉
申请(专利权)人:北京时代民芯科技有限公司北京微电子技术研究所
类型:发明
国别省市:北京;11

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

1