diff options
Diffstat (limited to 'src/vhdl/vhdl-nodes_meta.adb')
-rw-r--r-- | src/vhdl/vhdl-nodes_meta.adb | 252 |
1 files changed, 136 insertions, 116 deletions
diff --git a/src/vhdl/vhdl-nodes_meta.adb b/src/vhdl/vhdl-nodes_meta.adb index 703af8a58..5b4ad1569 100644 --- a/src/vhdl/vhdl-nodes_meta.adb +++ b/src/vhdl/vhdl-nodes_meta.adb @@ -1541,6 +1541,10 @@ package body Vhdl.Nodes_Meta is return "psl_rose"; when Iir_Kind_Psl_Fell => return "psl_fell"; + when Iir_Kind_Psl_Onehot => + return "psl_onehot"; + when Iir_Kind_Psl_Onehot0 => + return "psl_onehot0"; when Iir_Kind_Psl_Expression => return "psl_expression"; when Iir_Kind_Sensitized_Process_Statement => @@ -4240,6 +4244,14 @@ package body Vhdl.Nodes_Meta is Field_Expression, Field_Clock_Expression, Field_Default_Clock, + -- Iir_Kind_Psl_Onehot + Field_Expr_Staticness, + Field_Type, + Field_Expression, + -- Iir_Kind_Psl_Onehot0 + Field_Expr_Staticness, + Field_Type, + Field_Expression, -- Iir_Kind_Psl_Expression Field_Psl_Expression, Field_Type, @@ -5415,122 +5427,124 @@ package body Vhdl.Nodes_Meta is Iir_Kind_Psl_Stable => 1506, Iir_Kind_Psl_Rose => 1511, Iir_Kind_Psl_Fell => 1516, - Iir_Kind_Psl_Expression => 1518, - Iir_Kind_Sensitized_Process_Statement => 1539, - Iir_Kind_Process_Statement => 1559, - Iir_Kind_Concurrent_Simple_Signal_Assignment => 1572, - Iir_Kind_Concurrent_Conditional_Signal_Assignment => 1585, - Iir_Kind_Concurrent_Selected_Signal_Assignment => 1599, - Iir_Kind_Concurrent_Assertion_Statement => 1607, - Iir_Kind_Concurrent_Procedure_Call_Statement => 1614, - Iir_Kind_Concurrent_Break_Statement => 1622, - Iir_Kind_Psl_Assert_Directive => 1635, - Iir_Kind_Psl_Assume_Directive => 1646, - Iir_Kind_Psl_Cover_Directive => 1658, - Iir_Kind_Psl_Restrict_Directive => 1669, - Iir_Kind_Block_Statement => 1683, - Iir_Kind_If_Generate_Statement => 1694, - Iir_Kind_Case_Generate_Statement => 1703, - Iir_Kind_For_Generate_Statement => 1712, - Iir_Kind_Component_Instantiation_Statement => 1723, - Iir_Kind_Psl_Default_Clock => 1727, - Iir_Kind_Generate_Statement_Body => 1738, - Iir_Kind_If_Generate_Else_Clause => 1744, - Iir_Kind_Simple_Simultaneous_Statement => 1751, - Iir_Kind_Simultaneous_Null_Statement => 1755, - Iir_Kind_Simultaneous_Procedural_Statement => 1766, - Iir_Kind_Simultaneous_Case_Statement => 1775, - Iir_Kind_Simultaneous_If_Statement => 1784, - Iir_Kind_Simultaneous_Elsif => 1790, - Iir_Kind_Simple_Signal_Assignment_Statement => 1801, - Iir_Kind_Conditional_Signal_Assignment_Statement => 1812, - Iir_Kind_Selected_Waveform_Assignment_Statement => 1824, - Iir_Kind_Signal_Force_Assignment_Statement => 1834, - Iir_Kind_Signal_Release_Assignment_Statement => 1843, - Iir_Kind_Null_Statement => 1847, - Iir_Kind_Assertion_Statement => 1854, - Iir_Kind_Report_Statement => 1860, - Iir_Kind_Wait_Statement => 1868, - Iir_Kind_Variable_Assignment_Statement => 1875, - Iir_Kind_Conditional_Variable_Assignment_Statement => 1882, - Iir_Kind_Return_Statement => 1888, - Iir_Kind_For_Loop_Statement => 1899, - Iir_Kind_While_Loop_Statement => 1910, - Iir_Kind_Next_Statement => 1917, - Iir_Kind_Exit_Statement => 1924, - Iir_Kind_Case_Statement => 1932, - Iir_Kind_Procedure_Call_Statement => 1938, - Iir_Kind_Break_Statement => 1945, - Iir_Kind_If_Statement => 1955, - Iir_Kind_Elsif => 1961, - Iir_Kind_Character_Literal => 1969, - Iir_Kind_Simple_Name => 1977, - Iir_Kind_Selected_Name => 1986, - Iir_Kind_Operator_Symbol => 1992, - Iir_Kind_Reference_Name => 1997, - Iir_Kind_External_Constant_Name => 2006, - Iir_Kind_External_Signal_Name => 2015, - Iir_Kind_External_Variable_Name => 2025, - Iir_Kind_Selected_By_All_Name => 2031, - Iir_Kind_Parenthesis_Name => 2036, - Iir_Kind_Package_Pathname => 2040, - Iir_Kind_Absolute_Pathname => 2041, - Iir_Kind_Relative_Pathname => 2042, - Iir_Kind_Pathname_Element => 2047, - Iir_Kind_Base_Attribute => 2049, - Iir_Kind_Subtype_Attribute => 2054, - Iir_Kind_Element_Attribute => 2059, - Iir_Kind_Across_Attribute => 2064, - Iir_Kind_Through_Attribute => 2069, - Iir_Kind_Nature_Reference_Attribute => 2073, - Iir_Kind_Left_Type_Attribute => 2078, - Iir_Kind_Right_Type_Attribute => 2083, - Iir_Kind_High_Type_Attribute => 2088, - Iir_Kind_Low_Type_Attribute => 2093, - Iir_Kind_Ascending_Type_Attribute => 2098, - Iir_Kind_Image_Attribute => 2104, - Iir_Kind_Value_Attribute => 2110, - Iir_Kind_Pos_Attribute => 2116, - Iir_Kind_Val_Attribute => 2122, - Iir_Kind_Succ_Attribute => 2128, - Iir_Kind_Pred_Attribute => 2134, - Iir_Kind_Leftof_Attribute => 2140, - Iir_Kind_Rightof_Attribute => 2146, - Iir_Kind_Signal_Slew_Attribute => 2154, - Iir_Kind_Quantity_Slew_Attribute => 2162, - Iir_Kind_Ramp_Attribute => 2170, - Iir_Kind_Zoh_Attribute => 2178, - Iir_Kind_Ltf_Attribute => 2186, - Iir_Kind_Ztf_Attribute => 2196, - Iir_Kind_Dot_Attribute => 2203, - Iir_Kind_Integ_Attribute => 2210, - Iir_Kind_Above_Attribute => 2218, - Iir_Kind_Quantity_Delayed_Attribute => 2226, - Iir_Kind_Delayed_Attribute => 2235, - Iir_Kind_Stable_Attribute => 2244, - Iir_Kind_Quiet_Attribute => 2253, - Iir_Kind_Transaction_Attribute => 2262, - Iir_Kind_Event_Attribute => 2266, - Iir_Kind_Active_Attribute => 2270, - Iir_Kind_Last_Event_Attribute => 2274, - Iir_Kind_Last_Active_Attribute => 2278, - Iir_Kind_Last_Value_Attribute => 2282, - Iir_Kind_Driving_Attribute => 2286, - Iir_Kind_Driving_Value_Attribute => 2290, - Iir_Kind_Behavior_Attribute => 2290, - Iir_Kind_Structure_Attribute => 2290, - Iir_Kind_Simple_Name_Attribute => 2297, - Iir_Kind_Instance_Name_Attribute => 2302, - Iir_Kind_Path_Name_Attribute => 2307, - Iir_Kind_Left_Array_Attribute => 2314, - Iir_Kind_Right_Array_Attribute => 2321, - Iir_Kind_High_Array_Attribute => 2328, - Iir_Kind_Low_Array_Attribute => 2335, - Iir_Kind_Length_Array_Attribute => 2342, - Iir_Kind_Ascending_Array_Attribute => 2349, - Iir_Kind_Range_Array_Attribute => 2356, - Iir_Kind_Reverse_Range_Array_Attribute => 2363, - Iir_Kind_Attribute_Name => 2372 + Iir_Kind_Psl_Onehot => 1519, + Iir_Kind_Psl_Onehot0 => 1522, + Iir_Kind_Psl_Expression => 1524, + Iir_Kind_Sensitized_Process_Statement => 1545, + Iir_Kind_Process_Statement => 1565, + Iir_Kind_Concurrent_Simple_Signal_Assignment => 1578, + Iir_Kind_Concurrent_Conditional_Signal_Assignment => 1591, + Iir_Kind_Concurrent_Selected_Signal_Assignment => 1605, + Iir_Kind_Concurrent_Assertion_Statement => 1613, + Iir_Kind_Concurrent_Procedure_Call_Statement => 1620, + Iir_Kind_Concurrent_Break_Statement => 1628, + Iir_Kind_Psl_Assert_Directive => 1641, + Iir_Kind_Psl_Assume_Directive => 1652, + Iir_Kind_Psl_Cover_Directive => 1664, + Iir_Kind_Psl_Restrict_Directive => 1675, + Iir_Kind_Block_Statement => 1689, + Iir_Kind_If_Generate_Statement => 1700, + Iir_Kind_Case_Generate_Statement => 1709, + Iir_Kind_For_Generate_Statement => 1718, + Iir_Kind_Component_Instantiation_Statement => 1729, + Iir_Kind_Psl_Default_Clock => 1733, + Iir_Kind_Generate_Statement_Body => 1744, + Iir_Kind_If_Generate_Else_Clause => 1750, + Iir_Kind_Simple_Simultaneous_Statement => 1757, + Iir_Kind_Simultaneous_Null_Statement => 1761, + Iir_Kind_Simultaneous_Procedural_Statement => 1772, + Iir_Kind_Simultaneous_Case_Statement => 1781, + Iir_Kind_Simultaneous_If_Statement => 1790, + Iir_Kind_Simultaneous_Elsif => 1796, + Iir_Kind_Simple_Signal_Assignment_Statement => 1807, + Iir_Kind_Conditional_Signal_Assignment_Statement => 1818, + Iir_Kind_Selected_Waveform_Assignment_Statement => 1830, + Iir_Kind_Signal_Force_Assignment_Statement => 1840, + Iir_Kind_Signal_Release_Assignment_Statement => 1849, + Iir_Kind_Null_Statement => 1853, + Iir_Kind_Assertion_Statement => 1860, + Iir_Kind_Report_Statement => 1866, + Iir_Kind_Wait_Statement => 1874, + Iir_Kind_Variable_Assignment_Statement => 1881, + Iir_Kind_Conditional_Variable_Assignment_Statement => 1888, + Iir_Kind_Return_Statement => 1894, + Iir_Kind_For_Loop_Statement => 1905, + Iir_Kind_While_Loop_Statement => 1916, + Iir_Kind_Next_Statement => 1923, + Iir_Kind_Exit_Statement => 1930, + Iir_Kind_Case_Statement => 1938, + Iir_Kind_Procedure_Call_Statement => 1944, + Iir_Kind_Break_Statement => 1951, + Iir_Kind_If_Statement => 1961, + Iir_Kind_Elsif => 1967, + Iir_Kind_Character_Literal => 1975, + Iir_Kind_Simple_Name => 1983, + Iir_Kind_Selected_Name => 1992, + Iir_Kind_Operator_Symbol => 1998, + Iir_Kind_Reference_Name => 2003, + Iir_Kind_External_Constant_Name => 2012, + Iir_Kind_External_Signal_Name => 2021, + Iir_Kind_External_Variable_Name => 2031, + Iir_Kind_Selected_By_All_Name => 2037, + Iir_Kind_Parenthesis_Name => 2042, + Iir_Kind_Package_Pathname => 2046, + Iir_Kind_Absolute_Pathname => 2047, + Iir_Kind_Relative_Pathname => 2048, + Iir_Kind_Pathname_Element => 2053, + Iir_Kind_Base_Attribute => 2055, + Iir_Kind_Subtype_Attribute => 2060, + Iir_Kind_Element_Attribute => 2065, + Iir_Kind_Across_Attribute => 2070, + Iir_Kind_Through_Attribute => 2075, + Iir_Kind_Nature_Reference_Attribute => 2079, + Iir_Kind_Left_Type_Attribute => 2084, + Iir_Kind_Right_Type_Attribute => 2089, + Iir_Kind_High_Type_Attribute => 2094, + Iir_Kind_Low_Type_Attribute => 2099, + Iir_Kind_Ascending_Type_Attribute => 2104, + Iir_Kind_Image_Attribute => 2110, + Iir_Kind_Value_Attribute => 2116, + Iir_Kind_Pos_Attribute => 2122, + Iir_Kind_Val_Attribute => 2128, + Iir_Kind_Succ_Attribute => 2134, + Iir_Kind_Pred_Attribute => 2140, + Iir_Kind_Leftof_Attribute => 2146, + Iir_Kind_Rightof_Attribute => 2152, + Iir_Kind_Signal_Slew_Attribute => 2160, + Iir_Kind_Quantity_Slew_Attribute => 2168, + Iir_Kind_Ramp_Attribute => 2176, + Iir_Kind_Zoh_Attribute => 2184, + Iir_Kind_Ltf_Attribute => 2192, + Iir_Kind_Ztf_Attribute => 2202, + Iir_Kind_Dot_Attribute => 2209, + Iir_Kind_Integ_Attribute => 2216, + Iir_Kind_Above_Attribute => 2224, + Iir_Kind_Quantity_Delayed_Attribute => 2232, + Iir_Kind_Delayed_Attribute => 2241, + Iir_Kind_Stable_Attribute => 2250, + Iir_Kind_Quiet_Attribute => 2259, + Iir_Kind_Transaction_Attribute => 2268, + Iir_Kind_Event_Attribute => 2272, + Iir_Kind_Active_Attribute => 2276, + Iir_Kind_Last_Event_Attribute => 2280, + Iir_Kind_Last_Active_Attribute => 2284, + Iir_Kind_Last_Value_Attribute => 2288, + Iir_Kind_Driving_Attribute => 2292, + Iir_Kind_Driving_Value_Attribute => 2296, + Iir_Kind_Behavior_Attribute => 2296, + Iir_Kind_Structure_Attribute => 2296, + Iir_Kind_Simple_Name_Attribute => 2303, + Iir_Kind_Instance_Name_Attribute => 2308, + Iir_Kind_Path_Name_Attribute => 2313, + Iir_Kind_Left_Array_Attribute => 2320, + Iir_Kind_Right_Array_Attribute => 2327, + Iir_Kind_High_Array_Attribute => 2334, + Iir_Kind_Low_Array_Attribute => 2341, + Iir_Kind_Length_Array_Attribute => 2348, + Iir_Kind_Ascending_Array_Attribute => 2355, + Iir_Kind_Range_Array_Attribute => 2362, + Iir_Kind_Reverse_Range_Array_Attribute => 2369, + Iir_Kind_Attribute_Name => 2378 ); function Get_Fields_First (K : Iir_Kind) return Fields_Index is @@ -8687,6 +8701,8 @@ package body Vhdl.Nodes_Meta is | Iir_Kind_Psl_Stable | Iir_Kind_Psl_Rose | Iir_Kind_Psl_Fell + | Iir_Kind_Psl_Onehot + | Iir_Kind_Psl_Onehot0 | Iir_Kind_Psl_Expression | Iir_Kind_Return_Statement | Iir_Kind_Character_Literal @@ -10628,6 +10644,8 @@ package body Vhdl.Nodes_Meta is | Iir_Kind_Psl_Stable | Iir_Kind_Psl_Rose | Iir_Kind_Psl_Fell + | Iir_Kind_Psl_Onehot + | Iir_Kind_Psl_Onehot0 | Iir_Kind_Concurrent_Selected_Signal_Assignment | Iir_Kind_Case_Generate_Statement | Iir_Kind_Simultaneous_Case_Statement @@ -11175,6 +11193,8 @@ package body Vhdl.Nodes_Meta is | Iir_Kind_Psl_Stable | Iir_Kind_Psl_Rose | Iir_Kind_Psl_Fell + | Iir_Kind_Psl_Onehot + | Iir_Kind_Psl_Onehot0 | Iir_Kind_Character_Literal | Iir_Kind_Simple_Name | Iir_Kind_Selected_Name |