From 04f89a0a58a325a41b55e5d47b863885530dcad5 Mon Sep 17 00:00:00 2001 From: Tristan Gingold Date: Thu, 13 Oct 2022 03:37:57 +0200 Subject: simul-vhdl_simul: keep default value of collapsed signals --- src/simul/simul-vhdl_simul.adb | 11 ++++++++++- 1 file changed, 10 insertions(+), 1 deletion(-) (limited to 'src/simul') diff --git a/src/simul/simul-vhdl_simul.adb b/src/simul/simul-vhdl_simul.adb index d71e15c67..e0dd59b6b 100644 --- a/src/simul/simul-vhdl_simul.adb +++ b/src/simul/simul-vhdl_simul.adb @@ -2703,7 +2703,16 @@ package body Simul.Vhdl_Simul is (E.Sig, E.Typ, E.Val, 0, E.Nbr_Sources.all); end if; -- The signal value is the value of the collapsed signal. - -- TODO: keep the default value ? + if Get_Mode (E.Decl) in Iir_Out_Modes then + -- Keep default value. + Copy_Memory (Signals_Table.Table (E.Collapsed_By).Val, + E.Val, + E.Typ.Sz); + Exec_Write_Signal + (Signals_Table.Table (E.Collapsed_By).Sig, + (E.Typ, E.Val), Write_Signal_Driving_Value); + end if; + E.Val := Signals_Table.Table (E.Collapsed_By).Val; end if; end; -- cgit v1.2.3