как использовать vpi для запроса событий во время симуляции
Я пытаюсь разработать архитектуру совместного моделирования, в которой у меня есть 2 симулятора Verilog, которые разговаривают (передают сигналы) друг другу. Главный вопрос - «когда» мне передавать данные из simulator1 в simulator2?
например, предположим, что sim1 имеет следующее событие, запланированное через 10 нс, а sim2 имеет следующее событие, запланированное через 15 нс. Итак, мне нужно остановить оба симулятора через 10 нс и передать соответствующие данные с sim1 на sim2, а затем возобновить оба симулятора еще на 5 нс.
Теперь, как мне узнать, что следующее событие запланировано на время x, чтобы я мог запускать симуляторы в течение этого времени? Есть ли API vpi для запроса колеса симуляции и выяснения, когда запланировано следующее событие и по какому сигналу?
В качестве альтернативы, лучше ли использовать какой-либо другой метод (например, ucli для vcs)?
Или моя стратегия совместного моделирования неверна, и есть более эффективный способ заставить два симулятора взаимодействовать?