На языке событий, управляемых событиями.например, SystemVerilog, время является глобальным значением, разделяемым всеми процессами.Вы не можете установить его - вы можете наблюдать только его текущее значение.
Как работает управляемое событиями моделирование, оно работает в цикле, обрабатывая очередь событий в текущий момент времени, пока очередь не станет пустой.Только тогда он переходит к следующему запланированному событию в будущем.Поэтому вы можете сделать так, чтобы блок процесса ожидал какое-то время в будущем.
SystemVerilog не предоставляет способа планирования чего-либо на определенное время, но если вы наблюдаете текущее время, вы можете вычесть этовремя от времени в будущем, которое вы хотите, блок для этого количества времени.
Поскольку ваши транзакции не перекрываются, вы можете прочитать файл по одной строке за один раз и подождать указанное время.Вы читаете первую строку в момент времени 0 и ждете 1- $ в реальном времени.Затем выполните транзакцию.Когда это будет сделано, вы читаете вторую строку и ждете 5- $ реального времени.Это можно сделать в цикле, пока не будет достигнут конец файла.