一种制造技术

技术编号:39903046 阅读:7 留言:0更新日期:2023-12-30 13:17
本发明专利技术公开一种

【技术实现步骤摘要】
一种TileLink一致性协议验证装置


[0001]本专利技术涉及模拟验证
,具体为一种
TileLink
一致性协议验证装置


技术介绍

[0002]TileLink
是一个芯片级互连标准,允许多个主设备,以支持一致性的存储器映射方式访问存储器和其他从设备
。TileLink
的设计目标是为片上系统提供一个具有低延迟和高吞吐率传输的高速

可扩展的片上互连方式,来连接通用多处理器

协处理器

加速器
、DMA
以及各类简单或复杂的设备

总结来说,
TileLink
是:
[0003]免费开放的紧耦合

低延迟的
SoC
总线;
[0004]为
RISC

V(
开源指令集架构
)
设计,也支持其他
ISAs

[0005]提供物理寻址

共享内存的系统;
[0006]可用于建立可扩展的

层次化结构的和点对点的网络;
[0007]为任意数量的缓存或非缓存主设备提供一致性的访问;
[0008]支持从单一简单外设到高吞吐量的复杂多外设的所有通讯需求;
[0009]同时还具备以下重要的特性:
[0010]缓存一致性的内存共享系统,支持兼容
MOESIr/>的一致性协议;
[0011]对任何遵守该协议的
SoC
系统来说,可验证确保无死锁;
[0012]使用乱序的并发操作以提高吞吐率;
[0013]使用完全解耦的通讯接口,有利于插入寄存器来优化时序;
[0014]总线宽度的透明自适应和突发传输序列的自动分割;
[0015]针对功耗优化的信号译码;
[0016]但在模拟验证工作中,缺乏配套的验证部件,尤其是同时支持
CPU、DMA
一致性协议验证的装置


技术实现思路

[0017]本专利技术的目的是针对现有技术存在的问题,提供一种
TileLink
一致性协议验证装置,用以解决现有技术中缺乏对
TileLink
一致性协议验证模拟验证的支持,实现同时支持
CPU

DMA

TileLink
一致性协议验证

[0018]如图1所示,本专利技术提供一种
TileLink
一致性协议验证装置,包括:
[0019]虚拟接口模块,用于与待验证单元进行
TileLink
一致性协议验证的信号交互;
[0020]驱动模块,用于向所述虚拟接口模块发送验证报文;
[0021]定序器模块,用于向所述驱动模块发送从发送队列中提取的报文;向测试序列模块发送从接收队列中提取的报文;接收监视器模块发送的报文并分别存入所述接收队列和日志队列;接收测试序列模块发送的报文并分别存入所述发送序列和所述日志队列;
[0022]测试序列模块,用于对接收到的报文采用回调函数进行
TileLink
一致性协议处理;
[0023]监视器模块,用于采集所述虚拟接口模块的电信号并组成报文;
[0024]具体地,虚拟接口模块实现了对
TL

UL
协议
、TL

UH
协议及
TL

C
协议的物理通道的支持,提供了待验证单元与
TileLink
一致性协议验证装置的连接接口

可以通过配置模块来选择
TL

UL
协议
、TL

UH
协议及
TL

C
协议的其中一个物理通道

装置具备
TileLink

A、B、C、D
以及
E
全部物理通道的输入和输出通路,
TL

C
用于一致性上游设计
DUT
连接,
TL

UL/UH
用于连接访存通路

[0025]驱动模块,向
TileLink
的物理通道接收和发送用于验证的一致性报文,例如,通过
TL

C
的物理通道接收和发送遵从
TileLink1.8.0

1.8.1
规范的一致性报文

从定序器模块的发送队列取出报文,并向虚拟接口模块驱动电平信号

定序器模块,用于缓冲

转接

调度装置中的一致性报文,包含接受队列

发送队列

日志队列

[0026]测试序列模块,实现一致性协议处理逻辑,例如实现遵从
TileLink1.8.0

1.8.1
一致性规范的逻辑处理

