一种用于部件级和部件联合级的缓存一致性模拟验证方法技术

技术编号:23084879 阅读:30 留言:0更新日期:2020-01-11 01:05
本发明专利技术涉及一种用于部件级和部件联合级的缓存一致性模拟验证方法,包括以下步骤:对核心缓存进行建模;根据核心和核外缓存一致性控制模块的接口协议,对处理器核心功能进行建模;创建核心的指令监测器模型,所述指令监测器模型用来监测核心模型与核外缓存一致性控制模块的通信情况;建立数据比对模型;创建记分板模型,所述记分板模型与所述指令监测器模型进行通信,用于接收指令监测器模型发送的消息,并根据消息类型分别进行处理以完成验证。本发明专利技术解决了因核心数变化引起的设计架构修改造成Cache一致性部件级和部件联合级验证环境重新搭建问题。

A cache consistency simulation verification method for part level and part Union level

【技术实现步骤摘要】
一种用于部件级和部件联合级的缓存一致性模拟验证方法
本专利技术涉及处理器验证
,特别是涉及一种用于部件级和部件联合级的缓存一致性模拟验证方法。
技术介绍
随着集成电路的规模和复杂度的日益增加,处理器设计越来越复杂,一个芯片上通常集成了多个处理器核心,当两个及以上的处理器核心可以对同一缓存(简称Cache)块进行读写操作,如果有一个核心修改了该数据,包含有该数据块内容的其他核心没有及时更新该数据状态的话,就会产生数据不一致的情况。Cache一致性协议就是要维护多个核心对同一可见Cache数据的一致性。Cache一致性协议是为实现共享数据访问的一致性、提供逻辑统一的共享主存访问界面所采用的机制。Cache一致性协议设计和实现的正确性不仅直接决定多核处理器功能的正确性,而且对整个处理器的规模和性能都有着至关重要的影响。因此,在芯片的设计验证过程中,要针对多核心共享Cache的设计做各种验证和测试工作。目前大多针对Cache一致性协议进行研究和验证,采用模拟验证、形式化验证、协议级建模等多种方法,验证层次单一,不能满足大规模集成电路设计中芯片验证的多层次多角度的的验证需求。并且所采用的验证的原理多为:根据Cache一致性协议设置Cache块的各种状态,验证从初始状态遍历所有可以抵达完结状态的路径,依此来验证Cache一致性协议的完备性。但是协议验证只能检查Cache行的各种状态之间的跳转的正确性,在实际设计中,不光要看这些状态转换的结果是否正确,还要看数据在多个核心、Cache以及主存之间的存储、转发有无丢失、覆盖等情况。
技术实现思路
本专利技术提供一种用于部件级和部件联合级的缓存一致性模拟验证方法,解决了因核心数变化引起的设计架构修改造成Cache一致性部件级和部件联合级验证环境重新搭建问题。本专利技术解决其技术问题所采用的技术方案是:提供一种用于部件级和部件联合级的缓存一致性模拟验证方法,包括以下步骤:(1)对核心缓存进行建模,得到核心缓存模型,所述核心缓存模型具有符合设计的核心内缓存控制器功能,能够根据请求响应类型修改缓存块状态和存取缓存块数据;(2)根据核心和核外缓存一致性控制模块的接口协议,对处理器核心功能进行建模,得到核心模型,所述核心模型能够根据核心缓存模型的缓存块状态向核外缓存一致性控制模块发出合法的请求,并且能够根据收到的响应包类型改变核心缓存模型的缓存块状态,写入缓存块数据;(3)创建核心的指令监测器模型,所述指令监测器模型用来监测核心模型与核外缓存一致性控制模块的通信情况;(4)建立数据比对模型,所述数据比对模型用于记录以核心缓存模型的缓存行地址为索引的最新数据,所述数据比对模型还与记分板模型进行通信,并根据计分板模型的数据指令对缓存行地址数据进行更新操作;(5)创建记分板模型,所述记分板模型与所述指令监测器模型进行通信,用于接收指令监测器模型发送的消息,并根据消息类型分别进行处理以完成验证。所述步骤(4)中数据比对模型在接收到记分板模型的写数据指令时,更新缓存行地址数据,数据比对模型在接收到记分板模型的读数据指令时,将缓存行地址的数据发送给所述记分板模型。所述步骤(5)中所述消息类型为请求类消息时,所述记分板模型以请求的ID号为索引,登记请求的地址和类型;所述消息类型为写数据消息时,所述记分板模型把写地址和数据发送到所述数据比对模型;所述消息类型为响应类消息时,所述记分板模型根据响应的ID号进行查询,如果有对应的请求,且请求类型跟响应类型与缓存一致性协议描述类型相符,则检查通过,删除登记的请求。如果响应类消息中携带数据,所述记分板模型还要根据请求地址查询所述数据比对模型,查看响应数据与所述数据比对模型的数据是否一致,依此来检查缓存一致性控制处理模块的设计是否正确。所述步骤(5)后还包括根据核外缓存一致性控制处理模块和主存模块的接口协议,创建与核外缓存一致性控制处理模块相连接的主存模型的步骤,其中,所述主存模型用于接收来自核外缓存一致性控制处理模块的访存请求。有益效果由于采用了上述的技术方案,本专利技术与现有技术相比,具有以下的优点和积极效果:本专利技术中的建立的核心模型内部包括了核内Cache模型,伪随机激励生成器,监测器模型和记分板模型,每个核心模型都做到了自校验正确性,在搭建模拟环境时,可以根据设计规模配置核心模型个数,避免了设计架构单纯因为核心增减而引起的模拟环境的大规模改动问题;本专利技术验证结合了Cache一致性协议的请求、响应类型和数据处理结果两方面的内容,通过遍历请求响应合法类型,验证了Cache一致性协议、Cache阵列以及Cache控制器的设计等的正确性。本专利技术对存控进行了建模,实现了核心访存、核外Cache、存控的完整访存通路,可以直接搭建部件级环境对Cache一致性控制处理模块进行模拟验证,待到后期存控代码成熟,也可以把存控模型直接替换成真实的存控设计,对核外Cache以及存控一起作为DUT过渡到部件联合级的模拟环境验证,存控建模是按照接口协议完成的,因此验证环境可以在部件级和部件联合级之间任意切换。附图说明图1是本专利技术的核心模型结构方框图;图2是本专利技术的部件级验证环境示意图;图3是本专利技术的验证流程图。具体实施方式下面结合具体实施例,进一步阐述本专利技术。应理解,这些实施例仅用于说明本专利技术而不用于限制本专利技术的范围。此外应理解,在阅读了本专利技术讲授的内容之后,本领域技术人员可以对本专利技术作各种改动或修改,这些等价形式同样落于本申请所附权利要求书所限定的范围。本专利技术的实施方式涉及一种用于部件级和部件联合级的缓存一致性模拟验证方法,该方法需要对核心进行建模,如图1所示,该核心模型至少包括核内Cache模型,伪随机激励生成器,指令监测器模型和记分板模型,通过该结构可以使得每个核心模型都做到自校验正确性,在搭建模拟环境时,可以根据设计规模配置核心模型个数,避免了设计架构单纯因为核心增减而引起的模拟环境的大规模改动问题。具体包括以下步骤:第一步骤:对核心Cache进行建模,得到核心Cache模型,使之有符合设计的核心内Cache控制器功能,可以根据请求响应类型修改Cache块状态、存取Cache块数据等。第二步骤:根据核心和核外Cache一致性控制模块的接口协议,对处理器核心功能建模,得到核心模型,使得核心模型可以根据核心Cache模型的Cache块状态向核外Cache一致性控制模块发出合法的请求,并且可以根据收到的响应包类型改变核心Cache模型的Cache块状态,并写入Cache块数据。其中,发出请求由图1中的伪随机激励生成器实现,接收响应包类型由图1中的响应控制器实现。第三步骤:创建处理器核心的指令监测器模型,该指令监测器模型用来监测核心模型与核外Cache一致性控制处理模块通信情况,包括核心模型发起的请求、核心模型发送给Cache一致性控制处理模块的写数据、Cache一致性控制处理模块发送给核心模型的响应以及Cache一致本文档来自技高网
...

