summaryrefslogtreecommitdiff
path: root/src/vhdl/simulate/execution.adb
diff options
context:
space:
mode:
Diffstat (limited to 'src/vhdl/simulate/execution.adb')
-rw-r--r--src/vhdl/simulate/execution.adb96
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).