From aeb602712b3001fb9b5fb713c428697b71a1074f Mon Sep 17 00:00:00 2001 From: James Cherry Date: Thu, 1 Jun 2023 18:16:51 -0700 Subject: [PATCH] increase max corner count to 128 Signed-off-by: James Cherry --- include/sta/PathVertexRep.hh | 4 +- include/sta/SearchClass.hh | 11 +- messages.txt | 395 ++++++++++++++++++----------------- search/PathEnumed.hh | 2 +- search/Search.cc | 2 +- search/Sta.cc | 2 + search/Tag.cc | 2 +- search/Tag.hh | 2 +- 8 files changed, 212 insertions(+), 208 deletions(-) diff --git a/include/sta/PathVertexRep.hh b/include/sta/PathVertexRep.hh index 3150422f..97dac3f2 100644 --- a/include/sta/PathVertexRep.hh +++ b/include/sta/PathVertexRep.hh @@ -66,10 +66,8 @@ public: protected: VertexId vertex_id_; - unsigned int tag_index_:tag_index_bits; + TagIndex tag_index_; bool is_enum_:1; - -private: }; } // namespace diff --git a/include/sta/SearchClass.hh b/include/sta/SearchClass.hh index 3992d10a..b582341d 100644 --- a/include/sta/SearchClass.hh +++ b/include/sta/SearchClass.hh @@ -16,6 +16,8 @@ #pragma once +#include + #include "Vector.hh" #include "Set.hh" #include "Map.hh" @@ -97,7 +99,7 @@ protected: }; typedef int PathAPIndex; -typedef unsigned TagIndex; +typedef uint32_t TagIndex; typedef Vector TagSeq; typedef Vector MinPulseWidthCheckSeq; typedef Vector MinPeriodCheckSeq; @@ -122,9 +124,10 @@ enum class ReportPathFormat { full, json }; -static const int tag_index_bits = 24; -static const TagIndex tag_index_max = (1 << tag_index_bits) - 1; +static const TagIndex tag_index_max = std::numeric_limits::max(); static const TagIndex tag_index_null = tag_index_max; -static const int path_ap_index_bit_count = 4; +static const int path_ap_index_bit_count = 8; +// One path analysis point per corner min/max. +static const int corner_count_max = (1 << path_ap_index_bit_count) / 2; } // namespace diff --git a/messages.txt b/messages.txt index 328128f1..c66f760e 100644 --- a/messages.txt +++ b/messages.txt @@ -1,180 +1,180 @@ 0001 DmpCeff.cc:1597 cell %s delay model not supported on SPF parasitics by DMP delay calculator -0002 Liberty.cc:750 cell %s/%s port %s not found in cell %s/%s. -0003 Liberty.cc:776 cell %s/%s %s -> %s timing group %s not found in cell %s/%s. -0004 Liberty.cc:1728 cell %s/%s %s -> %s latch enable %s_edge is inconsistent with %s -> %s setup_%s check. -0005 Liberty.cc:1742 cell %s/%s %s -> %s latch enable %s_edge is inconsistent with latch group enable function positive sense. -0006 Liberty.cc:1750 cell %s/%s %s -> %s latch enable %s_edge is inconsistent with latch group enable function negative sense. +0002 Liberty.cc:770 cell %s/%s port %s not found in cell %s/%s. +0003 Liberty.cc:796 cell %s/%s %s -> %s timing group %s not found in cell %s/%s. +0004 Liberty.cc:1746 cell %s/%s %s -> %s latch enable %s_edge is inconsistent with %s -> %s setup_%s check. +0005 Liberty.cc:1760 cell %s/%s %s -> %s latch enable %s_edge is inconsistent with latch group enable function positive sense. +0006 Liberty.cc:1768 cell %s/%s %s -> %s latch enable %s_edge is inconsistent with latch group enable function negative sense. 0007 LibertyExpr.cc:82 %s references unknown port %s. 0008 ConcreteNetwork.cc:1917 cell type %s can not be linked. 0009 CycleAccting.cc:87 No common period was found between clocks %s and %s. 0010 Genclks.cc:274 no master clock found for generated clock %s. 0013 Genclks.cc:938 generated clock %s source pin %s missing paths from master clock %s. 0015 Sim.cc:865 propagated logic value %c differs from constraint value of %c on pin %s. -0016 LibertyReader.cc:1049 default_max_fanout is 0.0. +0016 LibertyReader.cc:1037 default_max_fanout is 0.0. 0017 Sta.cc:2093 '%s' is not a valid endpoint. 0018 Sta.cc:2017 '%s' is not a valid start point. 0021 SpefParse.yy:805 %d is not positive. 0022 SpefParse.yy:814 %.4f is not positive. 0023 SpefParse.yy:820 %.4f is not positive. -0024 WritePathSpice.cc:458 pg_pin %s/%s voltage %s not found, -0025 WritePathSpice.cc:465 Liberty pg_port %s/%s missing voltage_name attribute, -0026 WritePathSpice.cc:1037 %s pg_port %s not found, -0027 WritePathSpice.cc:1092 no register/latch found for path from %s to %s, -0028 WritePathSpice.cc:1464 The subkct file %s is missing definitions for %s -0029 WritePathSpice.cc:1562 subckt %s port %s has no corresponding liberty port, pg_port and is not power or ground. -0030 LibertyReader.cc:628 library missing name. -0031 LibertyReader.cc:660 default_wire_load %s not found. -0032 LibertyReader.cc:671 default_wire_selection %s not found. -0033 LibertyReader.cc:693 input_threshold_pct_%s not found. -0034 LibertyReader.cc:697 output_threshold_pct_%s not found. -0035 LibertyReader.cc:701 slew_lower_threshold_pct_%s not found. -0036 LibertyReader.cc:705 slew_upper_threshold_pct_%s not found. -0037 LibertyReader.cc:710 Library %s is missing one or more thresholds. -0038 LibertyReader.cc:800 unknown unit multiplier %s. -0039 LibertyReader.cc:819 unknown unit scale %c. -0040 LibertyReader.cc:822 unknown unit suffix %s. -0041 LibertyReader.cc:848 capacitive_load_units are not ff or pf. -0042 LibertyReader.cc:851 capacitive_load_units are not a string. -0043 LibertyReader.cc:854 capacitive_load_units missing suffix. -0044 LibertyReader.cc:857 capacitive_load_units scale is not a float. -0045 LibertyReader.cc:860 capacitive_load_units missing scale and suffix. -0046 LibertyReader.cc:863 capacitive_load_unit missing values suffix. -0047 LibertyReader.cc:881 delay_model %s not supported. -0048 LibertyReader.cc:885 delay_model %s not supported. -0049 LibertyReader.cc:889 delay_model %s not supported. -0050 LibertyReader.cc:894 delay_model %s not supported. +0024 WritePathSpice.cc:508 pg_pin %s/%s voltage %s not found, +0025 WritePathSpice.cc:515 Liberty pg_port %s/%s missing voltage_name attribute, +0026 WritePathSpice.cc:1094 %s pg_port %s not found, +0027 WritePathSpice.cc:1149 no register/latch found for path from %s to %s, +0028 WritePathSpice.cc:1615 The subkct file %s is missing definitions for %s +0029 WritePathSpice.cc:1713 subckt %s port %s has no corresponding liberty port, pg_port and is not power or ground. +0030 LibertyReader.cc:631 library missing name. +0031 LibertyReader.cc:657 default_wire_load %s not found. +0032 LibertyReader.cc:668 default_wire_selection %s not found. +0033 LibertyReader.cc:690 input_threshold_pct_%s not found. +0034 LibertyReader.cc:694 output_threshold_pct_%s not found. +0035 LibertyReader.cc:698 slew_lower_threshold_pct_%s not found. +0036 LibertyReader.cc:702 slew_upper_threshold_pct_%s not found. +0037 LibertyReader.cc:707 Library %s is missing one or more thresholds. +0038 LibertyReader.cc:786 unknown unit multiplier %s. +0039 LibertyReader.cc:807 unknown unit scale %c. +0040 LibertyReader.cc:810 unknown unit suffix %s. +0041 LibertyReader.cc:836 capacitive_load_units are not ff or pf. +0042 LibertyReader.cc:839 capacitive_load_units are not a string. +0043 LibertyReader.cc:842 capacitive_load_units missing suffix. +0044 LibertyReader.cc:845 capacitive_load_units scale is not a float. +0045 LibertyReader.cc:848 capacitive_load_units missing scale and suffix. +0046 LibertyReader.cc:851 capacitive_load_unit missing values suffix. +0047 LibertyReader.cc:869 delay_model %s not supported. +0048 LibertyReader.cc:873 delay_model %s not supported. +0049 LibertyReader.cc:877 delay_model %s not supported. +0050 LibertyReader.cc:882 delay_model %s not supported. . -0051 LibertyReader.cc:897 unknown delay_model %s +0051 LibertyReader.cc:885 unknown delay_model %s . -0052 LibertyReader.cc:916 unknown bus_naming_style format. -0053 LibertyReader.cc:594 library %s already exists. -0054 LibertyReader.cc:937 voltage_map voltage is not a float. -0055 LibertyReader.cc:940 voltage_map missing voltage. -0056 LibertyReader.cc:943 voltage_map supply name is not a string. -0057 LibertyReader.cc:946 voltage_map missing supply name and voltage. -0058 LibertyReader.cc:949 voltage_map missing values suffix. -0059 LibertyReader.cc:1167 default_wire_load_mode %s not found. -0060 LibertyReader.cc:683 default_operating_condition %s not found. -0061 LibertyReader.cc:1338 table template missing name. -0062 LibertyReader.cc:1383 missing variable_%d attribute. -0063 LibertyReader.cc:1426 axis type %s not supported. -0064 LibertyReader.cc:1486 bus type %s missing bit_from. -0065 LibertyReader.cc:1488 bus type %s missing bit_to. -0066 LibertyReader.cc:1492 type missing name. -0067 LibertyReader.cc:1519 scaling_factors do not have a name. -0068 LibertyReader.cc:1687 operating_conditions missing name. -0069 LibertyReader.cc:1757 wire_load missing name. -0070 LibertyReader.cc:1800 fanout_length is missing length and fanout. -0071 LibertyReader.cc:1815 wire_load_selection missing name. -0072 LibertyReader.cc:1846 wireload %s not found. -0074 LibertyReader.cc:1853 wire_load_from_area min not a float. -0075 LibertyReader.cc:1856 wire_load_from_area max not a float. -0076 LibertyReader.cc:1859 wire_load_from_area missing parameters. -0077 LibertyReader.cc:1862 wire_load_from_area missing parameters. -0078 LibertyReader.cc:1879 cell missing name. -0079 LibertyReader.cc:1902 cell %s ocv_derate_group %s not found. -0080 LibertyReader.cc:1938 port %s function size does not match port size. -0081 LibertyReader.cc:2006 %s %s bus width mismatch. -0082 LibertyReader.cc:2017 %s %s bus width mismatch. -0083 LibertyReader.cc:2027 clear -0084 LibertyReader.cc:2037 preset -0085 LibertyReader.cc:2073 latch enable function is non-unate for port %s. -0086 LibertyReader.cc:2078 latch enable function is unknown for port %s. -0087 LibertyReader.cc:2154 operating conditions %s not found. -0088 LibertyReader.cc:2157 scaled_cell missing operating condition. -0089 LibertyReader.cc:2160 scaled_cell cell %s has not been defined. -0090 LibertyReader.cc:2163 scaled_cell missing name. -0091 LibertyReader.cc:2189 scaled_cell %s, %s port functions do not match cell port functions. -0092 LibertyReader.cc:2194 scaled_cell ports do not match cell ports. -0093 LibertyReader.cc:2196 scaled_cell %s, %s timing does not match cell timing. -0094 LibertyReader.cc:2215 combinational timing to an input port. -0095 LibertyReader.cc:2306 missing %s_transition. -0096 LibertyReader.cc:2308 missing cell_%s. -0099 LibertyReader.cc:2900 scaling_factors %s not found. -0100 LibertyReader.cc:2943 pin name is not a string. -0101 LibertyReader.cc:2962 pin name is not a string. -0102 LibertyReader.cc:2978 pin name is not a string. -0103 LibertyReader.cc:3056 bus %s bus_type not found. -0104 LibertyReader.cc:3112 bus_type %s not found. -0105 LibertyReader.cc:3115 bus_type is not a string. -0106 LibertyReader.cc:3133 bundle %s member not found. -0107 LibertyReader.cc:3160 member is not a string. -0108 LibertyReader.cc:3167 members attribute is missing values. -0109 LibertyReader.cc:3218 unknown port direction. -0110 LibertyReader.cc:3586 pulse_latch unknown pulse type. -0111 LibertyReader.cc:3964 unknown timing_type %s. -0112 LibertyReader.cc:3984 unknown timing_sense %s. -0113 LibertyReader.cc:4024 mode value is not a string. -0114 LibertyReader.cc:4027 missing mode value. -0115 LibertyReader.cc:4030 mode name is not a string. -0116 LibertyReader.cc:4033 mode missing values. -0117 LibertyReader.cc:4036 mode missing mode name and value. -0118 LibertyReader.cc:2547 unsupported model axis. -0119 LibertyReader.cc:4139 unsupported model axis. -0120 LibertyReader.cc:4168 unsupported model axis. -0121 LibertyReader.cc:4203 unsupported model axis. -0122 LibertyReader.cc:4258 table template %s not found. -0123 LibertyReader.cc:4337 %s is missing values. -0124 LibertyReader.cc:4362 %s is not a list of floats. -0125 LibertyReader.cc:4364 table row has %u columns but axis has %d. -0126 LibertyReader.cc:4374 table has %u rows but axis has %d. -0127 LibertyReader.cc:4427 lut output is not a string. -0128 LibertyReader.cc:4469 mode definition missing name. -0129 LibertyReader.cc:4486 mode value missing name. -0130 LibertyReader.cc:4500 when attribute inside table model. -0131 LibertyReader.cc:4549 %s attribute is not a string. -0132 LibertyReader.cc:4552 %s is not a simple attribute. -0133 LibertyReader.cc:4575 %s is not a simple attribute. -0134 LibertyReader.cc:4588 %s is not a simple attribute. -0135 LibertyReader.cc:4612 %s value %s is not a float. -0136 LibertyReader.cc:4641 %s missing values. -0137 LibertyReader.cc:4645 %s missing values. -0138 LibertyReader.cc:4648 %s is not a complex attribute. -0139 LibertyReader.cc:4674 %s is not a float. -0140 LibertyReader.cc:4697 %s is missing values. -0141 LibertyReader.cc:4700 %s has more than one string. -0142 LibertyReader.cc:4709 %s is missing values. -0143 LibertyReader.cc:4734 %s attribute is not boolean. -0144 LibertyReader.cc:4737 %s attribute is not boolean. -0145 LibertyReader.cc:4740 %s is not a simple attribute. -0146 LibertyReader.cc:4756 attribute %s value %s not recognized. -0147 LibertyReader.cc:4786 unknown early/late value. -0148 LibertyReader.cc:5012 OCV derate group named %s not found. -0149 LibertyReader.cc:5028 ocv_derate missing name. -0150 LibertyReader.cc:5081 unknown rise/fall. -0151 LibertyReader.cc:5101 unknown derate type. -0152 LibertyReader.cc:5133 unsupported model axis. -0153 LibertyReader.cc:5165 unsupported model axis. -0154 LibertyReader.cc:5197 unsupported model axis. -0155 LibertyReader.cc:5268 unknown pg_type. -0156 LibertyReader.cc:5663 port %s subscript out of range. -0157 LibertyReader.cc:5667 port range %s of non-bus port %s. -0158 LibertyReader.cc:5681 port %s not found. -0159 LibertyReader.cc:5751 port %s not found. -0160 LibertyReader.cc:1034 default_max_transition is 0.0. -0161 LibertyReader.cc:3474 max_transition is 0.0. -0162 LibertyReader.cc:4572 %s attribute is not an integer. -0163 LibertyReader.cc:1139 default_fanout_load is 0.0. -0164 LibertyReader.cc:2328 timing group from output port. -0165 LibertyReader.cc:2338 timing group from output port. -0166 LibertyReader.cc:2348 timing group from output port. -0167 LibertyReader.cc:2366 timing group from output port. -0168 LibertyReader.cc:2381 timing group from output port. -0169 LibertyReader.cc:4444 cell %s test_cell redefinition. -0170 LibertyReader.cc:3883 timing group missing related_pin/related_bus_pin. +0052 LibertyReader.cc:904 unknown bus_naming_style format. +0053 LibertyReader.cc:597 library %s already exists. +0054 LibertyReader.cc:925 voltage_map voltage is not a float. +0055 LibertyReader.cc:928 voltage_map missing voltage. +0056 LibertyReader.cc:931 voltage_map supply name is not a string. +0057 LibertyReader.cc:934 voltage_map missing supply name and voltage. +0058 LibertyReader.cc:937 voltage_map missing values suffix. +0059 LibertyReader.cc:1155 default_wire_load_mode %s not found. +0060 LibertyReader.cc:680 default_operating_condition %s not found. +0061 LibertyReader.cc:1326 table template missing name. +0062 LibertyReader.cc:1371 missing variable_%d attribute. +0063 LibertyReader.cc:1414 axis type %s not supported. +0064 LibertyReader.cc:1474 bus type %s missing bit_from. +0065 LibertyReader.cc:1476 bus type %s missing bit_to. +0066 LibertyReader.cc:1480 type missing name. +0067 LibertyReader.cc:1507 scaling_factors do not have a name. +0068 LibertyReader.cc:1675 operating_conditions missing name. +0069 LibertyReader.cc:1745 wire_load missing name. +0070 LibertyReader.cc:1788 fanout_length is missing length and fanout. +0071 LibertyReader.cc:1803 wire_load_selection missing name. +0072 LibertyReader.cc:1834 wireload %s not found. +0074 LibertyReader.cc:1841 wire_load_from_area min not a float. +0075 LibertyReader.cc:1844 wire_load_from_area max not a float. +0076 LibertyReader.cc:1847 wire_load_from_area missing parameters. +0077 LibertyReader.cc:1850 wire_load_from_area missing parameters. +0078 LibertyReader.cc:1867 cell missing name. +0079 LibertyReader.cc:1890 cell %s ocv_derate_group %s not found. +0080 LibertyReader.cc:1926 port %s function size does not match port size. +0081 LibertyReader.cc:1994 %s %s bus width mismatch. +0082 LibertyReader.cc:2005 %s %s bus width mismatch. +0083 LibertyReader.cc:2015 clear +0084 LibertyReader.cc:2025 preset +0085 LibertyReader.cc:2061 latch enable function is non-unate for port %s. +0086 LibertyReader.cc:2066 latch enable function is unknown for port %s. +0087 LibertyReader.cc:2142 operating conditions %s not found. +0088 LibertyReader.cc:2145 scaled_cell missing operating condition. +0089 LibertyReader.cc:2148 scaled_cell cell %s has not been defined. +0090 LibertyReader.cc:2151 scaled_cell missing name. +0091 LibertyReader.cc:2177 scaled_cell %s, %s port functions do not match cell port functions. +0092 LibertyReader.cc:2182 scaled_cell ports do not match cell ports. +0093 LibertyReader.cc:2184 scaled_cell %s, %s timing does not match cell timing. +0094 LibertyReader.cc:2203 combinational timing to an input port. +0095 LibertyReader.cc:2294 missing %s_transition. +0096 LibertyReader.cc:2296 missing cell_%s. +0099 LibertyReader.cc:2894 scaling_factors %s not found. +0100 LibertyReader.cc:2937 pin name is not a string. +0101 LibertyReader.cc:2956 pin name is not a string. +0102 LibertyReader.cc:2972 pin name is not a string. +0103 LibertyReader.cc:3050 bus %s bus_type not found. +0104 LibertyReader.cc:3106 bus_type %s not found. +0105 LibertyReader.cc:3109 bus_type is not a string. +0106 LibertyReader.cc:3127 bundle %s member not found. +0107 LibertyReader.cc:3154 member is not a string. +0108 LibertyReader.cc:3161 members attribute is missing values. +0109 LibertyReader.cc:3212 unknown port direction. +0110 LibertyReader.cc:3580 pulse_latch unknown pulse type. +0111 LibertyReader.cc:3958 unknown timing_type %s. +0112 LibertyReader.cc:3978 unknown timing_sense %s. +0113 LibertyReader.cc:4018 mode value is not a string. +0114 LibertyReader.cc:4021 missing mode value. +0115 LibertyReader.cc:4024 mode name is not a string. +0116 LibertyReader.cc:4027 mode missing values. +0117 LibertyReader.cc:4030 mode missing mode name and value. +0118 LibertyReader.cc:2541 unsupported model axis. +0119 LibertyReader.cc:4133 unsupported model axis. +0120 LibertyReader.cc:4162 unsupported model axis. +0121 LibertyReader.cc:4197 unsupported model axis. +0122 LibertyReader.cc:4252 table template %s not found. +0123 LibertyReader.cc:4331 %s is missing values. +0124 LibertyReader.cc:4356 %s is not a list of floats. +0125 LibertyReader.cc:4358 table row has %u columns but axis has %d. +0126 LibertyReader.cc:4368 table has %u rows but axis has %d. +0127 LibertyReader.cc:4421 lut output is not a string. +0128 LibertyReader.cc:4463 mode definition missing name. +0129 LibertyReader.cc:4480 mode value missing name. +0130 LibertyReader.cc:4494 when attribute inside table model. +0131 LibertyReader.cc:4543 %s attribute is not a string. +0132 LibertyReader.cc:4546 %s is not a simple attribute. +0133 LibertyReader.cc:4569 %s is not a simple attribute. +0134 LibertyReader.cc:4582 %s is not a simple attribute. +0135 LibertyReader.cc:4606 %s value %s is not a float. +0136 LibertyReader.cc:4635 %s missing values. +0137 LibertyReader.cc:4639 %s missing values. +0138 LibertyReader.cc:4642 %s is not a complex attribute. +0139 LibertyReader.cc:4668 %s is not a float. +0140 LibertyReader.cc:4691 %s is missing values. +0141 LibertyReader.cc:4694 %s has more than one string. +0142 LibertyReader.cc:4703 %s is missing values. +0143 LibertyReader.cc:4728 %s attribute is not boolean. +0144 LibertyReader.cc:4731 %s attribute is not boolean. +0145 LibertyReader.cc:4734 %s is not a simple attribute. +0146 LibertyReader.cc:4750 attribute %s value %s not recognized. +0147 LibertyReader.cc:4781 unknown early/late value. +0148 LibertyReader.cc:5007 OCV derate group named %s not found. +0149 LibertyReader.cc:5023 ocv_derate missing name. +0150 LibertyReader.cc:5076 unknown rise/fall. +0151 LibertyReader.cc:5096 unknown derate type. +0152 LibertyReader.cc:5128 unsupported model axis. +0153 LibertyReader.cc:5160 unsupported model axis. +0154 LibertyReader.cc:5192 unsupported model axis. +0155 LibertyReader.cc:5263 unknown pg_type. +0156 LibertyReader.cc:5658 port %s subscript out of range. +0157 LibertyReader.cc:5662 port range %s of non-bus port %s. +0158 LibertyReader.cc:5676 port %s not found. +0159 LibertyReader.cc:5746 port %s not found. +0160 LibertyReader.cc:1022 default_max_transition is 0.0. +0161 LibertyReader.cc:3468 max_transition is 0.0. +0162 LibertyReader.cc:4566 %s attribute is not an integer. +0163 LibertyReader.cc:1127 default_fanout_load is 0.0. +0164 LibertyReader.cc:2316 timing group from output port. +0165 LibertyReader.cc:2326 timing group from output port. +0166 LibertyReader.cc:2336 timing group from output port. +0167 LibertyReader.cc:2354 timing group from output port. +0168 LibertyReader.cc:2369 timing group from output port. +0169 LibertyReader.cc:4438 cell %s test_cell redefinition. +0170 LibertyReader.cc:3877 timing group missing related_pin/related_bus_pin. 0179 SpefReader.cc:734 %s. -0190 VerilogReader.cc:1756 %s is not a verilog module. -0191 VerilogReader.cc:1761 %s is not a verilog module. +0190 VerilogReader.cc:1782 %s is not a verilog module. +0191 VerilogReader.cc:1787 %s is not a verilog module. 0201 StaTcl.i:118 no network has been linked. 0202 StaTcl.i:132 network does not support edits. -0204 StaTcl.i:4072 POCV support requires compilation with SSTA=1. +0204 StaTcl.i:4123 POCV support requires compilation with SSTA=1. 0206 LibertyExpr.cc:175 %s %s. 0207 GraphDelayCalc1.cc:738 port not found in cell 0208 Graph.cc:793 arc_delay_annotated array bounds exceeded 0209 Graph.cc:808 arc_delay_annotated array bounds exceeded 0210 Graph.cc:820 arc_delay_annotated array bounds exceeded -0211 SdcNetwork.cc:1077 inst path string lenth estimate busted -0212 SdcNetwork.cc:1149 inst path string lenth estimate exceeded +0211 SdcNetwork.cc:1095 inst path string lenth estimate busted +0212 SdcNetwork.cc:1167 inst path string lenth estimate exceeded 0213 Sdc.cc:4021 group path name and is_default are mutually exclusive. 0214 WriteSdc.cc:1254 unknown exception type 0215 WriteSdc.cc:1795 illegal set_logic value @@ -188,16 +188,16 @@ 0256 ReportPath.cc:308 unsupported path type 0257 ReportPath.cc:347 unsupported path type 0259 ReportPath.cc:2376 unsupported path type -0260 Search.cc:2628 max tag group index exceeded -0261 Search.cc:2860 max tag index exceeded -0262 Search.cc:3551 unexpected filter path -0263 Search.cc:3719 tns incr existing vertex -0264 Sta.cc:4180 corresponding timing arc set not found in equiv cells +0260 Search.cc:2655 max tag group index exceeded +0261 Search.cc:2891 max tag index exceeded +0262 Search.cc:3618 unexpected filter path +0263 Search.cc:3786 tns incr existing vertex +0264 Sta.cc:4190 corresponding timing arc set not found in equiv cells 0265 TagGroup.cc:297 tag group missing tag 0266 Sta.cc:2090 '%s' is not a valid endpoint. 0267 Sta.cc:2014 '%s' is not a valid start point. -0272 StaTcl.i:4058 unknown common clk pessimism mode. -0273 StaTcl.i:5003 unknown clock sense +0272 StaTcl.i:4109 unknown common clk pessimism mode. +0273 StaTcl.i:5055 unknown clock sense 0299 Power.tcl:241 activity cannot be set on clock ports. 0300 CmdUtil.tcl:44 no commands match '$pattern'. 0301 Power.tcl:218 activity should be 0.0 to 1.0 or 2.0 @@ -209,7 +209,7 @@ 0314 CmdArgs.tcl:857 $arg_name must be a single net. 0315 CmdArgs.tcl:863 $arg_name '$object_type' is not a net. 0316 CmdArgs.tcl:868 $arg_name '$arg' not found. -0318 Search.tcl:1067 unknown path group '$name'. +0318 Search.tcl:1057 unknown path group '$name'. 0319 Sdc.tcl:288 $unit scale [format %.0e $scale] does not match library scale [format %.0e $unit_scale]. 0320 Sdc.tcl:437 current_design for other than top cell not supported. 0321 Sdc.tcl:474 patterns argument not supported with -of_objects. @@ -264,6 +264,7 @@ 0371 Sdc.tcl:3497 set_wire_load_min_block_size not supported. 0372 NetworkEdit.tcl:129 connect_pins is deprecated. Use connect_pin. 0373 Sdc.tcl:3647 define_corners must be called before read_liberty. +0374 Sta.cc:2416 maximum corner count exceeded 0400 Util.tcl:44 $cmd $key missing value. 0401 Util.tcl:61 $cmd $key missing value. 0402 Util.tcl:71 $cmd $arg is not a known keyword or flag. @@ -283,15 +284,15 @@ 0416 Util.tcl:305 $cmd_arg '$arg' is not a positive integer. 0417 Util.tcl:311 $cmd_arg '$arg' is not an integer greater than or equal to one. 0418 Util.tcl:317 $cmd_arg '$arg' is not between 0 and 100. -0419 Search.tcl:336 report_clock_skew -setup and -hold are mutually exclusive options. +0419 Search.tcl:326 report_clock_skew -setup and -hold are mutually exclusive options. 0420 Search.tcl:136 $cmd -path_delay must be min, min_rise, min_fall, max, max_rise, max_fall or min_max. 0421 Search.tcl:146 $cmd command failed. 0422 Search.tcl:165 -endpoint_count must be a positive integer. 0423 Search.tcl:174 -group_count must be >= 1. 0424 Search.tcl:205 '$arg' is not a known keyword or flag. 0425 Search.tcl:207 positional arguments not supported. -0426 Search.tcl:520 analysis type single is not consistent with doing both setup/max and hold/min checks. -0427 Search.tcl:525 positional arguments not supported. +0426 Search.tcl:510 analysis type single is not consistent with doing both setup/max and hold/min checks. +0427 Search.tcl:515 positional arguments not supported. 0428 DelayCalc.tcl:350 set_assigned_transition transition is not a float. 0430 Sdf.tcl:46 -cond_use min_max cannot be used with analysis type single. 0432 Sdf.tcl:157 SDF -divider must be / or . @@ -370,9 +371,9 @@ 0505 WritePathSpice.tcl:74 No -ground specified. 0506 WritePathSpice.tcl:78 No -path_args specified. 0507 WritePathSpice.tcl:83 No paths found for -path_args $path_args. -0508 Search.tcl:788 -min and -max cannot both be specified. -0509 Search.tcl:808 pin '$pin_arg' is hierarchical. -0510 Search.tcl:874 -format $format not recognized. +0508 Search.tcl:778 -min and -max cannot both be specified. +0509 Search.tcl:798 pin '$pin_arg' is hierarchical. +0510 Search.tcl:864 -format $format not recognized. 0511 Sdc.tcl:73 cannot open '$filename'. 0512 Sdc.tcl:128 incomplete command at end of file. 0513 Sdc.tcl:212 hierarchy separator must be one of '$sdc_dividers'. @@ -461,13 +462,13 @@ 0604 Sdc.tcl:281 unknown $unit prefix '$prefix'. 0605 Sdc.tcl:3547 wire load model '$model_name' not found. 0606 Property.tcl:77 get_property unsupported object type $object_type. -0607 StaTcl.i:4308 unknown report path field %s -0608 StaTcl.i:4320 unknown report path field %s -0609 Search.tcl:421 -all_violators is deprecated. Use -violators -0610 Search.tcl:501 -max_transition deprecated. Use -max_slew. -0611 Search.tcl:506 -min_transition deprecated. Use -min_slew. +0607 StaTcl.i:4359 unknown report path field %s +0608 StaTcl.i:4371 unknown report path field %s +0609 Search.tcl:411 -all_violators is deprecated. Use -violators +0610 Search.tcl:491 -max_transition deprecated. Use -max_slew. +0611 Search.tcl:496 -min_transition deprecated. Use -min_slew. 0612 Sdf.tcl:41 -cond_use must be min, max or min_max. -0616 Search.tcl:1018 specify one of -setup and -hold. +0616 Search.tcl:1008 specify one of -setup and -hold. 0617 Sdf.tcl:50 -analysis_type is deprecated. Use set_operating_conditions -analysis_type. 0618 DmpCeff.cc:1581 parasitic Pi model has NaNs. 0619 PathEnum.cc:474 path diversion missing edge. @@ -476,30 +477,30 @@ 0622 PathVertex.cc:279 missing requireds. 0623 PathVertexRep.cc:153 missing arrivals. 0624 PathVertexRep.cc:150 missing arrivals -0701 LibertyWriter.cc:416 %s/%s/%s timing model not supported. -0702 LibertyWriter.cc:436 3 axis table models not supported. -0703 LibertyWriter.cc:576 %s/%s/%s timing arc type %s not supported. -0704 LibertyWriter.cc:289 %s/%s bundled ports not supported. -0705 Liberty.cc:795 Liberty cell %s/%s for corner %s/%s not found. +0701 LibertyWriter.cc:411 %s/%s/%s timing model not supported. +0702 LibertyWriter.cc:431 3 axis table models not supported. +0703 LibertyWriter.cc:571 %s/%s/%s timing arc type %s not supported. +0704 LibertyWriter.cc:284 %s/%s bundled ports not supported. +0705 Liberty.cc:815 Liberty cell %s/%s for corner %s/%s not found. 0706 Parasitics.tcl:70 read_spef -increment is deprecated. 0710 LumpedCapDelayCalc.cc:169 gate delay input variable is NaN -0800 VcdReader.cc:109 unhandled vcd command. -0801 VcdReader.cc:145 timescale syntax error. -0802 VcdReader.cc:159 Unknown timescale unit. -0804 VcdReader.cc:200 Variable syntax error. +0800 VcdReader.cc:110 unhandled vcd command. +0801 VcdReader.cc:146 timescale syntax error. +0802 VcdReader.cc:160 Unknown timescale unit. +0804 VcdReader.cc:212 Variable syntax error. 0805 Vcd.cc:172 Unknown variable %s ID %s 0806 ReadVcdActivities.cc:247 clock %s vcd period %s differs from SDC clock period %s 0807 Sdc.tcl:394 only one of -cells, -data_pins, -clock_pins, -async_pins, -output_pins are suppported. -0810 MakeTimingModel.cc:189 clock %s pin %s is inside model block. -0900 LibertyReader.cc:2840 level_shifter_type must be HL, LH, or HL_LH -0901 LibertyReader.cc:2876 switch_cell_type must be coarse_grain or fine_grain -0902 LibertyReader.cc:2464 unsupported model axis. -0903 LibertyReader.cc:4219 %s group not in timing group. -0904 LibertyReader.cc:2447 receiver_capacitance group not in timing or pin group. -0906 LibertyReader.cc:4112 unsupported model axis. -0907 LibertyReader.cc:2492 output_current_%s group not in timing group. -0908 LibertyReader.cc:2591 vector reference_time not found. -0912 LibertyReader.cc:2589 vector index_1 and index_2 must have exactly one value. -0913 LibertyReader.cc:2531 output current waveform %.2e %.2e not found. -0914 LibertyReader.cc:2624 normalized_driver_waveform variable_2 must be normalized_voltage -0915 LibertyReader.cc:2627 normalized_driver_waveform variable_1 must be input_net_transition +0810 MakeTimingModel.cc:202 clock %s pin %s is inside model block. +0900 LibertyReader.cc:2834 level_shifter_type must be HL, LH, or HL_LH +0901 LibertyReader.cc:2870 switch_cell_type must be coarse_grain or fine_grain +0902 LibertyReader.cc:2452 unsupported model axis. +0903 LibertyReader.cc:4213 %s group not in timing group. +0904 LibertyReader.cc:2435 receiver_capacitance group not in timing or pin group. +0906 LibertyReader.cc:4106 unsupported model axis. +0907 LibertyReader.cc:2480 output_current_%s group not in timing group. +0908 LibertyReader.cc:2585 vector reference_time not found. +0912 LibertyReader.cc:2583 vector index_1 and index_2 must have exactly one value. +0913 LibertyReader.cc:2521 output current waveform %.2e %.2e not found. +0914 LibertyReader.cc:2618 normalized_driver_waveform variable_2 must be normalized_voltage +0915 LibertyReader.cc:2621 normalized_driver_waveform variable_1 must be input_net_transition diff --git a/search/PathEnumed.hh b/search/PathEnumed.hh index 3a2a3dfd..7461ab99 100644 --- a/search/PathEnumed.hh +++ b/search/PathEnumed.hh @@ -64,7 +64,7 @@ protected: TimingArc *prev_arc_; Arrival arrival_; VertexId vertex_id_; - unsigned int tag_index_:tag_index_bits; + TagIndex tag_index_; }; void deletePathEnumed(PathEnumed *path); diff --git a/search/Search.cc b/search/Search.cc index d1e25b1a..b8307a94 100644 --- a/search/Search.cc +++ b/search/Search.cc @@ -2887,7 +2887,7 @@ Search::findTag(const RiseFall *rf, tag_capacity_ = new_capacity; tag_set_->reserve(new_capacity); } - if (tag_next_ > tag_index_max) + if (tag_next_ == tag_index_max) report_->critical(261, "max tag index exceeded"); } if (own_states) diff --git a/search/Sta.cc b/search/Sta.cc index 29c1319d..103055ea 100644 --- a/search/Sta.cc +++ b/search/Sta.cc @@ -2412,6 +2412,8 @@ Sta::makeCorners() void Sta::makeCorners(StringSet *corner_names) { + if (corner_names->size() > corner_count_max) + report_->error(374, "maximum corner count exceeded"); sdc_->makeCornersBefore(); parasitics_->deleteParasitics(); corners_->makeCorners(corner_names); diff --git a/search/Tag.cc b/search/Tag.cc index e895c730..e484c566 100644 --- a/search/Tag.cc +++ b/search/Tag.cc @@ -53,12 +53,12 @@ Tag::Tag(TagIndex index, clk_info_(clk_info), input_delay_(input_delay), states_(states), + index_(index), is_clk_(is_clk), is_filter_(false), is_loop_(false), is_segment_start_(is_segment_start), own_states_(own_states), - index_(index), tr_index_(tr_index), path_ap_index_(path_ap_index) { diff --git a/search/Tag.hh b/search/Tag.hh index 57850138..ec55764e 100644 --- a/search/Tag.hh +++ b/search/Tag.hh @@ -89,13 +89,13 @@ private: ExceptionStateSet *states_; size_t hash_; size_t match_hash_; + TagIndex index_; bool is_clk_:1; bool is_filter_:1; bool is_loop_:1; bool is_segment_start_:1; // Indicates that states_ is owned by the tag. bool own_states_:1; - TagIndex index_:tag_index_bits; unsigned int tr_index_:RiseFall::index_bit_count; unsigned int path_ap_index_:path_ap_index_bit_count; };