From 1d793ddba8f3c6838ab56dd5c15f70f72c0db770 Mon Sep 17 00:00:00 2001 From: Martin Whitaker Date: Mon, 5 Feb 2024 23:24:45 +0000 Subject: [PATCH] vvp: Fix time scaling when using vpiScaledRealTime in VPI callbacks. The old code only worked for VPI objects that represented variables and nets. For simulation time callbacks, the user might pass an object that represents a scope. --- vvp/vpi_callback.cc | 4 +--- 1 file changed, 1 insertion(+), 3 deletions(-) diff --git a/vvp/vpi_callback.cc b/vvp/vpi_callback.cc index a7bec50a0..d4751048c 100644 --- a/vvp/vpi_callback.cc +++ b/vvp/vpi_callback.cc @@ -51,9 +51,7 @@ static void set_callback_time(p_cb_data data) vpip_time_to_timestruct(data->time, schedule_simtime()); break; case vpiScaledRealTime: - data->time->real = - vpip_time_to_scaled_real(schedule_simtime(), - data->obj ? static_cast<__vpiScope *>(vpi_handle(vpiScope, data->obj)) : 0); + data->time->real = vpip_scaled_time_from_handle(schedule_simtime(), data->obj); break; case vpiSuppressTime: break;