信号说明:

AWBURST、ARBURST:

指示burst type,有3种burst类型。
Fixed:固定地址模式,每次burst传输首地址固定,用于访问FIFO
INC:递增递增模式,每次传输,地址从首地址开始递增
WRAP:wrap模式,地址递增,到达wrap边界时,返回到起始的size对齐的地址上。Wrap边界是由传输size来确定的。
对于wrap模式,有2个约束。第一,首地址要根据传输size对齐;第二,burst长度在4个取值范围内,2,4,8,16

AWLOCK、ARLOCK

特殊访问模式,设置成00,则指示是normal access;
01:exclusive,理解是read exclusive访问,然后就对该读地址进行监控,后续再有对相同地址进行exclusive 写操作时,必须写入的数据与之前读出的数据一致,否则就会在反馈通道中输出EXERR。
10:lock模式,该模式访问后,锁定了一个master的访问。之后不允许有其他ID的master进行访问,直到unlock解锁完成

乱序:举例说明,发送awid顺序为0、1、2、3,由于dut(前提是dut支持乱序操作)内部的busy状态导致bid的返回顺序为1、2、3、0,这种情况为乱序;

间插:间插表示的是一个burst中某一些bit在前一个或后一个burst中返回,比如burst1读回来的数据为:11h、22h、33h、44h,burst2读回来的数据为:66h、77h、88h、99h,但是由于dut支持间插且dut当前触发间插状态,导致dut最终读回数据为:11、22、88、33、44、66、77、99,这种情况即为间插;(间插即交织)

间插必乱序;


卷绕模式为burst=2的情况,包括awburst、arburst,每次进行猝发激励时会计算一个上边界地址和下边界地址(根据start_addr、number_byte、burst_len),每次猝发看地址在[下边界地址,上边界地址)之间,如果猝发地址等于上边界地址则会卷绕会下边界地址,以此类推,上下边界地址计算公式如下:

下边界地址:wrapaddr=(int(addr/(number_byte*burst_len))) *(number_byte*burst_len)
上边界地址:wrapaddr+(number_byte*burst_len)

addr:猝发地址

number_byte:字节数(2^size)

burst_len:len+1

注:每次猝发都需要对上下边界地址进行计算、判断;

现象如下:

burst=2、arsize=4、arlen=4

经计算,addr0~3的下边界都为00、上边界都为40,所以总线访问地址分别如下:

addr___00:00、10、20、30

addr___10:10、20、30、00(注:卷绕了1个地址)

addr___20:20、30、00、10(注:卷绕了2个地址)

addr___30:30、00、10、20(注:卷绕了3个地址)

对应refm中的实现:

for(int i=0;i<=len;i++)

begin

if(len==1)addr[4] += i%2;

if(len==3)addr[5:4] += i%4;

if(len==7)addr[6:4] += i%8;

end


以128bit位宽总线为例子:

Axi窄带访问:一次axi总线写transf(1个burst中包含len+1个transf)的有效数据量不够128bit(使用wstrb控制);

非对齐传输:addr和size必须对齐,否则为非对齐传输,size=4时,表示每次trans的数据量为128bit,需要0x10地址,但是如果addr不为0x10的整数倍,则为非对齐传输,如burst的地址为A1=0x8007,则为非对齐传输(如果burst的初始地址为非对齐,一般情况下每个transf地址也肯定为非对齐);但是一般情况都支持和size对齐传输;


ost的一些理解:

ost的实现方式:ost一般实现是通过fifo、buffer实现的,但是寄存器打拍一般也会增加ost能力,比如多打一拍,ost能力加1;

  1. 除了以fifo、buffer的空满进行控制之外,一般也会在fifo、buffer的前级增加控制电路,比如通过计数获取push_cmd、pop_cmd的个数,当push_cmd(受pop_cmd个数的控制)达到提前设置的最大值时,dut自动拉低ready信号,即不可在将命令输入进来,达到前一级的控制;
  2. 不用进行前一级的控制,只需要fifo、buffer的空、满进行控制;
  3. 其他的控制方式;

