Подождите, данные триггера перехватывают только первое событие

Я использую ОВМ

Мой код запускает событие ovm в одном месте (я добавил печать для подтверждения). Однако в другом месте я жду этого триггера, и он «поймался» только один раз (также здесь я добавил печать для подтверждения).

function void trigger_event_for_incoming_transaction(ovm_object txn);
    if (is_type_1(txn))
      type_1.trigger(txn);            
endfunction

И еще где-то:

    task look_for_type_1();    
      forever begin
        type_1.wait_trigger_data(my_obj);
      end
    endtask

Я не могу вставить большую часть кода из-за свойства intelucatal... Но я зарегистрировал событие правильно и т.д.

вам нужно предоставить больше информации. совершенно непонятно, что у вас за type_1 и как он работает с "событиями". Как и где объявляется переменная в обоих случаях... Было бы хорошо, если бы вы могли привести небольшой воспроизводимый пример. Тем не менее, я не уверен, что вокруг все еще много ovm. Почему бы не использовать «увм»?

Serge 15.12.2020 14:40

Это старый проект... Что именно вам нужно знать?

Elisha Kupietzky 15.12.2020 14:45
Стоит ли изучать PHP в 2026-2027 годах?
Стоит ли изучать PHP в 2026-2027 годах?
Привет всем, сегодня я хочу высказать свои соображения по поводу вопроса, который я уже много раз получал в своем сообществе: "Стоит ли изучать PHP в...
Поведение ключевого слова "this" в стрелочной функции в сравнении с нормальной функцией
Поведение ключевого слова "this" в стрелочной функции в сравнении с нормальной функцией
В JavaScript одним из самых запутанных понятий является поведение ключевого слова "this" в стрелочной и обычной функциях.
Приемы CSS-макетирования - floats и Flexbox
Приемы CSS-макетирования - floats и Flexbox
Здравствуйте, друзья-студенты! Готовы совершенствовать свои навыки веб-дизайна? Сегодня в нашем путешествии мы рассмотрим приемы CSS-верстки - в...
Тестирование функциональных ngrx-эффектов в Angular 16 с помощью Jest
В системе управления состояниями ngrx, совместимой с Angular 16, появились функциональные эффекты. Это здорово и делает код определенно легче для...
Концепция локализации и ее применение в приложениях React ⚡️
Концепция локализации и ее применение в приложениях React ⚡️
Локализация - это процесс адаптации приложения к различным языкам и культурным требованиям. Это позволяет пользователям получить опыт, соответствующий...
Пользовательский скаляр GraphQL
Пользовательский скаляр GraphQL
Листовые узлы системы типов GraphQL называются скалярами. Достигнув скалярного типа, невозможно спуститься дальше по иерархии типов. Скалярный тип...
0
2
680
1
Перейти к ответу Данный вопрос помечен как решенный

Ответы 1

Ответ принят как подходящий

Триггер OVM/UVM и wait_trigger работают так же, как триггер событий SystemVerilog ->e и управление событиями @e — управление событиями должно заблокировать ожидание триггера перед выполнением триггера. Вы можете использовать триггерный метод события в wait(e.triggered()), который возвращает true с момента запуска до конца временного шага. Тогда порядок между триггером и управлением событиями в пределах временного шага больше не имеет значения; постоянный триггер.

Вы можете попробовать использовать OVM wait_ptrigger_data, который использует этот триггерный метод ниже.

Другие вопросы по теме