当前位置:   article > 正文

AXI总线要点

AXI总线要点

AXI4.0ARM公司提出的AMBA 3.0协议的升级版,是一种高性能、高带宽、低延迟的片内总线,具有总线的地址/控制和数据通道是分离的;支持不对齐的数据传输;在突发传输中,只需要首地址;同时具有分离读/写数据通道;更加容易进行时序收敛。

5个独立通道

写地址通道(Write address channelAW);写数据通道(Write data channelW);写响应通道(Write response channel,B);读地址通道(Read address channelAR);读数据通道(Read data channelR)。每个通道都是一个独立的AXI握手协议。

握手机制

每个通道都有一对VALID/READY信号;发送方用VALID指示什么时候数据或控制信息是有效的;接收方用READY指示可以接收数据或控制信息。传输发生在VALIDREADY信号同时为高的时候。各信号之间的关系见下图(左图为读事务,右图为写事务)

VALID与READY之间的时序关系见下图。

 

各通道信号

全局信号

信号

描述

ACLK

Clock source

全局时钟信号

ARESETn

Reset source

全局复位信号,低电平有效

写地址通道信号

    信号

描述

AWID[3:0]

主机

写地址ID,这个信号是写地址信号组的ID tag。

AWADDR[31:0]

主机

写地址。

AWLEN[3:0]

主机

突发式写的长度。此长度决定突发式写所传输的数据的个数。

AWSIZE[2:0]

主机

突发式写的大小。

AWBURST[1:0]

主机

突发式写的类型。

AWLOCK[1:0]

主机

锁类型。

AWCACHE[3:0]

主机

Cache类型。这信号指明事务的bufferable、cacheable、write-through、write-back、allocate attributes信息。

AWPROT[2:0]

主机

保护类型。

AWVALID

主机

写地址有效。

1 = 地址和控制信息有效

0 = 地址和控制信息无效

这个信号会一直保持,直到AWREADY变为高。

AWREADY

设备

写地址准备好。这个信号用来指明设备已经准备好接受地址和控制信息了。

1 = 设备准备好

0 =  设备没准备好

写数据通道信号

信号

描述

WID[3:0]

主机

写ID tag,WID的值必须与AWID的值匹配

WDATA[31:0]

主机

写的数据。

WSTRB[3:0]

主机

写阀门。WSTRB[n]标示的区间为WDATA[(8*n)+7:(8*n)]

 

WLAST

主机

写的最后一个数据。

WVALID

主机

写有效

1 = 写数据和阀门有效

0 =  写数据和阀门无效

WREADY

设备

写就绪。指明设备已经准备好接受数据了

1 = 设备就绪

0 = 设备未就绪

写响应通道信号

信号

描述

BID[3:0]

设备

响应ID , 这个数值必须与AWID的数值匹配。

BRESP[1:0]

设备

写响应。这个信号指明写事务的状态。可能有的响应:OKAY、EXOKAY、SLVERR、DECERR。

BVALID

设备

写响应有效。

1 = 写响应有效

0 = 写响应无效

BREADY

主机

接受响应就绪。该信号表示主机已经能够接受响应信息。

1 = 主机就绪

0 = 主机未就绪

读地址通道信号

信号

描述

ARID[3:0]

主机

读地址ID。

ARADDR[31:0]

主机

读地址。

ARLEN[3:0]

主机

突发式读长度。

ARSIZE[2:0]

主机

突发式读大小。

ARBURST[1:0]

主机

突发式读类型。

ARLOCK[1:0]

主机

锁类型。

ARCACHE[3:0]

主机

Cache类型。

ARPROT[2:0]

主机

保护类型。

ARVALID

主机

读地址有效。信号一直保持,直到ARREADY为高。

1 = 地址和控制信息有效

0 = 地址和控制信息无效

ARREADY

设备

读地址就绪。指明设备已经准备好接受数据了。

1 = 设备就绪

0 = 设备未就绪

读数据通道信号

信号

描述

RID[3:0]

设备

读ID tag。RID的数值必须与ARID的数值匹配。

RDATA[31:0]

设备

读数据。

RRESP[1:0]

设备

读响应。这个信号指明读传输的状态:OKAY、EXOKAY、SLVERR、DECERR。

RLAST

设备

读事务传送的最后一个数据。

RVALID

设备

读数据有效。

1 = 读数据有效。

0 = 读数据无效。

RREADY

