2016-08-23 3 views
1

У меня есть тестовый стенд для моего проекта, который содержит шину 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 
+0

Пример в блоге был только для образца. Конечно, пользователь может добавлять/удалять сигналы в соответствии с требованиями. – sharvil111

ответ

3

Сигналов в этом интерфейсе содержит только минимальный набор сигналов, которые необходимы для выполнения одной операции записи на AXI шине с фиксированным размером и лопается типа. Если ваш DUT поддерживает больше, чем просто запись, вам нужно добавить другие сигналы. Например, если вы хотите протестировать операцию чтения, вам также необходимо добавить все сигналы, необходимые для чтения адресного канала и чтения канала данных.

Некоторые сигналы AXI могут быть опущены только в том случае, если вы знаете, что ваш дизайн не поддерживает его. Если вы поддерживаете разные типы пакетов в операциях записи, вам необходимо добавить сигнал AWBURST к интерфейсу, а также транзакции.

 Смежные вопросы

  • Нет связанных вопросов^_^