一、Latency 基础:

AXI latency 是比较关键的部分,可以采用VIP的latency机制模拟硬件的latency 信息;其中latency机制的使用按照作用主体分为两块:一个是针对master VIP的,一个是针对Slave VIP的;

根据axi的握手机制:

写通道操作: master 负责操作:awvalid 、awaddr、wvalid 、 wdata  、 wlast    而slave 负责操作:awready 、wready

读通道操作:master 负责操作:arvalid、 araddr、ready     而slave 负责操作:arready、rdata 、rlast和rvalid

写响应通道:  slave 负责发送  bvalid , master 负责操作bready,一旦master 拉高bready,那么bresp会立刻发送到master部分作为响应。

1)master vip + slave DUT;

vip作为master的情况下,主要操作包括axi 写、axi 读、axi 写响应;

wvalid_delay:由master 主动控制,

rready_delay:由master 主动控制;

2)master DUT + slave  VIP:

vip作为slave 的情况,

wready_delay:由slave 来进行控制,什么时候给出ready信号,一遍master可以写入slave;

rvalid_delay:读数据时,由slave 来进行控制什么时候给数据。

二、AXI latency 宏以及reference event

AXI delay control attributes

Description of address_valid_delay for reference
event PREV_ADDR_VALID for write address channel

Addr_valid_delay defines the number of cycles the AWVALID signal is delayed with respect to the reference event PREV_ADDR_VALID. It is applicable only for the ACTIVE MASTER.

Description of address_valid_delay for
reference event PREV_ADDR_HANDSHAKE for write address channel

Addr_valid_delay defines the number of cycles the AWVALID signal is delayed with respect to the reference event PREV_ADDR_HANSHAKE. It is applicable only for the ACTIVE MASTER.

Description of address_valid_delay for
reference event PREV_ADDR_VALID for read address channel

Addr_valid_delay defines the number of cycles the ARVALID signal is delayed with respect to the reference event PREV_ADDR_VALID. It is applicable only for the ACTIVE MASTER.

Description of address_valid_delay for
reference event PREV_ADDR_HANDSHAKE for read address channel

Addr_valid_delay defines the number of cycles the ARVALID signal is delayed with respect to the reference event PREV_ADDR_HANDSHAKE. It is applicable only for the ACTIVE MASTER.

Description of bvalid_delay for reference
event LAST_DATA_HANDSHAKE for write response channel

Represents delay in terms of clock cycle for bvalid assertion with respect to the reference event LAST_DATA_HANDHAKE. It is applicable only for the ACTIVE SLAVE.

Description of bvalid_delay for
reference event ADDR_HANDSHAKE for write response channel

Represents delay in terms of clock cycles for bvalid assertion with respect to the reference event ADDR_HANDHAKE. It is applicable only for the ACTIVE SLAVE.

Description of first rvalid_delay for
reference event READ_ADDR_VALID for read data channel

Represents a delay for the first RVALID assertion with respect to the reference event READ_ADDR_VALID. It is applicable only for the ACTIVE SLAVE.

Description of first rvalid_delay for
reference event READ_ADDR_HANDSHAKE for read data channel

Represents a delay for the first RVALID assertion with respect to the reference event READ_ADDR_HANDSHAKE.

Description of first wvalid_delay for
reference event WRITE_ADDR_VALID for write data channel

Represents a delay for the first WVALID assertion with respect to the reference event WRITE_ADDR_VALID.

Description of first wvalid_delay for
reference event WRITE_ADDR_HANDSHAKE for write data channel

Represents a delay for the first WVALID assertion with respect to the reference event WRITE_ADDR_HANDSHAKE.

Description of first wvalid_delay for reference event PREV_WRITE_DATA_HANDSHAKE for write data channel

Represents a delay for the first WVALID assertion with respect to the reference event PREV_WRITE_DATA_HANDSHAKE.

Description of rready_delay for
reference event RVALID for read data channel

Represents a delay for the first RREADY assertion with respect to the reference event RVALID.

Description of wready_delay for reference event WVALID for write data channel

Represents a delay for the first WREADY assertion with respect to the reference event WVALID.

