diff --git a/doc/OpenSTA.odt b/doc/OpenSTA.odt index 95e9a184..287535a1 100644 Binary files a/doc/OpenSTA.odt and b/doc/OpenSTA.odt differ diff --git a/doc/OpenSTA.pdf b/doc/OpenSTA.pdf index 547636d4..fe20035b 100644 Binary files a/doc/OpenSTA.pdf and b/doc/OpenSTA.pdf differ diff --git a/doc/messages.txt b/doc/messages.txt index 9eb9087f..37d6a037 100644 --- a/doc/messages.txt +++ b/doc/messages.txt @@ -1,511 +1,513 @@ -egrep "([eE]rror|[wW]arn)\([0-9]" */*.{cc,ll,yy} --exclude "build/*" include/sta/*.hh >doc/messages.txt -egrep "(sta_error|sta_warn) \([0-9]" */*.tcl >>doc/messages.txt -last used 593 - -dcalc/ArnoldiDelayCalc.cc: criticalError(204, "arnoldi delay calc failed."); -dcalc/DmpCeff.cc: report_->warn(1, "cell %s delay model not supported on SPF parasitics by DMP delay calculator", -liberty/InternalPower.cc: criticalError(229, "unsupported table order"); -liberty/InternalPower.cc: criticalError(230, "unsupported table axes"); -liberty/Liberty.cc: criticalError(231, "unsupported slew degradation table axes"); -liberty/Liberty.cc: criticalError(232, "unsupported slew degradation table axes"); -liberty/Liberty.cc: criticalError(233, "unsupported slew degradation table order"); -liberty/Liberty.cc: criticalError(234, "unsupported slew degradation table axes"); -liberty/Liberty.cc: report->warn(2, "cell %s/%s port %s not found in cell %s/%s.", -liberty/Liberty.cc: report->warn(3, "cell %s/%s %s -> %s timing group %s not found in cell %s/%s.", -liberty/Liberty.cc: criticalError(235, "timing arc set max index exceeded"); -liberty/Liberty.cc: criticalError(205, "timing arc count mismatch"); -liberty/Liberty.cc: report->warn(4, "cell %s/%s %s -> %s latch enable %s_edge timing arc is inconsistent with %s -> %s setup_%s check.", -liberty/Liberty.cc: report->warn(5, "cell %s/%s %s -> %s latch enable %s_edge is inconsistent with latch group enable function positive sense.", -liberty/Liberty.cc: report->warn(6, "cell %s/%s %s -> %s latch enable %s_edge is inconsistent with latch group enable function negative sense.", -liberty/LibertyExpr.cc: report_->error(7, "%s references unknown port %s.", -liberty/LibertyExpr.cc: report_->error(206, "%s %s.", error_msg_, msg); -liberty/LibertyParser.cc: criticalError(236, "valueIterator called for LibertySimpleAttribute"); -liberty/LibertyParser.cc: criticalError(237, "LibertyStringAttrValue called for float value"); -liberty/LibertyParser.cc: criticalError(238, "LibertyStringAttrValue called for float value"); -liberty/LibertyParser.cc: liberty_report->fileWarn(24, liberty_filename, line, -liberty/LibertyParser.cc: sta::liberty_report->vfileError(25, sta::liberty_filename, sta::liberty_line, -liberty/LibertyParser.cc: sta::liberty_report->fileError(26, sta::liberty_filename, sta::liberty_line, -liberty/LibertyReader.cc: libWarn(53, group, "library %s already exists.", name); -liberty/LibertyReader.cc: libError(30, group, "library does not have a name."); -liberty/LibertyReader.cc: libWarn(31, group, "default_wire_load %s not found.", default_wireload_); -liberty/LibertyReader.cc: libWarn(32, group, "default_wire_selection %s not found.", -liberty/LibertyReader.cc: libWarn(33, group, "input_threshold_pct_%s not found.", tr->name()); -liberty/LibertyReader.cc: libWarn(34, group, "output_threshold_pct_%s not found.", tr->name()); -liberty/LibertyReader.cc: libWarn(35, group, "slew_lower_threshold_pct_%s not found.", tr->name()); -liberty/LibertyReader.cc: libWarn(36, group, "slew_upper_threshold_pct_%s not found.", tr->name()); -liberty/LibertyReader.cc: libError(37, group, "Library %s is missing one or more thresholds.", -liberty/LibertyReader.cc: libWarn(38, attr, "unknown unit multiplier %s.", mult_str); -liberty/LibertyReader.cc: libWarn(39, attr, "unknown unit scale %c.", scale_char); -liberty/LibertyReader.cc: libWarn(40, attr, "unknown unit suffix %s.", s + 1); -liberty/LibertyReader.cc: libWarn(41, attr, "capacitive_load_units are not ff or pf."); -liberty/LibertyReader.cc: libWarn(42, attr, "capacitive_load_units are not a string."); -liberty/LibertyReader.cc: libWarn(43, attr, "capacitive_load_units missing suffix."); -liberty/LibertyReader.cc: libWarn(44, attr, "capacitive_load_units scale is not a float."); -liberty/LibertyReader.cc: libWarn(45, attr, "capacitive_load_units missing scale and suffix."); -liberty/LibertyReader.cc: libWarn(46, attr, "capacitive_load_unit missing values suffix."); -liberty/LibertyReader.cc: libWarn(47, attr, "delay_model %s not supported.", type_name); -liberty/LibertyReader.cc: libWarn(48, attr, "delay_model %s not supported.", type_name); -liberty/LibertyReader.cc: libWarn(49, attr, "delay_model %s not supported.", type_name); -liberty/LibertyReader.cc: libWarn(50, attr, "delay_model %s not supported.\n.", type_name); -liberty/LibertyReader.cc: libWarn(51, attr, "unknown delay_model %s\n.", type_name); -liberty/LibertyReader.cc: libWarn(52, attr, "unknown bus_naming_style format."); -liberty/LibertyReader.cc: libWarn(54, attr, "voltage_map voltage is not a float."); -liberty/LibertyReader.cc: libWarn(55, attr, "voltage_map missing voltage."); -liberty/LibertyReader.cc: libWarn(56, attr, "voltage_map supply name is not a string."); -liberty/LibertyReader.cc: libWarn(57, attr, "voltage_map missing supply name and voltage."); -liberty/LibertyReader.cc: libWarn(58, attr, "voltage_map missing values suffix."); -liberty/LibertyReader.cc: libWarn(59, attr, "default_wire_load_mode %s not found.", -liberty/LibertyReader.cc: libWarn(60, attr, "default_operating_condition %s not found.", -liberty/LibertyReader.cc: libWarn(61, group, "table template does not have a name."); -liberty/LibertyReader.cc: libWarn(62, group, "missing variable_%d attribute.", index + 1); -liberty/LibertyReader.cc: libWarn(63, attr, "axis type %s not supported.", type); -liberty/LibertyReader.cc: libWarn(64, group, "bus type %s missing bit_from.", name); -liberty/LibertyReader.cc: libWarn(65, group, "bus type %s missing bit_to.", name); -liberty/LibertyReader.cc: libWarn(66, group, "type does not have a name."); -liberty/LibertyReader.cc: libWarn(67, group, "scaling_factors do not have a name."); -liberty/LibertyReader.cc: libWarn(68, group, "operating_conditions does not have a name."); -liberty/LibertyReader.cc: libWarn(69, group, "wire_load does not have a name."); -liberty/LibertyReader.cc: libWarn(70, attr, "fanout_length is missing length and fanout."); -liberty/LibertyReader.cc: libWarn(71, group, "wire_load_selection does not have a name."); -liberty/LibertyReader.cc: libWarn(72, attr, "wireload %s not found.", wireload_name); -liberty/LibertyReader.cc: libWarn(73, attr, -liberty/LibertyReader.cc: libWarn(74, attr, "wire_load_from_area min not a float."); -liberty/LibertyReader.cc: libWarn(75, attr, "wire_load_from_area max not a float."); -liberty/LibertyReader.cc: libWarn(76, attr, "wire_load_from_area missing parameters."); -liberty/LibertyReader.cc: libWarn(77, attr, "wire_load_from_area missing parameters."); -liberty/LibertyReader.cc: libWarn(78, group, "cell does not have a name."); -liberty/LibertyReader.cc: libWarn(79, group, "cell %s ocv_derate_group %s not found.", -liberty/LibertyReader.cc: libWarn(80, line, "port %s function size does not match port size.", -liberty/LibertyReader.cc: libWarn(81, line, "%s %s bus width mismatch.", type, clk_attr); -liberty/LibertyReader.cc: libWarn(82, line, "%s %s bus width mismatch.", type, data_attr); -liberty/LibertyReader.cc: libWarn(83, line, "%s %s bus width mismatch.", type, "clear"); -liberty/LibertyReader.cc: libWarn(84, line, "%s %s bus width mismatch.", type, "preset"); -liberty/LibertyReader.cc: libWarn(85, line, "latch enable function is non-unate for port %s.", -liberty/LibertyReader.cc: libWarn(86, line, "latch enable function is unknown for port %s.", -liberty/LibertyReader.cc: libWarn(87, group, "operating conditions %s not found.", op_cond_name); -liberty/LibertyReader.cc: libWarn(88, group, "scaled_cell does not have an operating condition."); -liberty/LibertyReader.cc: libWarn(89, group, "scaled_cell cell %s has not been defined.", name); -liberty/LibertyReader.cc: libWarn(90, group, "scaled_cell does not have a name."); -liberty/LibertyReader.cc: libWarn(91, group, "scaled_cell %s, %s port functions do not match cell port functions.", -liberty/LibertyReader.cc: libWarn(92, group, "scaled_cell ports do not match cell ports."); -liberty/LibertyReader.cc: libWarn(93, group, "scaled_cell %s, %s timing does not match cell timing.", -liberty/LibertyReader.cc: libWarn(94, line, "combinational timing to an input port."); -liberty/LibertyReader.cc: visitor->libWarn(95, line_, "missing %s_transition.", tr->name()); -liberty/LibertyReader.cc: visitor->libWarn(96, line_, "missing cell_%s.", tr->name()); -liberty/LibertyReader.cc: libWarn(97, timing->line(), -liberty/LibertyReader.cc: libWarn(98, power_group->line(), -liberty/LibertyReader.cc: libWarn(99, attr, "scaling_factors %s not found.", scale_factors_name); -liberty/LibertyReader.cc: libWarn(100, group, "pin name is not a string."); -liberty/LibertyReader.cc: libWarn(101, group, "pin name is not a string."); -liberty/LibertyReader.cc: libWarn(102, group, "pin name is not a string."); -liberty/LibertyReader.cc: libWarn(103, group, "bus %s bus_type not found.", group->firstName()); -liberty/LibertyReader.cc: libWarn(104, attr, "bus_type %s not found.", bus_type); -liberty/LibertyReader.cc: libWarn(105, attr, "bus_type is not a string."); -liberty/LibertyReader.cc: libWarn(106, group, "bundle %s member not found.", group->firstName()); -liberty/LibertyReader.cc: libWarn(107, attr, "member is not a string."); -liberty/LibertyReader.cc: libWarn(108, attr,"members attribute is missing values."); -liberty/LibertyReader.cc: libWarn(109, attr, "unknown port direction."); -liberty/LibertyReader.cc: libWarn(110,attr, "pulse_latch unknown pulse type."); -liberty/LibertyReader.cc: libWarn(111, attr, "unknown timing_type %s.", type_name); -liberty/LibertyReader.cc: libWarn(112, attr, "unknown timing_sense %s.", sense_name); -liberty/LibertyReader.cc: libWarn(113, attr, "mode value is not a string."); -liberty/LibertyReader.cc: libWarn(114, attr, "missing mode value."); -liberty/LibertyReader.cc: libWarn(115, attr, "mode name is not a string."); -liberty/LibertyReader.cc: libWarn(116, attr, "mode missing values."); -liberty/LibertyReader.cc: libWarn(117, attr, "mode missing mode name and value."); -liberty/LibertyReader.cc: libWarn(118, group, "unsupported model axis."); -liberty/LibertyReader.cc: libWarn(119, group, "unsupported model axis."); -liberty/LibertyReader.cc: libWarn(120, group, "unsupported model axis."); -liberty/LibertyReader.cc: libWarn(121, group, "unsupported model axis."); -liberty/LibertyReader.cc: libWarn(122, group, "table template %s not found.", template_name); -liberty/LibertyReader.cc: libWarn(123, attr, "%s is missing values.", attr->name()); -liberty/LibertyReader.cc: libWarn(124, attr, "%s is not a list of floats.", attr->name()); -liberty/LibertyReader.cc: libWarn(125, attr, "table row has %u columns but axis has %d.", -liberty/LibertyReader.cc: libWarn(126, attr, "table has %u rows but axis has %d.", -liberty/LibertyReader.cc: libWarn(127, group, "lut output is not a string."); -liberty/LibertyReader.cc: libWarn(128, group, "mode definition does not have a name."); -liberty/LibertyReader.cc: libWarn(129, group, "mode value does not have a name."); -liberty/LibertyReader.cc: libWarn(130, attr, "when attribute inside table model."); -liberty/LibertyReader.cc: libWarn(131, attr, "%s attribute is not a string.", attr->name()); -liberty/LibertyReader.cc: libWarn(132, attr, "%s is not a simple attribute.", attr->name()); -liberty/LibertyReader.cc: libWarn(132, attr, "%s attribute is not an integer.",attr->name()); -liberty/LibertyReader.cc: libWarn(133, attr, "%s is not a simple attribute.", attr->name()); -liberty/LibertyReader.cc: libWarn(134, attr, "%s is not a simple attribute.", attr->name()); -liberty/LibertyReader.cc: libWarn(135, attr, "%s value %s is not a float.", -liberty/LibertyReader.cc: libWarn(136, attr, "%s missing values.", attr->name()); -liberty/LibertyReader.cc: libWarn(137, attr, "%s missing values.", attr->name()); -liberty/LibertyReader.cc: libWarn(138, attr, "%s is not a complex attribute.", attr->name()); -liberty/LibertyReader.cc: libWarn(139, attr, "%s is not a float.", token); -liberty/LibertyReader.cc: libWarn(140, attr, "%s is missing values.", attr->name()); -liberty/LibertyReader.cc: libWarn(141, attr, "%s has more than one string.", attr->name()); -liberty/LibertyReader.cc: libWarn(142, attr, "%s is missing values.", attr->name()); -liberty/LibertyReader.cc: libWarn(143, attr, "%s attribute is not boolean.", attr->name()); -liberty/LibertyReader.cc: libWarn(144, attr, "%s attribute is not boolean.", attr->name()); -liberty/LibertyReader.cc: libWarn(145, attr, "%s is not a simple attribute.", attr->name()); -liberty/LibertyReader.cc: libWarn(146, attr, "attribute %s value %s not recognized.", -liberty/LibertyReader.cc: libWarn(147, attr, "unknown early/late value."); -liberty/LibertyReader.cc: libWarn(148, attr, "OCV derate group named %s not found.", derate_name); -liberty/LibertyReader.cc: libWarn(149, group, "ocv_derate does not have a name."); -liberty/LibertyReader.cc: libError(150, attr, "unknown rf_type."); -liberty/LibertyReader.cc: libWarn(151, attr, "unknown derate type."); -liberty/LibertyReader.cc: libWarn(152, group, "unsupported model axis."); -liberty/LibertyReader.cc: libWarn(153, group, "unsupported model axis."); -liberty/LibertyReader.cc: libWarn(154, group, "unsupported model axis."); -liberty/LibertyReader.cc: libError(155, attr, "unknown pg_type."); -liberty/LibertyReader.cc: visitor_->libWarn(156, line_, "port %s subscript out of range.", -liberty/LibertyReader.cc: visitor_->libWarn(157, line_, "port range %s of non-bus port %s.", -liberty/LibertyReader.cc: visitor_->libWarn(158, line_, "port %s not found.", port_name); -liberty/LibertyReader.cc: visitor_->libWarn(159, line_, "port %s not found.", bus_bit_name); -liberty/TableModel.cc: criticalError(239, "unsupported table order"); -liberty/TableModel.cc: criticalError(240, "unsupported table axes"); -liberty/TableModel.cc: criticalError(241, "unsupported table order"); -liberty/TableModel.cc: criticalError(242, "unsupported table axes"); -liberty/TimingArc.cc: criticalError(243, "timing arc max index exceeded\n"); -network/ConcreteNetwork.cc: report->error(8, "cell type %s can not be linked.", top_cell_name); -parasitics/SpefReader.cc: warn(167, "illegal bus delimiters."); -parasitics/SpefReader.cc: warn(168, "unknown units %s.", units); -parasitics/SpefReader.cc: warn(168, "unknown units %s.", units); -parasitics/SpefReader.cc: warn(170, "unknown units %s.", units); -parasitics/SpefReader.cc: warn(168, "unknown units %s.", units); -parasitics/SpefReader.cc: warn(169, "no name map entry for %d.", index); -parasitics/SpefReader.cc: warn(170, "unknown port direction %s.", spef_dir); -parasitics/SpefReader.cc: warn(171, "pin %s not found.", name); -parasitics/SpefReader.cc: warn(172, "instance %s not found.", name); -parasitics/SpefReader.cc: warn(173, "pin %s not found.", name); -parasitics/SpefReader.cc: warn(174, "net %s not found.", name); -parasitics/SpefReader.cc: warn(175, "%s not connected to net %s.", name, network_->pathName(net_)); -parasitics/SpefReader.cc: warn(176, "pin %s not found.", name); -parasitics/SpefReader.cc: warn(177, "node %s not a pin or net:number", name); -parasitics/SpefReader.cc: warn(178, "pin %s not found.", name); -parasitics/SpefReader.cc: sta::spef_reader->warn(179, "%s.", msg); -sdc/Clock.cc: criticalError(244, "generated clock edges size is not three."); -sdc/Sdc.cc: report_->warn(9, "No common period was found between clocks %s and %s.", -sdf/SdfReader.cc: sdfError(180, "TIMESCALE units not us, ns, or ps."); -sdf/SdfReader.cc: sdfError(181, "TIMESCALE multiplier not 1, 10, or 100."); -sdf/SdfReader.cc: sdfError(182, "pin %s is a hierarchical pin.", from_pin_name); -sdf/SdfReader.cc: sdfError(183, "pin %s is a hierarchical pin.", to_pin_name); -sdf/SdfReader.cc: sdfError(184, "INTERCONNECT from %s to %s not found.", -sdf/SdfReader.cc: sdfError(185, "pin %s not found.", from_pin_name); -sdf/SdfReader.cc: sdfError(186, "pin %s not found.", to_pin_name); -sdf/SdfReader.cc: sdfError(187, "pin %s not found.", to_pin_name); -sdf/SdfReader.cc: sdfError(188, "%s with no triples.", sdf_cmd); -sdf/SdfReader.cc: sdfError(189, "%s with more than 2 triples.", sdf_cmd); -sdf/SdfReader.cc: sdfError(190, "instance %s cell %s does not match enclosing cell %s.", -sdf/SdfReader.cc: sdfError(191, "cell %s IOPATH %s -> %s not found.", -sdf/SdfReader.cc: sdfError(192, "cell %s %s -> %s %s check not found.", -sdf/SdfReader.cc: sdfError(193, "%s not supported.", feature); -sdf/SdfReader.cc: sdfError(194, "instance %s port %s not found.", -sdf/SdfReader.cc: sdfError(195, "instance %s not found.", inst_name.c_str()); -sdf/SdfReader.cc: sta::sdf_reader->sdfError(196, "%s.\n", msg); -search/CheckTiming.cc: criticalError(245, "unknown print flag"); -search/Corner.cc: criticalError(246, "unknown parasitic analysis point count"); -search/Corner.cc: criticalError(247, "unknown analysis point count"); -search/Crpr.cc: criticalError(248, "missing prev paths"); -search/GatedClk.cc: criticalError(249, "illegal gated clock active value"); -search/Genclks.cc: report_->warn(10, "no master clock found for generated clock %s.", -search/Genclks.cc: report_->error(11, "generated clock %s is in the fanout of multiple clocks.", -search/Genclks.cc: report_->error(12, -search/Genclks.cc: report_->warn(13, "generated clock %s source pin %s missing paths from master clock %s.", -search/PathEnum.cc: criticalError(250, "diversion path not found"); -search/Sim.cc: report_->warn(15, "propagated logic value %c differs from constraint value of %c on pin %s.", -search/Sta.cc: report_->fileWarn(160, file, line, "'%s' is not a valid startpoint.", -search/Sta.cc: report_->warn(16, "'%s' is not a valid startoint.", -search/Sta.cc: report_->fileWarn(161, file, line, "'%s' is not a valid endpoint.", -search/Sta.cc: report_->warn(17, "'%s' is not a valid endpoint.", -search/VertexVisitor.cc: criticalError(266, "VertexPinCollector::copy not supported."); -search/WritePathSpice.cc: report_->error(24, "pg_pin %s/%s voltage %s not found,", -search/WritePathSpice.cc: report_->error(25, "Liberty pg_port %s/%s missing voltage_name attribute,", -search/WritePathSpice.cc: report_->error(26, "%s pg_port %s not found,", -search/WritePathSpice.cc: report_->error(27, "no register/latch found for path from %s to %s,", -search/WritePathSpice.cc: report_->error(28, "The following subkcts are missing from %s", -search/WritePathSpice.cc: report_->error(29, "subckt %s port %s has no corresponding liberty port, pg_port and is not power or ground.", -search/WritePathSpice.cc: criticalError(267, "out of memory"); -verilog/VerilogReader.cc: warn(165, module->filename(), module->line(), -verilog/VerilogReader.cc: warn(166, module->filename(), module->line(), -verilog/VerilogReader.cc: linkWarn(197, module->filename(), module->line(), -verilog/VerilogReader.cc: reader->warn(18, filename_, dcl->line(), -verilog/VerilogReader.cc: reader->warn(19, filename_, inst->line(), -verilog/VerilogReader.cc: reader->warn(20, reader->filename(), reader->line(), -verilog/VerilogReader.cc: report->error(162, "%s is not a verilog module.", top_cell_name); -verilog/VerilogReader.cc: report->error(163, "%s is not a verilog module.", top_cell_name); -verilog/VerilogReader.cc: linkWarn(198, filename_, mod_inst->line(), -verilog/VerilogReader.cc: linkError(199, filename_, mod_inst->line(), -verilog/VerilogReader.cc: linkWarn(200, parent_module->filename(), mod_inst->line(), -verilog/VerilogReader.cc: linkWarn(201, parent_module->filename(), mod_inst->line(), -verilog/VerilogReader.cc: linkWarn(202, parent_module->filename(), mod_inst->line(), -verilog/VerilogReader.cc: linkWarn(203, module->filename(), assign->line(), -verilog/VerilogReader.cc: sta::verilog_reader->report()->fileError(164, -verilog/VerilogWriter.cc: criticalError(268, "unknown port direction"); -parasitics/SpefParse.yy: sta::spef_reader->warn(21, "%d is not positive.", value); -parasitics/SpefParse.yy: sta::spef_reader->warn(22, "%.4f is not positive.", value); -parasitics/SpefParse.yy: sta::spef_reader->warn(23, "%.4f is not positive.", value); -include/sta/ArrayTable.hh: criticalError(223, "max array table block count exceeded."); -include/sta/ArrayTable.hh: criticalError(222, "null ObjectId reference is undefined."); -include/sta/MinMaxValues.hh: criticalError(226, "uninitialized value reference"); -include/sta/ObjectTable.hh: criticalError(224, "max object table block count exceeded."); -include/sta/ObjectTable.hh: criticalError(225, "null ObjectId reference is undefined."); -dcalc/DelayCalc.tcl: sta_error 435 "delay calculator $alg not found." -parasitics/Parasitics.tcl: sta_error 433 "path instance '$path' not found." -parasitics/Parasitics.tcl: sta_error 434 "-reduce_to must be pi_elmore or pi_pole_residue2." -sdf/Sdf.tcl: sta_error 429 "-analysis_type must be single, bc_wc or on_chip_variation" -sdf/Sdf.tcl: sta_error 430 "-cond_use min_max cannot be used with analysis type single." -sdf/Sdf.tcl: sta_error 431 "$key must be sdf_min, sdf_typ, or sdf_max." -sdf/Sdf.tcl: sta_error 432 "SDF -divider must be / or ." -tcl/Cmds.tcl: sta_error 439 "unsupported object type $list_type." -tcl/Cmds.tcl: sta_error 440 "-from/-to arguments not supported with -of_objects." -tcl/Cmds.tcl: sta_error 441 "unsupported -filter expression." -tcl/Cmds.tcl: sta_error 442 "$cmd missing -from argument." -tcl/Cmds.tcl: sta_error 443 "$cmd missing -to argument." -tcl/Cmds.tcl: sta_error 444 "$cmd delay is not a float." -tcl/Cmds.tcl: sta_error 445 "set_annotated_delay -cell and -net options are mutually excluive." -tcl/Cmds.tcl: sta_error 446 "$cmd pin [get_full_name $pin] is not attached to instance [get_full_name $inst]." -tcl/Cmds.tcl: sta_error 447 "$cmd pin [get_full_name $pin] is not attached to instance [get_full_name $inst]" -tcl/Cmds.tcl: sta_error 448 "$cmd -cell or -net required." -tcl/Cmds.tcl: sta_error 449 "$cmd missing -from argument." -tcl/Cmds.tcl: sta_error 450 "$cmd -clock must be rise or fall." -tcl/Cmds.tcl: sta_error 451 "$cmd missing -to argument." -tcl/Cmds.tcl: sta_error 452 "$cmd missing -setup|-hold|-recovery|-removal check type.." -tcl/Cmds.tcl: sta_error 453 "$cmd check_value is not a float." -tcl/Cmds.tcl: sta_error 454 "the -all and -name options are mutually exclusive." -tcl/Cmds.tcl: sta_error 455 "either -all or -name options must be specified." -tcl/Cmds.tcl: sta_error 456 "one of -logically_exclusive, -physically_exclusive or -asynchronous is required." -tcl/Cmds.tcl: sta_error 457 "the keywords -logically_exclusive, -physically_exclusive and -asynchronous are mutually exclusive." -tcl/Cmds.tcl: sta_warn 303 "-clock ignored for clock objects." -tcl/Cmds.tcl: sta_error 458 "-source '[$pin path_name]' is not a clock pin." -tcl/Cmds.tcl: sta_error 459 "-from/-to must be used together." -tcl/Cmds.tcl: sta_error 460 "-rise, -fall options not allowed for single clock uncertainty." -tcl/Cmds.tcl: sta_error 461 "missing -from, -rise_from or -fall_from argument." -tcl/Cmds.tcl: sta_error 462 "missing -to, -rise_to or -fall_to argument." -tcl/Cmds.tcl: sta_warn 304 "-from/-to keywords ignored for lib_pin, port and pin arguments." -tcl/Cmds.tcl: sta_error 463 "-from/-to hierarchical instance not supported." -tcl/Cmds.tcl: sta_error 464 "$cmd command failed." -tcl/Cmds.tcl: sta_error 465 "positional arguments not supported." -tcl/Cmds.tcl: sta_error 466 "-from, -through or -to required." -tcl/Cmds.tcl: sta_error 467 "unsupported object type $object_type." -tcl/Cmds.tcl: sta_warn 305 "object '$obj' not found." -tcl/Cmds.tcl: sta_error 468 "$corner_name is not the name of process corner." -tcl/Cmds.tcl: sta_error 469 "-corner keyword required with multi-corner analysis." -tcl/Cmds.tcl: sta_error 470 "$corner_name is not the name of process corner." -tcl/Cmds.tcl: sta_error 471 "missing -corner arg." -tcl/Cmds.tcl: sta_error 472 "$corner_name is not the name of process corner." -tcl/Cmds.tcl: sta_error 473 "$corner_name is not the name of process corner." -tcl/Cmds.tcl: sta_error 474 "both -min and -max specified." -tcl/Cmds.tcl: sta_error 475 "both -min and -max specified." -tcl/Cmds.tcl: sta_error 476 "only one of -early and -late can be specified." -tcl/Cmds.tcl: sta_error 477 "-early or -late must be specified." -tcl/Cmds.tcl: sta_error 478 "both -early and -late specified." -tcl/Cmds.tcl: sta_error 479 "$arg_name must be a single library." -tcl/Cmds.tcl: sta_error 480 "$arg_name type '$object_type' is not a library." -tcl/Cmds.tcl: sta_error 481 "library '$arg' not found." -tcl/Cmds.tcl: sta_error 482 "$arg_name must be a single lib cell." -tcl/Cmds.tcl: sta_error 483 "$arg_name must be a single instance." -tcl/Cmds.tcl: sta_error 484 "$arg_name type '$object_type' is not an instance." -tcl/Cmds.tcl: sta_error 485 "instance '$arg' not found." -tcl/Cmds.tcl: sta_error 486 "$arg_name type '$object_type' is not an instance." -tcl/Cmds.tcl: sta_error 487 "instance '$arg' not found." -tcl/Cmds.tcl: sta_error 488 "$arg_name type '$object_type' is not a pin or port." -tcl/Cmds.tcl: sta_error 489 "pin '$arg' not found." -tcl/Cmds.tcl: sta_error 490 "$arg_name type '$object_type' is not a port." -tcl/Cmds.tcl: sta_warn 313 "unsupported object type $object_type." -tcl/Cmds.tcl: sta_warn 314"$arg_name must be a single net." -tcl/Cmds.tcl: sta_warn 315 "$arg_name '$object_type' is not a net." -tcl/Cmds.tcl: sta_warn 316 "$arg_name '$arg' not found." -tcl/Cmds.tcl: sta_error 491 "$cmd object is null." -tcl/Cmds.tcl: sta_error 492 "$cmd $type_key must be specified with object name argument." -tcl/Cmds.tcl: sta_error 492 "get_property unsupported object type $object_type." -tcl/Cmds.tcl: sta_error 493 "get_property $object is not an object." -tcl/Cmds.tcl: sta_error 494 "$object_type not supported." -tcl/Cmds.tcl: sta_error 495 "$object_type '$object_name' not found." -tcl/Cmds.tcl: sta_error 496 "Directory $spice_dir not found.\n" -tcl/Cmds.tcl: sta_error 497 "$spice_dir is not a directory.\n" -tcl/Cmds.tcl: sta_error 498 "Cannot write in $spice_dir.\n" -tcl/Cmds.tcl: sta_error 499 "No -spice_directory specified.\n" -tcl/Cmds.tcl: sta_error 500 "-lib_subckt_file $lib_subckt_file is not readable.\n" -tcl/Cmds.tcl: sta_error 501 "No -lib_subckt_file specified.\n" -tcl/Cmds.tcl: sta_error 502 "-model_file $model_file is not readable.\n" -tcl/Cmds.tcl: sta_error 503 "No -model_file specified.\n" -tcl/Cmds.tcl: sta_error 504 "No -power specified.\n" -tcl/Cmds.tcl: sta_error 505 "No -ground specified.\n" -tcl/Cmds.tcl: sta_error 506 "No -path_args specified.\n" -tcl/Cmds.tcl: sta_error 507 "No paths found for -path_args $path_args.\n" -tcl/Link.tcl: sta_error 593 "missing top_cell_name argument and no current_design." -tcl/Network.tcl: sta_error 589 "unknown namespace $namespc." -tcl/Network.tcl: sta_error 590 "instance $instance_path not found." -tcl/Network.tcl: sta_error 591 "net $net_path not found." -tcl/Network.tcl: sta_error 592 "net $net_path not found." -tcl/NetworkEdit.tcl: sta_error 586 "unsupported object type $object_type." -tcl/NetworkEdit.tcl: sta_warn 372 "connect_pins is deprecated. Use connect_pin." -tcl/NetworkEdit.tcl: sta_error 587 "unsupported object type $object_type." -tcl/NetworkEdit.tcl: sta_error 588 "unsupported object type $object_type." -tcl/NetworkEdit.tcl: sta_warn 372 "disconnect_pins is deprecated. Use disconnect_pin." -tcl/Power.tcl: sta_warn 301 "activity should be 0.0 to 1.0 or 2.0" -tcl/Power.tcl: sta_warn 302 "duty should be 0.0 to 1.0" -tcl/Sdc.tcl: sta_error 511 "cannot open '$filename'." -tcl/Sdc.tcl: sta_error 512 "incomplete command at end of file." -tcl/Sdc.tcl: sta_error 513 "hierarchy separator must be one of '$sdc_dividers'." -tcl/Sdc.tcl: sta_error 514 "unknown unit $unit '$suffix'." -tcl/Sdc.tcl: sta_error 514 "unknown $unit prefix '$prefix'." -tcl/Sdc.tcl: sta_warn 319 "$unit scale [format %.0e $scale] does not match library scale [format %.0e $unit_scale]." -tcl/Sdc.tcl: sta_error 515 "unknown $unit unit '$suffix'." -tcl/Sdc.tcl: sta_warn 320 "current_design for other than top cell not supported." -tcl/Sdc.tcl: sta_warn 321 "patterns argument not supported with -of_objects." -tcl/Sdc.tcl: sta_warn 322 "instance '$pattern' not found." -tcl/Sdc.tcl: sta_error 516 "unsupported -filter expression." -tcl/Sdc.tcl: sta_warn 323 "clock '$pattern' not found." -tcl/Sdc.tcl: sta_warn 324 "positional arguments not supported with -of_objects." -tcl/Sdc.tcl: sta_warn 325 "library '$lib_name' not found." -tcl/Sdc.tcl: sta_warn 326 "cell '$cell_pattern' not found." -tcl/Sdc.tcl: sta_warn 327 "library/cell/port '$pattern' not found." -tcl/Sdc.tcl: sta_warn 328 "port '$port_pattern' not found." -tcl/Sdc.tcl: sta_warn 329 "library '$lib_name' not found." -tcl/Sdc.tcl: sta_warn 330 "-nocase ignored without -regexp." -tcl/Sdc.tcl: sta_warn 331 "library '$pattern' not found." -tcl/Sdc.tcl: sta_warn 332 "patterns argument not supported with -of_objects." -tcl/Sdc.tcl: sta_warn 333 "net '$pattern' not found." -tcl/Sdc.tcl: sta_warn 334 "patterns argument not supported with -of_objects." -tcl/Sdc.tcl: sta_warn 335 "pin '$pattern' not found." -tcl/Sdc.tcl: sta_error 517 "unsupported -filter expression." -tcl/Sdc.tcl: sta_warn 336 "patterns argument not supported with -of_objects." -tcl/Sdc.tcl: sta_warn 337 "port '$pattern' not found." -tcl/Sdc.tcl: sta_error 518 "unsupported -filter expression." -tcl/Sdc.tcl: sta_error 519 "-add requires -name." -tcl/Sdc.tcl: sta_error 520 "-name or port_pin_list must be specified." -tcl/Sdc.tcl: sta_error 521 "missing -period argument." -tcl/Sdc.tcl: sta_error 522 "-waveform edge_list must have an even number of edge times." -tcl/Sdc.tcl: sta_warn 338 "adjusting non-increasing clock -waveform edge times." -tcl/Sdc.tcl: sta_warn 339 "-waveform time greater than two periods." -tcl/Sdc.tcl: sta_error 523 "empty ports/pins/nets argument." -tcl/Sdc.tcl: sta_error 524 "-add requires -name." -tcl/Sdc.tcl: sta_error 525 "name or port_pin_list must be specified." -tcl/Sdc.tcl: sta_error 526 "missing -source argument." -tcl/Sdc.tcl: sta_error 527 "-master_clock argument empty." -tcl/Sdc.tcl: sta_error 528 "-add requireds -master_clock." -tcl/Sdc.tcl: sta_error 529 "-multiply_by and -divide_by options are exclusive." -tcl/Sdc.tcl: sta_error 530 "-divide_by is not an integer greater than one." -tcl/Sdc.tcl: sta_error 531 "-combinational implies -divide_by 1." -tcl/Sdc.tcl: sta_error 532 "-multiply_by is not an integer greater than one." -tcl/Sdc.tcl: sta_error 533 "-duty_cycle is not a float between 0 and 100." -tcl/Sdc.tcl: sta_error 534 "-edges only supported for three edges." -tcl/Sdc.tcl: sta_error 535 "edges times are not monotonically increasing." -tcl/Sdc.tcl: sta_error 536 "-edge_shift length does not match -edges length." -tcl/Sdc.tcl: sta_error 537 "missing -multiply_by, -divide_by, -combinational or -edges argument." -tcl/Sdc.tcl: sta_error 538 "cannot specify -invert without -multiply_by, -divide_by or -combinational." -tcl/Sdc.tcl: sta_error 539 "-duty_cycle requires -multiply_by value." -tcl/Sdc.tcl: sta_error 540 "missing -pll_output argument." -tcl/Sdc.tcl: sta_error 541 "missing -pll_feedback argument." -tcl/Sdc.tcl: sta_error 542 "PLL output and feedback pins must be on the same instance." -tcl/Sdc.tcl: sta_error 543 "source pin must be on the same instance as the PLL output pin." -tcl/Sdc.tcl: sta_error 544 "PLL output must be one of the clock pins." -tcl/Sdc.tcl: sta_error 545 "group_path command failed." -tcl/Sdc.tcl: sta_error 546 "positional arguments not supported." -tcl/Sdc.tcl: sta_error 547 "-from, -through or -to required." -tcl/Sdc.tcl: sta_error 548 "-name and -default are mutually exclusive." -tcl/Sdc.tcl: sta_error 549 "-name or -default option is required." -tcl/Sdc.tcl: sta_error 550 "cannot specify both -high and -low." -tcl/Sdc.tcl: sta_error 551 "missing -setup or -hold argument." -tcl/Sdc.tcl: sta_error 552 "-high and -low only permitted for pins and instances." -tcl/Sdc.tcl: sta_error 553 "-high and -low only permitted for pins and instances." -tcl/Sdc.tcl: sta_error 554 "one of -logically_exclusive, -physically_exclusive or -asynchronous is required." -tcl/Sdc.tcl: sta_error 555 "the keywords -logically_exclusive, -physically_exclusive and -asynchronous are mutually exclusive." -tcl/Sdc.tcl: sta_warn 349 "unknown keyword argument $arg." -tcl/Sdc.tcl: sta_warn 341 "extra positional argument $arg." -tcl/Sdc.tcl: sta_warn 342 "-clock ignored for clock objects." -tcl/Sdc.tcl: sta_error 556 "-source '[get_full_name $pin]' is not a clock pin." -tcl/Sdc.tcl: sta_error 557 "-early/-late is only allowed with -source." -tcl/Sdc.tcl: sta_warn 343 "set_sense -type data not supported." -tcl/Sdc.tcl: sta_error 558 "set_sense -type clock|data" -tcl/Sdc.tcl: sta_warn 344 "set_clock_sense is deprecated as of SDC 2.1. Use set_sense -type clock." -tcl/Sdc.tcl: sta_warn 345 "-pulse argument not supported." -tcl/Sdc.tcl: sta_warn 346 "-positive, -negative, -stop_propagation and -pulse are mutually exclusive." -tcl/Sdc.tcl: sta_warn 347 "hierarchical pin '[get_full_name $pin]' not supported." -tcl/Sdc.tcl: sta_error 559 "transition time can not be specified for virtual clocks." -tcl/Sdc.tcl: sta_error 560 "missing uncertainty value." -tcl/Sdc.tcl: sta_error 561 "-from/-to must be used together." -tcl/Sdc.tcl: sta_error 562 "-rise, -fall options not allowed for single clock uncertainty." -tcl/Sdc.tcl: sta_error 563 "missing -from, -rise_from or -fall_from argument." -tcl/Sdc.tcl: sta_error 564 "missing -to, -rise_to or -fall_to argument." -tcl/Sdc.tcl: sta_warn 348 "-from/-to keywords ignored for lib_pin, port and pin arguments." -tcl/Sdc.tcl: sta_error 565 "-from/-to hierarchical instance not supported." -tcl/Sdc.tcl: sta_error 566 "pin '[get_full_name $inst]${hierarchy_separator}${port_name}' not found." -tcl/Sdc.tcl: sta_error 567 "pin '[get_name $cell]${hierarchy_separator}${port_name}' not found." -tcl/Sdc.tcl: sta_warn 349 "'$args' ignored." -tcl/Sdc.tcl: sta_warn 350 "-from, -through or -to required." -tcl/Sdc.tcl: sta_warn 351 "-source_latency_included ignored with -reference_pin." -tcl/Sdc.tcl: sta_warn 352 "-network_latency_included ignored with -reference_pin." -tcl/Sdc.tcl: sta_warn 353 "$cmd not allowed on [pin_direction $pin] port '[get_full_name $pin]'." -tcl/Sdc.tcl: sta_warn 354 "$cmd relative to a clock defined on the same port/pin not allowed." -tcl/Sdc.tcl: sta_error 568 "missing delay argument." -tcl/Sdc.tcl: sta_warn 355 "'$args' ignored." -tcl/Sdc.tcl: sta_error 569 "missing path multiplier argument." -tcl/Sdc.tcl: sta_warn 356 "'$args' ignored." -tcl/Sdc.tcl: sta_error 570 "cannot use -start with -end." -tcl/Sdc.tcl: sta_warn 357 "virtual clock [get_name $clk] can not be propagated." -tcl/Sdc.tcl: sta_error 571 "value must be 0, zero, 1, one, rise, rising, fall, or falling." -tcl/Sdc.tcl: sta_error 572 "cell '$lib_name:$cell_name' not found." -tcl/Sdc.tcl: sta_error 573 "'$cell_name' not found." -tcl/Sdc.tcl: sta_error 574 "missing -lib_cell argument." -tcl/Sdc.tcl: sta_error 575 "port '$to_port_name' not found." -tcl/Sdc.tcl: sta_error 576 "-pin argument required for cells with multiple outputs." -tcl/Sdc.tcl: sta_error 577 "port '$from_port_name' not found." -tcl/Sdc.tcl: sta_warn 358 "-multiply_by ignored." -tcl/Sdc.tcl: sta_warn 359 "-dont_scale ignored." -tcl/Sdc.tcl: sta_warn 360 "-no_design_rule ignored." -tcl/Sdc.tcl: sta_warn 361 "set_fanout_load not supported." -tcl/Sdc.tcl: sta_warn 361 "-clock not supported." -tcl/Sdc.tcl: sta_warn 362 "-clock_fall not supported." -tcl/Sdc.tcl: sta_warn 363 "-pin_load not allowed for net objects." -tcl/Sdc.tcl: sta_warn 364 "-wire_load not allowed for net objects." -tcl/Sdc.tcl: sta_warn 365 "-rise/-fall not allowed for net objects." -tcl/Sdc.tcl: sta_error 578 "port '[get_name $port]' is not an input." -tcl/Sdc.tcl: sta_warn 366 "-data_path, -clock_path, -rise, -fall ignored for ports and designs." -tcl/Sdc.tcl: sta_warn 367 "derating factor greater than 2.0." -tcl/Sdc.tcl: sta_warn 368 "-cell_delay and -cell_check flags ignored for net objects." -tcl/Sdc.tcl: sta_warn 369 "no valid objects specified for $key." -tcl/Sdc.tcl: sta_warn 370 "no valid objects specified for $key" -tcl/Sdc.tcl: sta_warn 370 "no valid objects specified for $key." -tcl/Sdc.tcl: sta_error 579 "operating condition '$op_cond_name' not found." -tcl/Sdc.tcl: sta_error 580 "operating condition '$op_cond_name' not found." -tcl/Sdc.tcl: sta_error 581 "-analysis_type must be single, bc_wc or on_chip_variation." -tcl/Sdc.tcl: sta_warn 371 "set_wire_load_min_block_size not supported." -tcl/Sdc.tcl: sta_error 582 "mode must be top, enclosed or segmented." -tcl/Sdc.tcl: sta_error 583 "no wire load model specified." -tcl/Sdc.tcl: sta_error 583 "wire load model '$model_name' not found." -tcl/Sdc.tcl: sta_error 584 "wire load selection group '$selection_name' not found." -tcl/Sdc.tcl: sta_error 585 "no default operating conditions found." -tcl/Search.tcl: sta_error 508 "-min and -max cannot both be specified." -tcl/Search.tcl: sta_error 509 "pin '$pin_arg' is hierarchical." -tcl/Search.tcl: sta_error 510 "-format $format not recognized." -tcl/Search.tcl: sta_warn 318 "unknown path group '$name'." -tcl/Sta.tcl: sta_error 419 "report_clock_skew -setup and -hold are mutually exclusive options." -tcl/Sta.tcl: sta_error 420 "$cmd -path_delay must be min, min_rise, min_fall, max, max_rise, max_fall or min_max." -tcl/Sta.tcl: sta_error 421 "$cmd command failed." -tcl/Sta.tcl: sta_error 422 "-endpoint_count must be a positive integer." -tcl/Sta.tcl: sta_error 423 "-group_count must be a positive integer." -tcl/Sta.tcl: sta_error 424 "'$arg' is not a known keyword or flag." -tcl/Sta.tcl: sta_error 425 "positional arguments not supported." -tcl/Sta.tcl: sta_error 426 "analysis type single is not consistent with doing both setup/max and hold/min checks." -tcl/Sta.tcl: sta_error 427 "positional arguments not supported." -tcl/Sta.tcl: sta_error 428 "set_assigned_transition transition is not a float." -tcl/Util.tcl: sta_error 400 "$cmd $key missing value." -tcl/Util.tcl: sta_error 401 "$cmd $key missing value." -tcl/Util.tcl: sta_error 402 "$cmd $arg is not a known keyword or flag." -tcl/Util.tcl: sta_error 403 "$cmd $arg is not a known keyword or flag." -tcl/Util.tcl: sta_error 404 "Usage: $cmd $cmd_args($cmd)" -tcl/Util.tcl: sta_error 405 "Usage: $cmd argument error" -tcl/Util.tcl: sta_warn 300 "no commands match '$pattern'." -tcl/Util.tcl: sta_error 406 "$cmd positional arguments not supported." -tcl/Util.tcl: sta_error 407 "$cmd requires one positional argument." -tcl/Util.tcl: sta_error 408 "$cmd requires zero or one positional arguments." -tcl/Util.tcl: sta_error 409 "$cmd requires two positional arguments." -tcl/Util.tcl: sta_error 410 "$cmd requires one or two positional arguments." -tcl/Util.tcl: sta_error 411 "$cmd requires three positional arguments." -tcl/Util.tcl: sta_error 412 "$cmd requires four positional arguments." -tcl/Util.tcl: sta_error 413 "$cmd_arg '$arg' is not a float." -tcl/Util.tcl: sta_error 414 "$cmd_arg '$arg' is not a positive float." -tcl/Util.tcl: sta_error 415 "$cmd_arg '$arg' is not an integer." -tcl/Util.tcl: sta_error 416 "$cmd_arg '$arg' is not a positive integer." -tcl/Util.tcl: sta_error 417 "$cmd_arg '$arg' is not an integer greater than or equal to one." -tcl/Util.tcl: sta_error 418 "$cmd_arg '$arg' is not between 0 and 100." -tcl/Variables.tcl: sta_error 436 "sta_report_default_digits must be a positive integer." -tcl/Variables.tcl: sta_error 437 "sta_crpr_mode must be pin or transition." -tcl/Variables.tcl: sta_error 438 "$var_name value must be 0 or 1." +0100 CmdArgs.tcl:108 unsupported object type $object_type. +0101 CmdArgs.tcl:166 object '$obj' not found. +0102 CmdArgs.tcl:405 $corner_name is not the name of process corner. +0103 CmdArgs.tcl:410 -corner keyword required with multi-corner analysis. +0104 CmdArgs.tcl:425 $corner_name is not the name of process corner. +0105 CmdArgs.tcl:430 missing -corner arg. +0106 CmdArgs.tcl:441 $corner_name is not the name of process corner. +0107 CmdArgs.tcl:458 $corner_name is not the name of process corner. +0108 CmdArgs.tcl:483 both -min and -max specified. +0109 CmdArgs.tcl:497 both -min and -max specified. +0110 CmdArgs.tcl:524 only one of -early and -late can be specified. +0111 CmdArgs.tcl:530 -early or -late must be specified. +0112 CmdArgs.tcl:537 both -early and -late specified. +0113 CmdArgs.tcl:552 $arg_name must be a single library. +0114 CmdArgs.tcl:558 $arg_name type '$object_type' is not a library. +0115 CmdArgs.tcl:563 library '$arg' not found. +0116 CmdArgs.tcl:580 $arg_name must be a single lib cell. +0123 CmdArgs.tcl:667 $arg_name must be a single instance. +0124 CmdArgs.tcl:673 $arg_name type '$object_type' is not an instance. +0125 CmdArgs.tcl:678 instance '$arg' not found. +0126 CmdArgs.tcl:697 $arg_name type '$object_type' is not an instance. +0127 CmdArgs.tcl:704 instance '$arg' not found. +0131 CmdArgs.tcl:765 $arg_name type '$object_type' is not a pin or port. +0132 CmdArgs.tcl:772 pin '$arg' not found. +0133 CmdArgs.tcl:792 $arg_name type '$object_type' is not a port. +0139 CmdArgs.tcl:873 unsupported object type $object_type. +0141 CmdArgs.tcl:894 $arg_name '$object_type' is not a net. +0142 CmdArgs.tcl:918 unsupported object type $object_type. +0143 CmdArgs.tcl:899 $arg_name '$arg' not found. +0160 CmdUtil.tcl:44 no commands match '$pattern'. +0161 CmdUtil.tcl:89 Usage: $cmd $cmd_args($cmd) +0162 CmdUtil.tcl:91 Usage: $cmd argument error +0163 CmdUtil.tcl:161 unknown $unit unit '$suffix'. +0164 CmdUtil.tcl:209 unsupported object type $list_type. +0165 CmdUtil.tcl:226 unknown namespace $namespc. +0180 DelayCalc.tcl:119 delay calculator $alg not found. +0181 DelayCalc.tcl:148 $cmd missing -from argument. +0182 DelayCalc.tcl:153 $cmd missing -to argument. +0183 DelayCalc.tcl:158 $cmd delay is not a float. +0184 DelayCalc.tcl:163 set_annotated_delay -cell and -net options are mutually excluive. +0185 DelayCalc.tcl:169 $cmd pin [get_full_name $pin] is not attached to instance [get_full_name $inst]. +0186 DelayCalc.tcl:174 $cmd pin [get_full_name $pin] is not attached to instance [get_full_name $inst] +0187 DelayCalc.tcl:179 $cmd -cell or -net required. +0188 DelayCalc.tcl:243 $cmd missing -from argument. +0189 DelayCalc.tcl:252 $cmd -clock must be rise or fall. +0190 DelayCalc.tcl:259 $cmd missing -to argument. +0191 DelayCalc.tcl:274 $cmd missing -setup|-hold|-recovery|-removal check type.. +0192 DelayCalc.tcl:282 $cmd check_value is not a float. +0210 DelayCalc.tcl:350 set_assigned_transition transition is not a float. +0220 Link.tcl:34 missing top_cell_name argument and no current_design. +0230 Network.tcl:35 instance $instance_path not found. +0231 Network.tcl:221 net $net_path not found. +0232 Network.tcl:224 net $net_path not found. +0250 NetworkEdit.tcl:107 unsupported object type $object_type. +0251 NetworkEdit.tcl:137 connect_pins is deprecated. Use connect_pin. +0252 NetworkEdit.tcl:206 unsupported object type $object_type. +0253 NetworkEdit.tcl:224 unsupported object type $object_type. +0266 Sta.cc:2105 '%s' is not a valid endpoint. +0267 Sta.cc:2029 '%s' is not a valid start point. +0270 Parasitics.tcl:45 path instance '$path' not found. +0271 Parasitics.tcl:62 -reduce_to must be pi_elmore or pi_pole_residue2. +0272 Parasitics.tcl:70 read_spef -increment is deprecated. +0301 Power.tcl:220 activity should be 0.0 to 1.0 or 2.0 +0302 Power.tcl:228 duty should be 0.0 to 1.0 +0303 Power.tcl:243 activity cannot be set on clock ports. +0320 Property.tcl:32 $cmd object is null. +0321 Property.tcl:37 $cmd $type_key must be specified with object name argument. +0322 Property.tcl:77 get_property unsupported object type $object_type. +0323 Property.tcl:80 get_property $object is not an object. +0324 Property.tcl:107 $object_type not supported. +0325 Property.tcl:110 $object_type '$object_name' not found. +0340 Sdc.tcl:73 cannot open '$filename'. +0341 Sdc.tcl:128 incomplete command at end of file. +0342 Sdc.tcl:212 hierarchy separator must be one of '$sdc_dividers'. +0343 Sdc.tcl:259 unknown unit $unit '$suffix'. +0344 Sdc.tcl:281 unknown $unit prefix '$prefix'. +0345 Sdc.tcl:288 $unit scale [format %.0e $scale] does not match library scale [format %.0e $unit_scale]. +0346 Sdc.tcl:394 only one of -cells, -data_pins, -clock_pins, -async_pins, -output_pins are suppported. +0347 Sdc.tcl:437 current_design for other than top cell not supported. +0348 Sdc.tcl:473 patterns argument not supported with -of_objects. +0349 Sdc.tcl:506 instance '$pattern' not found. +0350 Sdc.tcl:539 unsupported instance -filter expression. +0351 Sdc.tcl:566 clock '$pattern' not found. +0352 Sdc.tcl:592 positional arguments not supported with -of_objects. +0353 Sdc.tcl:619 library '$lib_name' not found. +0354 Sdc.tcl:631 cell '$cell_pattern' not found. +0355 Sdc.tcl:678 library/cell/port '$pattern' not found. +0356 Sdc.tcl:698 port '$port_pattern' not found. +0357 Sdc.tcl:703 library '$lib_name' not found. +0358 Sdc.tcl:713 -nocase ignored without -regexp. +0359 Sdc.tcl:739 library '$pattern' not found. +0360 Sdc.tcl:802 patterns argument not supported with -of_objects. +0361 Sdc.tcl:826 net '$pattern' not found. +0362 Sdc.tcl:855 patterns argument not supported with -of_objects. +0363 Sdc.tcl:892 pin '$pattern' not found. +0364 Sdc.tcl:924 unsupported pin -filter expression. +0365 Sdc.tcl:949 patterns argument not supported with -of_objects. +0366 Sdc.tcl:963 port '$pattern' not found. +0367 Sdc.tcl:1000 unsupported port -filter expression. +0368 Sdc.tcl:1033 -add requires -name. +0369 Sdc.tcl:1038 -name or port_pin_list must be specified. +0370 Sdc.tcl:1046 missing -period argument. +0371 Sdc.tcl:1052 -waveform edge_list must have an even number of edge times. +0372 Sdc.tcl:1061 non-increasing clock -waveform edge times. +0373 Sdc.tcl:1064 -waveform time greater than two periods. +0374 Sdc.tcl:1122 empty ports/pins/nets argument. +0375 Sdc.tcl:1130 -add requires -name. +0376 Sdc.tcl:1135 name or port_pin_list must be specified. +0377 Sdc.tcl:1142 missing -source argument. +0378 Sdc.tcl:1157 -master_clock argument empty. +0379 Sdc.tcl:1160 -add requireds -master_clock. +0380 Sdc.tcl:1164 -multiply_by and -divide_by options are exclusive. +0381 Sdc.tcl:1168 -divide_by is not an integer greater than one. +0382 Sdc.tcl:1171 -combinational implies -divide_by 1. +0383 Sdc.tcl:1176 -multiply_by is not an integer greater than one. +0384 Sdc.tcl:1182 -duty_cycle is not a float between 0 and 100. +0385 Sdc.tcl:1188 -edges only supported for three edges. +0386 Sdc.tcl:1194 edges times are not monotonically increasing. +0387 Sdc.tcl:1203 -edge_shift length does not match -edges length. +0388 Sdc.tcl:1209 missing -multiply_by, -divide_by, -combinational or -edges argument. +0389 Sdc.tcl:1217 cannot specify -invert without -multiply_by, -divide_by or -combinational. +0390 Sdc.tcl:1223 -duty_cycle requires -multiply_by value. +0391 Sdc.tcl:1283 group_path command failed. +0392 Sdc.tcl:1290 positional arguments not supported. +0393 Sdc.tcl:1294 -from, -through or -to required. +0394 Sdc.tcl:1300 -name and -default are mutually exclusive. +0395 Sdc.tcl:1302 -name or -default option is required. +0396 Sdc.tcl:1343 cannot specify both -high and -low. +0397 Sdc.tcl:1351 missing -setup or -hold argument. +0398 Sdc.tcl:1365 -high and -low only permitted for pins and instances. +0399 Sdc.tcl:1372 -high and -low only permitted for pins and instances. +0400 Sdc.tcl:1415 one of -logically_exclusive, -physically_exclusive or -asynchronous is required. +0401 Sdc.tcl:1418 the keywords -logically_exclusive, -physically_exclusive and -asynchronous are mutually exclusive. +0402 Sdc.tcl:1437 unknown keyword argument $arg. +0403 Sdc.tcl:1439 extra positional argument $arg. +0404 Sdc.tcl:1468 the -all and -name options are mutually exclusive. +0405 Sdc.tcl:1471 either -all or -name options must be specified. +0406 Sdc.tcl:1479 one of -logically_exclusive, -physically_exclusive or -asynchronous is required. +0407 Sdc.tcl:1482 the keywords -logically_exclusive, -physically_exclusive and -asynchronous are mutually exclusive. +0408 Sdc.tcl:1532 -clock ignored for clock objects. +0409 Sdc.tcl:1546 -source '[get_full_name $pin]' is not a clock pin. +0410 Sdc.tcl:1553 -early/-late is only allowed with -source. +0411 Sdc.tcl:1582 -clock ignored for clock objects. +0412 Sdc.tcl:1594 -source '[$pin path_name]' is not a clock pin. +0413 Sdc.tcl:1622 set_sense -type data not supported. +0414 Sdc.tcl:1626 set_sense -type clock|data +0415 Sdc.tcl:1637 set_clock_sense is deprecated as of SDC 2.1. Use set_sense -type clock. +0416 Sdc.tcl:1649 -pulse argument not supported. +0417 Sdc.tcl:1658 -positive, -negative, -stop_propagation and -pulse are mutually exclusive. +0418 Sdc.tcl:1671 hierarchical pin '[get_full_name $pin]' not supported. +0419 Sdc.tcl:1695 transition time can not be specified for virtual clocks. +0420 Sdc.tcl:1728 missing uncertainty value. +0421 Sdc.tcl:1776 -from/-to must be used together. +0422 Sdc.tcl:1796 -rise, -fall options not allowed for single clock uncertainty. +0423 Sdc.tcl:1862 -from/-to must be used together. +0424 Sdc.tcl:1882 -rise, -fall options not allowed for single clock uncertainty. +0425 Sdc.tcl:1923 missing -from, -rise_from or -fall_from argument. +0426 Sdc.tcl:1935 missing -to, -rise_to or -fall_to argument. +0427 Sdc.tcl:1983 missing -from, -rise_from or -fall_from argument. +0428 Sdc.tcl:1995 missing -to, -rise_to or -fall_to argument. +0429 Sdc.tcl:2037 -from/-to keywords ignored for lib_pin, port and pin arguments. +0430 Sdc.tcl:2067 -from/-to hierarchical instance not supported. +0431 Sdc.tcl:2099 pin '[get_full_name $inst]${hierarchy_separator}${port_name}' not found. +0432 Sdc.tcl:2140 pin '[get_name $cell]${hierarchy_separator}${port_name}' not found. +0434 Sdc.tcl:2174 -from/-to keywords ignored for lib_pin, port and pin arguments. +0435 Sdc.tcl:2226 -from/-to hierarchical instance not supported. +0436 Sdc.tcl:2280 '$args' ignored. +0437 Sdc.tcl:2284 -from, -through or -to required. +0438 Sdc.tcl:2363 -source_latency_included ignored with -reference_pin. +0439 Sdc.tcl:2366 -network_latency_included ignored with -reference_pin. +0440 Sdc.tcl:2385 $cmd not allowed on [pin_direction $pin] port '[get_full_name $pin]'. +0441 Sdc.tcl:2387 $cmd relative to a clock defined on the same port/pin not allowed. +0442 Sdc.tcl:2435 missing delay argument. +0443 Sdc.tcl:2441 '$args' ignored. +0444 Sdc.tcl:2566 missing path multiplier argument. +0445 Sdc.tcl:2571 '$args' ignored. +0446 Sdc.tcl:2578 cannot use -start with -end. +0447 Sdc.tcl:2628 $cmd command failed. +0448 Sdc.tcl:2635 positional arguments not supported. +0449 Sdc.tcl:2639 -from, -through or -to required. +0450 Sdc.tcl:2706 virtual clock [get_name $clk] can not be propagated. +0451 Sdc.tcl:2748 value must be 0, zero, 1, one, rise, rising, fall, or falling. +0452 Sdc.tcl:2817 cell '$lib_name:$cell_name' not found. +0453 Sdc.tcl:2823 '$cell_name' not found. +0454 Sdc.tcl:2827 missing -lib_cell argument. +0455 Sdc.tcl:2835 port '$to_port_name' not found. +0456 Sdc.tcl:2847 -pin argument required for cells with multiple outputs. +0457 Sdc.tcl:2862 port '$from_port_name' not found. +0458 Sdc.tcl:2880 -multiply_by ignored. +0459 Sdc.tcl:2883 -dont_scale ignored. +0460 Sdc.tcl:2886 -no_design_rule ignored. +0461 Sdc.tcl:2909 set_fanout_load not supported. +0462 Sdc.tcl:2933 -clock not supported. +0463 Sdc.tcl:2936 -clock_fall not supported. +0464 Sdc.tcl:2982 -pin_load not allowed for net objects. +0465 Sdc.tcl:2985 -wire_load not allowed for net objects. +0466 Sdc.tcl:2988 -rise/-fall not allowed for net objects. +0467 Sdc.tcl:3075 port '[get_name $port]' is not an input. +0468 Sdc.tcl:3121 -data_path, -clock_path, -rise, -fall ignored for ports and designs. +0469 Sdc.tcl:3192 derating factor greater than 2.0. +0470 Sdc.tcl:3229 -cell_delay and -cell_check flags ignored for net objects. +0471 Sdc.tcl:3299 no valid objects specified for $key. +0472 Sdc.tcl:3332 no valid objects specified for $key +0473 Sdc.tcl:3381 no valid objects specified for $key. +0474 Sdc.tcl:3449 operating condition '$op_cond_name' not found. +0475 Sdc.tcl:3467 operating condition '$op_cond_name' not found. +0476 Sdc.tcl:3481 -analysis_type must be single, bc_wc or on_chip_variation. +0477 Sdc.tcl:3493 set_wire_load_min_block_size not supported. +0478 Sdc.tcl:3506 mode must be top, enclosed or segmented. +0479 Sdc.tcl:3521 no wire load model specified. +0480 Sdc.tcl:3543 wire load model '$model_name' not found. +0481 Sdc.tcl:3582 wire load selection group '$selection_name' not found. +0482 Sdc.tcl:3670 define_corners must be called before read_liberty. +0500 Sdc.tcl:3740 no default operating conditions found. +0510 Search.tcl:136 $cmd -path_delay must be min, min_rise, min_fall, max, max_rise, max_fall or min_max. +0511 Search.tcl:146 $cmd command failed. +0512 Search.tcl:165 -endpoint_count must be a positive integer. +0513 Search.tcl:174 -group_count must be >= 1. +0514 Search.tcl:205 '$arg' is not a known keyword or flag. +0515 Search.tcl:207 positional arguments not supported. +0516 Search.tcl:326 report_clock_skew -setup and -hold are mutually exclusive options. +0517 Search.tcl:411 -all_violators is deprecated. Use -violators +0518 Search.tcl:491 -max_transition deprecated. Use -max_slew. +0519 Search.tcl:496 -min_transition deprecated. Use -min_slew. +0520 Search.tcl:510 analysis type single is not consistent with doing both setup/max and hold/min checks. +0521 Search.tcl:515 positional arguments not supported. +0522 Search.tcl:778 -min and -max cannot both be specified. +0523 Search.tcl:798 pin '$pin_arg' is hierarchical. +0524 Search.tcl:864 -format $format not recognized. +0525 Search.tcl:904 The transition_time field is deprecated. Use slew instead. +0526 Search.tcl:1011 specify one of -setup and -hold. +0527 Search.tcl:1060 unknown path group '$name'. +0540 Sta.tcl:158 -from/-to arguments not supported with -of_objects. +0541 Sta.tcl:286 unsupported -filter expression. +0560 Util.tcl:44 $cmd $key missing value. +0561 Util.tcl:61 $cmd $key missing value. +0562 Util.tcl:71 $cmd $arg is not a known keyword or flag. +0563 Util.tcl:93 $cmd $arg is not a known keyword or flag. +0564 Util.tcl:241 $cmd positional arguments not supported. +0565 Util.tcl:247 $cmd requires one positional argument. +0566 Util.tcl:254 $cmd requires zero or one positional arguments. +0567 Util.tcl:260 $cmd requires two positional arguments. +0568 Util.tcl:267 $cmd requires one or two positional arguments. +0569 Util.tcl:273 $cmd requires three positional arguments. +0570 Util.tcl:279 $cmd requires four positional arguments. +0571 Util.tcl:287 $cmd_arg '$arg' is not a float. +0572 Util.tcl:293 $cmd_arg '$arg' is not a positive float. +0573 Util.tcl:299 $cmd_arg '$arg' is not an integer. +0574 Util.tcl:305 $cmd_arg '$arg' is not a positive integer. +0575 Util.tcl:311 $cmd_arg '$arg' is not an integer greater than or equal to one. +0576 Util.tcl:317 $cmd_arg '$arg' is not between 0 and 100. +0590 Variables.tcl:45 sta_report_default_digits must be a positive integer. +0591 Variables.tcl:70 sta_crpr_mode must be pin or transition. +0592 Variables.tcl:187 $var_name value must be 0 or 1. +0600 WritePathSpice.tcl:36 Directory $spice_dir not found. +0601 WritePathSpice.tcl:39 $spice_dir is not a directory. +0602 WritePathSpice.tcl:42 Cannot write in $spice_dir. +0603 WritePathSpice.tcl:45 No -spice_directory specified. +0604 WritePathSpice.tcl:51 -lib_subckt_file $lib_subckt_file is not readable. +0605 WritePathSpice.tcl:54 No -lib_subckt_file specified. +0606 WritePathSpice.tcl:60 -model_file $model_file is not readable. +0607 WritePathSpice.tcl:63 No -model_file specified. +0608 WritePathSpice.tcl:69 No -power specified. +0609 WritePathSpice.tcl:75 No -ground specified. +0610 WritePathSpice.tcl:81 No -path_args specified. +0611 WritePathSpice.tcl:86 No paths found for -path_args $path_args. +0620 Sdf.tcl:41 -cond_use must be min, max or min_max. +0621 Sdf.tcl:46 -cond_use min_max cannot be used with analysis type single. +0622 Sdf.tcl:50 -analysis_type is deprecated. Use set_operating_conditions -analysis_type. +0623 Sdf.tcl:157 SDF -divider must be / or . +0800 VcdReader.cc:110 unhandled vcd command. +0801 VcdReader.cc:146 timescale syntax error. +0802 VcdReader.cc:160 Unknown timescale unit. +0804 VcdReader.cc:217 Variable syntax error. +1000 ConcreteNetwork.cc:1923 cell type %s can not be linked. +1010 CycleAccting.cc:87 No common period was found between clocks %s and %s. +1020 DelayNormal1.cc:203 unknown early/late value. +1030 DelayNormal2.cc:378 unknown early/late value. +1040 DmpCeff.cc:1554 parasitic Pi model has NaNs. +1041 DmpCeff.cc:1582 cell %s delay model not supported on SPF parasitics by DMP delay calculator +1050 EstimateParasitics.cc:188 load pin not leaf or top level +1060 Genclks.cc:274 no master clock found for generated clock %s. +1062 Genclks.cc:938 generated clock %s source pin %s missing paths from master clock %s. +1080 Graph.cc:793 arc_delay_annotated array bounds exceeded +1081 Graph.cc:808 arc_delay_annotated array bounds exceeded +1082 Graph.cc:820 arc_delay_annotated array bounds exceeded +1083 Graph.cc:833 arc_delay_annotated array bounds exceeded +1100 GraphDelayCalc.cc:480 port not found in cell +1110 Liberty.cc:766 cell %s/%s port %s not found in cell %s/%s. +1111 Liberty.cc:792 cell %s/%s %s -> %s timing group %s not found in cell %s/%s. +1112 Liberty.cc:811 Liberty cell %s/%s for corner %s/%s not found. +1113 Liberty.cc:1748 cell %s/%s %s -> %s latch enable %s_edge is inconsistent with %s -> %s setup_%s check. +1114 Liberty.cc:1762 cell %s/%s %s -> %s latch enable %s_edge is inconsistent with latch group enable function positive sense. +1115 Liberty.cc:1770 cell %s/%s %s -> %s latch enable %s_edge is inconsistent with latch group enable function negative sense. +1130 LibertyExpr.cc:82 %s references unknown port %s. +1131 LibertyExpr.cc:175 %s %s. +1140 LibertyReader.cc:598 library %s already exists. +1141 LibertyReader.cc:632 library missing name. +1142 LibertyReader.cc:658 default_wire_load %s not found. +1143 LibertyReader.cc:669 default_wire_selection %s not found. +1144 LibertyReader.cc:681 default_operating_condition %s not found. +1145 LibertyReader.cc:691 input_threshold_pct_%s not found. +1146 LibertyReader.cc:695 output_threshold_pct_%s not found. +1147 LibertyReader.cc:699 slew_lower_threshold_pct_%s not found. +1148 LibertyReader.cc:703 slew_upper_threshold_pct_%s not found. +1149 LibertyReader.cc:708 Library %s is missing one or more thresholds. +1150 LibertyReader.cc:787 unknown unit multiplier %s. +1151 LibertyReader.cc:810 unknown unit scale %c. +1152 LibertyReader.cc:813 unknown unit suffix %s. +1153 LibertyReader.cc:816 unknown unit suffix %s. +1154 LibertyReader.cc:841 capacitive_load_units are not ff or pf. +1155 LibertyReader.cc:844 capacitive_load_units are not a string. +1156 LibertyReader.cc:847 capacitive_load_units missing suffix. +1157 LibertyReader.cc:850 capacitive_load_units scale is not a float. +1158 LibertyReader.cc:853 capacitive_load_units missing scale and suffix. +1159 LibertyReader.cc:856 capacitive_load_unit missing values suffix. +1160 LibertyReader.cc:874 delay_model %s not supported. +1161 LibertyReader.cc:878 delay_model %s not supported. +1162 LibertyReader.cc:882 delay_model %s not supported. +1163 LibertyReader.cc:887 delay_model %s not supported. +. +1164 LibertyReader.cc:890 unknown delay_model %s +. +1165 LibertyReader.cc:909 unknown bus_naming_style format. +1166 LibertyReader.cc:930 voltage_map voltage is not a float. +1167 LibertyReader.cc:933 voltage_map missing voltage. +1168 LibertyReader.cc:936 voltage_map supply name is not a string. +1169 LibertyReader.cc:939 voltage_map missing supply name and voltage. +1170 LibertyReader.cc:942 voltage_map missing values suffix. +1171 LibertyReader.cc:1027 default_max_transition is 0.0. +1172 LibertyReader.cc:1042 default_max_fanout is 0.0. +1173 LibertyReader.cc:1132 default_fanout_load is 0.0. +1174 LibertyReader.cc:1160 default_wire_load_mode %s not found. +1175 LibertyReader.cc:1331 table template missing name. +1176 LibertyReader.cc:1376 missing variable_%d attribute. +1177 LibertyReader.cc:1452 missing table index values. +1178 LibertyReader.cc:1458 non-increasing table index values. +1179 LibertyReader.cc:1490 bus type %s missing bit_from. +1180 LibertyReader.cc:1492 bus type %s missing bit_to. +1181 LibertyReader.cc:1496 type missing name. +1182 LibertyReader.cc:1523 scaling_factors do not have a name. +1183 LibertyReader.cc:1692 operating_conditions missing name. +1184 LibertyReader.cc:1763 wire_load missing name. +1185 LibertyReader.cc:1806 fanout_length is missing length and fanout. +1186 LibertyReader.cc:1821 wire_load_selection missing name. +1187 LibertyReader.cc:1852 wireload %s not found. +1189 LibertyReader.cc:1859 wire_load_from_area min not a float. +1190 LibertyReader.cc:1862 wire_load_from_area max not a float. +1191 LibertyReader.cc:1865 wire_load_from_area missing parameters. +1192 LibertyReader.cc:1868 wire_load_from_area missing parameters. +1193 LibertyReader.cc:1887 cell missing name. +1194 LibertyReader.cc:1910 cell %s ocv_derate_group %s not found. +1195 LibertyReader.cc:1941 port %s function size does not match port size. +1196 LibertyReader.cc:1997 %s %s bus width mismatch. +1197 LibertyReader.cc:2008 %s %s bus width mismatch. +1198 LibertyReader.cc:2018 clear +1199 LibertyReader.cc:2028 preset +1200 LibertyReader.cc:2064 latch enable function is non-unate for port %s. +1201 LibertyReader.cc:2069 latch enable function is unknown for port %s. +1202 LibertyReader.cc:2141 operating conditions %s not found. +1203 LibertyReader.cc:2144 scaled_cell missing operating condition. +1204 LibertyReader.cc:2147 scaled_cell cell %s has not been defined. +1205 LibertyReader.cc:2150 scaled_cell missing name. +1206 LibertyReader.cc:2176 scaled_cell %s, %s port functions do not match cell port functions. +1207 LibertyReader.cc:2181 scaled_cell ports do not match cell ports. +1208 LibertyReader.cc:2183 scaled_cell %s, %s timing does not match cell timing. +1209 LibertyReader.cc:2202 combinational timing to an input port. +1210 LibertyReader.cc:2297 missing %s_transition. +1211 LibertyReader.cc:2299 missing cell_%s. +1212 LibertyReader.cc:2319 timing group from output port. +1213 LibertyReader.cc:2329 timing group from output port. +1214 LibertyReader.cc:2339 timing group from output port. +1215 LibertyReader.cc:2357 timing group from output port. +1217 LibertyReader.cc:2373 timing group from output port. +1218 LibertyReader.cc:2460 receiver_capacitance group not in timing or pin group. +1219 LibertyReader.cc:2477 unsupported model axis. +1220 LibertyReader.cc:2505 output_current_%s group not in timing group. +1221 LibertyReader.cc:2546 output current waveform %.2e %.2e not found. +1222 LibertyReader.cc:2566 unsupported model axis. +1223 LibertyReader.cc:2608 vector index_1 and index_2 must have exactly one value. +1224 LibertyReader.cc:2610 vector reference_time not found. +1225 LibertyReader.cc:2643 normalized_driver_waveform variable_2 must be normalized_voltage +1226 LibertyReader.cc:2646 normalized_driver_waveform variable_1 must be input_net_transition +1227 SpefReader.cc:732 %s. +1228 LibertyReader.cc:2868 level_shifter_type must be HL, LH, or HL_LH +1229 LibertyReader.cc:2904 switch_cell_type must be coarse_grain or fine_grain +1230 LibertyReader.cc:2928 scaling_factors %s not found. +1231 LibertyReader.cc:2969 pin name is not a string. +1232 LibertyReader.cc:2986 pin name is not a string. +1233 LibertyReader.cc:3000 pin name is not a string. +1234 LibertyReader.cc:3078 bus %s bus_type not found. +1235 LibertyReader.cc:3130 bus_type %s not found. +1236 LibertyReader.cc:3133 bus_type is not a string. +1237 LibertyReader.cc:3151 bundle %s member not found. +1238 LibertyReader.cc:3174 member is not a string. +1239 LibertyReader.cc:3181 members attribute is missing values. +1240 LibertyReader.cc:3232 unknown port direction. +1241 LibertyReader.cc:3466 max_transition is 0.0. +1242 LibertyReader.cc:3572 pulse_latch unknown pulse type. +1243 LibertyReader.cc:3861 timing group missing related_pin/related_bus_pin. +1244 LibertyReader.cc:3942 unknown timing_type %s. +1245 LibertyReader.cc:3962 unknown timing_sense %s. +1246 LibertyReader.cc:4002 mode value is not a string. +1247 LibertyReader.cc:4005 missing mode value. +1248 LibertyReader.cc:4008 mode name is not a string. +1249 LibertyReader.cc:4011 mode missing values. +1250 LibertyReader.cc:4014 mode missing mode name and value. +1251 LibertyReader.cc:4090 unsupported model axis. +1252 LibertyReader.cc:4117 unsupported model axis. +1253 LibertyReader.cc:4146 unsupported model axis. +1254 LibertyReader.cc:4181 unsupported model axis. +1255 LibertyReader.cc:4197 %s group not in timing group. +1256 LibertyReader.cc:4236 table template %s not found. +1257 LibertyReader.cc:4320 %s is missing values. +1258 LibertyReader.cc:4343 %s is not a list of floats. +1259 LibertyReader.cc:4345 table row has %u columns but axis has %d. +1260 LibertyReader.cc:4355 table has %u rows but axis has %d. +1261 LibertyReader.cc:4406 lut output is not a string. +1262 LibertyReader.cc:4423 cell %s test_cell redefinition. +1263 LibertyReader.cc:4448 mode definition missing name. +1264 LibertyReader.cc:4465 mode value missing name. +1265 LibertyReader.cc:4479 when attribute inside table model. +1266 LibertyReader.cc:4528 %s attribute is not a string. +1267 LibertyReader.cc:4531 %s is not a simple attribute. +1268 LibertyReader.cc:4551 %s attribute is not an integer. +1269 LibertyReader.cc:4554 %s is not a simple attribute. +1270 LibertyReader.cc:4567 %s is not a simple attribute. +1271 LibertyReader.cc:4593 %s value %s is not a float. +1272 LibertyReader.cc:4622 %s missing values. +1273 LibertyReader.cc:4626 %s missing values. +1274 LibertyReader.cc:4629 %s is not a complex attribute. +1275 LibertyReader.cc:4655 %s is not a float. +1276 LibertyReader.cc:4678 %s is missing values. +1277 LibertyReader.cc:4681 %s has more than one string. +1278 LibertyReader.cc:4690 %s is missing values. +1279 LibertyReader.cc:4715 %s attribute is not boolean. +1280 LibertyReader.cc:4718 %s attribute is not boolean. +1281 LibertyReader.cc:4721 %s is not a simple attribute. +1282 LibertyReader.cc:4737 attribute %s value %s not recognized. +1283 LibertyReader.cc:4768 unknown early/late value. +1284 LibertyReader.cc:4988 OCV derate group named %s not found. +1285 LibertyReader.cc:5004 ocv_derate missing name. +1286 LibertyReader.cc:5057 unknown rise/fall. +1287 LibertyReader.cc:5077 unknown derate type. +1288 LibertyReader.cc:5109 unsupported model axis. +1289 LibertyReader.cc:5141 unsupported model axis. +1290 LibertyReader.cc:5173 unsupported model axis. +1291 LibertyReader.cc:5244 unknown pg_type. +1292 LibertyReader.cc:5639 port %s subscript out of range. +1293 LibertyReader.cc:5643 port range %s of non-bus port %s. +1294 LibertyReader.cc:5657 port %s not found. +1295 LibertyReader.cc:5727 port %s not found. +1297 LibertyReader.cc:1418 axis type %s not supported. +1330 LibertyWriter.cc:286 %s/%s bundled ports not supported. +1331 LibertyWriter.cc:417 %s/%s/%s timing model not supported. +1332 LibertyWriter.cc:437 3 axis table models not supported. +1333 LibertyWriter.cc:581 %s/%s/%s timing arc type %s not supported. +1350 LumpedCapDelayCalc.cc:138 gate delay input variable is NaN +1351 TagGroup.cc:297 tag group missing tag +1355 MakeTimingModel.cc:206 clock %s pin %s is inside model block. +1360 Vcd.cc:172 Unknown variable %s ID %s +1370 PathEnum.cc:474 path diversion missing edge. +1380 PathEnumed.cc:126 enumerated path required time +1381 PathEnumed.cc:135 enumerated path required time +1390 PathGroup.cc:399 unknown path end type +1398 VerilogReader.cc:1782 %s is not a verilog module. +1399 VerilogReader.cc:1787 %s is not a verilog module. +1400 PathVertex.cc:236 missing arrivals. +1401 PathVertex.cc:250 missing arrivals. +1402 PathVertex.cc:279 missing requireds. +1420 PathVertexRep.cc:145 tag group missing tag +1421 PathVertexRep.cc:150 missing arrivals +1422 PathVertexRep.cc:153 missing arrivals. +1440 Power.cc:610 unknown function operator +1450 ReadVcdActivities.cc:107 VCD max time is zero. +1451 ReadVcdActivities.cc:174 problem parsing bus %s. +1452 ReadVcdActivities.cc:251 clock %s vcd period %s differs from SDC clock period %s +1470 ReportPath.cc:289 unsupported path type +1471 ReportPath.cc:310 unsupported path type +1473 ReportPath.cc:349 unsupported path type +1474 ReportPath.cc:2378 unsupported path type +1490 Sdc.cc:4058 group path name and is_default are mutually exclusive. +1500 SdcNetwork.cc:1095 inst path string lenth estimate busted +1501 SdcNetwork.cc:1167 inst path string lenth estimate exceeded +1510 Search.cc:2654 max tag group index exceeded +1511 Search.cc:2890 max tag index exceeded +1512 Search.cc:3617 unexpected filter path +1513 Search.cc:3785 tns incr existing vertex +1520 Sim.cc:209 unknown function operator +1521 Sim.cc:864 propagated logic value %c differs from constraint value of %c on pin %s. +1525 SpefParse.yy:805 %d is not positive. +1526 SpefParse.yy:814 %.4f is not positive. +1527 SpefParse.yy:820 %.4f is not positive. +1550 Sta.cc:2032 '%s' is not a valid start point. +1551 Sta.cc:2108 '%s' is not a valid endpoint. +1552 Sta.cc:2431 maximum corner count exceeded +1553 Sta.cc:4227 corresponding timing arc set not found in equiv cells +1570 StaTcl.i:110 no network has been linked. +1571 StaTcl.i:124 network does not support edits. +1573 StaTcl.i:2749 unknown common clk pessimism mode. +1574 StaTcl.i:2763 POCV support requires compilation with SSTA=1. +1575 StaTcl.i:3001 unknown report path field %s +1576 StaTcl.i:3013 unknown report path field %s +1577 StaTcl.i:3699 unknown clock sense +1600 WritePathSpice.cc:290 No liberty libraries found, +1602 WritePathSpice.cc:523 Liberty pg_port %s/%s missing voltage_name attribute, +1603 WritePathSpice.cc:1102 %s pg_port %s not found, +1604 WritePathSpice.cc:1157 no register/latch found for path from %s to %s, +1605 WritePathSpice.cc:1623 The subkct file %s is missing definitions for %s +1606 WritePathSpice.cc:1721 subckt %s port %s has no corresponding liberty port, pg_port and is not power or ground. +1620 WriteSdc.cc:1254 unknown exception type +1621 WriteSdc.cc:1796 illegal set_logic value +1622 WriteSdc.cc:1837 invalid set_case_analysis value diff --git a/include/sta/WritePathSpice.hh b/include/sta/WritePathSpice.hh index 068b96b2..ce43c42e 100644 --- a/include/sta/WritePathSpice.hh +++ b/include/sta/WritePathSpice.hh @@ -45,6 +45,7 @@ writePathSpice(Path *path, StdStringSet *off_path_pin_names, const char *power_name, const char *gnd_name, + bool measure_stmts, StaState *sta); } // namespace diff --git a/messages.txt b/messages.txt deleted file mode 100644 index 783ee434..00000000 --- a/messages.txt +++ /dev/null @@ -1,513 +0,0 @@ -0100 CmdArgs.tcl:108 unsupported object type $object_type. -0101 CmdArgs.tcl:166 object '$obj' not found. -0102 CmdArgs.tcl:405 $corner_name is not the name of process corner. -0103 CmdArgs.tcl:410 -corner keyword required with multi-corner analysis. -0104 CmdArgs.tcl:425 $corner_name is not the name of process corner. -0105 CmdArgs.tcl:430 missing -corner arg. -0106 CmdArgs.tcl:441 $corner_name is not the name of process corner. -0107 CmdArgs.tcl:458 $corner_name is not the name of process corner. -0108 CmdArgs.tcl:483 both -min and -max specified. -0109 CmdArgs.tcl:497 both -min and -max specified. -0110 CmdArgs.tcl:524 only one of -early and -late can be specified. -0111 CmdArgs.tcl:530 -early or -late must be specified. -0112 CmdArgs.tcl:537 both -early and -late specified. -0113 CmdArgs.tcl:552 $arg_name must be a single library. -0114 CmdArgs.tcl:558 $arg_name type '$object_type' is not a library. -0115 CmdArgs.tcl:563 library '$arg' not found. -0116 CmdArgs.tcl:580 $arg_name must be a single lib cell. -0123 CmdArgs.tcl:667 $arg_name must be a single instance. -0124 CmdArgs.tcl:673 $arg_name type '$object_type' is not an instance. -0125 CmdArgs.tcl:678 instance '$arg' not found. -0126 CmdArgs.tcl:697 $arg_name type '$object_type' is not an instance. -0127 CmdArgs.tcl:704 instance '$arg' not found. -0131 CmdArgs.tcl:765 $arg_name type '$object_type' is not a pin or port. -0132 CmdArgs.tcl:772 pin '$arg' not found. -0133 CmdArgs.tcl:792 $arg_name type '$object_type' is not a port. -0139 CmdArgs.tcl:873 unsupported object type $object_type. -0141 CmdArgs.tcl:894 $arg_name '$object_type' is not a net. -0142 CmdArgs.tcl:918 unsupported object type $object_type. -0143 CmdArgs.tcl:899 $arg_name '$arg' not found. -0160 CmdUtil.tcl:44 no commands match '$pattern'. -0161 CmdUtil.tcl:89 Usage: $cmd $cmd_args($cmd) -0162 CmdUtil.tcl:91 Usage: $cmd argument error -0163 CmdUtil.tcl:161 unknown $unit unit '$suffix'. -0164 CmdUtil.tcl:209 unsupported object type $list_type. -0165 CmdUtil.tcl:226 unknown namespace $namespc. -0180 DelayCalc.tcl:119 delay calculator $alg not found. -0181 DelayCalc.tcl:148 $cmd missing -from argument. -0182 DelayCalc.tcl:153 $cmd missing -to argument. -0183 DelayCalc.tcl:158 $cmd delay is not a float. -0184 DelayCalc.tcl:163 set_annotated_delay -cell and -net options are mutually excluive. -0185 DelayCalc.tcl:169 $cmd pin [get_full_name $pin] is not attached to instance [get_full_name $inst]. -0186 DelayCalc.tcl:174 $cmd pin [get_full_name $pin] is not attached to instance [get_full_name $inst] -0187 DelayCalc.tcl:179 $cmd -cell or -net required. -0188 DelayCalc.tcl:243 $cmd missing -from argument. -0189 DelayCalc.tcl:252 $cmd -clock must be rise or fall. -0190 DelayCalc.tcl:259 $cmd missing -to argument. -0191 DelayCalc.tcl:274 $cmd missing -setup|-hold|-recovery|-removal check type.. -0192 DelayCalc.tcl:282 $cmd check_value is not a float. -0210 DelayCalc.tcl:350 set_assigned_transition transition is not a float. -0220 Link.tcl:34 missing top_cell_name argument and no current_design. -0230 Network.tcl:35 instance $instance_path not found. -0231 Network.tcl:221 net $net_path not found. -0232 Network.tcl:224 net $net_path not found. -0250 NetworkEdit.tcl:107 unsupported object type $object_type. -0251 NetworkEdit.tcl:137 connect_pins is deprecated. Use connect_pin. -0252 NetworkEdit.tcl:206 unsupported object type $object_type. -0253 NetworkEdit.tcl:224 unsupported object type $object_type. -0266 Sta.cc:2105 '%s' is not a valid endpoint. -0267 Sta.cc:2029 '%s' is not a valid start point. -0270 Parasitics.tcl:45 path instance '$path' not found. -0271 Parasitics.tcl:62 -reduce_to must be pi_elmore or pi_pole_residue2. -0272 Parasitics.tcl:70 read_spef -increment is deprecated. -0301 Power.tcl:220 activity should be 0.0 to 1.0 or 2.0 -0302 Power.tcl:228 duty should be 0.0 to 1.0 -0303 Power.tcl:243 activity cannot be set on clock ports. -0320 Property.tcl:32 $cmd object is null. -0321 Property.tcl:37 $cmd $type_key must be specified with object name argument. -0322 Property.tcl:77 get_property unsupported object type $object_type. -0323 Property.tcl:80 get_property $object is not an object. -0324 Property.tcl:107 $object_type not supported. -0325 Property.tcl:110 $object_type '$object_name' not found. -0340 Sdc.tcl:73 cannot open '$filename'. -0341 Sdc.tcl:128 incomplete command at end of file. -0342 Sdc.tcl:212 hierarchy separator must be one of '$sdc_dividers'. -0343 Sdc.tcl:259 unknown unit $unit '$suffix'. -0344 Sdc.tcl:281 unknown $unit prefix '$prefix'. -0345 Sdc.tcl:288 $unit scale [format %.0e $scale] does not match library scale [format %.0e $unit_scale]. -0346 Sdc.tcl:394 only one of -cells, -data_pins, -clock_pins, -async_pins, -output_pins are suppported. -0347 Sdc.tcl:437 current_design for other than top cell not supported. -0348 Sdc.tcl:473 patterns argument not supported with -of_objects. -0349 Sdc.tcl:506 instance '$pattern' not found. -0350 Sdc.tcl:539 unsupported instance -filter expression. -0351 Sdc.tcl:566 clock '$pattern' not found. -0352 Sdc.tcl:592 positional arguments not supported with -of_objects. -0353 Sdc.tcl:619 library '$lib_name' not found. -0354 Sdc.tcl:631 cell '$cell_pattern' not found. -0355 Sdc.tcl:678 library/cell/port '$pattern' not found. -0356 Sdc.tcl:698 port '$port_pattern' not found. -0357 Sdc.tcl:703 library '$lib_name' not found. -0358 Sdc.tcl:713 -nocase ignored without -regexp. -0359 Sdc.tcl:739 library '$pattern' not found. -0360 Sdc.tcl:802 patterns argument not supported with -of_objects. -0361 Sdc.tcl:826 net '$pattern' not found. -0362 Sdc.tcl:855 patterns argument not supported with -of_objects. -0363 Sdc.tcl:892 pin '$pattern' not found. -0364 Sdc.tcl:924 unsupported pin -filter expression. -0365 Sdc.tcl:949 patterns argument not supported with -of_objects. -0366 Sdc.tcl:963 port '$pattern' not found. -0367 Sdc.tcl:1000 unsupported port -filter expression. -0368 Sdc.tcl:1033 -add requires -name. -0369 Sdc.tcl:1038 -name or port_pin_list must be specified. -0370 Sdc.tcl:1046 missing -period argument. -0371 Sdc.tcl:1052 -waveform edge_list must have an even number of edge times. -0372 Sdc.tcl:1061 non-increasing clock -waveform edge times. -0373 Sdc.tcl:1064 -waveform time greater than two periods. -0374 Sdc.tcl:1122 empty ports/pins/nets argument. -0375 Sdc.tcl:1130 -add requires -name. -0376 Sdc.tcl:1135 name or port_pin_list must be specified. -0377 Sdc.tcl:1142 missing -source argument. -0378 Sdc.tcl:1157 -master_clock argument empty. -0379 Sdc.tcl:1160 -add requireds -master_clock. -0380 Sdc.tcl:1164 -multiply_by and -divide_by options are exclusive. -0381 Sdc.tcl:1168 -divide_by is not an integer greater than one. -0382 Sdc.tcl:1171 -combinational implies -divide_by 1. -0383 Sdc.tcl:1176 -multiply_by is not an integer greater than one. -0384 Sdc.tcl:1182 -duty_cycle is not a float between 0 and 100. -0385 Sdc.tcl:1188 -edges only supported for three edges. -0386 Sdc.tcl:1194 edges times are not monotonically increasing. -0387 Sdc.tcl:1203 -edge_shift length does not match -edges length. -0388 Sdc.tcl:1209 missing -multiply_by, -divide_by, -combinational or -edges argument. -0389 Sdc.tcl:1217 cannot specify -invert without -multiply_by, -divide_by or -combinational. -0390 Sdc.tcl:1223 -duty_cycle requires -multiply_by value. -0391 Sdc.tcl:1283 group_path command failed. -0392 Sdc.tcl:1290 positional arguments not supported. -0393 Sdc.tcl:1294 -from, -through or -to required. -0394 Sdc.tcl:1300 -name and -default are mutually exclusive. -0395 Sdc.tcl:1302 -name or -default option is required. -0396 Sdc.tcl:1343 cannot specify both -high and -low. -0397 Sdc.tcl:1351 missing -setup or -hold argument. -0398 Sdc.tcl:1365 -high and -low only permitted for pins and instances. -0399 Sdc.tcl:1372 -high and -low only permitted for pins and instances. -0400 Sdc.tcl:1415 one of -logically_exclusive, -physically_exclusive or -asynchronous is required. -0401 Sdc.tcl:1418 the keywords -logically_exclusive, -physically_exclusive and -asynchronous are mutually exclusive. -0402 Sdc.tcl:1437 unknown keyword argument $arg. -0403 Sdc.tcl:1439 extra positional argument $arg. -0404 Sdc.tcl:1468 the -all and -name options are mutually exclusive. -0405 Sdc.tcl:1471 either -all or -name options must be specified. -0406 Sdc.tcl:1479 one of -logically_exclusive, -physically_exclusive or -asynchronous is required. -0407 Sdc.tcl:1482 the keywords -logically_exclusive, -physically_exclusive and -asynchronous are mutually exclusive. -0408 Sdc.tcl:1532 -clock ignored for clock objects. -0409 Sdc.tcl:1546 -source '[get_full_name $pin]' is not a clock pin. -0410 Sdc.tcl:1553 -early/-late is only allowed with -source. -0411 Sdc.tcl:1582 -clock ignored for clock objects. -0412 Sdc.tcl:1594 -source '[$pin path_name]' is not a clock pin. -0413 Sdc.tcl:1622 set_sense -type data not supported. -0414 Sdc.tcl:1626 set_sense -type clock|data -0415 Sdc.tcl:1637 set_clock_sense is deprecated as of SDC 2.1. Use set_sense -type clock. -0416 Sdc.tcl:1649 -pulse argument not supported. -0417 Sdc.tcl:1658 -positive, -negative, -stop_propagation and -pulse are mutually exclusive. -0418 Sdc.tcl:1671 hierarchical pin '[get_full_name $pin]' not supported. -0419 Sdc.tcl:1695 transition time can not be specified for virtual clocks. -0420 Sdc.tcl:1728 missing uncertainty value. -0421 Sdc.tcl:1776 -from/-to must be used together. -0422 Sdc.tcl:1796 -rise, -fall options not allowed for single clock uncertainty. -0423 Sdc.tcl:1862 -from/-to must be used together. -0424 Sdc.tcl:1882 -rise, -fall options not allowed for single clock uncertainty. -0425 Sdc.tcl:1923 missing -from, -rise_from or -fall_from argument. -0426 Sdc.tcl:1935 missing -to, -rise_to or -fall_to argument. -0427 Sdc.tcl:1983 missing -from, -rise_from or -fall_from argument. -0428 Sdc.tcl:1995 missing -to, -rise_to or -fall_to argument. -0429 Sdc.tcl:2037 -from/-to keywords ignored for lib_pin, port and pin arguments. -0430 Sdc.tcl:2067 -from/-to hierarchical instance not supported. -0431 Sdc.tcl:2099 pin '[get_full_name $inst]${hierarchy_separator}${port_name}' not found. -0432 Sdc.tcl:2140 pin '[get_name $cell]${hierarchy_separator}${port_name}' not found. -0434 Sdc.tcl:2174 -from/-to keywords ignored for lib_pin, port and pin arguments. -0435 Sdc.tcl:2226 -from/-to hierarchical instance not supported. -0436 Sdc.tcl:2280 '$args' ignored. -0437 Sdc.tcl:2284 -from, -through or -to required. -0438 Sdc.tcl:2363 -source_latency_included ignored with -reference_pin. -0439 Sdc.tcl:2366 -network_latency_included ignored with -reference_pin. -0440 Sdc.tcl:2385 $cmd not allowed on [pin_direction $pin] port '[get_full_name $pin]'. -0441 Sdc.tcl:2387 $cmd relative to a clock defined on the same port/pin not allowed. -0442 Sdc.tcl:2435 missing delay argument. -0443 Sdc.tcl:2441 '$args' ignored. -0444 Sdc.tcl:2566 missing path multiplier argument. -0445 Sdc.tcl:2571 '$args' ignored. -0446 Sdc.tcl:2578 cannot use -start with -end. -0447 Sdc.tcl:2628 $cmd command failed. -0448 Sdc.tcl:2635 positional arguments not supported. -0449 Sdc.tcl:2639 -from, -through or -to required. -0450 Sdc.tcl:2706 virtual clock [get_name $clk] can not be propagated. -0451 Sdc.tcl:2748 value must be 0, zero, 1, one, rise, rising, fall, or falling. -0452 Sdc.tcl:2817 cell '$lib_name:$cell_name' not found. -0453 Sdc.tcl:2823 '$cell_name' not found. -0454 Sdc.tcl:2827 missing -lib_cell argument. -0455 Sdc.tcl:2835 port '$to_port_name' not found. -0456 Sdc.tcl:2847 -pin argument required for cells with multiple outputs. -0457 Sdc.tcl:2862 port '$from_port_name' not found. -0458 Sdc.tcl:2880 -multiply_by ignored. -0459 Sdc.tcl:2883 -dont_scale ignored. -0460 Sdc.tcl:2886 -no_design_rule ignored. -0461 Sdc.tcl:2909 set_fanout_load not supported. -0462 Sdc.tcl:2933 -clock not supported. -0463 Sdc.tcl:2936 -clock_fall not supported. -0464 Sdc.tcl:2982 -pin_load not allowed for net objects. -0465 Sdc.tcl:2985 -wire_load not allowed for net objects. -0466 Sdc.tcl:2988 -rise/-fall not allowed for net objects. -0467 Sdc.tcl:3075 port '[get_name $port]' is not an input. -0468 Sdc.tcl:3121 -data_path, -clock_path, -rise, -fall ignored for ports and designs. -0469 Sdc.tcl:3192 derating factor greater than 2.0. -0470 Sdc.tcl:3229 -cell_delay and -cell_check flags ignored for net objects. -0471 Sdc.tcl:3299 no valid objects specified for $key. -0472 Sdc.tcl:3332 no valid objects specified for $key -0473 Sdc.tcl:3381 no valid objects specified for $key. -0474 Sdc.tcl:3449 operating condition '$op_cond_name' not found. -0475 Sdc.tcl:3467 operating condition '$op_cond_name' not found. -0476 Sdc.tcl:3481 -analysis_type must be single, bc_wc or on_chip_variation. -0477 Sdc.tcl:3493 set_wire_load_min_block_size not supported. -0478 Sdc.tcl:3506 mode must be top, enclosed or segmented. -0479 Sdc.tcl:3521 no wire load model specified. -0480 Sdc.tcl:3543 wire load model '$model_name' not found. -0481 Sdc.tcl:3582 wire load selection group '$selection_name' not found. -0482 Sdc.tcl:3670 define_corners must be called before read_liberty. -0500 Sdc.tcl:3740 no default operating conditions found. -0510 Search.tcl:136 $cmd -path_delay must be min, min_rise, min_fall, max, max_rise, max_fall or min_max. -0511 Search.tcl:146 $cmd command failed. -0512 Search.tcl:165 -endpoint_count must be a positive integer. -0513 Search.tcl:174 -group_count must be >= 1. -0514 Search.tcl:205 '$arg' is not a known keyword or flag. -0515 Search.tcl:207 positional arguments not supported. -0516 Search.tcl:326 report_clock_skew -setup and -hold are mutually exclusive options. -0517 Search.tcl:411 -all_violators is deprecated. Use -violators -0518 Search.tcl:491 -max_transition deprecated. Use -max_slew. -0519 Search.tcl:496 -min_transition deprecated. Use -min_slew. -0520 Search.tcl:510 analysis type single is not consistent with doing both setup/max and hold/min checks. -0521 Search.tcl:515 positional arguments not supported. -0522 Search.tcl:778 -min and -max cannot both be specified. -0523 Search.tcl:798 pin '$pin_arg' is hierarchical. -0524 Search.tcl:864 -format $format not recognized. -0525 Search.tcl:904 The transition_time field is deprecated. Use slew instead. -0526 Search.tcl:1011 specify one of -setup and -hold. -0527 Search.tcl:1060 unknown path group '$name'. -0540 Sta.tcl:158 -from/-to arguments not supported with -of_objects. -0541 Sta.tcl:286 unsupported -filter expression. -0560 Util.tcl:44 $cmd $key missing value. -0561 Util.tcl:61 $cmd $key missing value. -0562 Util.tcl:71 $cmd $arg is not a known keyword or flag. -0563 Util.tcl:93 $cmd $arg is not a known keyword or flag. -0564 Util.tcl:241 $cmd positional arguments not supported. -0565 Util.tcl:247 $cmd requires one positional argument. -0566 Util.tcl:254 $cmd requires zero or one positional arguments. -0567 Util.tcl:260 $cmd requires two positional arguments. -0568 Util.tcl:267 $cmd requires one or two positional arguments. -0569 Util.tcl:273 $cmd requires three positional arguments. -0570 Util.tcl:279 $cmd requires four positional arguments. -0571 Util.tcl:287 $cmd_arg '$arg' is not a float. -0572 Util.tcl:293 $cmd_arg '$arg' is not a positive float. -0573 Util.tcl:299 $cmd_arg '$arg' is not an integer. -0574 Util.tcl:305 $cmd_arg '$arg' is not a positive integer. -0575 Util.tcl:311 $cmd_arg '$arg' is not an integer greater than or equal to one. -0576 Util.tcl:317 $cmd_arg '$arg' is not between 0 and 100. -0590 Variables.tcl:45 sta_report_default_digits must be a positive integer. -0591 Variables.tcl:70 sta_crpr_mode must be pin or transition. -0592 Variables.tcl:187 $var_name value must be 0 or 1. -0600 WritePathSpice.tcl:35 Directory $spice_dir not found. -0601 WritePathSpice.tcl:38 $spice_dir is not a directory. -0602 WritePathSpice.tcl:41 Cannot write in $spice_dir. -0603 WritePathSpice.tcl:44 No -spice_directory specified. -0604 WritePathSpice.tcl:50 -lib_subckt_file $lib_subckt_file is not readable. -0605 WritePathSpice.tcl:53 No -lib_subckt_file specified. -0606 WritePathSpice.tcl:59 -model_file $model_file is not readable. -0607 WritePathSpice.tcl:62 No -model_file specified. -0608 WritePathSpice.tcl:68 No -power specified. -0609 WritePathSpice.tcl:74 No -ground specified. -0610 WritePathSpice.tcl:78 No -path_args specified. -0611 WritePathSpice.tcl:83 No paths found for -path_args $path_args. -0620 Sdf.tcl:41 -cond_use must be min, max or min_max. -0621 Sdf.tcl:46 -cond_use min_max cannot be used with analysis type single. -0622 Sdf.tcl:50 -analysis_type is deprecated. Use set_operating_conditions -analysis_type. -0623 Sdf.tcl:157 SDF -divider must be / or . -0800 VcdReader.cc:110 unhandled vcd command. -0801 VcdReader.cc:146 timescale syntax error. -0802 VcdReader.cc:160 Unknown timescale unit. -0804 VcdReader.cc:217 Variable syntax error. -1000 ConcreteNetwork.cc:1923 cell type %s can not be linked. -1010 CycleAccting.cc:87 No common period was found between clocks %s and %s. -1020 DelayNormal1.cc:203 unknown early/late value. -1030 DelayNormal2.cc:378 unknown early/late value. -1040 DmpCeff.cc:1554 parasitic Pi model has NaNs. -1041 DmpCeff.cc:1582 cell %s delay model not supported on SPF parasitics by DMP delay calculator -1050 EstimateParasitics.cc:188 load pin not leaf or top level -1060 Genclks.cc:274 no master clock found for generated clock %s. -1062 Genclks.cc:938 generated clock %s source pin %s missing paths from master clock %s. -1080 Graph.cc:793 arc_delay_annotated array bounds exceeded -1081 Graph.cc:808 arc_delay_annotated array bounds exceeded -1082 Graph.cc:820 arc_delay_annotated array bounds exceeded -1083 Graph.cc:833 arc_delay_annotated array bounds exceeded -1100 GraphDelayCalc.cc:480 port not found in cell -1110 Liberty.cc:766 cell %s/%s port %s not found in cell %s/%s. -1111 Liberty.cc:792 cell %s/%s %s -> %s timing group %s not found in cell %s/%s. -1112 Liberty.cc:811 Liberty cell %s/%s for corner %s/%s not found. -1113 Liberty.cc:1748 cell %s/%s %s -> %s latch enable %s_edge is inconsistent with %s -> %s setup_%s check. -1114 Liberty.cc:1762 cell %s/%s %s -> %s latch enable %s_edge is inconsistent with latch group enable function positive sense. -1115 Liberty.cc:1770 cell %s/%s %s -> %s latch enable %s_edge is inconsistent with latch group enable function negative sense. -1130 LibertyExpr.cc:82 %s references unknown port %s. -1131 LibertyExpr.cc:175 %s %s. -1140 LibertyReader.cc:598 library %s already exists. -1141 LibertyReader.cc:632 library missing name. -1142 LibertyReader.cc:658 default_wire_load %s not found. -1143 LibertyReader.cc:669 default_wire_selection %s not found. -1144 LibertyReader.cc:681 default_operating_condition %s not found. -1145 LibertyReader.cc:691 input_threshold_pct_%s not found. -1146 LibertyReader.cc:695 output_threshold_pct_%s not found. -1147 LibertyReader.cc:699 slew_lower_threshold_pct_%s not found. -1148 LibertyReader.cc:703 slew_upper_threshold_pct_%s not found. -1149 LibertyReader.cc:708 Library %s is missing one or more thresholds. -1150 LibertyReader.cc:787 unknown unit multiplier %s. -1151 LibertyReader.cc:810 unknown unit scale %c. -1152 LibertyReader.cc:813 unknown unit suffix %s. -1153 LibertyReader.cc:816 unknown unit suffix %s. -1154 LibertyReader.cc:841 capacitive_load_units are not ff or pf. -1155 LibertyReader.cc:844 capacitive_load_units are not a string. -1156 LibertyReader.cc:847 capacitive_load_units missing suffix. -1157 LibertyReader.cc:850 capacitive_load_units scale is not a float. -1158 LibertyReader.cc:853 capacitive_load_units missing scale and suffix. -1159 LibertyReader.cc:856 capacitive_load_unit missing values suffix. -1160 LibertyReader.cc:874 delay_model %s not supported. -1161 LibertyReader.cc:878 delay_model %s not supported. -1162 LibertyReader.cc:882 delay_model %s not supported. -1163 LibertyReader.cc:887 delay_model %s not supported. -. -1164 LibertyReader.cc:890 unknown delay_model %s -. -1165 LibertyReader.cc:909 unknown bus_naming_style format. -1166 LibertyReader.cc:930 voltage_map voltage is not a float. -1167 LibertyReader.cc:933 voltage_map missing voltage. -1168 LibertyReader.cc:936 voltage_map supply name is not a string. -1169 LibertyReader.cc:939 voltage_map missing supply name and voltage. -1170 LibertyReader.cc:942 voltage_map missing values suffix. -1171 LibertyReader.cc:1027 default_max_transition is 0.0. -1172 LibertyReader.cc:1042 default_max_fanout is 0.0. -1173 LibertyReader.cc:1132 default_fanout_load is 0.0. -1174 LibertyReader.cc:1160 default_wire_load_mode %s not found. -1175 LibertyReader.cc:1331 table template missing name. -1176 LibertyReader.cc:1376 missing variable_%d attribute. -1177 LibertyReader.cc:1452 missing table index values. -1178 LibertyReader.cc:1458 non-increasing table index values. -1179 LibertyReader.cc:1490 bus type %s missing bit_from. -1180 LibertyReader.cc:1492 bus type %s missing bit_to. -1181 LibertyReader.cc:1496 type missing name. -1182 LibertyReader.cc:1523 scaling_factors do not have a name. -1183 LibertyReader.cc:1692 operating_conditions missing name. -1184 LibertyReader.cc:1763 wire_load missing name. -1185 LibertyReader.cc:1806 fanout_length is missing length and fanout. -1186 LibertyReader.cc:1821 wire_load_selection missing name. -1187 LibertyReader.cc:1852 wireload %s not found. -1189 LibertyReader.cc:1859 wire_load_from_area min not a float. -1190 LibertyReader.cc:1862 wire_load_from_area max not a float. -1191 LibertyReader.cc:1865 wire_load_from_area missing parameters. -1192 LibertyReader.cc:1868 wire_load_from_area missing parameters. -1193 LibertyReader.cc:1887 cell missing name. -1194 LibertyReader.cc:1910 cell %s ocv_derate_group %s not found. -1195 LibertyReader.cc:1941 port %s function size does not match port size. -1196 LibertyReader.cc:1997 %s %s bus width mismatch. -1197 LibertyReader.cc:2008 %s %s bus width mismatch. -1198 LibertyReader.cc:2018 clear -1199 LibertyReader.cc:2028 preset -1200 LibertyReader.cc:2064 latch enable function is non-unate for port %s. -1201 LibertyReader.cc:2069 latch enable function is unknown for port %s. -1202 LibertyReader.cc:2141 operating conditions %s not found. -1203 LibertyReader.cc:2144 scaled_cell missing operating condition. -1204 LibertyReader.cc:2147 scaled_cell cell %s has not been defined. -1205 LibertyReader.cc:2150 scaled_cell missing name. -1206 LibertyReader.cc:2176 scaled_cell %s, %s port functions do not match cell port functions. -1207 LibertyReader.cc:2181 scaled_cell ports do not match cell ports. -1208 LibertyReader.cc:2183 scaled_cell %s, %s timing does not match cell timing. -1209 LibertyReader.cc:2202 combinational timing to an input port. -1210 LibertyReader.cc:2297 missing %s_transition. -1211 LibertyReader.cc:2299 missing cell_%s. -1212 LibertyReader.cc:2319 timing group from output port. -1213 LibertyReader.cc:2329 timing group from output port. -1214 LibertyReader.cc:2339 timing group from output port. -1215 LibertyReader.cc:2357 timing group from output port. -1217 LibertyReader.cc:2373 timing group from output port. -1218 LibertyReader.cc:2460 receiver_capacitance group not in timing or pin group. -1219 LibertyReader.cc:2477 unsupported model axis. -1220 LibertyReader.cc:2505 output_current_%s group not in timing group. -1221 LibertyReader.cc:2546 output current waveform %.2e %.2e not found. -1222 LibertyReader.cc:2566 unsupported model axis. -1223 LibertyReader.cc:2608 vector index_1 and index_2 must have exactly one value. -1224 LibertyReader.cc:2610 vector reference_time not found. -1225 LibertyReader.cc:2643 normalized_driver_waveform variable_2 must be normalized_voltage -1226 LibertyReader.cc:2646 normalized_driver_waveform variable_1 must be input_net_transition -1227 SpefReader.cc:732 %s. -1228 LibertyReader.cc:2868 level_shifter_type must be HL, LH, or HL_LH -1229 LibertyReader.cc:2904 switch_cell_type must be coarse_grain or fine_grain -1230 LibertyReader.cc:2928 scaling_factors %s not found. -1231 LibertyReader.cc:2969 pin name is not a string. -1232 LibertyReader.cc:2986 pin name is not a string. -1233 LibertyReader.cc:3000 pin name is not a string. -1234 LibertyReader.cc:3078 bus %s bus_type not found. -1235 LibertyReader.cc:3130 bus_type %s not found. -1236 LibertyReader.cc:3133 bus_type is not a string. -1237 LibertyReader.cc:3151 bundle %s member not found. -1238 LibertyReader.cc:3174 member is not a string. -1239 LibertyReader.cc:3181 members attribute is missing values. -1240 LibertyReader.cc:3232 unknown port direction. -1241 LibertyReader.cc:3466 max_transition is 0.0. -1242 LibertyReader.cc:3572 pulse_latch unknown pulse type. -1243 LibertyReader.cc:3861 timing group missing related_pin/related_bus_pin. -1244 LibertyReader.cc:3942 unknown timing_type %s. -1245 LibertyReader.cc:3962 unknown timing_sense %s. -1246 LibertyReader.cc:4002 mode value is not a string. -1247 LibertyReader.cc:4005 missing mode value. -1248 LibertyReader.cc:4008 mode name is not a string. -1249 LibertyReader.cc:4011 mode missing values. -1250 LibertyReader.cc:4014 mode missing mode name and value. -1251 LibertyReader.cc:4090 unsupported model axis. -1252 LibertyReader.cc:4117 unsupported model axis. -1253 LibertyReader.cc:4146 unsupported model axis. -1254 LibertyReader.cc:4181 unsupported model axis. -1255 LibertyReader.cc:4197 %s group not in timing group. -1256 LibertyReader.cc:4236 table template %s not found. -1257 LibertyReader.cc:4320 %s is missing values. -1258 LibertyReader.cc:4343 %s is not a list of floats. -1259 LibertyReader.cc:4345 table row has %u columns but axis has %d. -1260 LibertyReader.cc:4355 table has %u rows but axis has %d. -1261 LibertyReader.cc:4406 lut output is not a string. -1262 LibertyReader.cc:4423 cell %s test_cell redefinition. -1263 LibertyReader.cc:4448 mode definition missing name. -1264 LibertyReader.cc:4465 mode value missing name. -1265 LibertyReader.cc:4479 when attribute inside table model. -1266 LibertyReader.cc:4528 %s attribute is not a string. -1267 LibertyReader.cc:4531 %s is not a simple attribute. -1268 LibertyReader.cc:4551 %s attribute is not an integer. -1269 LibertyReader.cc:4554 %s is not a simple attribute. -1270 LibertyReader.cc:4567 %s is not a simple attribute. -1271 LibertyReader.cc:4593 %s value %s is not a float. -1272 LibertyReader.cc:4622 %s missing values. -1273 LibertyReader.cc:4626 %s missing values. -1274 LibertyReader.cc:4629 %s is not a complex attribute. -1275 LibertyReader.cc:4655 %s is not a float. -1276 LibertyReader.cc:4678 %s is missing values. -1277 LibertyReader.cc:4681 %s has more than one string. -1278 LibertyReader.cc:4690 %s is missing values. -1279 LibertyReader.cc:4715 %s attribute is not boolean. -1280 LibertyReader.cc:4718 %s attribute is not boolean. -1281 LibertyReader.cc:4721 %s is not a simple attribute. -1282 LibertyReader.cc:4737 attribute %s value %s not recognized. -1283 LibertyReader.cc:4768 unknown early/late value. -1284 LibertyReader.cc:4988 OCV derate group named %s not found. -1285 LibertyReader.cc:5004 ocv_derate missing name. -1286 LibertyReader.cc:5057 unknown rise/fall. -1287 LibertyReader.cc:5077 unknown derate type. -1288 LibertyReader.cc:5109 unsupported model axis. -1289 LibertyReader.cc:5141 unsupported model axis. -1290 LibertyReader.cc:5173 unsupported model axis. -1291 LibertyReader.cc:5244 unknown pg_type. -1292 LibertyReader.cc:5639 port %s subscript out of range. -1293 LibertyReader.cc:5643 port range %s of non-bus port %s. -1294 LibertyReader.cc:5657 port %s not found. -1295 LibertyReader.cc:5727 port %s not found. -1297 LibertyReader.cc:1418 axis type %s not supported. -1330 LibertyWriter.cc:286 %s/%s bundled ports not supported. -1331 LibertyWriter.cc:417 %s/%s/%s timing model not supported. -1332 LibertyWriter.cc:437 3 axis table models not supported. -1333 LibertyWriter.cc:581 %s/%s/%s timing arc type %s not supported. -1350 LumpedCapDelayCalc.cc:138 gate delay input variable is NaN -1351 TagGroup.cc:297 tag group missing tag -1355 MakeTimingModel.cc:206 clock %s pin %s is inside model block. -1360 Vcd.cc:172 Unknown variable %s ID %s -1370 PathEnum.cc:474 path diversion missing edge. -1380 PathEnumed.cc:126 enumerated path required time -1381 PathEnumed.cc:135 enumerated path required time -1390 PathGroup.cc:399 unknown path end type -1398 VerilogReader.cc:1782 %s is not a verilog module. -1399 VerilogReader.cc:1787 %s is not a verilog module. -1400 PathVertex.cc:236 missing arrivals. -1401 PathVertex.cc:250 missing arrivals. -1402 PathVertex.cc:279 missing requireds. -1420 PathVertexRep.cc:145 tag group missing tag -1421 PathVertexRep.cc:150 missing arrivals -1422 PathVertexRep.cc:153 missing arrivals. -1440 Power.cc:610 unknown function operator -1450 ReadVcdActivities.cc:107 VCD max time is zero. -1451 ReadVcdActivities.cc:174 problem parsing bus %s. -1452 ReadVcdActivities.cc:251 clock %s vcd period %s differs from SDC clock period %s -1470 ReportPath.cc:289 unsupported path type -1471 ReportPath.cc:310 unsupported path type -1473 ReportPath.cc:349 unsupported path type -1474 ReportPath.cc:2378 unsupported path type -1490 Sdc.cc:4058 group path name and is_default are mutually exclusive. -1500 SdcNetwork.cc:1095 inst path string lenth estimate busted -1501 SdcNetwork.cc:1167 inst path string lenth estimate exceeded -1510 Search.cc:2654 max tag group index exceeded -1511 Search.cc:2890 max tag index exceeded -1512 Search.cc:3617 unexpected filter path -1513 Search.cc:3785 tns incr existing vertex -1520 Sim.cc:209 unknown function operator -1521 Sim.cc:864 propagated logic value %c differs from constraint value of %c on pin %s. -1525 SpefParse.yy:805 %d is not positive. -1526 SpefParse.yy:814 %.4f is not positive. -1527 SpefParse.yy:820 %.4f is not positive. -1550 Sta.cc:2032 '%s' is not a valid start point. -1551 Sta.cc:2108 '%s' is not a valid endpoint. -1552 Sta.cc:2431 maximum corner count exceeded -1553 Sta.cc:4228 corresponding timing arc set not found in equiv cells -1570 StaTcl.i:118 no network has been linked. -1571 StaTcl.i:132 network does not support edits. -1573 StaTcl.i:4115 unknown common clk pessimism mode. -1574 StaTcl.i:4129 POCV support requires compilation with SSTA=1. -1575 StaTcl.i:4367 unknown report path field %s -1576 StaTcl.i:4379 unknown report path field %s -1577 StaTcl.i:5064 unknown clock sense -1600 WritePathSpice.cc:287 No liberty libraries found, -1602 WritePathSpice.cc:517 Liberty pg_port %s/%s missing voltage_name attribute, -1603 WritePathSpice.cc:1096 %s pg_port %s not found, -1604 WritePathSpice.cc:1151 no register/latch found for path from %s to %s, -1605 WritePathSpice.cc:1617 The subkct file %s is missing definitions for %s -1606 WritePathSpice.cc:1715 subckt %s port %s has no corresponding liberty port, pg_port and is not power or ground. -1620 WriteSdc.cc:1254 unknown exception type -1621 WriteSdc.cc:1796 illegal set_logic value -1622 WriteSdc.cc:1837 invalid set_case_analysis value diff --git a/search/WritePathSpice.cc b/search/WritePathSpice.cc index d0d7b1fb..6b605ca0 100644 --- a/search/WritePathSpice.cc +++ b/search/WritePathSpice.cc @@ -72,6 +72,7 @@ public: StdStringSet *off_path_pin_names, const char *power_name, const char *gnd_name, + bool measure_stmts, const StaState *sta); ~WritePathSpice(); void writeSpice(); @@ -225,6 +226,7 @@ private: StdStringSet *off_path_pin_names_; const char *power_name_; const char *gnd_name_; + bool measure_stmts_; ofstream spice_stream_; PathExpanded path_expanded_; @@ -281,13 +283,15 @@ writePathSpice(Path *path, StdStringSet *off_path_pin_names, const char *power_name, const char *gnd_name, + bool measure_stmts, StaState *sta) { if (sta->network()->defaultLibertyLibrary() == nullptr) sta->report()->error(1600, "No liberty libraries found,"); WritePathSpice writer(path, spice_filename, subckt_filename, lib_subckt_filename, model_filename, - off_path_pin_names, power_name, gnd_name, sta); + off_path_pin_names, power_name, gnd_name, + measure_stmts, sta); writer.writeSpice(); } @@ -299,6 +303,7 @@ WritePathSpice::WritePathSpice(Path *path, StdStringSet *off_path_pin_names, const char *power_name, const char *gnd_name, + bool measure_stmts, const StaState *sta) : StaState(sta), path_(path), @@ -309,6 +314,7 @@ WritePathSpice::WritePathSpice(Path *path, off_path_pin_names_(off_path_pin_names), power_name_(power_name), gnd_name_(gnd_name), + measure_stmts_(measure_stmts), path_expanded_(sta), net_name_(nullptr), default_library_(network_->defaultLibertyLibrary()), @@ -346,7 +352,8 @@ WritePathSpice::writeSpice() writeHeader(); writePrintStmt(); writeStageInstances(); - writeMeasureStmts(); + if (measure_stmts_) + writeMeasureStmts(); writeInputSource(); writeStageSubckts(); streamPrint(spice_stream_, ".end\n"); @@ -381,8 +388,6 @@ WritePathSpice::writeHeader() start_path->transition(this)->asString(), network_->pathName(path_->pin(this)), path_->transition(this)->asString()); - float temp = pvt->temperature(); - streamPrint(spice_stream_, ".temp %.1f\n", temp); streamPrint(spice_stream_, ".include \"%s\"\n", model_filename_); string subckt_filename_stem = filenameStem(subckt_filename_); streamPrint(spice_stream_, ".include \"%s\"\n", subckt_filename_stem.c_str()); @@ -391,6 +396,7 @@ WritePathSpice::writeHeader() float time_step = 1e-13; streamPrint(spice_stream_, ".tran %.3g %.3g\n\n", time_step, max_time); + // Suppress printing model parameters. streamPrint(spice_stream_, ".options nomod\n"); } diff --git a/tcl/StaTcl.i b/tcl/StaTcl.i index d2b6c45d..4e856ad8 100644 --- a/tcl/StaTcl.i +++ b/tcl/StaTcl.i @@ -3545,12 +3545,13 @@ write_path_spice_cmd(PathRef *path, const char *model_filename, StdStringSet *off_path_pins, const char *power_name, - const char *gnd_name) + const char *gnd_name, + bool measure_stmts) { Sta *sta = Sta::sta(); writePathSpice(path, spice_filename, subckt_filename, lib_subckt_filename, model_filename, off_path_pins, - power_name, gnd_name, sta); + power_name, gnd_name, measure_stmts, sta); delete off_path_pins; } diff --git a/tcl/WritePathSpice.tcl b/tcl/WritePathSpice.tcl index 8739035c..8604471d 100644 --- a/tcl/WritePathSpice.tcl +++ b/tcl/WritePathSpice.tcl @@ -21,13 +21,14 @@ define_cmd_args "write_path_spice" { -path_args path_args\ -lib_subckt_file lib_subckts_file\ -model_file model_file\ -power power\ - -ground ground} + -ground ground\ + [-measure_stmts]} proc write_path_spice { args } { parse_key_args "write_path_spice" args \ keys {-spice_directory -lib_subckt_file -model_file \ -power -ground -path_args} \ - flags {} + flags {-measure_stmts} if { [info exists keys(-spice_directory)] } { set spice_dir [file nativename $keys(-spice_directory)] @@ -74,6 +75,8 @@ proc write_path_spice { args } { sta_error 609 "No -ground specified." } + set measure_stmts [info exists keys(-measure_stmts)] + if { ![info exists keys(-path_args)] } { sta_error 610 "No -path_args specified." } @@ -89,7 +92,7 @@ proc write_path_spice { args } { set spice_file [file join $spice_dir "$path_name.sp"] set subckt_file [file join $spice_dir "$path_name.subckt"] write_path_spice_cmd $path $spice_file $subckt_file \ - $lib_subckt_file $model_file {} $power $ground + $lib_subckt_file $model_file {} $power $ground $measure_stmts incr path_index } }