aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--src/vhdl/errorout.adb2
-rw-r--r--src/vhdl/iirs.adb5
-rw-r--r--src/vhdl/iirs.ads31
-rw-r--r--src/vhdl/nodes_meta.adb357
4 files changed, 226 insertions, 169 deletions
diff --git a/src/vhdl/errorout.adb b/src/vhdl/errorout.adb
index c46f3a409..81f572345 100644
--- a/src/vhdl/errorout.adb
+++ b/src/vhdl/errorout.adb
@@ -724,6 +724,8 @@ package body Errorout is
when Iir_Kind_Psl_Declaration =>
return Disp_Identifier (Node, "PSL declaration");
+ when Iir_Kind_Psl_Endpoint_Declaration =>
+ return Disp_Identifier (Node, "PSL endpoint declaration");
when Iir_Kind_Terminal_Declaration =>
return Disp_Identifier (Node, "terminal declaration");
diff --git a/src/vhdl/iirs.adb b/src/vhdl/iirs.adb
index 3b9f32b86..b2ed4ac5a 100644
--- a/src/vhdl/iirs.adb
+++ b/src/vhdl/iirs.adb
@@ -480,6 +480,7 @@ package body Iirs is
| Iir_Kind_Package_Header
| Iir_Kind_Component_Declaration
| Iir_Kind_Psl_Declaration
+ | Iir_Kind_Psl_Endpoint_Declaration
| Iir_Kind_Across_Quantity_Declaration
| Iir_Kind_Through_Quantity_Declaration
| Iir_Kind_Function_Declaration
@@ -5250,7 +5251,7 @@ package body Iirs is
pragma Assert (Decl /= Null_Iir);
pragma Assert (Has_Psl_Declaration (Get_Kind (Decl)),
"no field Psl_Declaration");
- return Iir_To_PSL_Node (Get_Field1 (Decl));
+ return Iir_To_PSL_Node (Get_Field6 (Decl));
end Get_Psl_Declaration;
procedure Set_Psl_Declaration (Decl : Iir; Prop : PSL_Node) is
@@ -5258,7 +5259,7 @@ package body Iirs is
pragma Assert (Decl /= Null_Iir);
pragma Assert (Has_Psl_Declaration (Get_Kind (Decl)),
"no field Psl_Declaration");
- Set_Field1 (Decl, PSL_Node_To_Iir (Prop));
+ Set_Field6 (Decl, PSL_Node_To_Iir (Prop));
end Set_Psl_Declaration;
function Get_Psl_Expression (Decl : Iir) return PSL_Node is
diff --git a/src/vhdl/iirs.ads b/src/vhdl/iirs.ads
index a1fe93ced..fd13136cc 100644
--- a/src/vhdl/iirs.ads
+++ b/src/vhdl/iirs.ads
@@ -1641,16 +1641,40 @@ package Iirs is
--
-- Get/Set_Use_Flag (Flag6)
- -- Iir_Kind_Psl_Declaration (Medium)
+ -- Iir_Kind_Psl_Endpoint_Declaration (Medium)
--
-- Get/Set_Parent (Field0)
--
- -- Get/Set_Psl_Declaration (Field1)
+ -- Always boolean.
+ -- Get/Set_Type (Field1)
+ --
+ -- Get/Set_Chain (Field2)
+ --
+ -- Get/Set_Identifier (Field3)
+ --
+ -- Get/Set_Psl_Declaration (Field6)
+ --
+ -- Get/Set_PSL_Clock (Field7)
+ --
+ -- Get/Set_PSL_NFA (Field8)
+ --
+ -- Get/Set_Visible_Flag (Flag4)
+ --
+ -- Get/Set_Use_Flag (Flag6)
+ --
+ -- Get/Set_Expr_Staticness (State1)
+
+ -- Iir_Kind_Psl_Declaration (Medium)
+ -- A psl sequence or property declaration.
+ --
+ -- Get/Set_Parent (Field0)
--
-- Get/Set_Chain (Field2)
--
-- Get/Set_Identifier (Field3)
--
+ -- Get/Set_Psl_Declaration (Field6)
+ --
-- Valid only for property declaration.
-- Get/Set_PSL_Clock (Field7)
--
@@ -3706,6 +3730,7 @@ package Iirs is
Iir_Kind_Non_Object_Alias_Declaration,
Iir_Kind_Psl_Declaration,
+ Iir_Kind_Psl_Endpoint_Declaration,
Iir_Kind_Terminal_Declaration,
Iir_Kind_Free_Quantity_Declaration,
Iir_Kind_Across_Quantity_Declaration,
@@ -6653,7 +6678,7 @@ package Iirs is
function Get_Psl_Sequence (Decl : Iir) return PSL_Node;
procedure Set_Psl_Sequence (Decl : Iir; Prop : PSL_Node);
- -- Field: Field1 (uc)
+ -- Field: Field6 (uc)
function Get_Psl_Declaration (Decl : Iir) return PSL_Node;
procedure Set_Psl_Declaration (Decl : Iir; Prop : PSL_Node);
diff --git a/src/vhdl/nodes_meta.adb b/src/vhdl/nodes_meta.adb
index b868751f5..0b0df4d35 100644
--- a/src/vhdl/nodes_meta.adb
+++ b/src/vhdl/nodes_meta.adb
@@ -1123,6 +1123,8 @@ package body Nodes_Meta is
return "non_object_alias_declaration";
when Iir_Kind_Psl_Declaration =>
return "psl_declaration";
+ when Iir_Kind_Psl_Endpoint_Declaration =>
+ return "psl_endpoint_declaration";
when Iir_Kind_Terminal_Declaration =>
return "terminal_declaration";
when Iir_Kind_Free_Quantity_Declaration =>
@@ -2723,14 +2725,25 @@ package body Nodes_Meta is
Field_Alias_Signature,
Field_Parent,
-- Iir_Kind_Psl_Declaration
+ Field_Identifier,
Field_Psl_Declaration,
+ Field_PSL_Clock,
+ Field_PSL_NFA,
+ Field_Visible_Flag,
+ Field_Use_Flag,
+ Field_Chain,
+ Field_Parent,
+ -- Iir_Kind_Psl_Endpoint_Declaration
Field_Identifier,
+ Field_Psl_Declaration,
Field_PSL_Clock,
Field_PSL_NFA,
Field_Visible_Flag,
Field_Use_Flag,
+ Field_Expr_Staticness,
Field_Chain,
Field_Parent,
+ Field_Type,
-- Iir_Kind_Terminal_Declaration
Field_Identifier,
Field_Visible_Flag,
@@ -4139,169 +4152,170 @@ package body Nodes_Meta is
Iir_Kind_Element_Declaration => 559,
Iir_Kind_Non_Object_Alias_Declaration => 567,
Iir_Kind_Psl_Declaration => 575,
- Iir_Kind_Terminal_Declaration => 581,
- Iir_Kind_Free_Quantity_Declaration => 590,
- Iir_Kind_Across_Quantity_Declaration => 602,
- Iir_Kind_Through_Quantity_Declaration => 614,
- Iir_Kind_Enumeration_Literal => 625,
- Iir_Kind_Function_Declaration => 649,
- Iir_Kind_Procedure_Declaration => 672,
- Iir_Kind_Function_Body => 682,
- Iir_Kind_Procedure_Body => 693,
- Iir_Kind_Object_Alias_Declaration => 705,
- Iir_Kind_File_Declaration => 720,
- Iir_Kind_Guard_Signal_Declaration => 733,
- Iir_Kind_Signal_Declaration => 750,
- Iir_Kind_Variable_Declaration => 763,
- Iir_Kind_Constant_Declaration => 777,
- Iir_Kind_Iterator_Declaration => 789,
- Iir_Kind_Interface_Constant_Declaration => 805,
- Iir_Kind_Interface_Variable_Declaration => 821,
- Iir_Kind_Interface_Signal_Declaration => 842,
- Iir_Kind_Interface_File_Declaration => 858,
- Iir_Kind_Interface_Package_Declaration => 867,
- Iir_Kind_Identity_Operator => 871,
- Iir_Kind_Negation_Operator => 875,
- Iir_Kind_Absolute_Operator => 879,
- Iir_Kind_Not_Operator => 883,
- Iir_Kind_Condition_Operator => 887,
- Iir_Kind_Reduction_And_Operator => 891,
- Iir_Kind_Reduction_Or_Operator => 895,
- Iir_Kind_Reduction_Nand_Operator => 899,
- Iir_Kind_Reduction_Nor_Operator => 903,
- Iir_Kind_Reduction_Xor_Operator => 907,
- Iir_Kind_Reduction_Xnor_Operator => 911,
- Iir_Kind_And_Operator => 916,
- Iir_Kind_Or_Operator => 921,
- Iir_Kind_Nand_Operator => 926,
- Iir_Kind_Nor_Operator => 931,
- Iir_Kind_Xor_Operator => 936,
- Iir_Kind_Xnor_Operator => 941,
- Iir_Kind_Equality_Operator => 946,
- Iir_Kind_Inequality_Operator => 951,
- Iir_Kind_Less_Than_Operator => 956,
- Iir_Kind_Less_Than_Or_Equal_Operator => 961,
- Iir_Kind_Greater_Than_Operator => 966,
- Iir_Kind_Greater_Than_Or_Equal_Operator => 971,
- Iir_Kind_Match_Equality_Operator => 976,
- Iir_Kind_Match_Inequality_Operator => 981,
- Iir_Kind_Match_Less_Than_Operator => 986,
- Iir_Kind_Match_Less_Than_Or_Equal_Operator => 991,
- Iir_Kind_Match_Greater_Than_Operator => 996,
- Iir_Kind_Match_Greater_Than_Or_Equal_Operator => 1001,
- Iir_Kind_Sll_Operator => 1006,
- Iir_Kind_Sla_Operator => 1011,
- Iir_Kind_Srl_Operator => 1016,
- Iir_Kind_Sra_Operator => 1021,
- Iir_Kind_Rol_Operator => 1026,
- Iir_Kind_Ror_Operator => 1031,
- Iir_Kind_Addition_Operator => 1036,
- Iir_Kind_Substraction_Operator => 1041,
- Iir_Kind_Concatenation_Operator => 1046,
- Iir_Kind_Multiplication_Operator => 1051,
- Iir_Kind_Division_Operator => 1056,
- Iir_Kind_Modulus_Operator => 1061,
- Iir_Kind_Remainder_Operator => 1066,
- Iir_Kind_Exponentiation_Operator => 1071,
- Iir_Kind_Function_Call => 1079,
- Iir_Kind_Aggregate => 1085,
- Iir_Kind_Parenthesis_Expression => 1088,
- Iir_Kind_Qualified_Expression => 1092,
- Iir_Kind_Type_Conversion => 1097,
- Iir_Kind_Allocator_By_Expression => 1101,
- Iir_Kind_Allocator_By_Subtype => 1107,
- Iir_Kind_Selected_Element => 1113,
- Iir_Kind_Dereference => 1118,
- Iir_Kind_Implicit_Dereference => 1123,
- Iir_Kind_Slice_Name => 1130,
- Iir_Kind_Indexed_Name => 1136,
- Iir_Kind_Psl_Expression => 1138,
- Iir_Kind_Sensitized_Process_Statement => 1158,
- Iir_Kind_Process_Statement => 1178,
- Iir_Kind_Concurrent_Simple_Signal_Assignment => 1189,
- Iir_Kind_Concurrent_Conditional_Signal_Assignment => 1200,
- Iir_Kind_Concurrent_Selected_Signal_Assignment => 1212,
- Iir_Kind_Concurrent_Assertion_Statement => 1220,
- Iir_Kind_Psl_Default_Clock => 1224,
- Iir_Kind_Psl_Assert_Statement => 1236,
- Iir_Kind_Psl_Cover_Statement => 1248,
- Iir_Kind_Concurrent_Procedure_Call_Statement => 1255,
- Iir_Kind_Block_Statement => 1268,
- Iir_Kind_If_Generate_Statement => 1278,
- Iir_Kind_For_Generate_Statement => 1287,
- Iir_Kind_Component_Instantiation_Statement => 1297,
- Iir_Kind_Simple_Simultaneous_Statement => 1304,
- Iir_Kind_Generate_Statement_Body => 1315,
- Iir_Kind_If_Generate_Else_Clause => 1320,
- Iir_Kind_Simple_Signal_Assignment_Statement => 1329,
- Iir_Kind_Conditional_Signal_Assignment_Statement => 1338,
- Iir_Kind_Null_Statement => 1342,
- Iir_Kind_Assertion_Statement => 1349,
- Iir_Kind_Report_Statement => 1355,
- Iir_Kind_Wait_Statement => 1362,
- Iir_Kind_Variable_Assignment_Statement => 1368,
- Iir_Kind_Conditional_Variable_Assignment_Statement => 1374,
- Iir_Kind_Return_Statement => 1380,
- Iir_Kind_For_Loop_Statement => 1389,
- Iir_Kind_While_Loop_Statement => 1397,
- Iir_Kind_Next_Statement => 1403,
- Iir_Kind_Exit_Statement => 1409,
- Iir_Kind_Case_Statement => 1417,
- Iir_Kind_Procedure_Call_Statement => 1423,
- Iir_Kind_If_Statement => 1432,
- Iir_Kind_Elsif => 1437,
- Iir_Kind_Character_Literal => 1444,
- Iir_Kind_Simple_Name => 1451,
- Iir_Kind_Selected_Name => 1459,
- Iir_Kind_Operator_Symbol => 1464,
- Iir_Kind_Selected_By_All_Name => 1469,
- Iir_Kind_Parenthesis_Name => 1473,
- Iir_Kind_External_Constant_Name => 1482,
- Iir_Kind_External_Signal_Name => 1491,
- Iir_Kind_External_Variable_Name => 1500,
- Iir_Kind_Package_Pathname => 1503,
- Iir_Kind_Absolute_Pathname => 1504,
- Iir_Kind_Relative_Pathname => 1505,
- Iir_Kind_Pathname_Element => 1509,
- Iir_Kind_Base_Attribute => 1511,
- Iir_Kind_Left_Type_Attribute => 1516,
- Iir_Kind_Right_Type_Attribute => 1521,
- Iir_Kind_High_Type_Attribute => 1526,
- Iir_Kind_Low_Type_Attribute => 1531,
- Iir_Kind_Ascending_Type_Attribute => 1536,
- Iir_Kind_Image_Attribute => 1542,
- Iir_Kind_Value_Attribute => 1548,
- Iir_Kind_Pos_Attribute => 1554,
- Iir_Kind_Val_Attribute => 1560,
- Iir_Kind_Succ_Attribute => 1566,
- Iir_Kind_Pred_Attribute => 1572,
- Iir_Kind_Leftof_Attribute => 1578,
- Iir_Kind_Rightof_Attribute => 1584,
- Iir_Kind_Delayed_Attribute => 1592,
- Iir_Kind_Stable_Attribute => 1600,
- Iir_Kind_Quiet_Attribute => 1608,
- Iir_Kind_Transaction_Attribute => 1616,
- Iir_Kind_Event_Attribute => 1620,
- Iir_Kind_Active_Attribute => 1624,
- Iir_Kind_Last_Event_Attribute => 1628,
- Iir_Kind_Last_Active_Attribute => 1632,
- Iir_Kind_Last_Value_Attribute => 1636,
- Iir_Kind_Driving_Attribute => 1640,
- Iir_Kind_Driving_Value_Attribute => 1644,
- Iir_Kind_Behavior_Attribute => 1644,
- Iir_Kind_Structure_Attribute => 1644,
- Iir_Kind_Simple_Name_Attribute => 1651,
- Iir_Kind_Instance_Name_Attribute => 1656,
- Iir_Kind_Path_Name_Attribute => 1661,
- Iir_Kind_Left_Array_Attribute => 1668,
- Iir_Kind_Right_Array_Attribute => 1675,
- Iir_Kind_High_Array_Attribute => 1682,
- Iir_Kind_Low_Array_Attribute => 1689,
- Iir_Kind_Length_Array_Attribute => 1696,
- Iir_Kind_Ascending_Array_Attribute => 1703,
- Iir_Kind_Range_Array_Attribute => 1710,
- Iir_Kind_Reverse_Range_Array_Attribute => 1717,
- Iir_Kind_Attribute_Name => 1725
+ Iir_Kind_Psl_Endpoint_Declaration => 585,
+ Iir_Kind_Terminal_Declaration => 591,
+ Iir_Kind_Free_Quantity_Declaration => 600,
+ Iir_Kind_Across_Quantity_Declaration => 612,
+ Iir_Kind_Through_Quantity_Declaration => 624,
+ Iir_Kind_Enumeration_Literal => 635,
+ Iir_Kind_Function_Declaration => 659,
+ Iir_Kind_Procedure_Declaration => 682,
+ Iir_Kind_Function_Body => 692,
+ Iir_Kind_Procedure_Body => 703,
+ Iir_Kind_Object_Alias_Declaration => 715,
+ Iir_Kind_File_Declaration => 730,
+ Iir_Kind_Guard_Signal_Declaration => 743,
+ Iir_Kind_Signal_Declaration => 760,
+ Iir_Kind_Variable_Declaration => 773,
+ Iir_Kind_Constant_Declaration => 787,
+ Iir_Kind_Iterator_Declaration => 799,
+ Iir_Kind_Interface_Constant_Declaration => 815,
+ Iir_Kind_Interface_Variable_Declaration => 831,
+ Iir_Kind_Interface_Signal_Declaration => 852,
+ Iir_Kind_Interface_File_Declaration => 868,
+ Iir_Kind_Interface_Package_Declaration => 877,
+ Iir_Kind_Identity_Operator => 881,
+ Iir_Kind_Negation_Operator => 885,
+ Iir_Kind_Absolute_Operator => 889,
+ Iir_Kind_Not_Operator => 893,
+ Iir_Kind_Condition_Operator => 897,
+ Iir_Kind_Reduction_And_Operator => 901,
+ Iir_Kind_Reduction_Or_Operator => 905,
+ Iir_Kind_Reduction_Nand_Operator => 909,
+ Iir_Kind_Reduction_Nor_Operator => 913,
+ Iir_Kind_Reduction_Xor_Operator => 917,
+ Iir_Kind_Reduction_Xnor_Operator => 921,
+ Iir_Kind_And_Operator => 926,
+ Iir_Kind_Or_Operator => 931,
+ Iir_Kind_Nand_Operator => 936,
+ Iir_Kind_Nor_Operator => 941,
+ Iir_Kind_Xor_Operator => 946,
+ Iir_Kind_Xnor_Operator => 951,
+ Iir_Kind_Equality_Operator => 956,
+ Iir_Kind_Inequality_Operator => 961,
+ Iir_Kind_Less_Than_Operator => 966,
+ Iir_Kind_Less_Than_Or_Equal_Operator => 971,
+ Iir_Kind_Greater_Than_Operator => 976,
+ Iir_Kind_Greater_Than_Or_Equal_Operator => 981,
+ Iir_Kind_Match_Equality_Operator => 986,
+ Iir_Kind_Match_Inequality_Operator => 991,
+ Iir_Kind_Match_Less_Than_Operator => 996,
+ Iir_Kind_Match_Less_Than_Or_Equal_Operator => 1001,
+ Iir_Kind_Match_Greater_Than_Operator => 1006,
+ Iir_Kind_Match_Greater_Than_Or_Equal_Operator => 1011,
+ Iir_Kind_Sll_Operator => 1016,
+ Iir_Kind_Sla_Operator => 1021,
+ Iir_Kind_Srl_Operator => 1026,
+ Iir_Kind_Sra_Operator => 1031,
+ Iir_Kind_Rol_Operator => 1036,
+ Iir_Kind_Ror_Operator => 1041,
+ Iir_Kind_Addition_Operator => 1046,
+ Iir_Kind_Substraction_Operator => 1051,
+ Iir_Kind_Concatenation_Operator => 1056,
+ Iir_Kind_Multiplication_Operator => 1061,
+ Iir_Kind_Division_Operator => 1066,
+ Iir_Kind_Modulus_Operator => 1071,
+ Iir_Kind_Remainder_Operator => 1076,
+ Iir_Kind_Exponentiation_Operator => 1081,
+ Iir_Kind_Function_Call => 1089,
+ Iir_Kind_Aggregate => 1095,
+ Iir_Kind_Parenthesis_Expression => 1098,
+ Iir_Kind_Qualified_Expression => 1102,
+ Iir_Kind_Type_Conversion => 1107,
+ Iir_Kind_Allocator_By_Expression => 1111,
+ Iir_Kind_Allocator_By_Subtype => 1117,
+ Iir_Kind_Selected_Element => 1123,
+ Iir_Kind_Dereference => 1128,
+ Iir_Kind_Implicit_Dereference => 1133,
+ Iir_Kind_Slice_Name => 1140,
+ Iir_Kind_Indexed_Name => 1146,
+ Iir_Kind_Psl_Expression => 1148,
+ Iir_Kind_Sensitized_Process_Statement => 1168,
+ Iir_Kind_Process_Statement => 1188,
+ Iir_Kind_Concurrent_Simple_Signal_Assignment => 1199,
+ Iir_Kind_Concurrent_Conditional_Signal_Assignment => 1210,
+ Iir_Kind_Concurrent_Selected_Signal_Assignment => 1222,
+ Iir_Kind_Concurrent_Assertion_Statement => 1230,
+ Iir_Kind_Psl_Default_Clock => 1234,
+ Iir_Kind_Psl_Assert_Statement => 1246,
+ Iir_Kind_Psl_Cover_Statement => 1258,
+ Iir_Kind_Concurrent_Procedure_Call_Statement => 1265,
+ Iir_Kind_Block_Statement => 1278,
+ Iir_Kind_If_Generate_Statement => 1288,
+ Iir_Kind_For_Generate_Statement => 1297,
+ Iir_Kind_Component_Instantiation_Statement => 1307,
+ Iir_Kind_Simple_Simultaneous_Statement => 1314,
+ Iir_Kind_Generate_Statement_Body => 1325,
+ Iir_Kind_If_Generate_Else_Clause => 1330,
+ Iir_Kind_Simple_Signal_Assignment_Statement => 1339,
+ Iir_Kind_Conditional_Signal_Assignment_Statement => 1348,
+ Iir_Kind_Null_Statement => 1352,
+ Iir_Kind_Assertion_Statement => 1359,
+ Iir_Kind_Report_Statement => 1365,
+ Iir_Kind_Wait_Statement => 1372,
+ Iir_Kind_Variable_Assignment_Statement => 1378,
+ Iir_Kind_Conditional_Variable_Assignment_Statement => 1384,
+ Iir_Kind_Return_Statement => 1390,
+ Iir_Kind_For_Loop_Statement => 1399,
+ Iir_Kind_While_Loop_Statement => 1407,
+ Iir_Kind_Next_Statement => 1413,
+ Iir_Kind_Exit_Statement => 1419,
+ Iir_Kind_Case_Statement => 1427,
+ Iir_Kind_Procedure_Call_Statement => 1433,
+ Iir_Kind_If_Statement => 1442,
+ Iir_Kind_Elsif => 1447,
+ Iir_Kind_Character_Literal => 1454,
+ Iir_Kind_Simple_Name => 1461,
+ Iir_Kind_Selected_Name => 1469,
+ Iir_Kind_Operator_Symbol => 1474,
+ Iir_Kind_Selected_By_All_Name => 1479,
+ Iir_Kind_Parenthesis_Name => 1483,
+ Iir_Kind_External_Constant_Name => 1492,
+ Iir_Kind_External_Signal_Name => 1501,
+ Iir_Kind_External_Variable_Name => 1510,
+ Iir_Kind_Package_Pathname => 1513,
+ Iir_Kind_Absolute_Pathname => 1514,
+ Iir_Kind_Relative_Pathname => 1515,
+ Iir_Kind_Pathname_Element => 1519,
+ Iir_Kind_Base_Attribute => 1521,
+ Iir_Kind_Left_Type_Attribute => 1526,
+ Iir_Kind_Right_Type_Attribute => 1531,
+ Iir_Kind_High_Type_Attribute => 1536,
+ Iir_Kind_Low_Type_Attribute => 1541,
+ Iir_Kind_Ascending_Type_Attribute => 1546,
+ Iir_Kind_Image_Attribute => 1552,
+ Iir_Kind_Value_Attribute => 1558,
+ Iir_Kind_Pos_Attribute => 1564,
+ Iir_Kind_Val_Attribute => 1570,
+ Iir_Kind_Succ_Attribute => 1576,
+ Iir_Kind_Pred_Attribute => 1582,
+ Iir_Kind_Leftof_Attribute => 1588,
+ Iir_Kind_Rightof_Attribute => 1594,
+ Iir_Kind_Delayed_Attribute => 1602,
+ Iir_Kind_Stable_Attribute => 1610,
+ Iir_Kind_Quiet_Attribute => 1618,
+ Iir_Kind_Transaction_Attribute => 1626,
+ Iir_Kind_Event_Attribute => 1630,
+ Iir_Kind_Active_Attribute => 1634,
+ Iir_Kind_Last_Event_Attribute => 1638,
+ Iir_Kind_Last_Active_Attribute => 1642,
+ Iir_Kind_Last_Value_Attribute => 1646,
+ Iir_Kind_Driving_Attribute => 1650,
+ Iir_Kind_Driving_Value_Attribute => 1654,
+ Iir_Kind_Behavior_Attribute => 1654,
+ Iir_Kind_Structure_Attribute => 1654,
+ Iir_Kind_Simple_Name_Attribute => 1661,
+ Iir_Kind_Instance_Name_Attribute => 1666,
+ Iir_Kind_Path_Name_Attribute => 1671,
+ Iir_Kind_Left_Array_Attribute => 1678,
+ Iir_Kind_Right_Array_Attribute => 1685,
+ Iir_Kind_High_Array_Attribute => 1692,
+ Iir_Kind_Low_Array_Attribute => 1699,
+ Iir_Kind_Length_Array_Attribute => 1706,
+ Iir_Kind_Ascending_Array_Attribute => 1713,
+ Iir_Kind_Range_Array_Attribute => 1720,
+ Iir_Kind_Reverse_Range_Array_Attribute => 1727,
+ Iir_Kind_Attribute_Name => 1735
);
function Get_Fields (K : Iir_Kind) return Fields_Array
@@ -6718,6 +6732,7 @@ package body Nodes_Meta is
| Iir_Kind_Group_Declaration
| Iir_Kind_Non_Object_Alias_Declaration
| Iir_Kind_Psl_Declaration
+ | Iir_Kind_Psl_Endpoint_Declaration
| Iir_Kind_Terminal_Declaration
| Iir_Kind_Free_Quantity_Declaration
| Iir_Kind_Across_Quantity_Declaration
@@ -6831,6 +6846,7 @@ package body Nodes_Meta is
| Iir_Kind_Unit_Declaration
| Iir_Kind_Attribute_Declaration
| Iir_Kind_Element_Declaration
+ | Iir_Kind_Psl_Endpoint_Declaration
| Iir_Kind_Free_Quantity_Declaration
| Iir_Kind_Across_Quantity_Declaration
| Iir_Kind_Through_Quantity_Declaration
@@ -7458,6 +7474,7 @@ package body Nodes_Meta is
| Iir_Kind_Element_Declaration
| Iir_Kind_Non_Object_Alias_Declaration
| Iir_Kind_Psl_Declaration
+ | Iir_Kind_Psl_Endpoint_Declaration
| Iir_Kind_Terminal_Declaration
| Iir_Kind_Free_Quantity_Declaration
| Iir_Kind_Across_Quantity_Declaration
@@ -7585,6 +7602,7 @@ package body Nodes_Meta is
| Iir_Kind_Element_Declaration
| Iir_Kind_Non_Object_Alias_Declaration
| Iir_Kind_Psl_Declaration
+ | Iir_Kind_Psl_Endpoint_Declaration
| Iir_Kind_Terminal_Declaration
| Iir_Kind_Free_Quantity_Declaration
| Iir_Kind_Across_Quantity_Declaration
@@ -8534,6 +8552,7 @@ package body Nodes_Meta is
| Iir_Kind_Group_Declaration
| Iir_Kind_Non_Object_Alias_Declaration
| Iir_Kind_Psl_Declaration
+ | Iir_Kind_Psl_Endpoint_Declaration
| Iir_Kind_Terminal_Declaration
| Iir_Kind_Free_Quantity_Declaration
| Iir_Kind_Across_Quantity_Declaration
@@ -8710,6 +8729,7 @@ package body Nodes_Meta is
| Iir_Kind_Attribute_Value
| Iir_Kind_Range_Expression
| Iir_Kind_Unit_Declaration
+ | Iir_Kind_Psl_Endpoint_Declaration
| Iir_Kind_Free_Quantity_Declaration
| Iir_Kind_Across_Quantity_Declaration
| Iir_Kind_Through_Quantity_Declaration
@@ -9527,6 +9547,7 @@ package body Nodes_Meta is
| Iir_Kind_Group_Declaration
| Iir_Kind_Non_Object_Alias_Declaration
| Iir_Kind_Psl_Declaration
+ | Iir_Kind_Psl_Endpoint_Declaration
| Iir_Kind_Terminal_Declaration
| Iir_Kind_Free_Quantity_Declaration
| Iir_Kind_Across_Quantity_Declaration
@@ -9781,7 +9802,13 @@ package body Nodes_Meta is
function Has_Psl_Declaration (K : Iir_Kind) return Boolean is
begin
- return K = Iir_Kind_Psl_Declaration;
+ case K is
+ when Iir_Kind_Psl_Declaration
+ | Iir_Kind_Psl_Endpoint_Declaration =>
+ return True;
+ when others =>
+ return False;
+ end case;
end Has_Psl_Declaration;
function Has_Psl_Expression (K : Iir_Kind) return Boolean is
@@ -9798,6 +9825,7 @@ package body Nodes_Meta is
begin
case K is
when Iir_Kind_Psl_Declaration
+ | Iir_Kind_Psl_Endpoint_Declaration
| Iir_Kind_Psl_Assert_Statement
| Iir_Kind_Psl_Cover_Statement =>
return True;
@@ -9810,6 +9838,7 @@ package body Nodes_Meta is
begin
case K is
when Iir_Kind_Psl_Declaration
+ | Iir_Kind_Psl_Endpoint_Declaration
| Iir_Kind_Psl_Assert_Statement
| Iir_Kind_Psl_Cover_Statement =>
return True;