【问题标题】:What are the necessary properties in read/write axi transaction?读/写 axi 事务中的必要属性是什么?
【发布时间】:2016-08-23 09:06:46
【问题描述】:

我正在为包含 AXI 总线的设计编写验证环境。

读/写 AXI 事务的必要属性是什么?

我的交易如下所示。我需要添加其他内容吗?

typedef enum bit [3:0] { LENGTH_[1:256] } length_e;

//----------------------------------------------------------------------
//Transaction
//----------------------------------------------------------------------
class axi_transaction extends uvm_sequence_item;
   bit [3:0] id;
   bit [31:0] address;
   length_e length;
   transfer transfers[];
   int unsigned delay;

endclass

class transfer extends uvm_sequence_item;
  rand bit[31:0] data;
  rand int unsigned delay;

  // ...
endclass

【问题讨论】:

  • 您可能想要建立许多属性。您可能会通过仔细阅读 AXI 规范并寻找其中说“X 必须做 Y”的情况来发现其中的许多情况,例如,您可能希望要求当主设备断言有效且从设备未准备好时,主设备保持其请求稳定,直到准备好。除了规范本身,您可能还想检查其他特定于应用程序的属性。例如,“用户”位是用户定义的信号,您可能希望以某种特定方式运行。无论如何,这将是一个相当大的项目。
  • 这里是AXI specAXI4 spec

标签: system-verilog uvm


【解决方案1】:

AXI4有5个通道,其中3个是写通道,2个是读通道,即写地址通道、写数据通道、写响应通道、读地址通道和读数据通道。基本上,对于握手机制,你必须关心主要是关于 VALID 和 READY 信号,在握手时,它会产生正确的响应 BRESP 和 RRESP 信号。关于深度规范,你应该阅读 ARM AMBA AXI 规范。

【讨论】:

    猜你喜欢
    • 2011-11-28
    • 2013-03-05
    • 1970-01-01
    • 1970-01-01
    • 2011-07-02
    • 2018-01-12
    • 1970-01-01
    • 2010-09-26
    • 1970-01-01
    相关资源
    最近更新 更多