AXI协议,安全事务和非安全事务之间的区别
创始人
2024-09-29 07:00:19
0

AXI协议是一种用于连接处理器和外设的总线协议。在AXI协议中,存在安全事务和非安全事务两种类型的事务。

安全事务是指需要保护数据的事务,例如读取或写入敏感数据。这些事务需要通过加密、校验等机制来确保数据的安全性。而非安全事务是指不涉及敏感数据的事务,例如读取或写入普通数据。这些事务不需要额外的安全保护机制。

下面是一个使用AXI协议进行读取和写入的代码示例:

module axi_example (
  input wire clk,
  input wire reset,
  // AXI主机接口
  input wire [31:0] axi_awaddr,
  input wire [7:0] axi_awlen,
  input wire [2:0] axi_awsize,
  input wire [1:0] axi_awburst,
  input wire [1:0] axi_awcache,
  input wire axi_awvalid,
  output wire axi_awready,
  input wire [31:0] axi_wdata,
  input wire [3:0] axi_wstrb,
  input wire axi_wlast,
  input wire axi_wvalid,
  output wire axi_wready,
  // AXI从机接口
  output wire [31:0] axi_rdata,
  output wire [1:0] axi_rresp,
  output wire axi_rlast,
  output wire axi_rvalid,
  input wire axi_rready
);

  // AXI主机使用的变量
  reg [31:0] awaddr;
  reg [7:0] awlen;
  reg [2:0] awsize;
  reg [1:0] awburst;
  reg [1:0] awcache;
  reg awvalid;
  wire awready;
  reg [31:0] wdata;
  reg [3:0] wstrb;
  reg wlast;
  reg wvalid;
  wire wready;

  // AXI从机使用的变量
  wire [31:0] rdata;
  wire [1:0] rresp;
  wire rlast;
  wire rvalid;
  reg rready;

  // 主机接口与内部变量的连线
  assign axi_awaddr = awaddr;
  assign axi_awlen = awlen;
  assign axi_awsize = awsize;
  assign axi_awburst = awburst;
  assign axi_awcache = awcache;
  assign axi_awvalid = awvalid;
  assign axi_awready = awready;
  assign axi_wdata = wdata;
  assign axi_wstrb = wstrb;
  assign axi_wlast = wlast;
  assign axi_wvalid = wvalid;
  assign axi_wready = wready;
  assign rdata = axi_rdata;
  assign rresp = axi_rresp;
  assign rlast = axi_rlast;
  assign rvalid = axi_rvalid;
  assign axi_rready = rready;

  always @(posedge clk) begin
    if (reset) begin
      // 复位所有变量
      awaddr <= 0;
      awlen <= 0;
      awsize <= 0;
      awburst <= 0;
      awcache <= 0;
      awvalid <= 0;
      wdata <= 0;
      wstrb <= 0;
      wlast <= 0;
      wvalid <= 0;
      rready <= 0;
    end else begin
      // 处理AXI主机接口
      if (axi_awready && axi_awvalid) begin
        awaddr <= axi_awaddr;
        awlen <= axi_awlen;
        awsize <= axi_awsize;
        awburst <= axi_awburst;
        awcache <= axi_awcache;
        awvalid <= axi_awvalid;
      end
      if (axi_wready && axi_wvalid) begin
        wdata <= axi_wdata;
        wstrb <= axi_wstrb;
        wlast <= axi_wlast;
        wvalid <= axi_wvalid;
      end

      // 处理AXI从机接口
      if (rready && rvalid) begin

相关内容

热门资讯

必备科技!pokermaste... 必备科技!pokermaster破解版(辅助挂)切实真的是有挂(有挂方针辅助方法)1、上手简单,内置...
专业讨论!HH平台挂(辅助挂)... 专业讨论!HH平台挂(辅助挂)总是存在有挂(存在有挂辅助软件)1、下载好脚本下载之后点击打开,先需要...
教程辅助!wepoker辅助透... 教程辅助!wepoker辅助透视软件(辅助挂)果然是有挂(存在有挂辅助插件)1、免费辅助多个强度级别...
一分钟了解!wepoker免费... 一分钟了解!wepoker免费辅助器(辅助挂)果然存在有挂(竟然有挂辅助技巧)1、该软件可以轻松地帮...
总算了解!wepoker底牌透... 总算了解!wepoker底牌透视脚本(辅助挂)竟然是有挂(确实有挂辅助攻略)1、辅助软件下载优化,底...
让我来分享经验!wpk辅助哪里... 让我来分享经验!wpk辅助哪里买(辅助挂)一贯存在有挂(证实有挂辅助技巧)1、模拟器是什么优化,俱乐...
总算明白!wejoker开挂(... 总算明白!wejoker开挂(辅助挂)真是是有挂(有挂详细辅助教程)1)有没有挂:进一步探索有辅助吗...
信息共享!pokemmo手机版... 信息共享!pokemmo手机版修改器(辅助挂)竟然存在有挂(有挂教程辅助脚本)1、下载好透视辅助下载...
玩家必备科技!wepoker有... 玩家必备科技!wepoker有辅助插件吗(辅助挂)都是存在有挂(竟然有挂辅助软件)1、免费脚本咨询教...
最新研发!德普之星辅助工具如何... 最新研发!德普之星辅助工具如何设置(辅助挂)竟然是有挂(确实有挂辅助技巧)1、用户打开应用后不用登录...