AXIバスを含むプロジェクトにテストベンチを作成する必要があります。AXIバス用テストベンチの作成
私は書き込みと読み取りのためのインターフェイスとトランザクションを書き始めます。これは、インターフェイスをブログよる http://blog.verificationgentleman.com/2016/08/testing-uvm-drivers-part-2.html?showComment=1471877179631#c7809781639091671746
する必要があります:私は、次のブログを読んで他のすべての信号(例えばARBURST、ARLOCK、ARCACHE、ARPROT、ARQOS、ARREGION)について
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
何? AXI4の仕様にはより多くの信号があります。
さらに、トランザクションの次のプロパティは書き込みトランザクションに十分ですか?
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
ブログの例はサンプル用です。もちろん、ユーザーは必要に応じて信号を追加/削除することができます。 – sharvil111