реклама на сайте
подробности

 
 
> UVM port export, направление
AVR
сообщение Jun 22 2018, 12:10
Сообщение #1


фанат Linux'а
*****

Группа: Свой
Сообщений: 1 353
Регистрация: 23-10-05
Из: SPB.RU
Пользователь №: 10 008



В книге "Getting Started with UVM. A Beginner's Guide" есть такой фрагмент:
Прикрепленное изображение

Мне непонятно - это ошибка? По моему представлению, в терминологии UVM port это вход, а export - выход. Тогда непонятно, почему в данном примере мы соединяем export у scoreboard-а и port у монитора. Как так получилось, что scoreboard, которое лишь собирает статистику (принимает некий поток пакетов/сообщений/транзакций), тут подключается export-ом. А монитор, который сидит на шине и собирает данные, наоборот, подключается port-ом?

Ошибка ли это? Ведь это именно монитор порождает данные для анализа, а scoreboard их лишь получает и анализирует.

Дальше в книге действительно пишут что port монитора коннектим к export у scoreboard-а или coverage. В то же время ранее в книге seq_item_export sequencer-а подключен к seq_item_port драйвера, т.е. export->port.


--------------------
Go to the top of the page
 
+Quote Post
 
Start new topic
Ответов
AVR
сообщение Aug 7 2018, 11:51
Сообщение #2


фанат Linux'а
*****

Группа: Свой
Сообщений: 1 353
Регистрация: 23-10-05
Из: SPB.RU
Пользователь №: 10 008



Делаю тестовый пример для демонстрации внедрения UVM.
Есть класс на базе uvm_scoreboard. В нем есть два порта:
Код
uvm_analysis_imp #(uart_item, uart_sb) transmitted;
uvm_analysis_imp #(uart_phy, uart_sb) received;

Специально сделал двух разных типов, чтобы можно было сделать две функции write - одна с типом uart_item, вторая с типом uart_phy. Но UVM жалуется, что нельзя дважды одну и ту же функцию определять.
Как же тогда принимать item-ы из разных источников, чтобы их сравнивать???

Пробовал с одной функцией write, с одним типом данных, т.е. всего-лишь один объект типа uvm_analysis_imp.
В итоге часть сообщений теряется, затем дублируются лишние старые. Явно работает не так как надо.

Я пытаюсь подключить два uvm_monitor к одному scoreboard (а почему бы и нет?). Если подключать только один монитор к scoreboard - то в обоих вариантах всё работает как надо.

UPDATE: В этом документе https://www.testandverification.com/DVClub/...es-Francois.pdf нашел вроде как решение. Позволяет иметь два и более write при помощи uvm_analysis_imp_decl. Но оно почему-то все равно пропускает первый и дублирует последний item в моем тесте. Видимо проблема в логике, а не самом UVM.


--------------------
Go to the top of the page
 
+Quote Post
lembrix
сообщение Aug 7 2018, 14:16
Сообщение #3


Участник
*

Группа: Участник
Сообщений: 30
Регистрация: 13-04-17
Из: Зеленоград
Пользователь №: 96 508



Для этого используются суффиксы:
Код
`uvm_analysis_imp_decl(_TX)
`uvm_analysis_imp_decl(_RX)
...
uvm_analysis_imp_TX #(uart_item, uart_sb) transmitted;
uvm_analysis_imp_RX #(uart_phy, uart_sb) received;
...
function void write_TX(...);
...
function void write_RX(...);
...


Go to the top of the page
 
+Quote Post



Reply to this topicStart new topic
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0

 


RSS Текстовая версия Сейчас: 22nd July 2025 - 20:41
Рейтинг@Mail.ru


Страница сгенерированна за 0.01389 секунд с 7
ELECTRONIX ©2004-2016