Как активный, так и реактивный агент UVM - PullRequest
0 голосов
/ 22 сентября 2019

Я разрабатываю агент UVM для протокола, в котором транзакции rx и tx передаются по одним и тем же сигналам.

Как мне это реализовать?

Я подумал о драйвере, который получитпредметы из 2 разных секвенсоров, один для RX (реактивный) и второй для TX (активный).Но из исследования интернета это кажется неправильным.

Я хотел бы услышать, как правильно сделать это в UVM.

Большое спасибо!

1 Ответ

0 голосов
/ 23 сентября 2019

Ваша терминология может отличаться от используемой UVM.У UVM есть АКТИВНЫЕ и НЕАКТИВНЫЕ агенты, где НЕАКТИВНЫЙ агент - это просто тот, который никогда не водит автобус.

То, что вы хотите, иногда называется подчиненной последовательностью или ответчиком .

подчиненной последовательностью отправляется фиктивный запрос sequence_item драйверу,в вашем случае драйвер RX и ожидает транзакции от драйвера TX.Драйвер RX отправляет ответ обратно на slave_sequence, а следующий элемент последовательности фактически является ответом на предыдущий sequence_item.

Таким образом, значение запроса и ответа переворачивается в slave_sequence и перемещается в следующий sequence_item.Вы можете найти примеры здесь и здесь .

...