您当前的位置: 首页 > 

FPGA硅农

暂无认证

  • 1浏览

    0关注

    282博文

    0收益

  • 0浏览

    0点赞

    0打赏

    0留言

私信
关注
热门博文

AXI总线实验

FPGA硅农 发布时间:2021-03-10 14:15:34 ,浏览量:1

基本功能:测试平台向AXI Lite从机写入写起始地址,读起始地址以及开始信号,AXI Full主机检测到开始信号之后,根据配置的起始地址进行测试,AXI Full主机根据配置的读起始地址,从测试平台突发读取32个数据,然后将它们加1,再按照配置的写起始地址,将其突发写入测试平台。 具体的代码如下: AXI Lite从机代码

`timescale 1ns / 1ps
//
// Company: 
// Engineer: 
// 
// Create Date: 2021/03/08 22:32:21
// Design Name: 
// Module Name: axi_lite_slave
// Project Name: 
// Target Devices: 
// Tool Versions: 
// Description: 
// 
// Dependencies: 
// 
// Revision:
// Revision 0.01 - File Created
// Additional Comments:
// 
//


module axi_lite_slave(   //AXI Lite从机
//全局信号
input logic ACLK,
input logic ARESETn,
//写地址通道
input logic AWVALID,
input logic [31:0]AWADDR, 
input logic [2:0]AWPROT, 
output logic AWREADY,
//写数据通道
input logic WVALID,
input logic [31:0] WDATA, 
input logic [3:0] WSTRB,
output logic WREADY,
//写响应通道
input logic BREADY,
output logic BVALID,
output logic [1:0] BRESP,
//读地址通道
input logic ARVALID,
input logic [31:0] ARADDR, 
input logic [2:0] ARPROT, 
output logic ARREADY,
//读数据通道
input logic RREADY,
output logic RVALID,
output logic [31:0] RDATA, 
output logic [1:0] RRESP,
//其他
output logic [31:0] rd_base_addr,
output logic [31:0] wr_base_addr,
output logic [31:0] done_signal,
output logic [31:0] start_signal,
output logic busy                      //主机往从机写数据时,busy为高,直至数据被写入寄存器
    );

parameter N=4;                         //四个寄存器

logic [31:0] DataReg [0:N-1];              //DataReg 0存放start信号,1存放done信号,2存放写起始地址,3存放读起始地址

logic [31:0]rd_addr;             
logic [31:0]wr_addr;
logic [31:0]rd_data;
logic [31:0]wr_data;
logic [1:0] wr_reg_sel;
logic [1:0] rd_reg_sel;
logic wr_en;

assign wr_reg_sel=wr_addr[3:2];
assign rd_reg_sel=rd_addr[3:2];

assign rd_base_addr=DataReg[3];
assign wr_base_addr=DataReg[2];
assign start_signal=DataReg[0];
assign done_signal=DataReg[1]; 

//初始化寄存器
initial 
begin
    for(int i=0;i            
关注
打赏
1658642721
查看更多评论
0.0590s