From 0f348cb94e9f7bd83f52c0317bb7f858b87ece05 Mon Sep 17 00:00:00 2001 From: Tristan Gingold Date: Mon, 26 Dec 2022 17:31:38 +0100 Subject: simul: handle driving and driving_value attributes --- src/grt/grt-signals.adb | 11 +++++++++-- src/grt/grt-signals.ads | 3 +++ 2 files changed, 12 insertions(+), 2 deletions(-) (limited to 'src/grt') diff --git a/src/grt/grt-signals.adb b/src/grt/grt-signals.adb index 5c542a38e..b81a86fd3 100644 --- a/src/grt/grt-signals.adb +++ b/src/grt/grt-signals.adb @@ -1803,7 +1803,8 @@ package body Grt.Signals is end if; end Ghdl_Signal_Driving; - function Ghdl_Signal_Driving_Value_B1 (Sig : Ghdl_Signal_Ptr) return Ghdl_B1 + function Ghdl_Signal_Driving_Value (Sig : Ghdl_Signal_Ptr) + return Value_Union is Drv : Driver_Acc; begin @@ -1811,8 +1812,14 @@ package body Grt.Signals is if Drv = null or else Drv.First_Trans.Kind /= Trans_Value then Error ("'driving_value: no active driver in process for signal"); else - return Drv.First_Trans.Val.B1; + return Drv.First_Trans.Val; end if; + end Ghdl_Signal_Driving_Value; + + function Ghdl_Signal_Driving_Value_B1 (Sig : Ghdl_Signal_Ptr) + return Ghdl_B1 is + begin + return Ghdl_Signal_Driving_Value (Sig).B1; end Ghdl_Signal_Driving_Value_B1; function Ghdl_Signal_Driving_Value_E8 (Sig : Ghdl_Signal_Ptr) diff --git a/src/grt/grt-signals.ads b/src/grt/grt-signals.ads index 618ec8805..76977d37a 100644 --- a/src/grt/grt-signals.ads +++ b/src/grt/grt-signals.ads @@ -599,6 +599,9 @@ package Grt.Signals is function Ghdl_Signal_Driving (Sig : Ghdl_Signal_Ptr) return Ghdl_B1; + function Ghdl_Signal_Driving_Value (Sig : Ghdl_Signal_Ptr) + return Value_Union; + -- Generic version. procedure Ghdl_Signal_Start_Assign_Any (Sign : Ghdl_Signal_Ptr; Rej : Std_Time; -- cgit v1.2.3