aboutsummaryrefslogtreecommitdiffstats
path: root/src
diff options
context:
space:
mode:
Diffstat (limited to 'src')
-rw-r--r--src/synth/synth-vhdl_stmts.adb11
1 files changed, 9 insertions, 2 deletions
diff --git a/src/synth/synth-vhdl_stmts.adb b/src/synth/synth-vhdl_stmts.adb
index 6007fd975..d0234b814 100644
--- a/src/synth/synth-vhdl_stmts.adb
+++ b/src/synth/synth-vhdl_stmts.adb
@@ -2001,8 +2001,15 @@ package body Synth.Vhdl_Stmts is
(Subprg_Inst, Val, Inter_Typ, True, Assoc);
Val := Unshare (Val, Instance_Pool);
else
- -- Use default value ?
- null;
+ -- Use default value
+ -- FIXME: also for wires ?
+ if Val.Val.Kind = Value_Memory then
+ if Is_Bounded_Type (Inter_Typ) then
+ Write_Value_Default (Val.Val.Mem, Inter_Typ);
+ else
+ Write_Value_Default (Val.Val.Mem, Val.Typ);
+ end if;
+ end if;
end if;
Val.Typ := Unshare (Val.Typ, Instance_Pool);
when Iir_Kind_Interface_Signal_Declaration =>