axi时序图_AXI4 & AXI4-stream 相关笔记

2020.04.02更新:

最近正好用到了这个,贴个能用的代码帮助大家理解吧。该代码已通过仿真测试,可以与Xilinx的AXI BRAM Controller一起使用。

该模块的主要功能是利用AXI4协议对内存进行先写后读的反复操作。代码如下:

`timescale 1ns / 1ps

//

// Company:

// Engineer:

//

// Create Date: 01/7/2020 10:41:11 AM

// Design Name:

// Module Name: AXI_read_write

//

module AXI_read_write #(

parameter integer UPPER_WIDTH = 8,

parameter integer DATA_WIDTH = 64

)

(

//==========input===============//

M_AXI_ACLK ,

M_AXI_ARESETN ,

M_AXI_awready ,

M_AXI_arready ,

M_AXI_rdata ,

M_AXI_wready ,

M_AXI_rlast ,

M_AXI_rvalid ,

M_AXI_bvalid ,

//==========output===============//

M_AXI_awvalid ,

M_AXI_arvalid ,

M_AXI_wdata ,

M_AXI_rready ,

M_AXI_wlast ,

M_AXI_wvalid ,

M_AXI_awaddr ,

M_AXI_araddr ,

M_AXI_bready

);

//port--------------------------------------

input wire M_AXI_ACLK ;

input wire M_AXI_ARESETN ;

input wire M_AXI_awready ;

input wire M_AXI_arready ;

output reg M_AXI_awvalid ;

output reg M_AXI_arvalid ;

// input wire [1:0] M_AXI_BRESP;

// input wire [1:0] M_AXI_RRESP;

input wire [DATA_WIDTH-1:0] M_AXI_rdata;

output reg [DATA_WIDTH-1:0] M_AXI_wdata;

input wire M_AXI_wready ;

input wire M_AXI_rlast ;

input wire M_AXI_rvalid ;

//---------------------------

output reg M_AXI_rready ;

output reg M_AXI_wlast ;

output reg M_AXI_wvalid ;

output reg [UPPER_WIDTH-1:0] M_AXI_awaddr;

// output reg [7:0] M_AXI_AWLEN = 8'b0;

// output reg [2:0] M_AXI_AWSIZE = 3'b011;//8 byte

//----------------------

  • 0
    点赞
  • 10
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值