以axi总线为例,对ost能力进行说明:

mst接口的ost能力,以axi_mst接口的aw、w和b通道为例说明ost的控制方式(不带前一级控制,只受到fifo/buffer空满控制):

  1. 拉低bready;
  2. 持续发送aw_cmd,命令会被压入到cmd_fifo中,core从fifo中获取cmd进行处理,但由于force bready=0,导致b通道不能将bresp信号输出,导致当前处理的cmd不能从fifo中pop出去,最终fifo会报full信号,反压不能在进行cmd的输入,这时即达到ost最大能力;

slv接口的ost能力,这里的slv的指令是从模块内部路由过来的(不带前一级控制,只受到fifo/buffer空满控制):

  1. 作为slv接口,其ost能力是在模块内部实现的,如下图,bar口的ost能力是通过模块内部的两级矩阵实现的,其实就是两级矩阵pipeline中可以存放的cmd个数;

  1. 如上图,只激励pp0口时,bar口的ost受两级矩阵最小的ost控制(两级矩阵都是可以配置ost,并且两者的ost不一样),其实上图中就是1x2矩阵的ost,因为2x1矩阵的ost比较大;
  2. 同时并行激励pp0、pp1,bar口的ost是两个1x2矩阵ost之和;

测试bar的ost时,读bar口的cmd个数为bar口的ost,这时读pp0、pp1的cmd个数,问这两个ost有什么关系吗?

答:这两个没任何关系,测bar口的ost时,force *ready=0,读bar口发出去的cmd个数,就是bar口的ost;需要测pp0口的ost时,需要force pp0的*ready=0,这时读到的cmd个数是pp0口的ost。

实测:ost说的是burst的数量,不管Xwlen、Xsize为多少(自测过);

猜测:当Xwlen、Xsize都为较大值的时候,由于cmd_fifo的full信号还未拉高,data_fifo的full信号已经拉高,这时候应该也会控制cmd_fifo不再接收cmd信号,即达到ost能力(这是我的一种猜测);


ost的说明:ost的一种实现方法,reg slice用来实现硬件中的打拍作用,但是如上文所说,reg slice会给某一边的接口增加ost能力;


slv口ost的测试方式:

1)force接口的bready、rready信号:由于force的是对外接口的信号,并且bready、rready信号是dut的输出,一般这种force的方式,不能达到你想要实现的目的;但有种方式可以改进force测试ost的方法,就是force dut中bready、rready这两个信号最源头(本人没有尝试过);(不推荐)

2)大流量用例:这种实现起来比较简单,但是在仿真波形中看cmd的ost比较麻烦,有可能需要看长时间的仿真波形才能找到(看实现ost的fifo空满的话应该会比较省时省力);

3)延时:在用例中配置延时,一般是配置bresp、resp返回时间进行实现的;(最推荐)

mst口ost的测试方式:

1)force接口的bready、rready信号为0即可;

