diff options
Diffstat (limited to 'src/vhdl/simulate/annotations.adb')
-rw-r--r-- | src/vhdl/simulate/annotations.adb | 21 |
1 files changed, 12 insertions, 9 deletions
diff --git a/src/vhdl/simulate/annotations.adb b/src/vhdl/simulate/annotations.adb index 333a8c8..a19950d 100644 --- a/src/vhdl/simulate/annotations.adb +++ b/src/vhdl/simulate/annotations.adb @@ -100,10 +100,10 @@ package body Annotations is end Create_Object_Info; -- Add an annotation to SIGNAL. - procedure Add_Signal_Info (Block_Info: Sim_Info_Acc; Signal: Iir) is + procedure Create_Signal_Info (Block_Info: Sim_Info_Acc; Signal: Iir) is begin Create_Object_Info (Block_Info, Signal, Kind_Signal); - end Add_Signal_Info; + end Create_Signal_Info; procedure Add_Terminal_Info (Block_Info: Sim_Info_Acc; Terminal : Iir) is begin @@ -428,9 +428,8 @@ package body Annotations is El := Decl_Chain; while El /= Null_Iir loop case Get_Kind (El) is - when Iir_Kind_Interface_Signal_Declaration => - Annotate_Anonymous_Type_Definition (Block_Info, Get_Type (El)); - when Iir_Kind_Interface_Variable_Declaration + when Iir_Kind_Interface_Signal_Declaration + | Iir_Kind_Interface_Variable_Declaration | Iir_Kind_Interface_Constant_Declaration | Iir_Kind_Interface_File_Declaration => Annotate_Anonymous_Type_Definition (Block_Info, Get_Type (El)); @@ -454,7 +453,7 @@ package body Annotations is end if; case Get_Kind (Decl) is when Iir_Kind_Interface_Signal_Declaration => - Add_Signal_Info (Block_Info, Decl); + Create_Signal_Info (Block_Info, Decl); when Iir_Kind_Interface_Variable_Declaration | Iir_Kind_Interface_Constant_Declaration | Iir_Kind_Interface_File_Declaration => @@ -567,7 +566,7 @@ package body Annotations is | Iir_Kind_Transaction_Attribute | Iir_Kind_Signal_Declaration => Annotate_Anonymous_Type_Definition (Block_Info, Get_Type (Decl)); - Add_Signal_Info (Block_Info, Decl); + Create_Signal_Info (Block_Info, Decl); when Iir_Kind_Variable_Declaration | Iir_Kind_Iterator_Declaration => @@ -796,7 +795,7 @@ package body Annotations is Guard := Get_Guard_Decl (Block); if Guard /= Null_Iir then - Add_Signal_Info (Info, Guard); + Create_Signal_Info (Info, Guard); end if; Header := Get_Block_Header (Block); if Header /= Null_Iir then @@ -1077,7 +1076,9 @@ package body Annotations is Config_Info: Sim_Info_Acc; begin pragma Assert (Current_Scope.Kind = Scope_Kind_None); - Increment_Current_Scope; + + Nbr_Packages := Nbr_Packages + 1; + Current_Scope := (Scope_Kind_Package, Nbr_Packages); Config_Info := new Sim_Info_Type' (Kind => Kind_Block, @@ -1086,6 +1087,8 @@ package body Annotations is Nbr_Objects => 0, Nbr_Instances => 0); + Set_Info (Decl, Config_Info); + Annotate_Declaration_List (Config_Info, Get_Declaration_Chain (Decl)); Annotate_Block_Configuration (Get_Block_Configuration (Decl)); |