【技术保护点】
1.一种用于部件级和部件联合级的缓存一致性模拟验证方法,其特征在于,包括以下步骤:/n(1)对核心缓存进行建模,得到核心缓存模型,所述核心缓存模型具有符合设计的核心内缓存控制器功能,能够根据请求响应类型修改缓存块状态和存取缓存块数据;/n(2)根据核心和核外缓存一致性控制模块的接口协议,对处理器核心功能进行建模,得到核心模型,所述核心模型能够根据核心缓存模型的缓存块状态向核外缓存一致性控制模块发出合法的请求,并且能够根据收到的响应包类型改变核心缓存模型的缓存块状态,写入缓存块数据;/n(3)创建核心的指令监测器模型,所述指令监测器模型用来监测核心模型与核外缓存一致性控制模块的通信情况;/n(4)建立数据比对模型,所述数据比对模型用于记录以核心缓存模型的缓存行地址为索引的最新数据,所述数据比对模型还与记分板模型进行通信,并根据计分板模型的数据指令对缓存行地址数据进行更新操作;/n(5)创建记分板模型,所述记分板模型与所述指令监测器模型进行通信,用于接收指令监测器模型发送的消息,并根据消息类型分别进行处理以完成验证。/n

【技术特征摘要】
1.一种用于部件级和部件联合级的缓存一致性模拟验证方法,其特征在于,包括以下步骤:
(1)对核心缓存进行建模,得到核心缓存模型,所述核心缓存模型具有符合设计的核心内缓存控制器功能,能够根据请求响应类型修改缓存块状态和存取缓存块数据;
(2)根据核心和核外缓存一致性控制模块的接口协议,对处理器核心功能进行建模,得到核心模型,所述核心模型能够根据核心缓存模型的缓存块状态向核外缓存一致性控制模块发出合法的请求,并且能够根据收到的响应包类型改变核心缓存模型的缓存块状态,写入缓存块数据;
(3)创建核心的指令监测器模型,所述指令监测器模型用来监测核心模型与核外缓存一致性控制模块的通信情况;
(4)建立数据比对模型,所述数据比对模型用于记录以核心缓存模型的缓存行地址为索引的最新数据,所述数据比对模型还与记分板模型进行通信,并根据计分板模型的数据指令对缓存行地址数据进行更新操作;
(5)创建记分板模型,所述记分板模型与所述指令监测器模型进行通信,用于接收指令监测器模型发送的消息,并根据消息类型分别进行处理以完成验证。


2.根据权利要求1所述的用于部件级和部件联合级的缓存一致性模拟验证方法,其特征在于,所述步骤(4)中数据比对模型在接收到记分板模型的写数据指令时,更新缓存行地址...

【专利技术属性】
技术研发人员:胡向东李辉周李庆吴文俊
申请(专利权)人:上海高性能集成电路设计中心
类型:发明
国别省市:上海;31

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

1
相关领域技术
  • 暂无相关专利