主机

读数据就绪。

1 = 主机就绪

0 = 主机未就绪

低功耗接口信号

信号

描述

CSYSREQ

CLOCK controller

系统低功耗请求。此信号来自系统时钟控制器,使外围设备进入低功耗状态。

CSYSACK

外围设备

低功耗请求应答。

CACTIVE

外围设备

Clock active

1 = 外围设备时钟请求

0 = 外围设备时钟无请求

以下是AXI lite IP核各信号的定义:

  1. module AXI_PWM_v1_0_S00_AXI #
  2. (
  3. // Users to add parameters here
  4. // User parameters ends
  5. // Do not modify the parameters beyond this line
  6. // Width of S_AXI data bus
  7. parameter integer C_S_AXI_DATA_WIDTH = 32,
  8. // Width of S_AXI address bus
  9. parameter integer C_S_AXI_ADDR_WIDTH = 4
  10. )
  11. (
  12. // Users to add ports here
  13. output wire pwm_out,
  14. // User ports ends
  15. // Do not modify the ports beyond this line
  16. // Global Clock Signal
  17. input wire S_AXI_ACLK,
  18. // Global Reset Signal. This Signal is Active LOW
  19. input wire S_AXI_ARESETN,
  20. // Write address (issued by master, acceped by Slave)
  21. input wire [C_S_AXI_ADDR_WIDTH-1 : 0] S_AXI_AWADDR,
  22. // Write channel Protection type. This signal indicates the
  23. // privilege and security level of the transaction, and whether
  24. // the transaction is a data access or an instruction access.
  25. input wire [2 : 0] S_AXI_AWPROT,
  26. // Write address valid. This signal indicates that the master signaling
  27. // valid write address and control information.
  28. input wire S_AXI_AWVALID,
  29. // Write address ready. This signal indicates that the slave is ready
  30. // to accept an address and associated control signals.
  31. output wire S_AXI_AWREADY,
  32. // Write data (issued by master, acceped by Slave)
  33. input wire [C_S_AXI_DATA_WIDTH-1 : 0] S_AXI_WDATA,
  34. // Write strobes. This signal indicates which byte lanes hold
  35. // valid data. There is one write strobe bit for each eight
  36. // bits of the write data bus.
  37. input wire [(C_S_AXI_DATA_WIDTH/8)-1 : 0] S_AXI_WSTRB,
  38. // Write valid. This signal indicates that valid write
  39. // data and strobes are available.
  40. input wire S_AXI_WVALID,
  41. // Write ready. This signal indicates that the slave
  42. // can accept the write data.
  43. output wire S_AXI_WREADY,
  44. // Write response. This signal indicates the status
  45. // of the write transaction.
  46. output wire [1 : 0] S_AXI_BRESP,
  47. // Write response valid. This signal indicates that the channel
  48. // is signaling a valid write response.
  49. output wire S_AXI_BVALID,
  50. // Response ready. This signal indicates that the master
  51. // can accept a write response.
  52. input wire S_AXI_BREADY,
  53. // Read address (issued by master, acceped by Slave)
  54. input wire [C_S_AXI_ADDR_WIDTH-1 : 0] S_AXI_ARADDR,
  55. // Protection type. This signal indicates the privilege
  56. // and security level of the transaction, and whether the
  57. // transaction is a data access or an instruction access.
  58. input wire [2 : 0] S_AXI_ARPROT,
  59. // Read address valid. This signal indicates that the channel
  60. // is signaling valid read address and control information.
  61. input wire S_AXI_ARVALID,
  62. // Read address ready. This signal indicates that the slave is
  63. // ready to accept an address and associated control signals.
  64. output wire S_AXI_ARREADY,
  65. // Read data (issued by slave)
  66. output wire [C_S_AXI_DATA_WIDTH-1 : 0] S_AXI_RDATA,
  67. // Read response. This signal indicates the status of the
  68. // read transfer.
  69. output wire [1 : 0] S_AXI_RRESP,
  70. // Read valid. This signal indicates that the channel is
  71. // signaling the required read data.
  72. output wire S_AXI_RVALID,
  73. // Read ready. This signal indicates that the master can
  74. // accept the read data and response information.
  75. input wire S_AXI_RREADY
  76. );

 

 

 

 

 

本文内容由网友自发贡献,转载请注明出处:【wpsshop博客】
推荐阅读
相关标签
  

闽ICP备14008679号