Axi:名词解释、乱序、间插、卷绕、窄带访问、非对齐访问、OST相关推荐

  1. volatile关键字及编译器指令乱序总结

    本文简单介绍volatile关键字的使用,进而引出编译期间内存乱序的问题,并介绍了有效防止编译器内存乱序所带来的问题的解决方法,文中简单提了下CPU指令乱序的现象,但并没有深入讨论. 以下是我搭建的博 ...

  2. 简单理解计算机内存乱序

    作者 | 后端技术小牛说   责编 | 张文 头图 | CSDN 下载自视觉中国 本文探讨了自己对内存一致性模型的理解,由于不可避免的需要和操作系统底层打交道,本文主要例子和代码是 C++ 和汇编语言 ...

  3. 计算机体系结构——名词解释

    计算机体系结构--名词解释 文章目录 计算机体系结构--名词解释 一.第一章 1.计算机系统结构,计算机组成,计算机实现 2.计算机系统结构分类法 ①Flynn分类法 ②冯氏分类法 ③Handler分 ...

  4. b2c项目基础架构分析(一)b2c 大型站点方案简述 已补充名词解释

    b2c项目基础架构分析(一)b2c 大型站点方案简述 已补充名词解释 我最近一直在找适合将来用于公司大型bs,b2b b2c的基础架构. 实际情况是要建立一个bs架构b2b.b2c的网站,当然还包括w ...

  5. crosstool-ng 交叉工具链默认配置 名词解释

    crosstool-ng默认配置列表 crosstool-ng版本1.23.0 安装使用参考 centos7用crosstool-ng构建交叉工具编译链 https://blog.csdn.net/w ...

  6. 计算机专业英语名词解释

    2005-01-18 10:39 2795人阅读 评论(1) 收藏 举报 计算机专业英语名词解释 1.公司及其商标名 Microsoft: 有时缩略为MS,是全球最著名的软件商,美国软件巨头微软公司的 ...

  7. 计算机等级考试(三级网络)基本概念与名词解释

    计算机等级考试(三级网络)基本概念与名词解释 作者:yt125 发表时间: 2005/07/26 22:04 点击:1329次 发帖得万元!   活动官方论坛 修改  精华  删除  置顶  来源   ...

  8. [转]常用图形学名词解释

    常用图形学名词解释 3D|三维(three dimension).客观世界中静止的物体都是三维的,在计算机图形学中常在一定的坐标系中用(x,y,z)坐标系列表示物体. 3D modeling|3D建模 ...

  9. 考研数据结构名词解释大全

    名词解释 1. **数据结构 ** 数据结构是相互之间存在一种或多种特定关系的数据元素的集合,数据结构包括三方面的内容:逻辑结构.存储结构.数据的运算 2. **逻辑结构 ** 数据元素之间的逻辑关系 ...

最新文章

  1. 在SQL Server 2008中配置文件流(FILESTREAM)
  2. 好礼相送|CSDN云原生 Meetup 成都站报名热烈启动,12.18见!
  3. Seam开发环境的搭建
  4. Ubuntu切换数据源
  5. 搞不定 NodeJS 内存泄漏?先从了解垃圾回收开始
  6. springcloud-05-ribbon中不使用eureka
  7. mac下完全卸载程序的方法
  8. 利用 cwRsync 实现代码(文件)同步的解决办法
  9. 从“专用”到“通用” 阿里平头哥野心何在?
  10. 动态传参, 名称空间, 嵌套, gloabal, nonlocal
  11. 30个超实用Python代码片段
  12. python教程推荐-入门python有什么好的书籍推荐?
  13. Synchronized的底层实现原理(看这篇就够了)
  14. smart原则_人生工具:SWOT、PDCA、6W2H、SMART、WBS、时间管理、二八原则
  15. JavaScript之Ajax Util
  16. C# NPOI 导出Excel 小数位数控制
  17. android 添加字幕,手机视频加字幕app 怎样用安卓手机在视频画面加文字字幕
  18. 用Scrapy框架爬取校花网所有校花图片
  19. 最简单的人脸检测(免费调用百度AI开放平台接口)
  20. GP232RL国产USB串口如何兼容FT232RL开发资料

热门文章

  1. 【转】男生,请别亲手毁掉女生的猫性
  2. 【环境配置】虚拟机中配置C++环境
  3. CString查找子字符串
  4. 网赚小项目,聊天挣钱,打字聊天就能挣钱的方法
  5. Unity如何调整天空盒子
  6. MSP4302553呼吸灯(附代码)
  7. 两个网段共享打印机_不同ip段共享打印机设置方法
  8. Qt开发学生信息管理系统
  9. 无人机行业情况 - 亿航、大疆、极飞
  10. 直播--android端推流实现一