Description of bready_delay for reference event BVALID for write response channel

If configuration parameter svt_axi_port_configuration :: default_bready is FALSE, this member defines the BREADY signal delay in number of clock cycles. The reference event for this delay is assertion of bvalid.

If the configuration parameter svt_axi_port_configuration :: default_bready is TRUE, this member defines the number of clock cycles for which BREADY signal should be deasserted after each handshake, before pulling it up again to its default value.

Represents the bready delay for reference event BVALID for default_bready is TRUE. It is applicable only for the ACTIVE MASTER.

Description of next rvalid_delay for reference event PREV_RVALID for read data channel

Represents a delay for the next RVALID assertion with respect to the reference event PREV_RVALID.

Description of next rvalid_delay for reference event PREV_READ_HANDSHAKE
for read data channel

Represents a delay for the next RVALID assertion with respect to the reference event PREV_READ_HANDSHAKE.

Description of next wvalid_delay for reference event PREV_WVALID for
write data channel

Represents a delay for the next WVALID assertion with respect to the reference event PREV_WVALID.

Description of next wvalid_delay for reference
event PREV_WRITE_HANDSHAKE for write data channel

Represents a delay for the next WVALID assertion with respect to the reference event PREV_WRITE_HANDSHAKE.

Description of addr_ready delay for reference
event ADDR_VALID for write address channel

If the configuration parameter svt_axi_port_configuration :: default_awready is FALSE, this member defines the AWREADY signal delay in number of clock cycles. The reference event used for this delay is addr_valid.

If the configuration parameter svt_axi_port_configuration :: default_awready is TRUE, this member defines the number of clock cycles for which AWREADY signal should be deasserted after each handshake, before pulling it up again to its default value. It is applicable only for the ACTIVE SLAVE.

Description of addr_valid_delay for reference event FIRST_DATA_HANDSHAKE_DATA_BEFORE_ADDR for read address channel

Addr_valid_delay defines the number of cycles the ARVALID signal is delayed with respect to the reference event FIRST_DATA_HANDSHAKE_DATA_BEFORE_ADDR. It is applicable only for the ACTIVE MASTER.

Description of addr_ready_delay for reference
event ADDR_VALID for read address channel

If the configuration parameter svt_axi_port_configuration :: default_arready is FALSE, this member defines the ARREADY signal delay in number of clock cycles. The reference event used for this delay is addr_valid.

If the configuration parameter svt_axi_port_configuration :: default_arready is TRUE, this member defines the number of clock cycles for which ARREADY signal should be deasserted after each handshake, before pulling it up again to its default value. It is applicable only for the ACTIVE SLAVE.

Description of addr_valid_delay for reference event FIRST_WVALID_DATA_BEFORE_ADDR
for write address channel

Addr_valid_delay defines the number of cycles the AWVALID signal is delayed with respect to the reference event FIRST_WVALID_DATA_BEFORE_ADDR. It is applicable only for the ACTIVE MASTER.

Description of addr_valid_delay for reference event FIRST_DATA_HANDSHAKE_DATA_BEFORE_ADDR
for write address channel

Addr_valid_delay defines the number of cycles the AWVALID signal is delayed with respect to the reference event FIRST_DATA_HANDSHAKE_DATA_BEFORE_ADDR. It is applicable only for the ACTIVE MASTER.

