У меня есть тестовый стенд для моего проекта, который содержит шину AXI.создание тестового стенда для шины AXI
Я начинаю писать интерфейс и транзакцию для записи и чтения. Я прочитал следующий блог: http://blog.verificationgentleman.com/2016/08/testing-uvm-drivers-part-2.html?showComment=1471877179631#c7809781639091671746
согласовывая этот блог интерфейс должен быть:
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 есть еще много сигналов.
Кроме того, следующие операции в транзакции достаточны для транзакции записи?
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