diff options
author | Tristan Gingold <tgingold@free.fr> | 2020-03-13 05:31:58 +0100 |
---|---|---|
committer | Tristan Gingold <tgingold@free.fr> | 2020-03-13 06:30:32 +0100 |
commit | 3d8e30a1a95738a8078db2fcc5051ca7b3ef0b22 (patch) | |
tree | 6c884edce633f1ebb212c214bebe6787ef743da5 | |
parent | 97dadc0d773940868305f7241cbd3bf916505a54 (diff) | |
download | ghdl-3d8e30a1a95738a8078db2fcc5051ca7b3ef0b22.tar.gz ghdl-3d8e30a1a95738a8078db2fcc5051ca7b3ef0b22.tar.bz2 ghdl-3d8e30a1a95738a8078db2fcc5051ca7b3ef0b22.zip |
synth-insts: handle output individual assoc for components.
-rw-r--r-- | src/synth/synth-insts.adb | 21 |
1 files changed, 3 insertions, 18 deletions
diff --git a/src/synth/synth-insts.adb b/src/synth/synth-insts.adb index cce77bca0..2824e4ce3 100644 --- a/src/synth/synth-insts.adb +++ b/src/synth/synth-insts.adb @@ -1106,7 +1106,6 @@ package body Synth.Insts is Assoc : Node; Assoc_Inter : Node; Inter : Node; - Actual : Node; Port : Net; O : Value_Acc; Nbr_Outputs : Port_Nbr; @@ -1119,23 +1118,9 @@ package body Synth.Insts is Inter := Get_Association_Interface (Assoc, Assoc_Inter); if Mode_To_Port_Kind (Get_Mode (Inter)) = Port_Out then - case Get_Kind (Assoc) is - when Iir_Kind_Association_Element_Open => - Actual := Get_Default_Value (Inter); - pragma Assert (Actual = Null_Node); - when Iir_Kind_Association_Element_By_Expression => - Actual := Get_Actual (Assoc); - when others => - raise Internal_Error; - end case; - - if Actual /= Null_Node then - O := Get_Value (Comp_Inst, Inter); - Port := Get_Net (O); - Port := Build_Port (Get_Build (Syn_Inst), Port); - O := Create_Value_Net (Port, O.Typ); - Synth_Assignment (Syn_Inst, Actual, O, Assoc); - end if; + O := Get_Value (Comp_Inst, Inter); + Port := Get_Net (O); + Synth_Output_Assoc (Port, Syn_Inst, Assoc, Comp_Inst, Inter); Nbr_Outputs := Nbr_Outputs + 1; end if; end if; |