CN116795728A - 一种基于uvm的多核缓存一致性验证模组及方法 - Google Patents
一种基于uvm的多核缓存一致性验证模组及方法 Download PDFInfo
- Publication number
- CN116795728A CN116795728A CN202311080565.0A CN202311080565A CN116795728A CN 116795728 A CN116795728 A CN 116795728A CN 202311080565 A CN202311080565 A CN 202311080565A CN 116795728 A CN116795728 A CN 116795728A
- Authority
- CN
- China
- Prior art keywords
- cache
- module
- information
- core
- excitation
- 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.)
- Granted
Links
- 238000012795 verification Methods 0.000 title claims abstract description 42
- 238000000034 method Methods 0.000 title claims abstract description 27
- 230000005284 excitation Effects 0.000 claims abstract description 117
- 238000012544 monitoring process Methods 0.000 claims abstract description 61
- 230000001360 synchronised effect Effects 0.000 claims abstract description 5
- 230000004044 response Effects 0.000 claims description 50
- 238000004088 simulation Methods 0.000 claims description 9
- 230000006978 adaptation Effects 0.000 abstract description 3
- 238000010586 diagram Methods 0.000 description 6
- 238000013461 design Methods 0.000 description 3
- 230000006399 behavior Effects 0.000 description 2
- 230000008901 benefit Effects 0.000 description 2
- 238000011161 development Methods 0.000 description 2
- 238000012986 modification Methods 0.000 description 2
- 230000004048 modification Effects 0.000 description 2
- 230000008569 process Effects 0.000 description 2
- 238000013459 approach Methods 0.000 description 1
- 230000009286 beneficial effect Effects 0.000 description 1
- 238000006243 chemical reaction Methods 0.000 description 1
- 230000006870 function Effects 0.000 description 1
- 230000004807 localization Effects 0.000 description 1
- 230000007246 mechanism Effects 0.000 description 1
- 238000012360 testing method 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的多核缓存一致性验证模组及方法,验证模组包括激励生成单元、核心子系统监听比较单元、待测Core子系统、待测LLC以及待测Directory、共享目录缓存系统监听比较单元以及日志生成器;激励生成单元生成待测Core子系统所需的激励,包括访问的物理地址、Load/Store/Flush/Evitc四种操作、模拟I/O对可缓存空间的访问激励;核心子系统监听比较单元接收来自激励生成单元的激励,将接收的激励输入到内部Core子系统缓存一致性参考模型,产生同步正确的一致性行为。验证模组和方法针对待测多核缓存一致性验证和灵活的扩展性,对同构多核系统的缓存一致性验证有着良好的适配。
Description
技术领域
本发明涉及芯片验证技术领域,尤其是指一种基于UVM的多核缓存一致性验证模组及方法。
背景技术
多核系统中的缓存一致性问题是一个常见的挑战。当多个处理器核心共享缓存时,如果没有正确的一致性协议和机制,就有可能出现数据不一致的问题,导致程序错误和系统不稳定性。因此,验证多核系统的缓存一致性是非常重要的。多核处理器中的缓存一致性验证往往需要大规模的仿真和调试工作。随着核数增加,验证的复杂性和资源需求也增加,使得针对性的调试和故障定位变得困难。常用的验证模组和方法,难以模拟和调试,因此亟需灵活的仿真工具和调试技术,来解决这一挑战。UVM是一种用于验证集成电路设计的标准验证方法学,提供了一套面向对象的验证框架和库,简化了验证过程的开发和管理。
使用UVM验证多核缓存一致性的优势在于其提供了一种结构化和模块化的方法,可以有效地构建和管理复杂的验证环境。同时,UVM具备事务级别建模、约束随机测试和覆盖率分析,可以帮助加速验证过程并增强验证的全面性,UVM验证环境的可重用性、灵活性和可扩展性,可以适应不同规模和复杂度的多核缓存一致性验证,减少了验证环境的开发时间和工作量;其提供的结果可视化和报告功能,可以帮助验证工程师更好地理解和分析验证结果。这样可以加快问题定位和解决的速度,提高验证效率。
发明内容
为解决上述技术问题,本发明的一种基于UVM的多核缓存一致性验证模组,验证模组包括:
激励生成单元;所述激励生成单元生成待测Core子系统所需的激励,包括访问的物理地址、Load/Store/Flush/Evitc四种操作、模拟I/O对可缓存空间的访问激励;
核心子系统监听比较单元;所述核心子系统监听比较单元接收来自激励生成单元的激励,将接收的激励输入到内部Core子系统缓存一致性参考模型,产生同步正确的一致性行为,此外,核心子系统监听比较单元还监听收集来自待测Core子系统的一致性请求、监听、响应、缓存行状态以及缓存操作的信息,并将这些信息与Core子系统缓存一致性参考模型进行比较,对比较后的结果进行判断,将错误的信息根据激励进行编码,并发送到日志生成器;
待测Core子系统、待测LLC以及待测Directory;所述待测Core子系统、待测LLC以及待测Directory均为多核系统中的所需单元,待测Core子系统包含D-Cache、指令收发模块、一致性事务处理控制器以及指令提交单元,待测LLC为最后一级共享缓存,待测Directory为多核系统的目录;
共享目录缓存系统监听比较单元;所述共享目录缓存系统监听比较单元,接收来自互连总线的请求、以及响应,将接收的请求与响应输入到内部LLC以及Director一致性参考模型,形成同步正确的一致性行为,此外,共享目录缓存系统监听比较单元还监听收集来自待测Directory的一致性请求、监听、响应以及LLC的缓存行状态的信息,并将这些信息与内部LLC以及Director一致性参考模型进行比较,对比较后的结果进行判断,将错误的信息根据激励进行编码,并发送到日志生成器;
日志生成器;所述日志生成器,收集自核心子系统监听比较单元、共享目录缓存系统监听比较单元的错误信息,并根据已经编码过的信息进行再次编码生成日志信息并打印出来。
在本发明的一个实施例中,所述激励生成单元包含激励存储模块、激励读取模块、激励解码模块、激励分发模块;激励存储模块存储生成的操作序列,激励读取模块将存储在激励存储模块中的操作序列,按序读取出来并发送到激励解码模块,激励解码模块对读取出来的激励序列进行解码,解码信息包括待测Core子系统id、操作码opcode、地址address、粒度grid、数据data以及激励序列号sid,激励分发模块将解码的信息,根据id,将激励的全部信息发送到相关Core子系统和核心子系统监听比较单元。
在本发明的一个实施例中,所述待测Core子系统、待测LLC以及待测Directory均为多核系统中的子单元,待测Core子系统包含D-Cache、指令收发模块、一致性事务处理控制器以及指令提交单元,待测LLC为最后一级共享缓存,待测Directory为多核系统的共享目录。
在本发明的一个实施例中,所述核心子系统监听比较单元,包含Core操作信息收集模块,待测Core子系统Cache一致性事务监听收集模块、待测Core子系统Cache一致性事务请求收集模块、待测Core子系统Cache一致性事务响应收集模块、待测Core子系统Cache操作和Cacheline状态收集模块、核心子系统比较模块、待测Core子系统缓存一致性参考模型以及核心子系统编码模块;Core操作信息收集模块收集来自激励生成单元的Core操作信息,并将操作信息进行发送到待测Core子系统缓存一致性参考模型中,待测Core子系统缓存一致性参考模型根据Core操作信息产生对应的Cache一致性事务请求类型、Cache一致性事务响应类型、Cache操作以及Cacheline的状态信息,并将这些信息发送到核心子系统比较模块;待测Core子系统Cache一致性事务请求收集模块、待测Core子系统Cache一致性事务响应收集模块、待测Core子系统Cache操作和Cacheline状态收集模块收集来自待测Core子系统Cache一致性事务请求类型、Cache一致性事务响应类型、Cache操作以及Cacheline的状态,并将这些信息发送到核心子系统比较模块;核心子系统比较模块将待测Core子系统的Cache一致性事务请求类型、Cache一致性事务响应类型、Cache操作以及Cacheline的状态与待测Core子系统缓存一致性参考模型产生的相对应正确信息进行比较,并将错误信息发送到核心子系统编码模块进行编码,编码信息包含 :Core子系统id、操作码opcode、地址address、粒度grid、数据data、激励序列号sid、错误来源eid、错误类型etype、错误状态estate。
在本发明的一个实施例中,所述共享目录缓存系统监听比较单元, 包含互连总线请求响应收集模块、共享目录Cache一致性事务监听收集模块、共享目录Cache一致性事务请求收集模块、共享目录Cache一致性事务响应收集模块、共享目录Cache的Cache操作、Cacheline状态和目录信息收集模块、LLC以及Director比较模块、LLC以及Director一致性参考模型以及LLC以及Director编码模块;互连总线请求响应收集模块收集来自互连总线上的一致性事务请求和响应信息,并将这些信息进行发送到LLC以及Director一致性参考模型中,LLC以及Director一致性参考模型根据一致性事务请求和响应信息产生对应的Cache一致性事务监听类型、Cache一致性事务响应类型、Cache操作、Cacheline的状态信息以及目录信息,并将这些信息发送到核心子系统比较模块;共享目录Cache一致性事务请求收集模块、共享目录Cache一致性事务响应收集模块、共享目录Cache的Cache操作、Cacheline状态和目录信息收集模块收集来自待测LLC的Cache一致性事务监听类型、Cache一致性事务响应类型、Cache操作、Cacheline的状态以及待测Directory的目录信息,并将这些信息发送到LLC以及Director比较模块;LLC以及Director比较模块将待测LLC的Cache一致性事务监听类型、Cache一致性事务响应类型、Cache操作、Cacheline的状态以及待测Directory的目录信息与LLC以及Director一致性参考模型产生的相对应正确信息进行比较,并将错误信息发送到LLC以及Director编码模块进行编码,编码信息包含 :Core子系统id、操作码opcode、地址address、粒度grid、数据data、激励序列号sid、错误来源edid、错误类型edtype、错误状态edstate。
在本发明的一个实施例中,所述日志生成器,包含日志收集模块、日志编码模块以及日志打印模块,日志收集模块收集来自核心子系统监听比较单元中核心子系统编码模块输出的编码信息和共享目录缓存系统监听比较单元中LLC以及Director编码模块输出的编码信息,将编码信息输出到日志编码模块,进行编码,编码信息包含:Core子系统id、操作码opcode、地址address、粒度grid、数据data、激励序列号sid、Core子系统错误来源eid、Core子系统错误类型etype、Core子系统错误状态estate、LLC以及Director错误来源edid、LLC以及Director错误类型edtype、LLC以及Director错误状态edstate,并根据编码信息进行相对整合,将整合后的编码日志信息通过日志打印模块打印到仿真日志中。
本发明还提供一种基于UVM的多核缓存一致性验证方法,基于的验证模组设计,包括如下步骤:
步骤S1:根据应用场景层生成多核缓存操作向量表,生成的信息包含调用Core子系统id、操作码opcode、地址address、粒度grid、数据data;
步骤S2:将生成的操作向量写入到激励存储模块,根据激励存储模块的空满将激励读取出来,并将其发送到激励解码模块;
步骤S3:激励解码模块对激励来读出的先后顺序分配给每个操作分配操作序列号sid,并将读出的向量表解码出核心id、操作码opcode、地址address、粒度grid、数据data,将这些信息发送到激励分发模块,激励分发缓存id、opcode、address、grid、data以及sid信息,然后根据id输入到每个待测核心子系统中以及核心子系统监听比较单元;
步骤S4:当激励输入到待测核心子系统以及核心子系统监听比较单元后,核心子系统监听比较单元和共享目录缓存系统监听比较单元根据监听 和比较结果,对与参考模型对比后的错误信息进行编码,核心子系统监听比较单元编码信息包含:Core子系统id、操作码opcode、地址address、粒度grid、数据data、激励序列号sid、Core子系统错误来源eid、Core子系统错误类型etype、Core子系统错误状态estate;共享目录缓存系统监听比较单元编码信息包含Core子系统id、操作码opcode、地址address、粒度grid、数据data、激励序列号sid、错误来源edid、错误类型edtype、错误状态edstate, LLC以及Director错误来源edid、LLC以及Director错误类型edtype、LLC以及Director错误状态edstate;
步骤S5:收集错误日志信息,对错误日志进行编码,编码信息包含:Core子系统id、操作码opcode、地址address、粒度grid、数据data、激励序列号sid、Core子系统错误来源eid、Core子系统错误类型etype、Core子系统错误状态estate、LLC以及Director错误来源edid、LLC以及Director错误类型edtype、LLC以及Director错误状态edstate;然后根据编码类型输出并打印错误日志。
本发明的上述技术方案相比现有技术具有以下优点:本发明所述的基于UVM的多核缓存一致性验证模组及方法,具有以下有益效果:
(1)针对待测多核缓存一致性验证,模组具有灵活的扩展性,对同构多核系统的缓存一致性验证有着良好的适配,
(2)一种基于UVM的多核缓存一致性验证方法,方法中提供的编码规则在验证多核一致性中具有多核扩展性和灵活性使用,对定位问题、识别问题以及调试具有良好的可读性;
(3)在激励中采用UVM的sequence lib的形式,灵活调用,可以基于仿真case进行多场景配置到激励存储器中,具有良好的适配和模拟特性。
附图说明
为了使本发明的内容更容易被清楚的理解,下面根据本发明的具体实施例并结合附图,对本发明作进一步详细的说明。
图1是本发明提出的一种基于UVM的多核缓存一致性验证模组总体框图。
图2是本发明所述激励生成单元内部结构示意图。
图3是本发明所述核心子系统监听比较单元内部结构框图。
图4是本发明所述共享目录缓存系统监听比较单元内部框图。
图5是本发明所述日志生成器内部框图。
图6是本发明提出的一种基于UVM的多核缓存一致性验证方法编码实施框图。
具体实施方式
本实施例一
一种基于UVM的多核缓存一致性验证模组及方法,模组总体框图如图1所示,该系统包含包括激励生成单元、核心子系统监听比较单元、待测Core子系统、待测LLC以及待测Directory、共享目录缓存系统监听比较单元以及日志生成器。
激励生成单元生成待测Core子系统所需的激励,包括访问的物理地址、Load/Store/Flush/Evitc四种操作、模拟I/O对可缓存空间的访问激励,采用UVM的设计方法,以UVM中driver组件为基础开发出如图2的激励生成单元,包含激励存储模块、激励读取模块、激励解码模块、激励分发模块。激励存储模块存储生成的操作序列,激励读取模块将存储在激励存储模块中的操作序列,按序读取出来并发送到激励解码模块,激励解码模块对读取出来的激励序列进行解码,解码信息包括待测Core子系统id、操作码opcode、地址address、粒度grid、数据data以及激励序列号sid,激励分发模块将解码的信息,根据id,将激励的全部信息发送到相关Core子系统和核心子系统监听比较单元。
以UVM中reference module、monitor和scoreboard组件为原型,开发核心子系统监听比较单元,如图3所示,包含Core操作信息收集模块,待测Core子系统Cache一致性事务监听收集模块、待测Core子系统Cache一致性事务请求收集模块、待测Core子系统Cache一致性事务响应收集模块、待测Core子系统Cache操作和Cacheline状态收集模块、核心子系统比较模块、待测Core子系统缓存一致性参考模型以及核心子系统编码模块。Core操作信息收集模块收集来自激励生成单元的Core操作信息,并将操作信息进行发送到待测Core子系统缓存一致性参考模型中,待测Core子系统缓存一致性参考模型根据Core操作信息产生对应的Cache一致性事务请求类型、Cache一致性事务响应类型、Cache操作以及Cacheline的状态信息,并将这些信息发送到核心子系统比较模块;待测Core子系统Cache一致性事务请求收集模块、待测Core子系统Cache一致性事务响应收集模块、待测Core子系统Cache操作和Cacheline状态收集模块收集来自待测Core子系统Cache一致性事务请求类型、Cache一致性事务响应类型、Cache操作以及Cacheline的状态,并将这些信息发送到核心子系统比较模块;核心子系统比较模块将待测Core子系统的Cache一致性事务请求类型、Cache一致性事务响应类型、Cache操作以及Cacheline的状态与待测Core子系统缓存一致性参考模型产生的相对应正确信息进行比较,并将错误信息发送到核心子系统编码模块进行编码,编码信息包含 :Core子系统id、操作码opcode、地址address、粒度grid、数据data、激励序列号sid、错误来源eid、错误类型etype、错误状态estate。
以UVM中reference module、monitor和scoreboard组件为原型开发共享目录缓存系统监听比较单元,如图4所示,包含互连总线请求响应收集模块、共享目录Cache一致性事务监听收集模块、共享目录Cache一致性事务请求收集模块、共享目录Cache一致性事务响应收集模块、共享目录Cache的Cache操作、Cacheline状态和目录信息收集模块、LLC以及Director比较模块、LLC以及Director一致性参考模型以及LLC以及Director编码模块。互连总线请求响应收集模块收集来自互连总线上的一致性事务请求和响应信息,并将这些信息进行发送到LLC以及Director一致性参考模型中,LLC以及Director一致性参考模型根据一致性事务请求和响应信息产生对应的Cache一致性事务监听类型、Cache一致性事务响应类型、Cache操作、Cacheline的状态信息以及目录信息,并将这些信息发送到核心子系统比较模块;共享目录Cache一致性事务请求收集模块、共享目录Cache一致性事务响应收集模块、共享目录Cache的Cache操作、Cacheline状态和目录信息收集模块收集来自待测LLC的Cache一致性事务监听类型、Cache一致性事务响应类型、Cache操作、Cacheline的状态以及待测Directory的目录信息,并将这些信息发送到LLC以及Director比较模块;LLC以及Director比较模块将待测LLC的Cache一致性事务监听类型、Cache一致性事务响应类型、Cache操作、Cacheline的状态以及待测Directory的目录信息与LLC以及Director一致性参考模型产生的相对应正确信息进行比较,并将错误信息发送到LLC以及Director编码模块进行编码,编码信息包含 :Core子系统id、操作码opcode、地址address、粒度grid、数据data、激励序列号sid、错误来源edid、错误类型edtype、错误状态edstate。
如图5所示,日志生成器,包含日志收集模块、日志编码模块以及日志打印模块,日志收集模块收集来自核心子系统监听比较单元中核心子系统编码模块输出的编码信息和共享目录缓存系统监听比较单元中LLC以及Director编码模块输出的编码信息,将编码信息输出到日志编码模块,进行编码,编码信息包含:Core子系统id、操作码opcode、地址address、粒度grid、数据data、激励序列号sid、Core子系统错误来源eid、Core子系统错误类型etype、Core子系统错误状态estate、LLC以及Director错误来源edid、LLC以及Director错误类型edtype、LLC以及Director错误状态edstate,将编码后日志信息通过日志打印模块打印到仿真日志中。
本实施例二
一种基于UVM的多核缓存一致性验证模组及方法,方法步骤如下:
步骤S1:根据应用场景层生成多核缓存操作向量表,生成的信息包含调用Core子系统id、操作码opcode、地址address、粒度grid、数据data。
步骤S2:将生成的操作向量写入到激励存储模块,根据激励存储模块的空满将激励读取出来,并将其发送到激励解码模块;
步骤S3:激励解码模块对激励来读出的先后顺序分配给每个操作分配操作序列号sid,并将读出的向量表解码出核心id、操作码opcode、地址address、粒度grid、数据data,将这些信息发送到激励分发模块,激励分发缓存id、opcode、address、grid、data以及sid信息,然后根据id输入到每个待测核心子系统中以及核心子系统监听比较单元;
步骤S4:当激励输入到待测核心子系统以及核心子系统监听比较单元后,核心子系统监听比较单元和共享目录缓存系统监听比较单元根据监听 和比较结果,对与参考模型对比后的错误信息进行编码,核心子系统监听比较单元编码信息包含:Core子系统id、操作码opcode、地址address、粒度grid、激励序列号sid、数据data 、Core子系统错误来源eid、Core子系统错误类型etype、Core子系统错误状态estate;共享目录缓存系统监听比较单元编码信息包含Core子系统id、操作码opcode、地址address、粒度grid、数据data 、激励序列号sid、错误来源edid、错误类型edtype、错误状态edstate, LLC以及Director错误来源edid、LLC以及Director错误类型edtype、LLC以及Director错误状态edstate;
步骤S5:收集错误日志信息,对错误日志进行编码,编码信息包含:Core子系统id、操作码opcode、地址address、粒度grid、数据data 、激励序列号sid、Core子系统错误来源eid、Core子系统错误类型etype、Core子系统错误状态estate、LLC以及Director错误来源edid、LLC以及Director错误类型edtype、LLC以及Director错误状态edstate。然后根据编码类型输出并打印错误日志。
核心子系统监听比较单元中核心子系统编码模块输出的编码信息和共享目录缓存系统监听比较单元中LLC以及Director编码模块输出的编码信息输出到日志生成器中的日志编码模块进行编码的实施转换如图6所示,日志编码模块根据激励序列号sid 、Core子系统id、操作码opcode、地址address、粒度grid这些相同源进行整合,根据Core子系统错误来源eid、Core子系统错误类型etype、LLC以及Director错误来源edid、LLC以及Director错误类型edtype分别对Core子系统与LLC以及Director数据data部分、Core子系统错误状态estate、LLC以及Director错误状态edstate进行编码整合。
显然,上述实施例仅仅是为清楚地说明所作的举例,并非对实施方式的限定。对于所属领域的普通技术人员来说,在上述说明的基础上还可以做出其它不同形式变化或变动。这里无需也无法对所有的实施方式予以穷举。而由此所引申出的显而易见的变化或变动仍处于本发明创造的保护范围之中。
Claims (7)
1.一种基于UVM的多核缓存一致性验证模组,其特征在于,验证模组包括:
激励生成单元;所述激励生成单元生成待测Core子系统所需的激励,包括访问的物理地址、Load/Store/Flush/Evitc四种操作、模拟I/O对可缓存空间的访问激励;
核心子系统监听比较单元;所述核心子系统监听比较单元接收来自激励生成单元的激励,将接收的激励输入到内部Core子系统缓存一致性参考模型,产生同步正确的一致性行为,此外,核心子系统监听比较单元还监听收集来自待测Core子系统的一致性请求、监听、响应、缓存行状态以及缓存操作的信息,并将这些信息与Core子系统缓存一致性参考模型进行比较,对比较后的结果进行判断,将错误的信息根据激励进行编码,并发送到日志生成器;
待测Core子系统、待测LLC以及待测Directory;所述待测Core子系统、待测LLC以及待测Directory均为多核系统中的所需单元,待测Core子系统包含D-Cache、指令收发模块、一致性事务处理控制器以及指令提交单元,待测LLC为最后一级共享缓存,待测Directory为多核系统的共享目录;
共享目录缓存系统监听比较单元;所述共享目录缓存系统监听比较单元,接收来自互连总线的请求、以及响应,将接收的请求与响应输入到内部LLC以及Director一致性参考模型,形成同步正确的一致性行为,此外,共享目录缓存系统监听比较单元还监听收集来自待测Directory的一致性请求、监听、响应以及LLC的缓存行状态的信息,并将这些信息与内部LLC以及Director一致性参考模型进行比较,对比较后的结果进行判断,将错误的信息根据激励进行编码,并发送到日志生成器;
日志生成器;所述日志生成器,收集自核心子系统监听比较单元、共享目录缓存系统监听比较单元的错误信息,并根据已经编码过的信息进行再次编码生成日志信息并打印出来。
2.根据权利要求1所述的基于UVM的多核缓存一致性验证模组,其特征在于:所述激励生成单元包含激励存储模块、激励读取模块、激励解码模块、激励分发模块;激励存储模块存储生成的操作序列,激励读取模块将存储在激励存储模块中的操作序列,按序读取出来并发送到激励解码模块,激励解码模块对读取出来的激励序列进行解码,解码信息包括待测Core子系统id、操作码opcode、地址address、粒度grid、数据data以及激励序列号sid,激励分发模块将解码的信息,根据id,将激励的全部信息发送到相关Core子系统和核心子系统监听比较单元。
3.根据权利要求1所述的基于UVM的多核缓存一致性验证模组,其特征在于,所述待测Core子系统、待测LLC以及待测Directory均为多核系统中的子单元,待测Core子系统包含D-Cache、指令收发模块、一致性事务处理控制器以及指令提交单元,待测LLC为最后一级共享缓存,待测Directory为多核系统的共享目录。
4.根据权利要求1所述的基于UVM的多核缓存一致性验证模组,其特征在于:所述核心子系统监听比较单元,包含Core操作信息收集模块,待测Core子系统Cache一致性事务监听收集模块、待测Core子系统Cache一致性事务请求收集模块、待测Core子系统Cache一致性事务响应收集模块、待测Core子系统Cache操作和Cacheline状态收集模块、核心子系统比较模块、待测Core子系统缓存一致性参考模型以及核心子系统编码模块;Core操作信息收集模块收集来自激励生成单元的Core操作信息,并将操作信息进行发送到待测Core子系统缓存一致性参考模型中,待测Core子系统缓存一致性参考模型根据Core操作信息产生对应的Cache一致性事务请求类型、Cache一致性事务响应类型、Cache操作以及Cacheline的状态信息,并将这些信息发送到核心子系统比较模块;待测Core子系统Cache一致性事务请求收集模块、待测Core子系统Cache一致性事务响应收集模块、待测Core子系统Cache操作和Cacheline状态收集模块收集来自待测Core子系统Cache一致性事务请求类型、Cache一致性事务响应类型、Cache操作以及Cacheline的状态,并将这些信息发送到核心子系统比较模块;核心子系统比较模块将待测Core子系统的Cache一致性事务请求类型、Cache一致性事务响应类型、Cache操作以及Cacheline的状态与待测Core子系统缓存一致性参考模型产生的相对应正确信息进行比较,并将错误信息发送到核心子系统编码模块进行编码,编码信息包含 :Core子系统id、操作码opcode、地址address、粒度grid、数据data、激励序列号sid、错误来源eid、错误类型etype、错误状态estate。
5.根据权利要求1所述的基于UVM的多核缓存一致性验证模组,其特征在于:所述共享目录缓存系统监听比较单元, 包含互连总线请求响应收集模块、共享目录Cache一致性事务监听收集模块、共享目录Cache一致性事务请求收集模块、共享目录Cache一致性事务响应收集模块、共享目录Cache的Cache操作、Cacheline状态和目录信息收集模块、LLC以及Director比较模块、LLC以及Director一致性参考模型以及LLC以及Director编码模块;互连总线请求响应收集模块收集来自互连总线上的一致性事务请求和响应信息,并将这些信息进行发送到LLC以及Director一致性参考模型中,LLC以及Director一致性参考模型根据一致性事务请求和响应信息产生对应的Cache一致性事务监听类型、Cache一致性事务响应类型、Cache操作、Cacheline的状态信息以及目录信息,并将这些信息发送到核心子系统比较模块;共享目录Cache一致性事务请求收集模块、共享目录Cache一致性事务响应收集模块、共享目录Cache的Cache操作、Cacheline状态和目录信息收集模块收集来自待测LLC的Cache一致性事务监听类型、Cache一致性事务响应类型、Cache操作、Cacheline的状态以及待测Directory的目录信息,并将这些信息发送到LLC以及Director比较模块;LLC以及Director比较模块将待测LLC的Cache一致性事务监听类型、Cache一致性事务响应类型、Cache操作、Cacheline的状态以及待测Directory的目录信息与LLC以及Director一致性参考模型产生的相对应正确信息进行比较,并将错误信息发送到LLC以及Director编码模块进行编码,编码信息包含 :Core子系统id、操作码opcode、地址address、粒度grid、数据data、激励序列号sid、错误来源edid、错误类型edtype、错误状态edstate。
6.根据权利要求1所述的基于UVM的多核缓存一致性验证模组,其特征在于:所述日志生成器,包含日志收集模块、日志编码模块以及日志打印模块,日志收集模块收集来自核心子系统监听比较单元中核心子系统编码模块输出的编码信息和共享目录缓存系统监听比较单元中LLC以及Director编码模块输出的编码信息,将编码信息输出到日志编码模块,进行编码,编码信息包含:Core子系统id、操作码opcode、地址address、粒度grid、数据data、激励序列号sid、Core子系统错误来源eid、Core子系统错误类型etype、Core子系统错误状态estate、LLC以及Director错误来源edid、LLC以及Director错误类型edtype、LLC以及Director错误状态edstate,并根据编码信息进行相对整合,将整合后的编码日志信息通过日志打印模块打印到仿真日志中。
7.基于UVM的多核缓存一致性验证方法,其特征在于,包括如下步骤:
步骤S1:根据应用场景层生成多核缓存操作向量表,生成的信息包含调用Core子系统id、操作码opcode、地址address、粒度grid、数据data;
步骤S2:将生成的操作向量写入到激励存储模块,根据激励存储模块的空满将激励读取出来,并将其发送到激励解码模块;
步骤S3:激励解码模块对激励来读出的先后顺序分配给每个操作分配操作序列号sid,并将读出的向量表解码出核心id、操作码opcode、地址address、粒度grid、数据data,将这些信息发送到激励分发模块,激励分发缓存id、opcode、address、grid、data以及sid信息,然后根据id输入到每个待测核心子系统中以及核心子系统监听比较单元;
步骤S4:当激励输入到待测核心子系统以及核心子系统监听比较单元后,核心子系统监听比较单元和共享目录缓存系统监听比较单元根据监听 和比较结果,对与参考模型对比后的错误信息进行编码,核心子系统监听比较单元编码信息包含:Core子系统id、操作码opcode、地址address、粒度grid、数据data、激励序列号sid、Core子系统错误来源eid、Core子系统错误类型etype、Core子系统错误状态estate;共享目录缓存系统监听比较单元编码信息包含Core子系统id、操作码opcode、地址address、粒度grid、数据data、激励序列号sid、错误来源edid、错误类型edtype、错误状态edstate, LLC以及Director错误来源edid、LLC以及Director错误类型edtype、LLC以及Director错误状态edstate;
步骤S5:收集错误日志信息,对错误日志进行编码,编码信息包含:Core子系统id、操作码opcode、地址address、粒度grid、数据data、激励序列号sid、Core子系统错误来源eid、Core子系统错误类型etype、Core子系统错误状态estate、LLC以及Director错误来源edid、LLC以及Director错误类型edtype、LLC以及Director错误状态edstate;然后根据编码类型输出并打印错误日志。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202311080565.0A CN116795728B (zh) | 2023-08-25 | 2023-08-25 | 一种基于uvm的多核缓存一致性验证模组及方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202311080565.0A CN116795728B (zh) | 2023-08-25 | 2023-08-25 | 一种基于uvm的多核缓存一致性验证模组及方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN116795728A true CN116795728A (zh) | 2023-09-22 |
CN116795728B CN116795728B (zh) | 2023-10-27 |
Family
ID=88046832
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202311080565.0A Active CN116795728B (zh) | 2023-08-25 | 2023-08-25 | 一种基于uvm的多核缓存一致性验证模组及方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN116795728B (zh) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN117687928A (zh) * | 2024-01-29 | 2024-03-12 | 中电科申泰信息科技有限公司 | 一种基于uvm的多处理器芯粒缓存一致性验证模组及方法 |
Citations (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102880537A (zh) * | 2012-09-07 | 2013-01-16 | 浪潮电子信息产业股份有限公司 | 一种Cache一致性协议软件模拟验证方法 |
CN103530216A (zh) * | 2013-10-12 | 2014-01-22 | 江苏华丽网络工程有限公司 | 一种基于uvm验证方法学的pcie验证方法 |
CN112199291A (zh) * | 2020-10-16 | 2021-01-08 | 天津飞腾信息技术有限公司 | 一种多核处理器Cache一致性模拟验证方法及验证装置 |
CN113157269A (zh) * | 2021-06-10 | 2021-07-23 | 上海齐感电子信息科技有限公司 | 验证系统及其验证方法 |
US20230154457A1 (en) * | 2021-11-12 | 2023-05-18 | audEERING GmhB | Communication System And Related Methods |
CN116167310A (zh) * | 2023-04-25 | 2023-05-26 | 上海芯联芯智能科技有限公司 | 一种验证多核心处理器缓存一致性的方法及装置 |
CN116302901A (zh) * | 2021-12-06 | 2023-06-23 | 紫光同芯微电子有限公司 | 一种通用验证方法学uvm验证平台的生成方法及装置 |
-
2023
- 2023-08-25 CN CN202311080565.0A patent/CN116795728B/zh active Active
Patent Citations (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102880537A (zh) * | 2012-09-07 | 2013-01-16 | 浪潮电子信息产业股份有限公司 | 一种Cache一致性协议软件模拟验证方法 |
CN103530216A (zh) * | 2013-10-12 | 2014-01-22 | 江苏华丽网络工程有限公司 | 一种基于uvm验证方法学的pcie验证方法 |
CN112199291A (zh) * | 2020-10-16 | 2021-01-08 | 天津飞腾信息技术有限公司 | 一种多核处理器Cache一致性模拟验证方法及验证装置 |
CN113157269A (zh) * | 2021-06-10 | 2021-07-23 | 上海齐感电子信息科技有限公司 | 验证系统及其验证方法 |
US20230154457A1 (en) * | 2021-11-12 | 2023-05-18 | audEERING GmhB | Communication System And Related Methods |
CN116302901A (zh) * | 2021-12-06 | 2023-06-23 | 紫光同芯微电子有限公司 | 一种通用验证方法学uvm验证平台的生成方法及装置 |
CN116167310A (zh) * | 2023-04-25 | 2023-05-26 | 上海芯联芯智能科技有限公司 | 一种验证多核心处理器缓存一致性的方法及装置 |
Non-Patent Citations (1)
Title |
---|
黄安文,: "多核处理器Cache 一致性协议关键技术研究", 《计算机工程与科学》 * |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN117687928A (zh) * | 2024-01-29 | 2024-03-12 | 中电科申泰信息科技有限公司 | 一种基于uvm的多处理器芯粒缓存一致性验证模组及方法 |
CN117687928B (zh) * | 2024-01-29 | 2024-04-19 | 中电科申泰信息科技有限公司 | 一种基于uvm的多处理器芯粒缓存一致性验证模组及方法 |
Also Published As
Publication number | Publication date |
---|---|
CN116795728B (zh) | 2023-10-27 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN106940428B (zh) | 芯片验证方法、装置及系统 | |
US9519571B2 (en) | Method for analyzing transaction traces to enable process testing | |
CN100489554C (zh) | 测试装置与测试模拟方法 | |
CN115841089A (zh) | 一种基于uvm的系统级芯片验证平台及验证方法 | |
CN112131829A (zh) | 一种芯片寄存器的验证方法、系统及相关装置 | |
US7000079B2 (en) | Method and apparatus for verification of coherence for shared cache components in a system verification environment | |
CN115130402B (zh) | 一种缓存验证方法、系统、电子设备及可读存储介质 | |
CN116795728B (zh) | 一种基于uvm的多核缓存一致性验证模组及方法 | |
CN107025167B (zh) | 在处理器追踪日志中使用编译器类型信息进行数据流分析的方法和设备 | |
CN114580344A (zh) | 测试激励生成方法、验证方法、验证系统及相关设备 | |
CN110674055B (zh) | 一种用于部件级和部件联合级的缓存一致性模拟验证方法 | |
CN116167310A (zh) | 一种验证多核心处理器缓存一致性的方法及装置 | |
Carroll et al. | The CDF level 3 trigger | |
CN113722143A (zh) | 一种程序流监控方法、装置、电子设备以及存储介质 | |
CN110727611B (zh) | 一种带状态监测的可配置一致性验证系统 | |
CN110659172B (zh) | 一种微处理器锁机制的指令级校验方法 | |
CN115629928B (zh) | 一种面向类脑处理器的软硬协同验证方法及系统 | |
US7194658B2 (en) | Various methods and apparatuses for interfacing of a protocol monitor to protocol checkers and functional checkers | |
US7836283B2 (en) | Data acquisition messaging using special purpose registers | |
Li | Computer embedded automatic test system based on VxWorks | |
Carreira et al. | Assessing the effects of communication faults on parallel applications | |
CN114896164A (zh) | 接口优化方法、装置、电子设备及存储介质 | |
CN117687928B (zh) | 一种基于uvm的多处理器芯粒缓存一致性验证模组及方法 | |
Dauphin et al. | Specification-driven performance monitoring of SDL/MSC-specified protocols | |
CN111258838A (zh) | 验证组件生成方法、装置、存储介质及验证平台 |
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 |