Каковы необходимые свойства в аксиальной транзакции чтения/записи?

Я пишу среду проверки для проекта, включающего шину 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

person sara8d    schedule 23.08.2016    source источник
comment
Есть много свойств, которые вы, возможно, захотите установить. Вы, вероятно, можете обнаружить многие из них, внимательно прочитав спецификацию AXI и найдя случаи, когда X должен сделать Y, например, вы можете потребовать, чтобы, когда ведущий утверждает, что он действителен, а ведомый не готов, ведущий сохраняет свое состояние. запрос устойчивый до готовности. Помимо самой спецификации, могут быть и другие специфичные для приложения свойства, которые вы хотите проверить. Например, пользовательские биты — это определяемые пользователем сигналы, которые, как вы можете ожидать, будут вести себя определенным образом. Во всяком случае, это был бы настоящий проект.   -  person Jared Davis    schedule 07.09.2016


Ответы (1)


AXI4 имеет пять каналов, из которых 3 канала записи и 2 канала чтения, то есть канал адреса записи, канал данных записи, канал ответа записи, канал адреса чтения и канал чтения данных. и READY, а при рукопожатии он генерирует правильный ответ BRESP и RRESP. Для определения глубины вы должны прочитать спецификацию ARM AMBA AXI.

person Xeroxpop    schedule 14.02.2017