diff options
Diffstat (limited to 'src/grt/grt-vpi.adb')
-rw-r--r-- | src/grt/grt-vpi.adb | 19 |
1 files changed, 12 insertions, 7 deletions
diff --git a/src/grt/grt-vpi.adb b/src/grt/grt-vpi.adb index 8c0d15e3a..df2788631 100644 --- a/src/grt/grt-vpi.adb +++ b/src/grt/grt-vpi.adb @@ -1014,7 +1014,10 @@ package body Grt.Vpi is Ghdl_B1 (Vec (J) = '1' or Vec (J) = 'H'); begin case Info.Val is - when Vcd_Effective | Vcd_Driving => + when Vcd_Effective => + Ghdl_Signal_Force_Effective_B1 + (To_Signal_Arr_Ptr (Info.Ptr)(J), V); + when Vcd_Driving => -- Force_Driving sets both the driving and the -- effective value. Ghdl_Signal_Force_Driving_B1 @@ -1031,9 +1034,10 @@ package body Grt.Vpi is V : constant Ghdl_E8 := Std_Ulogic'Pos (Vec (J)); begin case Info.Val is - when Vcd_Effective | Vcd_Driving => - -- Force_Driving sets both the driving and the - -- effective value. + when Vcd_Effective => + Ghdl_Signal_Force_Effective_E8 + (To_Signal_Arr_Ptr (Info.Ptr)(J), V); + when Vcd_Driving => Ghdl_Signal_Force_Driving_E8 (To_Signal_Arr_Ptr (Info.Ptr)(J), V); when Vcd_Variable => @@ -1053,9 +1057,10 @@ package body Grt.Vpi is end if; end loop; case Info.Val is - when Vcd_Effective | Vcd_Driving => - -- Force_Driving sets both the driving and the - -- effective value. + when Vcd_Effective => + Ghdl_Signal_Force_Effective_E8 + (To_Signal_Arr_Ptr (Info.Ptr)(0), V); + when Vcd_Driving => Ghdl_Signal_Force_Driving_E8 (To_Signal_Arr_Ptr (Info.Ptr)(0), V); when Vcd_Variable => |