Пусть говорят, у меня есть только один интерфейс и несколько определений элементов последовательности:Driving два различных элемента последовательности в одном интерфейсе
class link_pkt extends uvm_sequence_item;
class phy_pkt extends uvm_sequence_item;
Во время испытания, эти элементы динамически могут быть переданы через этот один интерфейс.
Каков правильный способ реализации драйвера/секвенсора? Достаточно ли одного драйвера? или требуется несколько драйверов?
Похоже, что из-за множества определений элементов последовательности мне понадобится более одного драйвера и секвенсора. Но это плохо, потому что я не могу контролировать/разрешать передачу.
Существует аналогичный случай here, который является своего рода статическим - мы не можем переключать драйвер на лету. Мне нужно, чтобы я мог динамически управлять этими разными элементами последовательности в течение одного теста/последовательности.
Вы должны дать нам немного больше фона. Как оба типа данных могут передаваться на одном интерфейсе? Это какой-то последовательный интерфейс, где все биты упакованы в поток и отправляются? –
Да, интерфейс является своего рода последовательным интерфейсом. Эти два элемента обрабатываются разными протоколами и транслируются в биты потока и отправляются. – AldoT
Точнее, с точки зрения протокола, 'link_pkt' находится на более высоком уровне, чем' phys_pkt'. Его можно разбить на несколько 'phys_pkt'. Мне нужно иметь возможность гибко отправлять любые элементы. – AldoT