处理从定序器接收队列收到的报文,并向定序器发送队列填充发送的报文,同时向日志队列填充发送或接收报文,其内部包含一个
Cache
模拟数据结构,存放
TTag

CacheLine
数据;通过
queue
队列
shuffle
方法结合配置文件实现延迟节拍数和一致性返回模式的配置

一致性请求悬挂于
queue
,通过配置决定以乱序或顺序进入一致性处理回调函数,通过一致性部件中可配处理延迟决定模拟节拍数,测试序列模块还可以依据
TileLinkUL
规范,从
A
通道发出多种粒度的
IO
请求,并在
D
通道接收,用于测试序列模块开发
IO
访问
/
遍历激励

[0027]监视器模块,采集所述虚拟接口模块的电信号并组成报文,记录协议处理过程

[0028]上述技术方案,通过虚拟接口模块

驱动模块

定序器模块和测试序列模块之间的数据交互,并采用回调函数对交互数据进行
TileLink
一致性协议验证,实现了对
TileLink
一致性协议验证模拟验证的支持,支持完整协议,适用于
CPU
一致性性

设备一致性及其混合场景,从而简化了验证环境的部署和复杂验证测试激励的设计开发,缩短了研发周期

[0本文档来自技高网...

【技术保护点】

【技术特征摘要】
1.
一种
TileLink
一致性协议验证装置,其特征在于,包括:虚拟接口模块,用于与待验证单元进行
TileLink
一致性协议验证的信号交互;驱动模块,用于向所述虚拟接口模块发送验证报文;定序器模块,用于向所述驱动模块发送从发送队列中提取的报文;向测试序列模块发送从接收队列中提取的报文;接收监视器模块发送的报文并分别存入所述接收队列和日志队列;接收测试序列模块发送的报文并分别存入所述发送序列和所述日志队列;测试序列模块,用于对接收到的报文采用回调函数进行
TileLink
一致性协议处理及主动模拟
CPU
发出基于
TileLink
协议的
IO
请求;监视器模块,用于采集所述虚拟接口模块的电信号并组成报文,对协议合法性进行断言
。2.
根据权利要求1所述的
TileLink
一致性协议验证装置,其特征在于,所述测试序列模块设置有
Cache
模拟数据结构,用于存放
TTag
阵列和
Data
阵列,所述
TTag
阵列存储
CacheLine
地址在缓存中的一致性状态;所述
Data
阵列存储
CacheLine
地址的具体数据
。3.
根据权利要求2所述的
TileLink
一致性协议验证装置,其特征在于,所述测试序列模块具体用于:采用所述回调函数捕获输入
A
通道的报文;将所述输入
A
通道的报文转换成
Probe
请求,并通过输入
B
通道进行转发,并将所述
Probe
请求的地址在所述
Cache
模拟数据结构的
TTag
阵列中的标记登记为
Probe
请求的一致性状态;根据所述
Probe
请求的一致性状态,输入
C
通道发出对应的
ProbeAck
,之后,向输出
A
通道发送读或者写请求;接收输出
D
通道发送的确认消息;并在确认消息为
AccessAckData
时,将所述
AccessAckData
存至所述
Cache
模拟数据结构中的
Data
阵列,并更新
Cache
模拟数据结构中所述
AccessAckData
的地址所对应的
CacheLine

TTag
状态;将所述输出
D
通道发送的确认消息通过输入
D
通道返回至待验证单元
。4.
根据权利要求3所述的
TileLink
一致性协议验证装置,其特征在于,将所述
A
通道的报文转换成
Probe
请求,进一步包括:若所述报文为
NtoB

Accuire
请求,则所述报文转换成
toB

Probe
请求;若所述报文为
BtoT

NtoT

Accuire
请求,则所述报文转换成
toT

Probe
请求;若所述报文为
Get
请求,则所述报文转换成
toB

Probe
请求;若所述报文为
PutFullData、PutPartialData、ArithmeticData

【专利技术属性】
技术研发人员:严大卫欧阳有恒顾彪李雨格姚轶晨陆之凡陆秋漪汪争张琦滨刘鹏毕小建韩文燕
申请(专利权)人:无锡先进技术研究院
类型:发明
国别省市:

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

1