diff options
author | Tristan Gingold <tgingold@free.fr> | 2022-08-25 18:36:44 +0200 |
---|---|---|
committer | Tristan Gingold <tgingold@free.fr> | 2022-08-25 18:36:44 +0200 |
commit | 9574fe33eefe2810cb1f60cf22f546f21023a6d2 (patch) | |
tree | b0501f9370342e9fb327b309410543aae700c217 /src | |
parent | f66dfc0dacbb9994f01c45af04cf9b2a505d6f78 (diff) | |
download | ghdl-9574fe33eefe2810cb1f60cf22f546f21023a6d2.tar.gz ghdl-9574fe33eefe2810cb1f60cf22f546f21023a6d2.tar.bz2 ghdl-9574fe33eefe2810cb1f60cf22f546f21023a6d2.zip |
synth: handle component aspect configuration
Diffstat (limited to 'src')
-rw-r--r-- | src/synth/elab-vhdl_insts.adb | 6 |
1 files changed, 5 insertions, 1 deletions
diff --git a/src/synth/elab-vhdl_insts.adb b/src/synth/elab-vhdl_insts.adb index 36eda88e6..1b26a2ce5 100644 --- a/src/synth/elab-vhdl_insts.adb +++ b/src/synth/elab-vhdl_insts.adb @@ -694,6 +694,11 @@ package body Elab.Vhdl_Insts is when Iir_Kind_Entity_Aspect_Entity => Ent := Get_Entity (Aspect); Arch := Get_Architecture (Aspect); + Sub_Config := Get_Block_Configuration (Config); + when Iir_Kind_Entity_Aspect_Configuration => + Sub_Config := Get_Block_Configuration (Get_Configuration (Aspect)); + Arch := Get_Block_Specification (Sub_Config); + Ent := Get_Entity (Get_Named_Entity (Arch)); when others => Vhdl.Errors.Error_Kind ("Elab_Component_Instantiation_Statement(2)", Aspect); @@ -712,7 +717,6 @@ package body Elab.Vhdl_Insts is else Arch := Get_Named_Entity (Arch); end if; - Sub_Config := Get_Block_Configuration (Config); if Sub_Config = Null_Node then Sub_Config := Get_Library_Unit (Get_Default_Configuration_Declaration (Arch)); |