CN117687928B - 一种基于uvm的多处理器芯粒缓存一致性验证模组及方法 - Google Patents
一种基于uvm的多处理器芯粒缓存一致性验证模组及方法 Download PDFInfo
- Publication number
- CN117687928B CN117687928B CN202410117705.5A CN202410117705A CN117687928B CN 117687928 B CN117687928 B CN 117687928B CN 202410117705 A CN202410117705 A CN 202410117705A CN 117687928 B CN117687928 B CN 117687928B
- Authority
- CN
- China
- Prior art keywords
- consistency
- core
- module
- cache
- memory
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Active
Links
- 238000012795 verification Methods 0.000 title claims abstract description 38
- 238000000034 method Methods 0.000 title claims abstract description 32
- 230000005284 excitation Effects 0.000 claims abstract description 98
- 238000012544 monitoring process Methods 0.000 claims abstract description 93
- 230000006399 behavior Effects 0.000 claims abstract description 16
- 239000007771 core particle Substances 0.000 claims abstract description 8
- 230000004044 response Effects 0.000 claims description 50
- 238000012545 processing Methods 0.000 claims description 27
- 230000008569 process Effects 0.000 claims description 21
- 238000012360 testing method Methods 0.000 claims description 18
- 238000004458 analytical method Methods 0.000 claims description 13
- 230000002093 peripheral effect Effects 0.000 claims description 4
- 230000008030 elimination Effects 0.000 claims description 2
- 238000003379 elimination reaction Methods 0.000 claims description 2
- 238000010586 diagram Methods 0.000 description 5
- 238000011161 development Methods 0.000 description 3
- 238000013461 design Methods 0.000 description 2
- 230000004075 alteration Effects 0.000 description 1
- 238000013459 approach Methods 0.000 description 1
- 230000009286 beneficial effect Effects 0.000 description 1
- 239000003795 chemical substances by application Substances 0.000 description 1
- 230000006870 function Effects 0.000 description 1
- 238000001693 membrane extraction with a sorbent interface Methods 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 238000005457 optimization Methods 0.000 description 1
- 238000004088 simulation Methods 0.000 description 1
- 238000012546 transfer Methods 0.000 description 1
- 238000012800 visualization Methods 0.000 description 1
Classifications
-
- Y—GENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
- Y02—TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
- Y02D—CLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
- Y02D10/00—Energy efficient computing, e.g. low power processors, power management or thermal management
Landscapes
- Memory System Of A Hierarchy Structure (AREA)
Abstract
本发明涉及芯片验证技术领域,特别涉及一种基于UVM的多处理器芯粒缓存一致性验证模组及方法。验证模组包含核心激励生成单元、外设访存激励生成单元、待测核心子系统、待测内存一致性管理模块、内存一致性监听单元和日志生成器;核心激励生成单元为待测核心子系统提供激励;外设访存激励生成单元模拟高速设备访问内存的行为;核心子系统监听单元内置核心缓存一致性模型产生合法的一致性行为,并与待测核心子系统一致性行为进行比较。本发明具有可配置性、可扩展性,方便构建不同规模的多处理器芯粒系统的缓存一致性验证环境,能够灵活的适配处理器系统内的待测单元。
Description
技术领域
本发明涉及芯片验证技术领域,特别涉及一种基于UVM的多处理器芯粒缓存一致性验证模组及方法。
背景技术
存储一致性与缓存一致性是计算系统及其他涉及共享存储资源系统中较为复杂的一项课题。为保证各级缓存与内存的数据一致,人们按照系统的实际需求,提出了各类缓存一致性协议,常见的如MSI、MESI、MOSI、MOESI、MERSI、MESIF等等。通过记录缓存行的状态如已修改Modified (M)、独占Exclusive (E)、共享Shared (S)、无效Invalid (I)等来表明当前缓存块与下一级缓存或共享内存中数据的区别,通过一致性管理软硬件来保证其合法性。
处理器的应用场景向高算力、数据密集方向发展,系统的计算资源需求增加,要求处理器的设计向资源密集型发展。基于芯粒的处理器结构成为一种发展途径。当多处理器芯粒共享存储资源,多处理器芯粒间的缓存与共享内存的数据一致性问题需要解决。
验证多处理器芯粒间的缓存一致性具有重要意义。一方面,随着处理器核心数量的增加,设计规模增加导致仿真调试的难度与验证复杂度增加;另一方面,系统基于多处理器芯粒的结构,其面临的情况更为复杂,调试、故障定位与分析的难度进一步加大。因此,亟需研发一种基于UVM的多处理器芯粒缓存一致性验证模组及方法来解决上述问题。
发明内容
本发明的目的在于提供一种基于UVM的多处理器芯粒缓存一致性验证模组,通过UVM提供结构化和模块化的方法,方便构建验证组件和管理验证环境;具备事务级建模、约束随机和覆盖率分析的方法,方便提升验证环境的灵活性与可扩展性;提供结果分析方法,方便追踪与分析验证结果。而且基于UVM构建验证模组与验证环境,缩短了开发周期,降低了验证复杂度,提高了可重用性,同时能够适应不同规模的多处理器芯粒系统的验证。
为解决上述技术问题,本发明提供了一种基于UVM的多处理器芯粒缓存一致性验证模组,包括:
核心激励生成单元,与片上总线挂载,为待测核心子系统生成激励;所述核心激励生成单元包括取指令、取/写数据、刷新、淘汰、不可缓存写、不可缓存读操作,提供随机激励与测试集相关激励;
外设访存激励生成单元,与片上总线挂载,模拟高速设备访问内存的行为;所述外设访存激励生成单元包括不可缓存写、不可缓存读操作,提供不同数据粒度的激励;外设访存激励生成单元例化多个在片上总线上,不超过片上总线的实际带宽;
核心子系统监听单元,与片上总线挂载,内置核心缓存一致性模型和性能计数模块,处理所述核心激励生成单元的请求激励,通过核心缓存一致性模型产生合法的一致性行为;同时监听待测核心子系统内的一次请求、监听、应答和响应,获取缓存行的备份信息,并与核心缓存一致性模型合法的一致性行为进行比较,将比较结果发送到日志生成器;性能计数模块收集核心子系统内各级缓存收到的请求数、命中数、三级缓存请求冲突的地址和冲突的次数以及核心子系统内队列的使用情况,用于性能分析,将结果发送到日志生成器;
待测核心子系统、待测内存一致性管理模块,与片上总线挂载,作为多处理器芯粒系统中的功能模块,待测核心子系统包括一级指令缓存、一级数据缓存、二级缓存、三级缓存、缓存目录以及三级缓存一致性管理模块;待测内存一致性管理模块处理发给内存块的访存请求,监听各三级缓存目录的缓存行信息;
内存一致性监听单元,内置内存一致性处理模块和性能计数模块,处理片上总线上访问本内存块的访存请求;访存请求包括来自本芯粒核心子系统的请求、外设访存激励生成单元的请求与其他芯粒核心子系统的请求、外设访存激励生成单元的请求;监听待测内存一致性管理模块的一次请求、监听、应答和响应,并与所述内存一致性监听单元的一致性行为进行比较,将比较结果发送到日志生成器;性能计数模块收集请求冲突的地址和冲突的次数以及内存一致性管理模块内队列的使用情况,用于性能分析,将结果发送到日志生成器;
日志生成器,用于收集核心子系统监听单元、内存一致性监听单元的比较结果信息与性能计数信息,生成日志信息并显示。
优选的,所述核心激励生成单元还包括随机激励生成模块与测试集相关激励生成模块;所述核心激励生成单元生成激励序列的信息包括待测核心子系统编码、操作码、地址、粒度、数据;其中所述编码为芯粒号+核心号+线程号;每个核心子系统对应一个核心激励生成单元,随机激励生成模块对除核心子系统编码外的其他信息随机生成序列,测试集相关激励生成模块根据固定测试程序产生对应序列,将激励序列发给待测核心子系统和核心子系统监听单元。
优选的,所述外设访存激励生成单元生成激励序列的信息包括编码、操作码、地址、粒度、数据;其中所述编码为芯粒号+设备号。
优选的,所述核心子系统监听单元还包括缓存一致性事务监听模块、三级缓存目录模块、三级缓存模型、激励输入模块、总线事务处理模块和比较模块;
激励输入模块处理核心激励生成单元的请求,将请求事务发给核心缓存一致性模型,核心缓存一致性模型产生核心一致性事务请求,与三级缓存目录模块交互产生监听、应答和响应,同时将产生的请求、监听、应答和响应信息发送到比较模块;
总线事务处理模块处理片上总线上内存一致性监听单元来的监听,发给三级缓存目录模块,产生应答,同时将监听、应答发送到比较模块;
三级缓存目录模块根据缓存行状态,与三级缓存模型交互进行缓存操作,并将缓存行状态、缓存操作类型发送到比较模块;
缓存一致性事务监听模块收集待测核心子系统的缓存一致性事务、缓存行备份信息和缓存操作、队列使用情况,并发送到比较模块和性能计数模块,其中一致性事务包括一致性请求、监听、应答和响应;
比较模块将待测核心子系统的缓存一致性事务、缓存行备份信息和缓存操作,与三级缓存目录模块、三级缓存模型、核心缓存一致性模型发来的一致性事务、缓存行状态和缓存操作进行比较,将比较结果和芯粒号+核心号+线程号、操作码、地址发给日志生成器;
性能计数模块根据待测核心子系统的缓存一致性事务、缓存行备份信息和缓存操作,统计缓存的请求数、命中数、三级缓存请求冲突的地址和冲突的次数、和队列使用情况,将结果发送到日志生成器。
优选的,所述内存一致性监听单元还包括内存一致性事务监听模块、内存模型、总线事务模块和比较模块;
总线事务模块处理片上总线上来自本芯粒核心子系统的请求、外设访存激励生成单元的请求,来自其他芯粒核心子系统的请求、外设访存激励生成单元的请求,将请求事务发给内存一致性处理模块;
内存一致性处理模块与所有的核心子系统监听单元交互产生监听、应答,并返回响应给请求方,同时将产生的请求、监听、应答和响应信息发送到比较模块;
内存一致性处理模块根据接收的监听进行一致性处理,对内存模型进行操作,并将内存操作类型发送到比较模块;
内存一致性事务监听模块收集待测内存一致性管理模块的一致性事务和内存操作、队列使用情况,并发送到比较模块和性能计数模块,其中一致性事务包含一致性请求、监听、应答和响应;
比较模块将待测内存一致性管理模块的一致性事务和内存操作,与内存一致性处理模块、总线事务模块发来的一致性事务和内存操作进行比较,将比较结果和地址、请求类型发给日志生成器;
性能计数模块根据待测内存一致性管理模块的一致性事务统计请求冲突的地址和冲突的次数、队列使用情况,将结果发送到日志生成器。
优选的,所述日志生成器处理核心子系统监听单元和内存一致性监听单元输出的缓存比较结果和性能计数结果,将整合后的日志信息打印显示。
本发明还提供了一种基于UVM的多处理器芯粒缓存一致性验证方法,包括如下步骤:
步骤1:根据待测多处理芯粒系统规模,例化核心子系统监听单元、内存一致性监听单元、核心激励生成单元、外设访存激励生成单元和日志生成器;
步骤2:根据测试场景模式:
若是测试集相关激励模式,生成多个核心程序缓存向量序列,测试集相关激励生成模块读取每个核心对应的缓存向量序列;
若是随机激励模式,随机激励生成模块在约束条件下随机生成缓存向量序列;
然后发送给待测核心子系统中的核心和核心子系统监听单元;同时外设访存激励生成单元在约束条件下随机生成向量序列,发给本芯粒的片上总线;
步骤3:当测试激励输入到待测核心子系统、核心子系统监听单元和片上总线后,核心子系统监听单元和内存一致性监听单元将监听信息和模型进行比较,将比较结果和性能计数结果输出;
步骤4:日志生成器收集结果信息,将比较结果和性能计数结果输出显示。
本发明与现有技术相比,具有如下有益效果:
1、本发明提供的缓存一致性验证模组具有可配置性、可扩展性,方便构建不同规模的多处理器芯粒系统的缓存一致性验证环境,能够灵活的适配处理器系统内的内存块、核心子系统;激励生成单元还能够满足不同测试场景的特性;
2、本发明提供的缓存一致性验证方法能够提供问题定位、性能分析的可视化手段,方便待测核心子系统、待测内存一致性管理模块在验证过程中的一致性错误类型分析,方便待测核心子系统、待测内存一致性管理模块内资源设置情况统计与分析,方便资源队列的优化。
附图说明
图1是本发明提供的一种基于UVM的多处理器芯粒缓存一致性验证模组的结构示意图。
图2是本发明实施例1中核心子系统监听单元的结构示意图。
图3是本发明实施例1中内存一致性监听单元的结构示意图。
图4是本发明实施例2中4个核心子系统、2个处理器芯粒的验证环境示意图。
图5是本发明实施例2中8个核心子系统、2个处理器芯粒的验证环境示意图。
具体实施方式
以下结合附图和具体实施例对本发明作进一步详细说明。根据下面说明,本发明的优点和特征将更清楚。需说明的是,附图均采用非常简化的形式且均使用非精准的比例,仅用以方便、明晰地辅助说明本发明实施例的目的。
实施例1
本实施例具体公开了一种基于UVM的多处理器芯粒缓存一致性验证模组,验证模组总体结构请参见图1,验证模组包含:核心激励生成单元、外设访存激励生成单元、待测核心子系统、待测内存一致性管理模块、内存一致性监听单元和日志生成器。以UVM的reference module(参考模型)、monitor(监视器)、scoreboard(计分板)、driver(驱动)等组件为原型开发验证模组,并使用config(配置)功能来实现配置的传递,通过agent(代理)将组件封装。
核心激励生成单元为待测核心子系统生成激励,包括取指令、取/写数据、刷新、淘汰、不可缓存写、不可缓存读操作,包含随机激励与测试集相关激励生成模块,生成激励序列的信息包含待测核心子系统编码,即芯粒号+核心号+线程号,操作码、地址、粒度、数据,每个核心子系统对应一个核心激励生成单元,随机激励生成模块对除核心子系统编码外的其他信息随机生成序列,测试集相关激励生成模块根据固定测试程序产生对应序列,将激励序列发给待测核心子系统和核心子系统监听单元。
外设访存激励生成单元挂载在总线上,模拟高速设备访问内存的行为,包含不可缓存写、不可缓存读操作,提供不同数据粒度的激励;外设访存激励生成单元生成激励序列的信息包含编码,即芯粒号+设备号,操作码、地址、粒度、数据,外设访存激励生成单元例化多个在片上总线上,不超过片上总线的实际带宽。
核心子系统监听单元内置核心缓存一致性模型和性能计数模块,处理所述核心激励生成单元的请求激励,通过核心缓存一致性模型产生合法的一致性行为;同时,监听待测核心子系统内的一次请求、监听、应答和响应,获取缓存行的备份信息,并与核心缓存一致性模型合法的一致性行为进行比较,将比较结果发送到日志生成器;性能计数模块收集核心子系统内各级缓存收到的请求数、命中数、三级缓存请求冲突的地址和冲突的次数,和核心子系统内队列的使用情况,用于性能分析,将结果发送到日志生成器。
请参见图2,核心子系统监听单元,包含缓存一致性事务监听模块、三级缓存目录模块、三级缓存模型、核心缓存一致性模型、激励输入模块、总线事务处理模块、比较模块、性能计数模块;激励输入模块处理核心激励生成单元的请求,将请求事务发给核心缓存一致性模型,核心缓存一致性模型产生核心一致性事务请求,与三级缓存目录模块交互产生监听、应答和响应,同时将产生的请求、监听、应答和响应信息发送到比较模块;总线事务处理模块处理片上总线上内存一致性监听单元来的监听,发给三级缓存目录模块,产生应答,同时将监听、应答发送到比较模块;三级缓存目录模块根据缓存行状态,与三级缓存模型交互进行缓存操作,并将缓存行状态、缓存操作类型发送到比较模块;缓存一致性事务监听模块收集待测核心子系统的缓存一致性事务、缓存行备份信息和缓存操作、队列使用情况,并发送到比较模块和性能计数模块,其中,一致性事务包含一致性请求、监听、应答和响应;比较模块将待测核心子系统的一致性事务、缓存行备份信息和缓存操作,与三级缓存目录模块、三级缓存模型、核心缓存一致性模型发来的一致性事务、缓存行状态和缓存操作进行比较,将比较结果和芯粒号+核心号+线程号、操作码、地址发给日志生成器;性能计数模块根据待测核心子系统的缓存一致性事务、缓存行备份信息和缓存操作,统计缓存的请求数、命中数、三级缓存请求冲突的地址和冲突的次数、和队列使用情况,将结果发送到日志生成器。
待测核心子系统、待测内存一致性管理模块为多处理器芯粒系统中的功能模块,待测核心子系统包含一级指令缓存、一级数据缓存、二级缓存、三级缓存、缓存目录以及三级缓存一致性管理模块;待测内存一致性管理模块处理发给内存块的访存请求,监听各三级缓存目录的缓存行信息。
内存一致性监听单元内置内存一致性处理模块和性能计数模块,处理片上总线上访问本内存块的访存请求,包含来自本芯粒核心子系统的请求、外设访存激励生成单元的请求与其他芯粒核心子系统的请求、外设访存激励生成单元的请求,监听待测内存一致性管理模块的一次请求、监听、应答和响应,并与所述内存一致性监听单元的一致性行为进行比较,将比较结果发送到日志生成器;性能计数模块收集请求冲突的地址和冲突的次数,和内存一致性管理模块内队列的使用情况,用于性能分析,将结果发送到日志生成器。
请参见图3,内存一致性监听单元包含内存一致性事务监听模块、内存模型、内存一致性处理模块、总线事务模块、比较模块、性能计数模块;总线事务模块处理片上总线上来自本芯粒核心子系统的请求、外设访存激励生成单元的请求,来自其他芯粒核心子系统的请求、外设访存激励生成单元的请求,将请求事务发给内存一致性处理模块;内存一致性处理模块与所有的核心子系统监听单元交互产生监听、应答,并返回响应给请求方,同时将产生的请求、监听、应答和响应信息发送到比较模块;内存一致性处理模块根据接收的监听进行一致性处理,对内存模型进行操作,并将内存操作类型发送到比较模块;内存一致性事务监听模块收集待测内存一致性管理模块的一致性事务和内存操作、队列使用情况,并发送到比较模块和性能计数模块,其中,一致性事务包含一致性请求、监听、应答和响应;比较模块将待测内存一致性管理模块的一致性事务和内存操作,与内存一致性处理模块、总线事务模块发来的一致性事务和内存操作进行比较,将比较结果和地址、请求类型发给日志生成器;性能计数模块根据待测内存一致性管理模块的一致性事务统计请求冲突的地址和冲突的次数、队列使用情况,将结果发送到日志生成器。
日志生成器处理核心子系统监听单元和内存一致性监听单元输出的缓存比较结果和性能计数结果,将整合后的日志信息打印显示。
实施例2
本实施例具体公开了一种基于UVM的多处理器芯粒缓存一致性验证方法,包括如下步骤:
步骤1:根据待测多处理芯粒系统规模,例化核心子系统监听单元、内存一致性监听单元、核心激励生成单元、外设访存激励生成单元和日志生成器;请参见图4,为4个核心子系统、1个内存一致性管理模块的2个处理器芯粒的验证环境,请参见图5,为8个核心子系统、2个内存一致性管理模块的2个处理器芯粒的验证环境;
步骤2:根据测试场景模式,若是测试集相关激励模式,生成多个核心程序缓存向量序列,测试集相关激励生成模块读取每个核心对应的缓存向量序列;若是随机激励模式,随机激励生成模块在约束条件下随机生成缓存向量序列;然后发送给待测核心子系统中的核心和核心子系统监听单元;同时,外设访存激励生成单元在约束条件下随机生成向量序列,发给本芯粒的片上总线;
步骤3:当测试激励输入到待测核心子系统、核心子系统监听单元和片上总线后,核心子系统监听单元和内存一致性监听单元将监听信息和模型进行比较,将比较结果和性能计数结果输出;
步骤4:日志生成器收集结果信息,将比较结果和性能计数结果输出显示。
上述描述仅是对本发明较佳实施例的描述,并非对本发明范围的任何限定,本发明领域的普通技术人员根据上述揭示内容做的任何变更、修饰,均属于权利要求书的保护范围。
Claims (4)
1.一种基于UVM的多处理器芯粒缓存一致性验证模组,其特征在于,包括:
核心激励生成单元,与片上总线挂载,为待测核心子系统生成激励;所述核心激励生成单元包括取指令、取/写数据、刷新、淘汰、不可缓存写、不可缓存读操作,提供随机激励与测试集相关激励;
外设访存激励生成单元,与片上总线挂载,模拟高速设备访问内存的行为;所述外设访存激励生成单元包括不可缓存写、不可缓存读操作,提供不同数据粒度的激励;外设访存激励生成单元例化多个在片上总线上,不超过片上总线的实际带宽;
核心子系统监听单元,与片上总线挂载,内置核心缓存一致性模型和性能计数模块,处理所述核心激励生成单元的请求激励,通过核心缓存一致性模型产生合法的一致性行为;同时监听待测核心子系统内的一次请求、监听、应答和响应,获取缓存行的备份信息,并与核心缓存一致性模型合法的一致性行为进行比较,将比较结果发送到日志生成器;性能计数模块收集核心子系统内各级缓存收到的请求数、命中数、三级缓存请求冲突的地址和冲突的次数以及核心子系统内队列的使用情况,用于性能分析,将结果发送到日志生成器;
待测核心子系统、待测内存一致性管理模块,与片上总线挂载,作为多处理器芯粒系统中的功能模块,待测核心子系统包括一级指令缓存、一级数据缓存、二级缓存、三级缓存、缓存目录以及三级缓存一致性管理模块;待测内存一致性管理模块处理发给内存块的访存请求,监听各三级缓存目录的缓存行信息;
内存一致性监听单元,内置内存一致性处理模块和性能计数模块,处理片上总线上访问本内存块的访存请求;访存请求包括来自本芯粒核心子系统的请求、外设访存激励生成单元的请求与其他芯粒核心子系统的请求、外设访存激励生成单元的请求;监听待测内存一致性管理模块的一次请求、监听、应答和响应,并与所述内存一致性监听单元的一致性行为进行比较,将比较结果发送到日志生成器;性能计数模块收集请求冲突的地址和冲突的次数以及内存一致性管理模块内队列的使用情况,用于性能分析,将结果发送到日志生成器;
日志生成器,用于收集核心子系统监听单元、内存一致性监听单元的比较结果信息与性能计数信息,生成日志信息并显示;
所述核心子系统监听单元还包括缓存一致性事务监听模块、三级缓存目录模块、三级缓存模型、激励输入模块、总线事务处理模块和比较模块;
激励输入模块处理核心激励生成单元的请求,将请求事务发给核心缓存一致性模型,核心缓存一致性模型产生核心一致性事务请求,与三级缓存目录模块交互产生监听、应答和响应,同时将产生的请求、监听、应答和响应信息发送到比较模块;
总线事务处理模块处理片上总线上内存一致性监听单元来的监听,发给三级缓存目录模块,产生应答,同时将监听、应答发送到比较模块;
三级缓存目录模块根据缓存行状态,与三级缓存模型交互进行缓存操作,并将缓存行状态、缓存操作类型发送到比较模块;
缓存一致性事务监听模块收集待测核心子系统的缓存一致性事务、缓存行备份信息和缓存操作、队列使用情况,并发送到比较模块和性能计数模块,其中一致性事务包括一致性请求、监听、应答和响应;
比较模块将待测核心子系统的缓存一致性事务、缓存行备份信息和缓存操作,与三级缓存目录模块、三级缓存模型、核心缓存一致性模型发来的一致性事务、缓存行状态和缓存操作进行比较,将比较结果和芯粒号、核心号、线程号、操作码、地址发给日志生成器;
性能计数模块根据待测核心子系统的缓存一致性事务、缓存行备份信息和缓存操作,统计缓存的请求数、命中数、三级缓存请求冲突的地址和冲突的次数、和队列使用情况,将结果发送到日志生成器;
所述内存一致性监听单元还包括内存一致性事务监听模块、内存模型、总线事务模块和比较模块;
总线事务模块处理片上总线上来自本芯粒核心子系统的请求、外设访存激励生成单元的请求,来自其他芯粒核心子系统的请求、外设访存激励生成单元的请求,将请求事务发给内存一致性处理模块;
内存一致性处理模块与所有的核心子系统监听单元交互产生监听、应答,并返回响应给请求方,同时将产生的请求、监听、应答和响应信息发送到比较模块;
内存一致性处理模块根据接收的监听进行一致性处理,对内存模型进行操作,并将内存操作类型发送到比较模块;
内存一致性事务监听模块收集待测内存一致性管理模块的一致性事务和内存操作、队列使用情况,并发送到比较模块和性能计数模块,其中一致性事务包含一致性请求、监听、应答和响应;
比较模块将待测内存一致性管理模块的一致性事务和内存操作,与内存一致性处理模块、总线事务模块发来的一致性事务和内存操作进行比较,将比较结果和地址、请求类型发给日志生成器;
性能计数模块根据待测内存一致性管理模块的一致性事务统计请求冲突的地址和冲突的次数、队列使用情况,将结果发送到日志生成器。
2.如权利要求1所述的一种基于UVM的多处理器芯粒缓存一致性验证模组,其特征在于,所述核心激励生成单元还包括随机激励生成模块与测试集相关激励生成模块;所述核心激励生成单元生成激励序列的信息包括待测核心子系统编码、操作码、地址、粒度、数据;其中所述编码为芯粒号、核心号和线程号;每个核心子系统对应一个核心激励生成单元,随机激励生成模块对除核心子系统编码外的其他信息随机生成序列,测试集相关激励生成模块根据固定测试程序产生对应序列,将激励序列发给待测核心子系统和核心子系统监听单元。
3.如权利要求1所述的一种基于UVM的多处理器芯粒缓存一致性验证模组,其特征在于,所述外设访存激励生成单元生成激励序列的信息包括编码、操作码、地址、粒度、数据;其中所述编码为芯粒号和设备号。
4.如权利要求1所述的一种基于UVM的多处理器芯粒缓存一致性验证模组,其特征在于,所述日志生成器处理核心子系统监听单元和内存一致性监听单元输出的缓存比较结果和性能计数结果,将整合后的日志信息打印显示。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202410117705.5A CN117687928B (zh) | 2024-01-29 | 2024-01-29 | 一种基于uvm的多处理器芯粒缓存一致性验证模组及方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202410117705.5A CN117687928B (zh) | 2024-01-29 | 2024-01-29 | 一种基于uvm的多处理器芯粒缓存一致性验证模组及方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN117687928A CN117687928A (zh) | 2024-03-12 |
CN117687928B true CN117687928B (zh) | 2024-04-19 |
Family
ID=90130377
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202410117705.5A Active CN117687928B (zh) | 2024-01-29 | 2024-01-29 | 一种基于uvm的多处理器芯粒缓存一致性验证模组及方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN117687928B (zh) |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103530216A (zh) * | 2013-10-12 | 2014-01-22 | 江苏华丽网络工程有限公司 | 一种基于uvm验证方法学的pcie验证方法 |
CN105740579A (zh) * | 2016-03-09 | 2016-07-06 | 浪潮集团有限公司 | 一种连接uvm验证平台的搭建方法 |
CN112199291A (zh) * | 2020-10-16 | 2021-01-08 | 天津飞腾信息技术有限公司 | 一种多核处理器Cache一致性模拟验证方法及验证装置 |
CN116049034A (zh) * | 2022-04-29 | 2023-05-02 | 海光信息技术股份有限公司 | 一种多核处理器系统的缓存一致性的验证方法及装置 |
CN116795728A (zh) * | 2023-08-25 | 2023-09-22 | 中电科申泰信息科技有限公司 | 一种基于uvm的多核缓存一致性验证模组及方法 |
Family Cites Families (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US9582625B2 (en) * | 2012-06-22 | 2017-02-28 | Mentor Graphics Corporation | Test bench transaction synchronization in a debugging environment |
-
2024
- 2024-01-29 CN CN202410117705.5A patent/CN117687928B/zh active Active
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103530216A (zh) * | 2013-10-12 | 2014-01-22 | 江苏华丽网络工程有限公司 | 一种基于uvm验证方法学的pcie验证方法 |
CN105740579A (zh) * | 2016-03-09 | 2016-07-06 | 浪潮集团有限公司 | 一种连接uvm验证平台的搭建方法 |
CN112199291A (zh) * | 2020-10-16 | 2021-01-08 | 天津飞腾信息技术有限公司 | 一种多核处理器Cache一致性模拟验证方法及验证装置 |
CN116049034A (zh) * | 2022-04-29 | 2023-05-02 | 海光信息技术股份有限公司 | 一种多核处理器系统的缓存一致性的验证方法及装置 |
CN116795728A (zh) * | 2023-08-25 | 2023-09-22 | 中电科申泰信息科技有限公司 | 一种基于uvm的多核缓存一致性验证模组及方法 |
Also Published As
Publication number | Publication date |
---|---|
CN117687928A (zh) | 2024-03-12 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
EP2869194A1 (en) | Extended cache coherence protocol-based multi-level coherence domain simulation verification and test method | |
US6542861B1 (en) | Simulation environment cache model apparatus and method therefor | |
CN102804155B (zh) | 向另一设备委托轮询操作 | |
US6178533B1 (en) | Method and system for design verification | |
JP3714620B2 (ja) | 複数ノード・システム内のコヒーレンスの検証方法、そのプログラムおよびデータ処理システム | |
CN114580344B (zh) | 测试激励生成方法、验证方法、验证系统及相关设备 | |
US7000079B2 (en) | Method and apparatus for verification of coherence for shared cache components in a system verification environment | |
CN115130402B (zh) | 一种缓存验证方法、系统、电子设备及可读存储介质 | |
US11899562B2 (en) | Coprocessor-based logging for time travel debugging | |
CN115146568B (zh) | 一种基于uvm的芯片验证系统及验证方法 | |
US6195731B1 (en) | Instrumentation device for a machine with non-uniform memory access | |
Sensfelder et al. | On how to identify cache coherence: Case of the NXP QorIQ T4240 | |
CN116049034A (zh) | 一种多核处理器系统的缓存一致性的验证方法及装置 | |
JP5756554B2 (ja) | 半導体装置 | |
CN116795728B (zh) | 一种基于uvm的多核缓存一致性验证模组及方法 | |
CN117687928B (zh) | 一种基于uvm的多处理器芯粒缓存一致性验证模组及方法 | |
US20040059876A1 (en) | Real time emulation of coherence directories using global sparse directories | |
CN116167310A (zh) | 一种验证多核心处理器缓存一致性的方法及装置 | |
WO2023124304A1 (zh) | 芯片的缓存系统、数据处理方法、设备、存储介质及芯片 | |
Lebedev et al. | Test environment for verification of multi-processor memory subsystem unit | |
CN115372791A (zh) | 基于硬件仿真的集成电路的测试方法、装置及电子设备 | |
CN114817085A (zh) | 一种存储器仿真系统、方法、电子设备及存储介质 | |
Petrochenkov et al. | Approaches to stand-alone verification of multicore microprocessor caches | |
Zhang et al. | Toward multi-programmed workloads with different memory footprints: a self-adaptive last level cache scheduling scheme | |
Hung et al. | Hardware-accelerated cache simulation for multicore by FPGA |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |