Hierarchical cache coherence protocol verification one level at a time through assume guarantee

Xiaofan Chen, Yu Yang, Michael Delisi, G. Gopalakrishnan, Ching-Tsun Chou
{"title":"Hierarchical cache coherence protocol verification one level at a time through assume guarantee","authors":"Xiaofan Chen, Yu Yang, Michael Delisi, G. Gopalakrishnan, Ching-Tsun Chou","doi":"10.1109/HLDVT.2007.4392796","DOIUrl":null,"url":null,"abstract":"Due to the error-prone nature of modern cache coherence protocols, in all modern processor design flows these protocols are formally specified at the level of interleaving atomic transactions and model checked. Explicit state enumeration methods are almost always used for coherence protocol verification, as symbolic methods have failed to deliver advantages in this area. The move towards multicores implies that hierarchical organizations of several different cache coherence protocols will be employed in the future. The product state space of all these protocols jointly operating in a multicore cache hierarchy is beyond the reach of all available explicit state model checkers. In our previous work, an assume guarantee technique that allowed these protocols to be handled for the first time was reported. In this approach, a method was proposed to create a set of initial abstract protocols Mi % where each Mi simulates the given hierarchical protocol. After the set of initial Mi's are created, verification consists of dealing with Mi's in an assume guarantee manner, refining each Mi in the process. The drawbacks of this work were: (i) even a single Mt modeled more than one level of the coherence protocols, thus still creating very large product spaces; (ii) details such as non-inclusive caching hierarchies could not be handled; (iii) the initial Mi's were created manually, which is tedious and error prone. This paper overcomes all these limitations, handling non-inclusive caching hierarchies, bringing about a 95% reduction in the total state space encountered during any single explicit enumeration search, and requiring only a few such runs to finish verification.","PeriodicalId":339324,"journal":{"name":"2007 IEEE International High Level Design Validation and Test Workshop","volume":"29 1","pages":"0"},"PeriodicalIF":0.0000,"publicationDate":"2007-11-07","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":"21","resultStr":null,"platform":"Semanticscholar","paperid":null,"PeriodicalName":"2007 IEEE International High Level Design Validation and Test Workshop","FirstCategoryId":"1085","ListUrlMain":"https://doi.org/10.1109/HLDVT.2007.4392796","RegionNum":0,"RegionCategory":null,"ArticlePicture":[],"TitleCN":null,"AbstractTextCN":null,"PMCID":null,"EPubDate":"","PubModel":"","JCR":"","JCRName":"","Score":null,"Total":0}
引用次数: 21

Abstract

Due to the error-prone nature of modern cache coherence protocols, in all modern processor design flows these protocols are formally specified at the level of interleaving atomic transactions and model checked. Explicit state enumeration methods are almost always used for coherence protocol verification, as symbolic methods have failed to deliver advantages in this area. The move towards multicores implies that hierarchical organizations of several different cache coherence protocols will be employed in the future. The product state space of all these protocols jointly operating in a multicore cache hierarchy is beyond the reach of all available explicit state model checkers. In our previous work, an assume guarantee technique that allowed these protocols to be handled for the first time was reported. In this approach, a method was proposed to create a set of initial abstract protocols Mi % where each Mi simulates the given hierarchical protocol. After the set of initial Mi's are created, verification consists of dealing with Mi's in an assume guarantee manner, refining each Mi in the process. The drawbacks of this work were: (i) even a single Mt modeled more than one level of the coherence protocols, thus still creating very large product spaces; (ii) details such as non-inclusive caching hierarchies could not be handled; (iii) the initial Mi's were created manually, which is tedious and error prone. This paper overcomes all these limitations, handling non-inclusive caching hierarchies, bringing about a 95% reduction in the total state space encountered during any single explicit enumeration search, and requiring only a few such runs to finish verification.
查看原文
分享 分享
微信好友 朋友圈 QQ好友 复制链接
本刊更多论文
分层缓存一致性协议通过假设保证一次验证一个级别
由于现代缓存一致性协议容易出错的特性,在所有现代处理器设计流中,这些协议都在交错原子事务和模型检查的级别上正式指定。显式状态枚举方法几乎总是用于一致性协议验证,因为符号方法未能在该领域提供优势。向多核的转变意味着未来将采用几种不同缓存一致性协议的分层组织。在多核缓存层次结构中共同操作的所有这些协议的产品状态空间超出了所有可用的显式状态模型检查器的范围。在我们之前的工作中,首次报道了允许处理这些协议的假设保证技术。在该方法中,提出了一种创建一组初始抽象协议Mi %的方法,其中每个Mi都模拟给定的分层协议。在创建了初始Mi集合之后,验证包括以假设保证的方式处理Mi,并在过程中对每个Mi进行细化。这项工作的缺点是:(i)即使单个Mt建模多个相干协议的级别,因此仍然创建非常大的产品空间;(ii)无法处理非包容性缓存层次结构等细节;(iii)最初的Mi是手动创建的,这是繁琐且容易出错的。本文克服了所有这些限制,处理了非包容性缓存层次结构,在任何单个显式枚举搜索期间遇到的总状态空间减少了95%,并且只需要几次这样的运行就可以完成验证。
本文章由计算机程序翻译,如有差异,请以英文原文为准。
求助全文
约1分钟内获得全文 去求助
来源期刊
自引率
0.00%
发文量
0
期刊最新文献
Reliable network-on-chip based on generalized de Bruijn graph Automatic error diagnosis and correction for RTL designs A novel formal approach to generate high-level test vectors without ILP and SAT solvers Hierarchical cache coherence protocol verification one level at a time through assume guarantee Towards RTL test generation from SystemC TLM specifications
×
引用
GB/T 7714-2015
复制
MLA
复制
APA
复制
导出至
BibTeX EndNote RefMan NoteFirst NoteExpress
×
×
提示
您的信息不完整,为了账户安全,请先补充。
现在去补充
×
提示
您因"违规操作"
具体请查看互助需知
我知道了
×
提示
现在去查看 取消
×
提示
确定
0
微信
客服QQ
Book学术公众号 扫码关注我们
反馈
×
意见反馈
请填写您的意见或建议
请填写您的手机或邮箱
已复制链接
已复制链接
快去分享给好友吧!
我知道了
×
扫码分享
扫码分享
Book学术官方微信
Book学术文献互助
Book学术文献互助群
群 号:481959085
Book学术
文献互助 智能选刊 最新文献 互助须知 联系我们:info@booksci.cn
Book学术提供免费学术资源搜索服务,方便国内外学者检索中英文文献。致力于提供最便捷和优质的服务体验。
Copyright © 2023 Book学术 All rights reserved.
ghs 京公网安备 11010802042870号 京ICP备2023020795号-1