AXI latency 理解相关推荐

  1. Xilinx AXI Interconnect相关知识汇总-AXI协议理解(三)

    xilinx的IP核很多都用到了AXI总线进行数据和指令传输.如果有多个设备需要使用AXI协议对AXI接口的BRAM进行读写,总线之间该如何进行仲裁,通信? Vivado有一个叫做AXI Interc ...

  2. vivado中ZYNQ详解(主要用于PS和PL之间的工作衔接)

    可进qq群进行相关Verilog知识交流:1073030956 AXI的理解 AXI(Advanced extensible Interface)协议主要描述了Master设备和Slave设备之间的数 ...

  3. on-chip-bus(四)AXI总线:突发长度、突发大小以及非对齐传输的理解

    1.突发长度.突发大小 突发长度(burst length):指在一次突发传输中进行的数据传输次数,用AxLEN字段标识.由于标识值是从0开始的,实际的突发长度应为标识值+1,即突发长度=AxLEN ...

  4. AXI 总线基本概念1 - 如何理解outstanding传输

    在AXI4的总线规范中提到AXI4的总线特性之一:    Support for issuing multiple outstanding addresses. 从字面理解,outstanding表示 ...

  5. 理解AXI Quad Serial Peripheral Interface(SPI) IP核

    reference :   PG153-AXI Quad SPI v3.2 LogiCORE IP Product Guide.pdf 在使用MicroBlaze过程中,调用了此IP,所以有必须仔细学 ...

  6. AMBA总线理解-AXI总线

    AXI的设计目标是可以在高始终频率下运行,并且在迟滞时间长的情况下也可以达到高数据吞吐率.他可以将读/写请求和读/写结果相互分离,将数据写入和数据读出的信号分类,并且可以同时进行写入和读出的动作,因此 ...

  7. 36_2 On Chip Bus —— AXI总线介绍

    目录 1.AXI总线介绍(读2写3) 1.1流量控制 1.2 AXI signals 信号线 1.3重点信号线的介绍 1.4原子操作--让读改写一套操作 永远是一个master对一个slave 1.5 ...

  8. 数字IC设计--------AMBA AXI协议(英文原版)

    AXI:AMBA Advanced eXtensible Interface (AXI) Protocol Specification 目录 chapter 1 Introduction about ...

  9. 使用VIVADO中的MIG控制DDR3(AXI接口)三——DDR3简介

    在读写DDR3之前,需要了解DDR3的相关知识,而如果一开始就直接看DDR3的话,我们极有可能会感觉到一头雾水,不知道从哪下手,接下来,我们便从SDRAM一步步到DDR3,分步去学习相关的知识. 1 ...

最新文章

  1. html 右边是iframe 左右结构_HTML速查表
  2. Retrofit原理分析
  3. Swift之深入解析Xcode13对Swift对象生命周期的优化
  4. sourcetree帮助文档
  5. js 获取 本周、上周、本月、上月、本季度、上季度的开始结束日期
  6. OS2ATC 2021:开源协作,和而不同
  7. 【C#桌面应用】第二节:利用Visual Studio2019 创建桌面应用
  8. SharePoint的十大优势
  9. es管理器免root_OPPO手机免ROOT更换系统字体教程-适合大部分OPPO机型
  10. 服务器连接池怎么配置文件,服务器连接池怎么配置
  11. ++代码实现 感知机的原理_常见排序算法原理及JS代码实现
  12. php关联微信支付宝,php实现微信和支付宝支付
  13. python怎么计算复利_用python计算复利和年化收益率
  14. 图片标注问题image_caption
  15. 奥利给!搞定JVM就靠它了!不看感觉错过一个亿!吐血整理两个月,原创!全网第一份超详细JVM知识点导图!!!
  16. 2021年全球自动浓缩咖啡机行业调研及趋势分析报告
  17. 【SVAC1】NAL单元的封装
  18. 用c 语言求纸对折的次数,纸张对折新纪录:13次
  19. Abnormal Activity Detection Using Pyroelectric Infrared Sensors
  20. 万门mysql_万门DX-MySQL零基础特训班

热门文章

  1. python 显示表格数据_python显示excel表格数据-怎么用python读取excel表格的数据
  2. java long 变date_long类型转换成日期 LongToDate
  3. 打造前端瑞士军刀,为你开发路上披荆斩棘
  4. 网页中在线玩圆桌骑士
  5. CentOS7下使用ngrok搭建内网穿透服务器
  6. 网站注册邮件发送功能实现
  7. TUP第19期综述:从12306看海量并发网站架构
  8. python爬取汽车之家图片,Python requests 爬取汽车之家全部品牌logo,urllib下载到本地...
  9. 收好这份武林秘籍,让你分库分表再无烦恼
  10. win10能联网但右下角出现小地球,无Internet连接解决方法