首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >创建AXI总线测试平台

创建AXI总线测试平台
EN

Stack Overflow用户
提问于 2016-08-23 23:35:57
回答 1查看 1.4K关注 0票数 1

我必须为我的项目创建包含AXI总线的测试平台。

我开始编写写和读的接口和事务。我读了下面的博客:http://blog.verificationgentleman.com/2016/08/testing-uvm-drivers-part-2.html?showComment=1471877179631#c7809781639091671746

根据这篇博客,界面应该是:

代码语言:javascript
复制
interface vgm_axi_interface(input bit ACLK, input bit ARESETn);
  logic [3:0] AWID;
  logic [31:0] AWADDR;
  logic [3:0] AWLEN;
  logic AWVALID;
  logic AWREADY;


  logic [3:0] WID;
  logic [31:0] WDATA;
  logic WLAST;
  logic WVALID;
  logic WREADY;

  logic [3:0] BID;
  logic [1:0] BRESP;
  logic BVALID;
  logic BREADY;
endinterface

那么所有其他信号(例如ARBURST、ARLOCK、ARCACHE、ARPROT、ARQOS、ARREGION)呢?根据AXI4的规范,还有更多的信号。

此外,事务中的以下属性是否足以用于写入事务?

代码语言:javascript
复制
typedef enum bit [3:0] { LENGTH_[1:16] } length_e;


class sequence_item extends uvm_sequence_item;
  rand bit [3:0] id;
  rand bit [31:0] address;
  rand length_e length;
  rand transfer transfers[];
  rand int unsigned delay;
endclass


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

回答 1

Stack Overflow用户

回答已采纳

发布于 2016-09-10 19:26:21

该接口中的信号仅包含在具有固定大小和突发类型的AXI总线上执行单次写入操作所需的最小信号集。如果您的DUT支持的不仅仅是简单的写入,那么您必须添加其他信号。例如,如果您想要测试读取操作,那么您还必须添加读取地址通道和读取数据通道所需的所有信号。

只有当您知道您的设计不支持某些AXI信号时,才可以省略它。如果在写入操作中支持不同的突发类型,则必须向接口和事务添加AWBURST信号。

票数 3
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/39105379

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档