aboutsummaryrefslogtreecommitdiffstats
path: root/src/vhdl/vhdl-nodes_meta.adb
diff options
context:
space:
mode:
Diffstat (limited to 'src/vhdl/vhdl-nodes_meta.adb')
-rw-r--r--src/vhdl/vhdl-nodes_meta.adb272
1 files changed, 140 insertions, 132 deletions
diff --git a/src/vhdl/vhdl-nodes_meta.adb b/src/vhdl/vhdl-nodes_meta.adb
index 086ce4c78..c64eed50b 100644
--- a/src/vhdl/vhdl-nodes_meta.adb
+++ b/src/vhdl/vhdl-nodes_meta.adb
@@ -381,7 +381,7 @@ package body Vhdl.Nodes_Meta is
Field_PSL_EOS_Flag => Type_Boolean,
Field_Count_Expression => Type_Iir,
Field_Clock_Expression => Type_Iir,
- Field_Clock => Type_Iir
+ Field_Default_Clock => Type_Iir
);
function Get_Field_Type (F : Fields_Enum) return Types_Enum is
@@ -1116,8 +1116,8 @@ package body Vhdl.Nodes_Meta is
return "count_expression";
when Field_Clock_Expression =>
return "clock_expression";
- when Field_Clock =>
- return "clock";
+ when Field_Default_Clock =>
+ return "default_clock";
end case;
end Get_Field_Image;
@@ -2476,7 +2476,7 @@ package body Vhdl.Nodes_Meta is
return Attr_None;
when Field_Clock_Expression =>
return Attr_None;
- when Field_Clock =>
+ when Field_Default_Clock =>
return Attr_Ref;
end case;
end Get_Field_Attribute;
@@ -4143,26 +4143,30 @@ package body Vhdl.Nodes_Meta is
Field_Index_List,
Field_Base_Name,
-- Iir_Kind_Psl_Prev
+ Field_Expr_Staticness,
Field_Type,
Field_Expression,
Field_Count_Expression,
Field_Clock_Expression,
- Field_Clock,
+ Field_Default_Clock,
-- Iir_Kind_Psl_Stable
+ Field_Expr_Staticness,
Field_Type,
Field_Expression,
Field_Clock_Expression,
- Field_Clock,
+ Field_Default_Clock,
-- Iir_Kind_Psl_Rose
+ Field_Expr_Staticness,
Field_Type,
Field_Expression,
Field_Clock_Expression,
- Field_Clock,
+ Field_Default_Clock,
-- Iir_Kind_Psl_Fell
+ Field_Expr_Staticness,
Field_Type,
Field_Expression,
Field_Clock_Expression,
- Field_Clock,
+ Field_Default_Clock,
-- Iir_Kind_Psl_Expression
Field_Psl_Expression,
Field_Type,
@@ -5308,124 +5312,124 @@ package body Vhdl.Nodes_Meta is
Iir_Kind_Implicit_Dereference => 1452,
Iir_Kind_Slice_Name => 1459,
Iir_Kind_Indexed_Name => 1465,
- Iir_Kind_Psl_Prev => 1470,
- Iir_Kind_Psl_Stable => 1474,
- Iir_Kind_Psl_Rose => 1478,
- Iir_Kind_Psl_Fell => 1482,
- Iir_Kind_Psl_Expression => 1484,
- Iir_Kind_Sensitized_Process_Statement => 1505,
- Iir_Kind_Process_Statement => 1525,
- Iir_Kind_Concurrent_Simple_Signal_Assignment => 1538,
- Iir_Kind_Concurrent_Conditional_Signal_Assignment => 1551,
- Iir_Kind_Concurrent_Selected_Signal_Assignment => 1565,
- Iir_Kind_Concurrent_Assertion_Statement => 1573,
- Iir_Kind_Concurrent_Procedure_Call_Statement => 1580,
- Iir_Kind_Concurrent_Break_Statement => 1588,
- Iir_Kind_Psl_Assert_Directive => 1601,
- Iir_Kind_Psl_Assume_Directive => 1612,
- Iir_Kind_Psl_Cover_Directive => 1624,
- Iir_Kind_Psl_Restrict_Directive => 1635,
- Iir_Kind_Block_Statement => 1649,
- Iir_Kind_If_Generate_Statement => 1660,
- Iir_Kind_Case_Generate_Statement => 1669,
- Iir_Kind_For_Generate_Statement => 1678,
- Iir_Kind_Component_Instantiation_Statement => 1689,
- Iir_Kind_Psl_Default_Clock => 1693,
- Iir_Kind_Generate_Statement_Body => 1704,
- Iir_Kind_If_Generate_Else_Clause => 1710,
- Iir_Kind_Simple_Simultaneous_Statement => 1717,
- Iir_Kind_Simultaneous_Null_Statement => 1721,
- Iir_Kind_Simultaneous_Procedural_Statement => 1732,
- Iir_Kind_Simultaneous_Case_Statement => 1741,
- Iir_Kind_Simultaneous_If_Statement => 1750,
- Iir_Kind_Simultaneous_Elsif => 1756,
- Iir_Kind_Simple_Signal_Assignment_Statement => 1767,
- Iir_Kind_Conditional_Signal_Assignment_Statement => 1778,
- Iir_Kind_Selected_Waveform_Assignment_Statement => 1790,
- Iir_Kind_Null_Statement => 1794,
- Iir_Kind_Assertion_Statement => 1801,
- Iir_Kind_Report_Statement => 1807,
- Iir_Kind_Wait_Statement => 1815,
- Iir_Kind_Variable_Assignment_Statement => 1822,
- Iir_Kind_Conditional_Variable_Assignment_Statement => 1829,
- Iir_Kind_Return_Statement => 1835,
- Iir_Kind_For_Loop_Statement => 1846,
- Iir_Kind_While_Loop_Statement => 1857,
- Iir_Kind_Next_Statement => 1864,
- Iir_Kind_Exit_Statement => 1871,
- Iir_Kind_Case_Statement => 1879,
- Iir_Kind_Procedure_Call_Statement => 1885,
- Iir_Kind_Break_Statement => 1892,
- Iir_Kind_If_Statement => 1902,
- Iir_Kind_Elsif => 1908,
- Iir_Kind_Character_Literal => 1916,
- Iir_Kind_Simple_Name => 1924,
- Iir_Kind_Selected_Name => 1933,
- Iir_Kind_Operator_Symbol => 1939,
- Iir_Kind_Reference_Name => 1944,
- Iir_Kind_External_Constant_Name => 1952,
- Iir_Kind_External_Signal_Name => 1960,
- Iir_Kind_External_Variable_Name => 1969,
- Iir_Kind_Selected_By_All_Name => 1975,
- Iir_Kind_Parenthesis_Name => 1980,
- Iir_Kind_Package_Pathname => 1984,
- Iir_Kind_Absolute_Pathname => 1985,
- Iir_Kind_Relative_Pathname => 1986,
- Iir_Kind_Pathname_Element => 1991,
- Iir_Kind_Base_Attribute => 1993,
- Iir_Kind_Subtype_Attribute => 1998,
- Iir_Kind_Element_Attribute => 2003,
- Iir_Kind_Across_Attribute => 2008,
- Iir_Kind_Through_Attribute => 2013,
- Iir_Kind_Nature_Reference_Attribute => 2017,
- Iir_Kind_Left_Type_Attribute => 2022,
- Iir_Kind_Right_Type_Attribute => 2027,
- Iir_Kind_High_Type_Attribute => 2032,
- Iir_Kind_Low_Type_Attribute => 2037,
- Iir_Kind_Ascending_Type_Attribute => 2042,
- Iir_Kind_Image_Attribute => 2048,
- Iir_Kind_Value_Attribute => 2054,
- Iir_Kind_Pos_Attribute => 2060,
- Iir_Kind_Val_Attribute => 2066,
- Iir_Kind_Succ_Attribute => 2072,
- Iir_Kind_Pred_Attribute => 2078,
- Iir_Kind_Leftof_Attribute => 2084,
- Iir_Kind_Rightof_Attribute => 2090,
- Iir_Kind_Signal_Slew_Attribute => 2098,
- Iir_Kind_Quantity_Slew_Attribute => 2106,
- Iir_Kind_Ramp_Attribute => 2114,
- Iir_Kind_Zoh_Attribute => 2122,
- Iir_Kind_Ltf_Attribute => 2130,
- Iir_Kind_Ztf_Attribute => 2140,
- Iir_Kind_Dot_Attribute => 2147,
- Iir_Kind_Integ_Attribute => 2154,
- Iir_Kind_Above_Attribute => 2162,
- Iir_Kind_Quantity_Delayed_Attribute => 2170,
- Iir_Kind_Delayed_Attribute => 2179,
- Iir_Kind_Stable_Attribute => 2188,
- Iir_Kind_Quiet_Attribute => 2197,
- Iir_Kind_Transaction_Attribute => 2206,
- Iir_Kind_Event_Attribute => 2210,
- Iir_Kind_Active_Attribute => 2214,
- Iir_Kind_Last_Event_Attribute => 2218,
- Iir_Kind_Last_Active_Attribute => 2222,
- Iir_Kind_Last_Value_Attribute => 2226,
- Iir_Kind_Driving_Attribute => 2230,
- Iir_Kind_Driving_Value_Attribute => 2234,
- Iir_Kind_Behavior_Attribute => 2234,
- Iir_Kind_Structure_Attribute => 2234,
- Iir_Kind_Simple_Name_Attribute => 2241,
- Iir_Kind_Instance_Name_Attribute => 2246,
- Iir_Kind_Path_Name_Attribute => 2251,
- Iir_Kind_Left_Array_Attribute => 2258,
- Iir_Kind_Right_Array_Attribute => 2265,
- Iir_Kind_High_Array_Attribute => 2272,
- Iir_Kind_Low_Array_Attribute => 2279,
- Iir_Kind_Length_Array_Attribute => 2286,
- Iir_Kind_Ascending_Array_Attribute => 2293,
- Iir_Kind_Range_Array_Attribute => 2300,
- Iir_Kind_Reverse_Range_Array_Attribute => 2307,
- Iir_Kind_Attribute_Name => 2316
+ Iir_Kind_Psl_Prev => 1471,
+ Iir_Kind_Psl_Stable => 1476,
+ Iir_Kind_Psl_Rose => 1481,
+ Iir_Kind_Psl_Fell => 1486,
+ Iir_Kind_Psl_Expression => 1488,
+ Iir_Kind_Sensitized_Process_Statement => 1509,
+ Iir_Kind_Process_Statement => 1529,
+ Iir_Kind_Concurrent_Simple_Signal_Assignment => 1542,
+ Iir_Kind_Concurrent_Conditional_Signal_Assignment => 1555,
+ Iir_Kind_Concurrent_Selected_Signal_Assignment => 1569,
+ Iir_Kind_Concurrent_Assertion_Statement => 1577,
+ Iir_Kind_Concurrent_Procedure_Call_Statement => 1584,
+ Iir_Kind_Concurrent_Break_Statement => 1592,
+ Iir_Kind_Psl_Assert_Directive => 1605,
+ Iir_Kind_Psl_Assume_Directive => 1616,
+ Iir_Kind_Psl_Cover_Directive => 1628,
+ Iir_Kind_Psl_Restrict_Directive => 1639,
+ Iir_Kind_Block_Statement => 1653,
+ Iir_Kind_If_Generate_Statement => 1664,
+ Iir_Kind_Case_Generate_Statement => 1673,
+ Iir_Kind_For_Generate_Statement => 1682,
+ Iir_Kind_Component_Instantiation_Statement => 1693,
+ Iir_Kind_Psl_Default_Clock => 1697,
+ Iir_Kind_Generate_Statement_Body => 1708,
+ Iir_Kind_If_Generate_Else_Clause => 1714,
+ Iir_Kind_Simple_Simultaneous_Statement => 1721,
+ Iir_Kind_Simultaneous_Null_Statement => 1725,
+ Iir_Kind_Simultaneous_Procedural_Statement => 1736,
+ Iir_Kind_Simultaneous_Case_Statement => 1745,
+ Iir_Kind_Simultaneous_If_Statement => 1754,
+ Iir_Kind_Simultaneous_Elsif => 1760,
+ Iir_Kind_Simple_Signal_Assignment_Statement => 1771,
+ Iir_Kind_Conditional_Signal_Assignment_Statement => 1782,
+ Iir_Kind_Selected_Waveform_Assignment_Statement => 1794,
+ Iir_Kind_Null_Statement => 1798,
+ Iir_Kind_Assertion_Statement => 1805,
+ Iir_Kind_Report_Statement => 1811,
+ Iir_Kind_Wait_Statement => 1819,
+ Iir_Kind_Variable_Assignment_Statement => 1826,
+ Iir_Kind_Conditional_Variable_Assignment_Statement => 1833,
+ Iir_Kind_Return_Statement => 1839,
+ Iir_Kind_For_Loop_Statement => 1850,
+ Iir_Kind_While_Loop_Statement => 1861,
+ Iir_Kind_Next_Statement => 1868,
+ Iir_Kind_Exit_Statement => 1875,
+ Iir_Kind_Case_Statement => 1883,
+ Iir_Kind_Procedure_Call_Statement => 1889,
+ Iir_Kind_Break_Statement => 1896,
+ Iir_Kind_If_Statement => 1906,
+ Iir_Kind_Elsif => 1912,
+ Iir_Kind_Character_Literal => 1920,
+ Iir_Kind_Simple_Name => 1928,
+ Iir_Kind_Selected_Name => 1937,
+ Iir_Kind_Operator_Symbol => 1943,
+ Iir_Kind_Reference_Name => 1948,
+ Iir_Kind_External_Constant_Name => 1956,
+ Iir_Kind_External_Signal_Name => 1964,
+ Iir_Kind_External_Variable_Name => 1973,
+ Iir_Kind_Selected_By_All_Name => 1979,
+ Iir_Kind_Parenthesis_Name => 1984,
+ Iir_Kind_Package_Pathname => 1988,
+ Iir_Kind_Absolute_Pathname => 1989,
+ Iir_Kind_Relative_Pathname => 1990,
+ Iir_Kind_Pathname_Element => 1995,
+ Iir_Kind_Base_Attribute => 1997,
+ Iir_Kind_Subtype_Attribute => 2002,
+ Iir_Kind_Element_Attribute => 2007,
+ Iir_Kind_Across_Attribute => 2012,
+ Iir_Kind_Through_Attribute => 2017,
+ Iir_Kind_Nature_Reference_Attribute => 2021,
+ Iir_Kind_Left_Type_Attribute => 2026,
+ Iir_Kind_Right_Type_Attribute => 2031,
+ Iir_Kind_High_Type_Attribute => 2036,
+ Iir_Kind_Low_Type_Attribute => 2041,
+ Iir_Kind_Ascending_Type_Attribute => 2046,
+ Iir_Kind_Image_Attribute => 2052,
+ Iir_Kind_Value_Attribute => 2058,
+ Iir_Kind_Pos_Attribute => 2064,
+ Iir_Kind_Val_Attribute => 2070,
+ Iir_Kind_Succ_Attribute => 2076,
+ Iir_Kind_Pred_Attribute => 2082,
+ Iir_Kind_Leftof_Attribute => 2088,
+ Iir_Kind_Rightof_Attribute => 2094,
+ Iir_Kind_Signal_Slew_Attribute => 2102,
+ Iir_Kind_Quantity_Slew_Attribute => 2110,
+ Iir_Kind_Ramp_Attribute => 2118,
+ Iir_Kind_Zoh_Attribute => 2126,
+ Iir_Kind_Ltf_Attribute => 2134,
+ Iir_Kind_Ztf_Attribute => 2144,
+ Iir_Kind_Dot_Attribute => 2151,
+ Iir_Kind_Integ_Attribute => 2158,
+ Iir_Kind_Above_Attribute => 2166,
+ Iir_Kind_Quantity_Delayed_Attribute => 2174,
+ Iir_Kind_Delayed_Attribute => 2183,
+ Iir_Kind_Stable_Attribute => 2192,
+ Iir_Kind_Quiet_Attribute => 2201,
+ Iir_Kind_Transaction_Attribute => 2210,
+ Iir_Kind_Event_Attribute => 2214,
+ Iir_Kind_Active_Attribute => 2218,
+ Iir_Kind_Last_Event_Attribute => 2222,
+ Iir_Kind_Last_Active_Attribute => 2226,
+ Iir_Kind_Last_Value_Attribute => 2230,
+ Iir_Kind_Driving_Attribute => 2234,
+ Iir_Kind_Driving_Value_Attribute => 2238,
+ Iir_Kind_Behavior_Attribute => 2238,
+ Iir_Kind_Structure_Attribute => 2238,
+ Iir_Kind_Simple_Name_Attribute => 2245,
+ Iir_Kind_Instance_Name_Attribute => 2250,
+ Iir_Kind_Path_Name_Attribute => 2255,
+ Iir_Kind_Left_Array_Attribute => 2262,
+ Iir_Kind_Right_Array_Attribute => 2269,
+ Iir_Kind_High_Array_Attribute => 2276,
+ Iir_Kind_Low_Array_Attribute => 2283,
+ Iir_Kind_Length_Array_Attribute => 2290,
+ Iir_Kind_Ascending_Array_Attribute => 2297,
+ Iir_Kind_Range_Array_Attribute => 2304,
+ Iir_Kind_Reverse_Range_Array_Attribute => 2311,
+ Iir_Kind_Attribute_Name => 2320
);
function Get_Fields_First (K : Iir_Kind) return Fields_Index is
@@ -6306,8 +6310,8 @@ package body Vhdl.Nodes_Meta is
return Get_Count_Expression (N);
when Field_Clock_Expression =>
return Get_Clock_Expression (N);
- when Field_Clock =>
- return Get_Clock (N);
+ when Field_Default_Clock =>
+ return Get_Default_Clock (N);
when others =>
raise Internal_Error;
end case;
@@ -6760,8 +6764,8 @@ package body Vhdl.Nodes_Meta is
Set_Count_Expression (N, V);
when Field_Clock_Expression =>
Set_Clock_Expression (N, V);
- when Field_Clock =>
- Set_Clock (N, V);
+ when Field_Default_Clock =>
+ Set_Default_Clock (N, V);
when others =>
raise Internal_Error;
end case;
@@ -10923,6 +10927,10 @@ package body Vhdl.Nodes_Meta is
| Iir_Kind_Implicit_Dereference
| Iir_Kind_Slice_Name
| Iir_Kind_Indexed_Name
+ | Iir_Kind_Psl_Prev
+ | Iir_Kind_Psl_Stable
+ | Iir_Kind_Psl_Rose
+ | Iir_Kind_Psl_Fell
| Iir_Kind_Character_Literal
| Iir_Kind_Simple_Name
| Iir_Kind_Selected_Name
@@ -12375,7 +12383,7 @@ package body Vhdl.Nodes_Meta is
end case;
end Has_Clock_Expression;
- function Has_Clock (K : Iir_Kind) return Boolean is
+ function Has_Default_Clock (K : Iir_Kind) return Boolean is
begin
case K is
when Iir_Kind_Psl_Prev
@@ -12386,6 +12394,6 @@ package body Vhdl.Nodes_Meta is
when others =>
return False;
end case;
- end Has_Clock;
+ end Has_Default_Clock;
end Vhdl.Nodes_Meta;