diff options
Diffstat (limited to 'src/vhdl/simulate/execution.adb')
-rw-r--r-- | src/vhdl/simulate/execution.adb | 96 |
1 files changed, 0 insertions, 96 deletions
diff --git a/src/vhdl/simulate/execution.adb b/src/vhdl/simulate/execution.adb index 0cc3f2d..f4104f2 100644 --- a/src/vhdl/simulate/execution.adb +++ b/src/vhdl/simulate/execution.adb @@ -4038,102 +4038,6 @@ package body Execution is Release (Marker, Expr_Pool); end Execute_Signal_Assignment; - procedure Assign_Simple_Value_To_Object - (Instance: Block_Instance_Acc; - Dest: Iir_Value_Literal_Acc; - Dest_Type: Iir; - Value: Iir_Value_Literal_Acc; - Stmt: Iir) - is - begin - if Dest.Kind /= Value.Kind then - raise Internal_Error; -- literal kind mismatch. - end if; - - Check_Constraints (Instance, Value, Dest_Type, Stmt); - - Store (Dest, Value); - end Assign_Simple_Value_To_Object; - - procedure Assign_Array_Value_To_Object - (Instance: Block_Instance_Acc; - Target: Iir_Value_Literal_Acc; - Target_Type: Iir; - Value: Iir_Value_Literal_Acc; - Stmt: Iir) is - begin - if Target.Val_Array.Len /= Value.Val_Array.Len then - -- Dimension mismatch. - raise Program_Error; - end if; - for I in Target.Val_Array.V'Range loop - Assign_Value_To_Object (Instance, - Target.Val_Array.V (I), - Get_Element_Subtype (Target_Type), - Value.Val_Array.V (I), - Stmt); - end loop; - end Assign_Array_Value_To_Object; - - procedure Assign_Record_Value_To_Object - (Instance: Block_Instance_Acc; - Target: Iir_Value_Literal_Acc; - Target_Type: Iir; - Value: Iir_Value_Literal_Acc; - Stmt: Iir) - is - Element_Type: Iir; - List : Iir_List; - Element: Iir_Element_Declaration; - Pos : Iir_Index32; - begin - if Target.Val_Record.Len /= Value.Val_Record.Len then - -- Dimension mismatch. - raise Program_Error; - end if; - List := Get_Elements_Declaration_List (Target_Type); - for I in Natural loop - Element := Get_Nth_Element (List, I); - exit when Element = Null_Iir; - Element_Type := Get_Type (Element); - Pos := Get_Element_Position (Element); - Assign_Value_To_Object (Instance, - Target.Val_Record.V (1 + Pos), - Element_Type, - Value.Val_Record.V (1 + Pos), - Stmt); - end loop; - end Assign_Record_Value_To_Object; - - procedure Assign_Value_To_Object - (Instance: Block_Instance_Acc; - Target: Iir_Value_Literal_Acc; - Target_Type: Iir; - Value: Iir_Value_Literal_Acc; - Stmt: Iir) - is - begin - case Target.Kind is - when Iir_Value_Array => - Assign_Array_Value_To_Object - (Instance, Target, Target_Type, Value, Stmt); - when Iir_Value_Record => - Assign_Record_Value_To_Object - (Instance, Target, Target_Type, Value, Stmt); - when Iir_Value_Scalars - | Iir_Value_Access => - Assign_Simple_Value_To_Object - (Instance, Target, Target_Type, Value, Stmt); - when Iir_Value_File - | Iir_Value_Signal - | Iir_Value_Protected - | Iir_Value_Range - | Iir_Value_Quantity - | Iir_Value_Terminal => - raise Internal_Error; - end case; - end Assign_Value_To_Object; - -- Display a message when an assertion has failed. -- REPORT is the value (string) to display, or null to use default message. -- SEVERITY is the severity or null to use default (error). |