From 36f13a2d3e626722c532e96707ea0e7f799391c7 Mon Sep 17 00:00:00 2001 From: Akash Levy Date: Tue, 24 Sep 2024 21:20:10 -0700 Subject: [PATCH] Revisions --- doc/messages.txt | 649 +++++++++--------- sdc/Sdc.tcl | 243 ++++--- test/{get_noargs_objrefs.ok => get_noargs.ok} | 16 +- test/get_noargs.tcl | 26 + test/get_noargs_objrefs.tcl | 26 - test/get_objrefs.ok | 45 ++ test/get_objrefs.tcl | 29 + test/regression_vars.tcl | 3 +- 8 files changed, 575 insertions(+), 462 deletions(-) rename test/{get_noargs_objrefs.ok => get_noargs.ok} (62%) create mode 100644 test/get_noargs.tcl delete mode 100644 test/get_noargs_objrefs.tcl create mode 100644 test/get_objrefs.ok create mode 100644 test/get_objrefs.tcl diff --git a/doc/messages.txt b/doc/messages.txt index e42975da..51a22fdf 100644 --- a/doc/messages.txt +++ b/doc/messages.txt @@ -4,13 +4,14 @@ Warning: 0000 duplicated Warning: 0000 duplicated Warning: 0000 duplicated Warning: 0000 duplicated -0000 LibertyReader.cc:2150 statetable input port %s not found. -0000 LibertyReader.cc:3997 table row must have 3 groups separated by ':'. -0000 LibertyReader.cc:4002 table row has %zu input values but %zu are required. -0000 LibertyReader.cc:4009 table row has %zu current values but %zu are required. -0000 LibertyReader.cc:4016 table row has %zu next values but %zu are required. -0000 LibertyReader.cc:4062 table input value '%s' not recognized. -0000 LibertyReader.cc:4081 table internal value '%s' not recognized. +Warning: 304 duplicated +0000 LibertyReader.cc:2151 statetable input port %s not found. +0000 LibertyReader.cc:4008 table row must have 3 groups separated by ':'. +0000 LibertyReader.cc:4013 table row has %zu input values but %zu are required. +0000 LibertyReader.cc:4020 table row has %zu current values but %zu are required. +0000 LibertyReader.cc:4027 table row has %zu next values but %zu are required. +0000 LibertyReader.cc:4073 table input value '%s' not recognized. +0000 LibertyReader.cc:4092 table internal value '%s' not recognized. 0100 CmdArgs.tcl:108 unsupported object type $object_type. 0101 CmdArgs.tcl:166 object '$obj' not found. 0102 CmdArgs.tcl:414 $corner_arg is not the name of process corner. @@ -104,12 +105,22 @@ Warning: 0000 duplicated 0302 Power.tcl:242 duty should be 0.0 to 1.0 0303 Power.tcl:257 activity cannot be set on clock ports. 0304 Power.tcl:40 No liberty libraries have been read. +0304 Power.tcl:286 read_power_activities is deprecated. Use read_vcd. 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. +0326 Sdc.tcl:494 object '$pattern' is not an instance. +0327 Sdc.tcl:542 object '$pattern' is not an clock. +0328 Sdc.tcl:606 object '$pattern' is not a liberty cell. +0329 Sdc.tcl:678 object '$pattern' is not a liberty pin. +0330 Sdc.tcl:757 object '$pattern' is not a liberty library. +0331 Sdc.tcl:856 object '$pattern' is not a net. +0332 Sdc.tcl:936 object '$pattern' is not a pin. +0333 Sdc.tcl:993 object '$pattern' is not a port. +0334 Sdc.tcl:2848 object '$pattern' is not a liberty cell. 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'. @@ -118,139 +129,139 @@ Warning: 0000 duplicated 0345 Sdc.tcl:281 $unit scale [format %.0e $scale] does not match library scale [format %.0e $unit_scale]. 0346 Sdc.tcl:358 only one of -cells, -data_pins, -clock_pins, -async_pins, -output_pins are suppported. 0347 Sdc.tcl:401 current_design for other than top cell not supported. -0348 Sdc.tcl:467 patterns argument not supported with -of_objects. -0349 Sdc.tcl:500 instance '$pattern' not found. -0350 Sdc.tcl:432 unsupported $object_type -filter expression. -0351 Sdc.tcl:533 clock '$pattern' not found. -0352 Sdc.tcl:562 positional arguments not supported with -of_objects. -0353 Sdc.tcl:589 library '$lib_name' not found. -0354 Sdc.tcl:601 cell '$cell_pattern' not found. -0355 Sdc.tcl:651 library/cell/port '$pattern' not found. -0356 Sdc.tcl:671 port '$port_pattern' not found. -0357 Sdc.tcl:676 library '$lib_name' not found. -0358 Sdc.tcl:689 -nocase ignored without -regexp. -0359 Sdc.tcl:715 library '$pattern' not found. -0360 Sdc.tcl:781 patterns argument not supported with -of_objects. -0361 Sdc.tcl:805 net '$pattern' not found. -0362 Sdc.tcl:837 patterns argument not supported with -of_objects. -0363 Sdc.tcl:874 pin '$pattern' not found. -0365 Sdc.tcl:904 patterns argument not supported with -of_objects. -0366 Sdc.tcl:918 port '$pattern' not found. -0368 Sdc.tcl:957 -add requires -name. -0369 Sdc.tcl:962 -name or port_pin_list must be specified. -0370 Sdc.tcl:970 missing -period argument. -0371 Sdc.tcl:976 -waveform edge_list must have an even number of edge times. -0372 Sdc.tcl:985 non-increasing clock -waveform edge times. -0373 Sdc.tcl:988 -waveform time greater than two periods. -0374 Sdc.tcl:1046 empty ports/pins/nets argument. -0375 Sdc.tcl:1054 -add requires -name. -0376 Sdc.tcl:1059 name or port_pin_list must be specified. -0377 Sdc.tcl:1066 missing -source argument. -0378 Sdc.tcl:1081 -master_clock argument empty. -0379 Sdc.tcl:1084 -add requireds -master_clock. -0380 Sdc.tcl:1088 -multiply_by and -divide_by options are exclusive. -0381 Sdc.tcl:1092 -divide_by is not an integer greater than one. -0382 Sdc.tcl:1095 -combinational implies -divide_by 1. -0383 Sdc.tcl:1100 -multiply_by is not an integer greater than one. -0384 Sdc.tcl:1106 -duty_cycle is not a float between 0 and 100. -0385 Sdc.tcl:1112 -edges only supported for three edges. -0386 Sdc.tcl:1118 edges times are not monotonically increasing. -0387 Sdc.tcl:1127 -edge_shift length does not match -edges length. -0388 Sdc.tcl:1133 missing -multiply_by, -divide_by, -combinational or -edges argument. -0389 Sdc.tcl:1141 cannot specify -invert without -multiply_by, -divide_by or -combinational. -0390 Sdc.tcl:1147 -duty_cycle requires -multiply_by value. -0391 Sdc.tcl:1207 group_path command failed. -0392 Sdc.tcl:1214 positional arguments not supported. -0393 Sdc.tcl:1218 -from, -through or -to required. -0394 Sdc.tcl:1224 -name and -default are mutually exclusive. -0395 Sdc.tcl:1226 -name or -default option is required. -0396 Sdc.tcl:1267 cannot specify both -high and -low. -0397 Sdc.tcl:1275 missing -setup or -hold argument. -0398 Sdc.tcl:1289 -high and -low only permitted for pins and instances. -0399 Sdc.tcl:1296 -high and -low only permitted for pins and instances. -0400 Sdc.tcl:1339 one of -logically_exclusive, -physically_exclusive or -asynchronous is required. -0401 Sdc.tcl:1342 the keywords -logically_exclusive, -physically_exclusive and -asynchronous are mutually exclusive. -0402 Sdc.tcl:1361 unknown keyword argument $arg. -0403 Sdc.tcl:1363 extra positional argument $arg. -0404 Sdc.tcl:1392 the -all and -name options are mutually exclusive. -0405 Sdc.tcl:1395 either -all or -name options must be specified. -0406 Sdc.tcl:1403 one of -logically_exclusive, -physically_exclusive or -asynchronous is required. -0407 Sdc.tcl:1406 the keywords -logically_exclusive, -physically_exclusive and -asynchronous are mutually exclusive. -0408 Sdc.tcl:1456 -clock ignored for clock objects. -0409 Sdc.tcl:1470 -source '[get_full_name $pin]' is not a clock pin. -0410 Sdc.tcl:1477 -early/-late is only allowed with -source. -0411 Sdc.tcl:1506 -clock ignored for clock objects. -0412 Sdc.tcl:1518 -source '[$pin path_name]' is not a clock pin. -0413 Sdc.tcl:1546 set_sense -type data not supported. -0414 Sdc.tcl:1550 set_sense -type clock|data -0415 Sdc.tcl:1561 set_clock_sense is deprecated as of SDC 2.1. Use set_sense -type clock. -0416 Sdc.tcl:1573 -pulse argument not supported. -0417 Sdc.tcl:1582 -positive, -negative, -stop_propagation and -pulse are mutually exclusive. -0418 Sdc.tcl:1595 hierarchical pin '[get_full_name $pin]' not supported. -0419 Sdc.tcl:1619 transition time can not be specified for virtual clocks. -0420 Sdc.tcl:1652 missing uncertainty value. -0421 Sdc.tcl:1700 -from/-to must be used together. -0422 Sdc.tcl:1720 -rise, -fall options not allowed for single clock uncertainty. -0423 Sdc.tcl:1786 -from/-to must be used together. -0424 Sdc.tcl:1806 -rise, -fall options not allowed for single clock uncertainty. -0425 Sdc.tcl:1847 missing -from, -rise_from or -fall_from argument. -0426 Sdc.tcl:1859 missing -to, -rise_to or -fall_to argument. -0427 Sdc.tcl:1907 missing -from, -rise_from or -fall_from argument. -0428 Sdc.tcl:1919 missing -to, -rise_to or -fall_to argument. -0429 Sdc.tcl:1961 -from/-to keywords ignored for lib_pin, port and pin arguments. -0430 Sdc.tcl:1991 -from/-to hierarchical instance not supported. -0431 Sdc.tcl:2023 pin '[get_full_name $inst]${hierarchy_separator}${port_name}' not found. -0432 Sdc.tcl:2080 pin '[get_name $cell]${hierarchy_separator}${port_name}' not found. -0434 Sdc.tcl:2114 -from/-to keywords ignored for lib_pin, port and pin arguments. -0435 Sdc.tcl:2166 -from/-to hierarchical instance not supported. -0436 Sdc.tcl:2220 '$args' ignored. -0437 Sdc.tcl:2224 -from, -through or -to required. -0438 Sdc.tcl:2303 -source_latency_included ignored with -reference_pin. -0439 Sdc.tcl:2306 -network_latency_included ignored with -reference_pin. -0440 Sdc.tcl:2325 $cmd not allowed on [pin_direction $pin] port '[get_full_name $pin]'. -0441 Sdc.tcl:2327 $cmd relative to a clock defined on the same port/pin not allowed. -0442 Sdc.tcl:2375 missing delay argument. -0443 Sdc.tcl:2381 '$args' ignored. -0444 Sdc.tcl:2506 missing path multiplier argument. -0445 Sdc.tcl:2511 '$args' ignored. -0446 Sdc.tcl:2518 cannot use -start with -end. -0447 Sdc.tcl:2568 $cmd command failed. -0448 Sdc.tcl:2575 positional arguments not supported. -0449 Sdc.tcl:2579 -from, -through or -to required. -0450 Sdc.tcl:2646 virtual clock [get_name $clk] can not be propagated. -0451 Sdc.tcl:2688 value must be 0, zero, 1, one, rise, rising, fall, or falling. -0452 Sdc.tcl:2757 cell '$lib_name:$cell_name' not found. -0453 Sdc.tcl:2763 '$cell_name' not found. -0454 Sdc.tcl:2767 missing -lib_cell argument. -0455 Sdc.tcl:2775 port '$to_port_name' not found. -0456 Sdc.tcl:2787 -pin argument required for cells with multiple outputs. -0457 Sdc.tcl:2802 port '$from_port_name' not found. -0458 Sdc.tcl:2820 -multiply_by ignored. -0459 Sdc.tcl:2823 -dont_scale ignored. -0460 Sdc.tcl:2826 -no_design_rule ignored. -0461 Sdc.tcl:2849 set_fanout_load not supported. -0462 Sdc.tcl:2873 -clock not supported. -0463 Sdc.tcl:2876 -clock_fall not supported. -0464 Sdc.tcl:2926 -pin_load not allowed for net objects. -0465 Sdc.tcl:2929 -wire_load not allowed for net objects. -0466 Sdc.tcl:2932 -rise/-fall not allowed for net objects. -0467 Sdc.tcl:3019 port '[get_name $port]' is not an input. -0468 Sdc.tcl:3065 -data_path, -clock_path, -rise, -fall ignored for ports and designs. -0469 Sdc.tcl:3136 derating factor greater than 2.0. -0470 Sdc.tcl:3173 -cell_delay and -cell_check flags ignored for net objects. -0471 Sdc.tcl:3243 no valid objects specified for $key. -0472 Sdc.tcl:3276 no valid objects specified for $key -0473 Sdc.tcl:3325 no valid objects specified for $key. -0474 Sdc.tcl:3393 operating condition '$op_cond_name' not found. -0475 Sdc.tcl:3411 operating condition '$op_cond_name' not found. -0476 Sdc.tcl:3425 -analysis_type must be single, bc_wc or on_chip_variation. -0477 Sdc.tcl:3437 set_wire_load_min_block_size not supported. -0478 Sdc.tcl:3450 mode must be top, enclosed or segmented. -0479 Sdc.tcl:3465 no wire load model specified. -0480 Sdc.tcl:3487 wire load model '$model_name' not found. -0481 Sdc.tcl:3526 wire load selection group '$selection_name' not found. -0482 Sdc.tcl:3614 define_corners must be called before read_liberty. -0500 Sdc.tcl:3687 no default operating conditions found. +0348 Sdc.tcl:468 patterns argument not supported with -of_objects. +0349 Sdc.tcl:507 instance '$pattern' not found. +0350 Sdc.tcl:429 unsupported $object_type -filter expression. +0351 Sdc.tcl:551 clock '$pattern' not found. +0352 Sdc.tcl:581 positional arguments not supported with -of_objects. +0353 Sdc.tcl:618 library '$lib_name' not found. +0354 Sdc.tcl:630 cell '$cell_pattern' not found. +0355 Sdc.tcl:691 library/cell/port '$pattern' not found. +0356 Sdc.tcl:711 port '$port_pattern' not found. +0357 Sdc.tcl:716 library '$lib_name' not found. +0358 Sdc.tcl:730 -nocase ignored without -regexp. +0359 Sdc.tcl:766 library '$pattern' not found. +0360 Sdc.tcl:837 patterns argument not supported with -of_objects. +0361 Sdc.tcl:867 net '$pattern' not found. +0362 Sdc.tcl:900 patterns argument not supported with -of_objects. +0363 Sdc.tcl:947 pin '$pattern' not found. +0365 Sdc.tcl:982 patterns argument not supported with -of_objects. +0366 Sdc.tcl:1002 port '$pattern' not found. +0368 Sdc.tcl:1042 -add requires -name. +0369 Sdc.tcl:1047 -name or port_pin_list must be specified. +0370 Sdc.tcl:1055 missing -period argument. +0371 Sdc.tcl:1061 -waveform edge_list must have an even number of edge times. +0372 Sdc.tcl:1070 non-increasing clock -waveform edge times. +0373 Sdc.tcl:1073 -waveform time greater than two periods. +0374 Sdc.tcl:1131 empty ports/pins/nets argument. +0375 Sdc.tcl:1139 -add requires -name. +0376 Sdc.tcl:1144 name or port_pin_list must be specified. +0377 Sdc.tcl:1151 missing -source argument. +0378 Sdc.tcl:1166 -master_clock argument empty. +0379 Sdc.tcl:1169 -add requireds -master_clock. +0380 Sdc.tcl:1173 -multiply_by and -divide_by options are exclusive. +0381 Sdc.tcl:1177 -divide_by is not an integer greater than one. +0382 Sdc.tcl:1180 -combinational implies -divide_by 1. +0383 Sdc.tcl:1185 -multiply_by is not an integer greater than one. +0384 Sdc.tcl:1191 -duty_cycle is not a float between 0 and 100. +0385 Sdc.tcl:1197 -edges only supported for three edges. +0386 Sdc.tcl:1203 edges times are not monotonically increasing. +0387 Sdc.tcl:1212 -edge_shift length does not match -edges length. +0388 Sdc.tcl:1218 missing -multiply_by, -divide_by, -combinational or -edges argument. +0389 Sdc.tcl:1226 cannot specify -invert without -multiply_by, -divide_by or -combinational. +0390 Sdc.tcl:1232 -duty_cycle requires -multiply_by value. +0391 Sdc.tcl:1292 group_path command failed. +0392 Sdc.tcl:1299 positional arguments not supported. +0393 Sdc.tcl:1303 -from, -through or -to required. +0394 Sdc.tcl:1309 -name and -default are mutually exclusive. +0395 Sdc.tcl:1311 -name or -default option is required. +0396 Sdc.tcl:1352 cannot specify both -high and -low. +0397 Sdc.tcl:1360 missing -setup or -hold argument. +0398 Sdc.tcl:1374 -high and -low only permitted for pins and instances. +0399 Sdc.tcl:1381 -high and -low only permitted for pins and instances. +0400 Sdc.tcl:1424 one of -logically_exclusive, -physically_exclusive or -asynchronous is required. +0401 Sdc.tcl:1427 the keywords -logically_exclusive, -physically_exclusive and -asynchronous are mutually exclusive. +0402 Sdc.tcl:1446 unknown keyword argument $arg. +0403 Sdc.tcl:1448 extra positional argument $arg. +0404 Sdc.tcl:1477 the -all and -name options are mutually exclusive. +0405 Sdc.tcl:1480 either -all or -name options must be specified. +0406 Sdc.tcl:1488 one of -logically_exclusive, -physically_exclusive or -asynchronous is required. +0407 Sdc.tcl:1491 the keywords -logically_exclusive, -physically_exclusive and -asynchronous are mutually exclusive. +0408 Sdc.tcl:1541 -clock ignored for clock objects. +0409 Sdc.tcl:1555 -source '[get_full_name $pin]' is not a clock pin. +0410 Sdc.tcl:1562 -early/-late is only allowed with -source. +0411 Sdc.tcl:1591 -clock ignored for clock objects. +0412 Sdc.tcl:1603 -source '[$pin path_name]' is not a clock pin. +0413 Sdc.tcl:1631 set_sense -type data not supported. +0414 Sdc.tcl:1635 set_sense -type clock|data +0415 Sdc.tcl:1646 set_clock_sense is deprecated as of SDC 2.1. Use set_sense -type clock. +0416 Sdc.tcl:1658 -pulse argument not supported. +0417 Sdc.tcl:1667 -positive, -negative, -stop_propagation and -pulse are mutually exclusive. +0418 Sdc.tcl:1680 hierarchical pin '[get_full_name $pin]' not supported. +0419 Sdc.tcl:1704 transition time can not be specified for virtual clocks. +0420 Sdc.tcl:1737 missing uncertainty value. +0421 Sdc.tcl:1785 -from/-to must be used together. +0422 Sdc.tcl:1805 -rise, -fall options not allowed for single clock uncertainty. +0423 Sdc.tcl:1871 -from/-to must be used together. +0424 Sdc.tcl:1891 -rise, -fall options not allowed for single clock uncertainty. +0425 Sdc.tcl:1932 missing -from, -rise_from or -fall_from argument. +0426 Sdc.tcl:1944 missing -to, -rise_to or -fall_to argument. +0427 Sdc.tcl:1992 missing -from, -rise_from or -fall_from argument. +0428 Sdc.tcl:2004 missing -to, -rise_to or -fall_to argument. +0429 Sdc.tcl:2046 -from/-to keywords ignored for lib_pin, port and pin arguments. +0430 Sdc.tcl:2076 -from/-to hierarchical instance not supported. +0431 Sdc.tcl:2108 pin '[get_full_name $inst]${hierarchy_separator}${port_name}' not found. +0432 Sdc.tcl:2165 pin '[get_name $cell]${hierarchy_separator}${port_name}' not found. +0434 Sdc.tcl:2199 -from/-to keywords ignored for lib_pin, port and pin arguments. +0435 Sdc.tcl:2251 -from/-to hierarchical instance not supported. +0436 Sdc.tcl:2305 '$args' ignored. +0437 Sdc.tcl:2309 -from, -through or -to required. +0438 Sdc.tcl:2388 -source_latency_included ignored with -reference_pin. +0439 Sdc.tcl:2391 -network_latency_included ignored with -reference_pin. +0440 Sdc.tcl:2410 $cmd not allowed on [pin_direction $pin] port '[get_full_name $pin]'. +0441 Sdc.tcl:2412 $cmd relative to a clock defined on the same port/pin not allowed. +0442 Sdc.tcl:2460 missing delay argument. +0443 Sdc.tcl:2466 '$args' ignored. +0444 Sdc.tcl:2591 missing path multiplier argument. +0445 Sdc.tcl:2596 '$args' ignored. +0446 Sdc.tcl:2603 cannot use -start with -end. +0447 Sdc.tcl:2653 $cmd command failed. +0448 Sdc.tcl:2660 positional arguments not supported. +0449 Sdc.tcl:2664 -from, -through or -to required. +0450 Sdc.tcl:2731 virtual clock [get_name $clk] can not be propagated. +0451 Sdc.tcl:2773 value must be 0, zero, 1, one, rise, rising, fall, or falling. +0452 Sdc.tcl:2842 cell '$lib_name:$cell_name' not found. +0453 Sdc.tcl:2855 '$cell_name' not found. +0454 Sdc.tcl:2859 missing -lib_cell argument. +0455 Sdc.tcl:2867 port '$to_port_name' not found. +0456 Sdc.tcl:2879 -pin argument required for cells with multiple outputs. +0457 Sdc.tcl:2894 port '$from_port_name' not found. +0458 Sdc.tcl:2912 -multiply_by ignored. +0459 Sdc.tcl:2915 -dont_scale ignored. +0460 Sdc.tcl:2918 -no_design_rule ignored. +0461 Sdc.tcl:2941 set_fanout_load not supported. +0462 Sdc.tcl:2965 -clock not supported. +0463 Sdc.tcl:2968 -clock_fall not supported. +0464 Sdc.tcl:3018 -pin_load not allowed for net objects. +0465 Sdc.tcl:3021 -wire_load not allowed for net objects. +0466 Sdc.tcl:3024 -rise/-fall not allowed for net objects. +0467 Sdc.tcl:3111 port '[get_name $port]' is not an input. +0468 Sdc.tcl:3157 -data_path, -clock_path, -rise, -fall ignored for ports and designs. +0469 Sdc.tcl:3228 derating factor greater than 2.0. +0470 Sdc.tcl:3265 -cell_delay and -cell_check flags ignored for net objects. +0471 Sdc.tcl:3335 no valid objects specified for $key. +0472 Sdc.tcl:3368 no valid objects specified for $key +0473 Sdc.tcl:3417 no valid objects specified for $key. +0474 Sdc.tcl:3485 operating condition '$op_cond_name' not found. +0475 Sdc.tcl:3503 operating condition '$op_cond_name' not found. +0476 Sdc.tcl:3517 -analysis_type must be single, bc_wc or on_chip_variation. +0477 Sdc.tcl:3529 set_wire_load_min_block_size not supported. +0478 Sdc.tcl:3542 mode must be top, enclosed or segmented. +0479 Sdc.tcl:3557 no wire load model specified. +0480 Sdc.tcl:3579 wire load model '$model_name' not found. +0481 Sdc.tcl:3618 wire load selection group '$selection_name' not found. +0482 Sdc.tcl:3706 define_corners must be called before read_liberty. +0500 Sdc.tcl:3779 no default operating conditions found. 0501 Sdc.tcl:259 incorrect unit suffix '$arg_suffix'. 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. @@ -284,7 +295,7 @@ Warning: 0000 duplicated 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. -0577 Sdc.tcl:3617 define_corners must define at least one corner. +0577 Sdc.tcl:3709 define_corners must define at least one corner. 0590 Variables.tcl:37 sta_report_default_digits must be a positive integer. 0591 Variables.tcl:62 sta_crpr_mode must be pin or transition. 0592 Variables.tcl:179 $var_name value must be 0 or 1. @@ -302,180 +313,180 @@ Warning: 0000 duplicated 1041 DmpCeff.cc:1536 cell %s delay model not supported on SPF parasitics by DMP delay calculator 1060 Genclks.cc:275 no master clock found for generated clock %s. 1062 Genclks.cc:939 generated clock %s source pin %s missing paths from master clock %s. -1100 Power.cc:555 unknown cudd constant -1110 Liberty.cc:762 cell %s/%s port %s not found in cell %s/%s. -1111 Liberty.cc:788 cell %s/%s %s -> %s timing group %s not found in cell %s/%s. -1112 Liberty.cc:807 Liberty cell %s/%s for corner %s/%s not found. -1113 Liberty.cc:1818 cell %s/%s %s -> %s latch enable %s_edge is inconsistent with %s -> %s setup_%s check. -1114 Liberty.cc:1759 cell %s/%s %s -> %s latch enable %s_edge is inconsistent with latch group enable function positive sense. -1115 Liberty.cc:1767 cell %s/%s %s -> %s latch enable %s_edge is inconsistent with latch group enable function negative sense. -1116 Liberty.cc:361 unsupported slew degradation table axes -1117 Liberty.cc:377 unsupported slew degradation table axes -1118 Liberty.cc:382 unsupported slew degradation table order -1119 Liberty.cc:412 unsupported slew degradation table axes -1120 Liberty.cc:1970 library missing vdd -1121 Liberty.cc:1385 timing arc count mismatch +1100 Power.cc:556 unknown cudd constant +1110 Liberty.cc:763 cell %s/%s port %s not found in cell %s/%s. +1111 Liberty.cc:789 cell %s/%s %s -> %s timing group %s not found in cell %s/%s. +1112 Liberty.cc:808 Liberty cell %s/%s for corner %s/%s not found. +1113 Liberty.cc:1822 cell %s/%s %s -> %s latch enable %s_edge is inconsistent with %s -> %s setup_%s check. +1114 Liberty.cc:1763 cell %s/%s %s -> %s latch enable %s_edge is inconsistent with latch group enable function positive sense. +1115 Liberty.cc:1771 cell %s/%s %s -> %s latch enable %s_edge is inconsistent with latch group enable function negative sense. +1116 Liberty.cc:362 unsupported slew degradation table axes +1117 Liberty.cc:378 unsupported slew degradation table axes +1118 Liberty.cc:383 unsupported slew degradation table order +1119 Liberty.cc:413 unsupported slew degradation table axes +1120 Liberty.cc:1977 library missing vdd +1121 Liberty.cc:1389 timing arc count mismatch 1125 LibertyParser.cc:310 valueIterator called for LibertySimpleAttribute 1126 LibertyParser.cc:390 LibertyStringAttrValue called for float value 1127 LibertyParser.cc:420 LibertyStringAttrValue called for float value 1130 LibertyExpr.cc:82 %s references unknown port %s. 1131 LibertyExpr.cc:175 %s %s. -1140 LibertyReader.cc:616 library %s already exists. -1141 LibertyReader.cc:650 library missing name. -1142 LibertyReader.cc:676 default_wire_load %s not found. -1143 LibertyReader.cc:687 default_wire_selection %s not found. -1144 LibertyReader.cc:699 default_operating_condition %s not found. -1145 LibertyReader.cc:709 input_threshold_pct_%s not found. -1146 LibertyReader.cc:713 output_threshold_pct_%s not found. -1147 LibertyReader.cc:717 slew_lower_threshold_pct_%s not found. -1148 LibertyReader.cc:721 slew_upper_threshold_pct_%s not found. -1149 LibertyReader.cc:726 Library %s is missing one or more thresholds. -1150 LibertyReader.cc:805 unknown unit multiplier %s. -1151 LibertyReader.cc:828 unknown unit scale %c. -1152 LibertyReader.cc:831 unknown unit suffix %s. -1153 LibertyReader.cc:834 unknown unit suffix %s. -1154 LibertyReader.cc:859 capacitive_load_units are not ff or pf. -1155 LibertyReader.cc:862 capacitive_load_units are not a string. -1156 LibertyReader.cc:865 capacitive_load_units missing suffix. -1157 LibertyReader.cc:868 capacitive_load_units scale is not a float. -1158 LibertyReader.cc:871 capacitive_load_units missing scale and suffix. -1159 LibertyReader.cc:874 capacitive_load_unit missing values suffix. -1160 LibertyReader.cc:892 delay_model %s not supported. -1161 LibertyReader.cc:896 delay_model %s not supported. -1162 LibertyReader.cc:900 delay_model %s not supported. -1163 LibertyReader.cc:905 delay_model %s not supported. +1140 LibertyReader.cc:617 library %s already exists. +1141 LibertyReader.cc:651 library missing name. +1142 LibertyReader.cc:677 default_wire_load %s not found. +1143 LibertyReader.cc:688 default_wire_selection %s not found. +1144 LibertyReader.cc:700 default_operating_condition %s not found. +1145 LibertyReader.cc:710 input_threshold_pct_%s not found. +1146 LibertyReader.cc:714 output_threshold_pct_%s not found. +1147 LibertyReader.cc:718 slew_lower_threshold_pct_%s not found. +1148 LibertyReader.cc:722 slew_upper_threshold_pct_%s not found. +1149 LibertyReader.cc:727 Library %s is missing one or more thresholds. +1150 LibertyReader.cc:806 unknown unit multiplier %s. +1151 LibertyReader.cc:829 unknown unit scale %c. +1152 LibertyReader.cc:832 unknown unit suffix %s. +1153 LibertyReader.cc:835 unknown unit suffix %s. +1154 LibertyReader.cc:860 capacitive_load_units are not ff or pf. +1155 LibertyReader.cc:863 capacitive_load_units are not a string. +1156 LibertyReader.cc:866 capacitive_load_units missing suffix. +1157 LibertyReader.cc:869 capacitive_load_units scale is not a float. +1158 LibertyReader.cc:872 capacitive_load_units missing scale and suffix. +1159 LibertyReader.cc:875 capacitive_load_unit missing values suffix. +1160 LibertyReader.cc:893 delay_model %s not supported. +1161 LibertyReader.cc:897 delay_model %s not supported. +1162 LibertyReader.cc:901 delay_model %s not supported. +1163 LibertyReader.cc:906 delay_model %s not supported. . -1164 LibertyReader.cc:908 unknown delay_model %s +1164 LibertyReader.cc:909 unknown delay_model %s . -1165 LibertyReader.cc:927 unknown bus_naming_style format. -1166 LibertyReader.cc:948 voltage_map voltage is not a float. -1167 LibertyReader.cc:951 voltage_map missing voltage. -1168 LibertyReader.cc:954 voltage_map supply name is not a string. -1169 LibertyReader.cc:957 voltage_map missing supply name and voltage. -1170 LibertyReader.cc:960 voltage_map missing values suffix. -1171 LibertyReader.cc:1045 default_max_transition is 0.0. -1172 LibertyReader.cc:1060 default_max_fanout is 0.0. -1173 LibertyReader.cc:1150 default_fanout_load is 0.0. -1174 LibertyReader.cc:1178 default_wire_load_mode %s not found. -1175 LibertyReader.cc:1349 table template missing name. -1176 LibertyReader.cc:1394 missing variable_%d attribute. -1177 LibertyReader.cc:1470 missing table index values. -1178 LibertyReader.cc:1476 non-increasing table index values. -1179 LibertyReader.cc:1508 bus type %s missing bit_from. -1180 LibertyReader.cc:1510 bus type %s missing bit_to. -1181 LibertyReader.cc:1514 type missing name. -1182 LibertyReader.cc:1541 scaling_factors do not have a name. -1183 LibertyReader.cc:1710 operating_conditions missing name. -1184 LibertyReader.cc:1781 wire_load missing name. -1185 LibertyReader.cc:1824 fanout_length is missing length and fanout. -1186 LibertyReader.cc:1839 wire_load_selection missing name. -1187 LibertyReader.cc:1870 wireload %s not found. -1189 LibertyReader.cc:1877 wire_load_from_area min not a float. -1190 LibertyReader.cc:1880 wire_load_from_area max not a float. -1191 LibertyReader.cc:1883 wire_load_from_area missing parameters. -1192 LibertyReader.cc:1886 wire_load_from_area missing parameters. -1193 LibertyReader.cc:1905 cell missing name. -1194 LibertyReader.cc:1929 cell %s ocv_derate_group %s not found. -1195 LibertyReader.cc:1962 port %s function size does not match port size. -1196 LibertyReader.cc:2059 %s %s bus width mismatch. -1197 LibertyReader.cc:2070 %s %s bus width mismatch. -1198 LibertyReader.cc:2080 clear -1199 LibertyReader.cc:2090 preset -1200 LibertyReader.cc:2126 latch enable function is non-unate for port %s. -1201 LibertyReader.cc:2131 latch enable function is unknown for port %s. -1202 LibertyReader.cc:2232 operating conditions %s not found. -1203 LibertyReader.cc:2235 scaled_cell missing operating condition. -1204 LibertyReader.cc:2238 scaled_cell cell %s has not been defined. -1205 LibertyReader.cc:2241 scaled_cell missing name. -1206 LibertyReader.cc:2267 scaled_cell %s, %s port functions do not match cell port functions. -1207 LibertyReader.cc:2272 scaled_cell ports do not match cell ports. -1208 LibertyReader.cc:2274 scaled_cell %s, %s timing does not match cell timing. -1209 LibertyReader.cc:2293 combinational timing to an input port. -1210 LibertyReader.cc:2388 missing %s_transition. -1211 LibertyReader.cc:2390 missing cell_%s. -1212 LibertyReader.cc:2411 timing group from output port. -1213 LibertyReader.cc:2421 timing group from output port. -1214 LibertyReader.cc:2431 timing group from output port. -1215 LibertyReader.cc:2466 timing group from output port. -1217 LibertyReader.cc:2476 timing group from output port. -1218 LibertyReader.cc:2577 receiver_capacitance group not in timing or pin group. -1219 LibertyReader.cc:2595 unsupported model axis. -1220 LibertyReader.cc:2623 output_current_%s group not in timing group. -1221 LibertyReader.cc:2665 output current waveform %.2e %.2e not found. -1222 LibertyReader.cc:2686 unsupported model axis. -1223 LibertyReader.cc:2728 vector index_1 and index_2 must have exactly one value. -1224 LibertyReader.cc:2730 vector reference_time not found. -1225 LibertyReader.cc:2763 normalized_driver_waveform variable_2 must be normalized_voltage -1226 LibertyReader.cc:2766 normalized_driver_waveform variable_1 must be input_net_transition -1228 LibertyReader.cc:2988 level_shifter_type must be HL, LH, or HL_LH -1229 LibertyReader.cc:3024 switch_cell_type must be coarse_grain or fine_grain -1230 LibertyReader.cc:3048 scaling_factors %s not found. -1231 LibertyReader.cc:3089 pin name is not a string. -1232 LibertyReader.cc:3106 pin name is not a string. -1233 LibertyReader.cc:3120 pin name is not a string. -1234 LibertyReader.cc:3198 bus %s bus_type not found. -1235 LibertyReader.cc:3250 bus_type %s not found. -1236 LibertyReader.cc:3253 bus_type is not a string. -1237 LibertyReader.cc:3271 bundle %s member not found. -1238 LibertyReader.cc:3294 member is not a string. -1239 LibertyReader.cc:3301 members attribute is missing values. -1240 LibertyReader.cc:3352 unknown port direction. -1241 LibertyReader.cc:3599 max_transition is 0.0. -1242 LibertyReader.cc:3705 pulse_latch unknown pulse type. -1243 LibertyReader.cc:4123 timing group missing related_pin/related_bus_pin. -1244 LibertyReader.cc:4222 unknown timing_type %s. -1245 LibertyReader.cc:4242 unknown timing_sense %s. -1246 LibertyReader.cc:4282 mode value is not a string. -1247 LibertyReader.cc:4285 missing mode value. -1248 LibertyReader.cc:4288 mode name is not a string. -1249 LibertyReader.cc:4291 mode missing values. -1250 LibertyReader.cc:4294 mode missing mode name and value. -1251 LibertyReader.cc:4370 unsupported model axis. -1252 LibertyReader.cc:4397 unsupported model axis. -1253 LibertyReader.cc:4426 unsupported model axis. -1254 LibertyReader.cc:4461 unsupported model axis. -1255 LibertyReader.cc:4477 %s group not in timing group. -1256 LibertyReader.cc:4516 table template %s not found. -1257 LibertyReader.cc:4600 %s is missing values. -1258 LibertyReader.cc:4623 %s is not a list of floats. -1259 LibertyReader.cc:4625 table row has %u columns but axis has %d. -1260 LibertyReader.cc:4635 table has %u rows but axis has %d. -1261 LibertyReader.cc:4686 lut output is not a string. -1262 LibertyReader.cc:4703 cell %s test_cell redefinition. -1263 LibertyReader.cc:4728 mode definition missing name. -1264 LibertyReader.cc:4745 mode value missing name. -1265 LibertyReader.cc:4759 when attribute inside table model. -1266 LibertyReader.cc:4808 %s attribute is not a string. -1267 LibertyReader.cc:4811 %s is not a simple attribute. -1268 LibertyReader.cc:4831 %s attribute is not an integer. -1269 LibertyReader.cc:4834 %s is not a simple attribute. -1270 LibertyReader.cc:4847 %s is not a simple attribute. -1271 LibertyReader.cc:4873 %s value %s is not a float. -1272 LibertyReader.cc:4902 %s missing values. -1273 LibertyReader.cc:4906 %s missing values. -1274 LibertyReader.cc:4909 %s is not a complex attribute. -1275 LibertyReader.cc:4935 %s is not a float. -1276 LibertyReader.cc:4958 %s is missing values. -1277 LibertyReader.cc:4961 %s has more than one string. -1278 LibertyReader.cc:4970 %s is missing values. -1279 LibertyReader.cc:4995 %s attribute is not boolean. -1280 LibertyReader.cc:4998 %s attribute is not boolean. -1281 LibertyReader.cc:5001 %s is not a simple attribute. -1282 LibertyReader.cc:5017 attribute %s value %s not recognized. -1283 LibertyReader.cc:5048 unknown early/late value. -1284 LibertyReader.cc:5268 OCV derate group named %s not found. -1285 LibertyReader.cc:5284 ocv_derate missing name. -1286 LibertyReader.cc:5337 unknown rise/fall. -1287 LibertyReader.cc:5357 unknown derate type. -1288 LibertyReader.cc:5389 unsupported model axis. -1289 LibertyReader.cc:5421 unsupported model axis. -1290 LibertyReader.cc:5453 unsupported model axis. -1291 LibertyReader.cc:5524 unknown pg_type. -1292 LibertyReader.cc:5938 port %s subscript out of range. -1293 LibertyReader.cc:5942 port range %s of non-bus port %s. -1294 LibertyReader.cc:5956 port %s not found. -1295 LibertyReader.cc:6026 port %s not found. -1297 LibertyReader.cc:1436 axis type %s not supported. +1165 LibertyReader.cc:928 unknown bus_naming_style format. +1166 LibertyReader.cc:949 voltage_map voltage is not a float. +1167 LibertyReader.cc:952 voltage_map missing voltage. +1168 LibertyReader.cc:955 voltage_map supply name is not a string. +1169 LibertyReader.cc:958 voltage_map missing supply name and voltage. +1170 LibertyReader.cc:961 voltage_map missing values suffix. +1171 LibertyReader.cc:1046 default_max_transition is 0.0. +1172 LibertyReader.cc:1061 default_max_fanout is 0.0. +1173 LibertyReader.cc:1151 default_fanout_load is 0.0. +1174 LibertyReader.cc:1179 default_wire_load_mode %s not found. +1175 LibertyReader.cc:1350 table template missing name. +1176 LibertyReader.cc:1395 missing variable_%d attribute. +1177 LibertyReader.cc:1471 missing table index values. +1178 LibertyReader.cc:1477 non-increasing table index values. +1179 LibertyReader.cc:1509 bus type %s missing bit_from. +1180 LibertyReader.cc:1511 bus type %s missing bit_to. +1181 LibertyReader.cc:1515 type missing name. +1182 LibertyReader.cc:1542 scaling_factors do not have a name. +1183 LibertyReader.cc:1711 operating_conditions missing name. +1184 LibertyReader.cc:1782 wire_load missing name. +1185 LibertyReader.cc:1825 fanout_length is missing length and fanout. +1186 LibertyReader.cc:1840 wire_load_selection missing name. +1187 LibertyReader.cc:1871 wireload %s not found. +1189 LibertyReader.cc:1878 wire_load_from_area min not a float. +1190 LibertyReader.cc:1881 wire_load_from_area max not a float. +1191 LibertyReader.cc:1884 wire_load_from_area missing parameters. +1192 LibertyReader.cc:1887 wire_load_from_area missing parameters. +1193 LibertyReader.cc:1906 cell missing name. +1194 LibertyReader.cc:1930 cell %s ocv_derate_group %s not found. +1195 LibertyReader.cc:1963 port %s function size does not match port size. +1196 LibertyReader.cc:2060 %s %s bus width mismatch. +1197 LibertyReader.cc:2071 %s %s bus width mismatch. +1198 LibertyReader.cc:2081 clear +1199 LibertyReader.cc:2091 preset +1200 LibertyReader.cc:2127 latch enable function is non-unate for port %s. +1201 LibertyReader.cc:2132 latch enable function is unknown for port %s. +1202 LibertyReader.cc:2233 operating conditions %s not found. +1203 LibertyReader.cc:2236 scaled_cell missing operating condition. +1204 LibertyReader.cc:2239 scaled_cell cell %s has not been defined. +1205 LibertyReader.cc:2242 scaled_cell missing name. +1206 LibertyReader.cc:2268 scaled_cell %s, %s port functions do not match cell port functions. +1207 LibertyReader.cc:2273 scaled_cell ports do not match cell ports. +1208 LibertyReader.cc:2275 scaled_cell %s, %s timing does not match cell timing. +1209 LibertyReader.cc:2294 combinational timing to an input port. +1210 LibertyReader.cc:2389 missing %s_transition. +1211 LibertyReader.cc:2391 missing cell_%s. +1212 LibertyReader.cc:2412 timing group from output port. +1213 LibertyReader.cc:2422 timing group from output port. +1214 LibertyReader.cc:2432 timing group from output port. +1215 LibertyReader.cc:2467 timing group from output port. +1217 LibertyReader.cc:2477 timing group from output port. +1218 LibertyReader.cc:2578 receiver_capacitance group not in timing or pin group. +1219 LibertyReader.cc:2596 unsupported model axis. +1220 LibertyReader.cc:2624 output_current_%s group not in timing group. +1221 LibertyReader.cc:2666 output current waveform %.2e %.2e not found. +1222 LibertyReader.cc:2687 unsupported model axis. +1223 LibertyReader.cc:2729 vector index_1 and index_2 must have exactly one value. +1224 LibertyReader.cc:2731 vector reference_time not found. +1225 LibertyReader.cc:2764 normalized_driver_waveform variable_2 must be normalized_voltage +1226 LibertyReader.cc:2767 normalized_driver_waveform variable_1 must be input_net_transition +1228 LibertyReader.cc:2989 level_shifter_type must be HL, LH, or HL_LH +1229 LibertyReader.cc:3025 switch_cell_type must be coarse_grain or fine_grain +1230 LibertyReader.cc:3049 scaling_factors %s not found. +1231 LibertyReader.cc:3100 pin name is not a string. +1232 LibertyReader.cc:3117 pin name is not a string. +1233 LibertyReader.cc:3131 pin name is not a string. +1234 LibertyReader.cc:3209 bus %s bus_type not found. +1235 LibertyReader.cc:3261 bus_type %s not found. +1236 LibertyReader.cc:3264 bus_type is not a string. +1237 LibertyReader.cc:3282 bundle %s member not found. +1238 LibertyReader.cc:3305 member is not a string. +1239 LibertyReader.cc:3312 members attribute is missing values. +1240 LibertyReader.cc:3363 unknown port direction. +1241 LibertyReader.cc:3610 max_transition is 0.0. +1242 LibertyReader.cc:3716 pulse_latch unknown pulse type. +1243 LibertyReader.cc:4134 timing group missing related_pin/related_bus_pin. +1244 LibertyReader.cc:4233 unknown timing_type %s. +1245 LibertyReader.cc:4253 unknown timing_sense %s. +1246 LibertyReader.cc:4293 mode value is not a string. +1247 LibertyReader.cc:4296 missing mode value. +1248 LibertyReader.cc:4299 mode name is not a string. +1249 LibertyReader.cc:4302 mode missing values. +1250 LibertyReader.cc:4305 mode missing mode name and value. +1251 LibertyReader.cc:4381 unsupported model axis. +1252 LibertyReader.cc:4408 unsupported model axis. +1253 LibertyReader.cc:4437 unsupported model axis. +1254 LibertyReader.cc:4472 unsupported model axis. +1255 LibertyReader.cc:4488 %s group not in timing group. +1256 LibertyReader.cc:4527 table template %s not found. +1257 LibertyReader.cc:4611 %s is missing values. +1258 LibertyReader.cc:4634 %s is not a list of floats. +1259 LibertyReader.cc:4636 table row has %u columns but axis has %d. +1260 LibertyReader.cc:4646 table has %u rows but axis has %d. +1261 LibertyReader.cc:4697 lut output is not a string. +1262 LibertyReader.cc:4714 cell %s test_cell redefinition. +1263 LibertyReader.cc:4739 mode definition missing name. +1264 LibertyReader.cc:4756 mode value missing name. +1265 LibertyReader.cc:4770 when attribute inside table model. +1266 LibertyReader.cc:4819 %s attribute is not a string. +1267 LibertyReader.cc:4822 %s is not a simple attribute. +1268 LibertyReader.cc:4842 %s attribute is not an integer. +1269 LibertyReader.cc:4845 %s is not a simple attribute. +1270 LibertyReader.cc:4858 %s is not a simple attribute. +1271 LibertyReader.cc:4884 %s value %s is not a float. +1272 LibertyReader.cc:4913 %s missing values. +1273 LibertyReader.cc:4917 %s missing values. +1274 LibertyReader.cc:4920 %s is not a complex attribute. +1275 LibertyReader.cc:4946 %s is not a float. +1276 LibertyReader.cc:4969 %s is missing values. +1277 LibertyReader.cc:4972 %s has more than one string. +1278 LibertyReader.cc:4981 %s is missing values. +1279 LibertyReader.cc:5006 %s attribute is not boolean. +1280 LibertyReader.cc:5009 %s attribute is not boolean. +1281 LibertyReader.cc:5012 %s is not a simple attribute. +1282 LibertyReader.cc:5028 attribute %s value %s not recognized. +1283 LibertyReader.cc:5059 unknown early/late value. +1284 LibertyReader.cc:5279 OCV derate group named %s not found. +1285 LibertyReader.cc:5295 ocv_derate missing name. +1286 LibertyReader.cc:5348 unknown rise/fall. +1287 LibertyReader.cc:5368 unknown derate type. +1288 LibertyReader.cc:5400 unsupported model axis. +1289 LibertyReader.cc:5432 unsupported model axis. +1290 LibertyReader.cc:5464 unsupported model axis. +1291 LibertyReader.cc:5535 unknown pg_type. +1292 LibertyReader.cc:5949 port %s subscript out of range. +1293 LibertyReader.cc:5953 port range %s of non-bus port %s. +1294 LibertyReader.cc:5967 port %s not found. +1295 LibertyReader.cc:6037 port %s not found. +1297 LibertyReader.cc:1437 axis type %s not supported. 1330 LibertyWriter.cc:300 %s/%s bundled ports not supported. 1331 LibertyWriter.cc:448 %s/%s/%s timing model not supported. 1332 LibertyWriter.cc:468 3 axis table models not supported. @@ -490,23 +501,23 @@ Warning: 0000 duplicated 1401 PathVertex.cc:250 missing arrivals. 1402 PathVertex.cc:279 missing requireds. 1422 PathVertexRep.cc:153 missing arrivals. -1450 ReadVcdActivities.cc:108 VCD max time is zero. -1451 ReadVcdActivities.cc:175 problem parsing bus %s. -1452 ReadVcdActivities.cc:251 clock %s vcd period %s differs from SDC clock period %s +1450 ReadVcdActivities.cc:107 VCD max time is zero. +1451 ReadVcdActivities.cc:174 problem parsing bus %s. +1452 ReadVcdActivities.cc:250 clock %s vcd period %s differs from SDC clock period %s 1521 Sim.cc:511 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:2007 '%s' is not a valid start point. -1551 Sta.cc:2080 '%s' is not a valid endpoint. -1552 Sta.cc:2083 '%s' is not a valid endpoint. -1553 Sta.cc:2399 maximum corner count exceeded -1554 Sta.cc:2004 '%s' is not a valid start point. +1550 Sta.cc:2005 '%s' is not a valid start point. +1551 Sta.cc:2078 '%s' is not a valid endpoint. +1552 Sta.cc:2081 '%s' is not a valid endpoint. +1553 Sta.cc:2397 maximum corner count exceeded +1554 Sta.cc:2002 '%s' is not a valid start point. 1570 Search.i:54 no network has been linked. 1571 Search.i:68 network does not support edits. -1574 Search.i:1117 POCV support requires compilation with SSTA=1. -1575 Search.i:526 unknown report path field %s -1576 Search.i:538 unknown report path field %s +1574 Search.i:1118 POCV support requires compilation with SSTA=1. +1575 Search.i:527 unknown report path field %s +1576 Search.i:539 unknown report path field %s 1600 WritePathSpice.cc:165 No liberty libraries found, 1602 WriteSpice.cc:458 Liberty pg_port %s/%s missing voltage_name attribute, 1603 WriteSpice.cc:428 %s pg_port %s not found, diff --git a/sdc/Sdc.tcl b/sdc/Sdc.tcl index 749d4d72..b5cf3d65 100644 --- a/sdc/Sdc.tcl +++ b/sdc/Sdc.tcl @@ -490,21 +490,24 @@ proc get_cells { args } { check_argc_eq0or1 "get_cells" $args foreach pattern $patterns { if { [is_object $pattern] } { + if { [object_type $pattern] != "Instance" } { + sta_error 326 "object '$pattern' is not an instance." + } set insts [concat $insts $pattern] - continue - } - if { $divider != $hierarchy_separator } { - regsub $divider $pattern $hierarchy_separator pattern - } - if { $hierarchical } { - set matches [find_instances_hier_matching $pattern $regexp $nocase] } else { - set matches [find_instances_matching $pattern $regexp $nocase] + if { $divider != $hierarchy_separator } { + regsub $divider $pattern $hierarchy_separator pattern + } + if { $hierarchical } { + set matches [find_instances_hier_matching $pattern $regexp $nocase] + } else { + set matches [find_instances_matching $pattern $regexp $nocase] + } + if { $matches == {} && !$quiet} { + sta_warn 349 "instance '$pattern' not found." + } + set insts [concat $insts $matches] } - if { $matches == {} && !$quiet} { - sta_warn 349 "instance '$pattern' not found." - } - set insts [concat $insts $matches] } } if [info exists keys(-filter)] { @@ -535,15 +538,18 @@ proc get_clocks { args } { set clocks {} foreach pattern $patterns { if { [is_object $pattern] } { + if { [object_type $pattern] != "Clock" } { + sta_error 327 "object '$pattern' is not an clock." + } set clocks [concat $clocks $pattern] - continue - } - set matches [find_clocks_matching $pattern $regexp $nocase] - if { $matches != {} } { - set clocks [concat $clocks $matches] } else { - if {![info exists flags(-quiet)]} { - sta_warn 351 "clock '$pattern' not found." + set matches [find_clocks_matching $pattern $regexp $nocase] + if { $matches != {} } { + set clocks [concat $clocks $matches] + } else { + if {![info exists flags(-quiet)]} { + sta_warn 351 "clock '$pattern' not found." + } } } } @@ -596,30 +602,33 @@ proc get_lib_cells { args } { set quiet [info exists flags(-quiet)] foreach pattern $patterns { if { [is_object $pattern] } { + if { [object_type $pattern] != "LibertyCell" } { + sta_error 328 "object '$pattern' is not a liberty cell." + } set cells [concat $cells $pattern] - continue - } - if { ![regexp $cell_regexp $pattern ignore lib_name cell_pattern]} { - set lib_name "*" - set cell_pattern $pattern - } - # Allow wildcards in the library name (incompatible). - set libs [get_libs -quiet $lib_name] - if { $libs == {} } { - if {!$quiet} { - sta_warn 353 "library '$lib_name' not found." - } } else { - foreach lib $libs { - set matches [$lib find_liberty_cells_matching $cell_pattern \ - $regexp $nocase] - if {$matches != {}} { - set cells [concat $cells $matches] - } + if { ![regexp $cell_regexp $pattern ignore lib_name cell_pattern]} { + set lib_name "*" + set cell_pattern $pattern } - if { $cells == {} } { + # Allow wildcards in the library name (incompatible). + set libs [get_libs -quiet $lib_name] + if { $libs == {} } { if {!$quiet} { - sta_warn 354 "cell '$cell_pattern' not found." + sta_warn 353 "library '$lib_name' not found." + } + } else { + foreach lib $libs { + set matches [$lib find_liberty_cells_matching $cell_pattern \ + $regexp $nocase] + if {$matches != {}} { + set cells [concat $cells $matches] + } + } + if { $cells == {} } { + if {!$quiet} { + sta_warn 354 "cell '$cell_pattern' not found." + } } } } @@ -665,44 +674,47 @@ proc get_lib_pins { args } { set ports {} foreach pattern $patterns { if { [is_object $pattern] } { - set ports [concat $ports $pattern] - continue - } - # match library/cell/port - set libs {} - if { [regexp $port_regexp1 $pattern ignore lib_name cell_name port_pattern] } { - set libs [get_libs -quiet $lib_name] - # match cell/port - } elseif { [regexp $port_regexp2 $pattern ignore cell_name port_pattern] } { - set libs [get_libs *] - } else { - if { !$quiet } { - sta_warn 355 "library/cell/port '$pattern' not found." + if { [object_type $pattern] != "LibertyPort" } { + sta_error 329 "object '$pattern' is not a liberty pin." } - return {} - } - if { $libs != {} } { - set found_match 0 - set cells {} - foreach lib $libs { - set cells [$lib find_liberty_cells_matching $cell_name $regexp $nocase] - foreach cell $cells { - set matches [$cell find_liberty_ports_matching $port_pattern \ - $regexp $nocase] - foreach match $matches { - lappend ports $match - set found_match 1 + set ports [concat $ports $pattern] + } else { + # match library/cell/port + set libs {} + if { [regexp $port_regexp1 $pattern ignore lib_name cell_name port_pattern] } { + set libs [get_libs -quiet $lib_name] + # match cell/port + } elseif { [regexp $port_regexp2 $pattern ignore cell_name port_pattern] } { + set libs [get_libs *] + } else { + if { !$quiet } { + sta_warn 355 "library/cell/port '$pattern' not found." + } + return {} + } + if { $libs != {} } { + set found_match 0 + set cells {} + foreach lib $libs { + set cells [$lib find_liberty_cells_matching $cell_name $regexp $nocase] + foreach cell $cells { + set matches [$cell find_liberty_ports_matching $port_pattern \ + $regexp $nocase] + foreach match $matches { + lappend ports $match + set found_match 1 + } } } - } - if { !$found_match } { - if { !$quiet } { - sta_warn 356 "port '$port_pattern' not found." + if { !$found_match } { + if { !$quiet } { + sta_warn 356 "port '$port_pattern' not found." + } + } + } else { + if { !$quiet } { + sta_warn 357 "library '$lib_name' not found." } - } - } else { - if { !$quiet } { - sta_warn 357 "library '$lib_name' not found." } } } @@ -741,15 +753,18 @@ proc get_libs { args } { set libs {} foreach pattern $patterns { if { [is_object $pattern] } { + if { [object_type $pattern] != "LibertyLibrary" } { + sta_error 330 "object '$pattern' is not a liberty library." + } set libs [concat $libs $pattern] - continue - } - set matches [find_liberty_libraries_matching $pattern $regexp $nocase] - if {$matches != {}} { - set libs [concat $libs $matches] } else { - if {![info exists flags(-quiet)]} { - sta_warn 359 "library '$pattern' not found." + set matches [find_liberty_libraries_matching $pattern $regexp $nocase] + if {$matches != {}} { + set libs [concat $libs $matches] + } else { + if {![info exists flags(-quiet)]} { + sta_warn 359 "library '$pattern' not found." + } } } } @@ -837,17 +852,20 @@ proc get_nets { args } { check_argc_eq0or1 "get_nets" $args foreach pattern $patterns { if { [is_object $pattern] } { + if { [object_type $pattern] != "Net" } { + sta_error 331 "object '$pattern' is not a net." + } set nets [concat $nets $pattern] - continue - } - if { $hierarchical } { - set matches [find_nets_hier_matching $pattern $regexp $nocase] } else { - set matches [find_nets_matching $pattern $regexp $nocase] - } - set nets [concat $nets $matches] - if { $matches == {} && !$quiet } { - sta_warn 361 "net '$pattern' not found." + if { $hierarchical } { + set matches [find_nets_hier_matching $pattern $regexp $nocase] + } else { + set matches [find_nets_matching $pattern $regexp $nocase] + } + set nets [concat $nets $matches] + if { $matches == {} && !$quiet } { + sta_warn 361 "net '$pattern' not found." + } } } } @@ -914,17 +932,20 @@ proc get_pins { args } { set patterns [string map {\\ \\\\} $patterns] foreach pattern $patterns { if { [is_object $pattern] } { + if { [object_type $pattern] != "Pin" } { + sta_error 332 "object '$pattern' is not a pin." + } set pins [concat $pins $pattern] - continue - } - if { $hierarchical } { - set matches [find_pins_hier_matching $pattern $regexp $nocase] } else { - set matches [find_pins_matching $pattern $regexp $nocase] - } - set pins [concat $pins $matches] - if { $matches == {} && !$quiet } { - sta_warn 363 "pin '$pattern' not found." + if { $hierarchical } { + set matches [find_pins_hier_matching $pattern $regexp $nocase] + } else { + set matches [find_pins_matching $pattern $regexp $nocase] + } + set pins [concat $pins $matches] + if { $matches == {} && !$quiet } { + sta_warn 363 "pin '$pattern' not found." + } } } } @@ -968,16 +989,19 @@ proc get_ports { args } { check_argc_eq0or1 "get_ports" $args foreach pattern $patterns { if { [is_object $pattern] } { - set ports [concat $ports $pattern] - continue - } - set matches [find_ports_matching $pattern $regexp $nocase] - if { $matches != {} } { - set ports [concat $ports $matches] - } else { - if {![info exists flags(-quiet)]} { - sta_warn 366 "port '$pattern' not found." + if { [object_type $pattern] != "Port" } { + sta_error 333 "object '$pattern' is not a port." } + set ports [concat $ports $pattern] + } else { + set matches [find_ports_matching $pattern $regexp $nocase] + if { $matches != {} } { + set ports [concat $ports $matches] + } else { + if {![info exists flags(-quiet)]} { + sta_warn 366 "port '$pattern' not found." + } + } } } } @@ -2820,7 +2844,10 @@ proc set_driving_cell { args } { } else { set library "NULL" if { [is_object $cell_name] } { - set cell $cell_name + if { [object_type $cell_name] != "LibertyCell" } { + sta_error 334 "object '$cell_name' is not a liberty cell." + } + set cell $cell_name } else { set cell [find_liberty_cell $cell_name] } diff --git a/test/get_noargs_objrefs.ok b/test/get_noargs.ok similarity index 62% rename from test/get_noargs_objrefs.ok rename to test/get_noargs.ok index 60275635..b952fdaa 100644 --- a/test/get_noargs_objrefs.ok +++ b/test/get_noargs.ok @@ -1,17 +1,17 @@ -[get_cells [get_cells]] +[get_cells] r1 r2 r3 u1 u2 -[get_clocks [get_clocks]] +[get_clocks] clk vclk -[get_lib_cells [get_lib_cells]] +[get_lib_cells] asap7_small/AND2x2_ASAP7_75t_R asap7_small/BUFx2_ASAP7_75t_R asap7_small/DFFHQx4_ASAP7_75t_R -[get_lib_pins [get_lib_pins]] +[get_lib_pins] A A B @@ -22,9 +22,9 @@ IQN Q Y Y -[get_libs [get_libs]] +[get_libs] asap7_small -[get_nets [get_nets]] +[get_nets] clk1 clk2 clk3 @@ -35,7 +35,7 @@ r1q r2q u1z u2z -[get_pins [get_pins]] +[get_pins] r1/CLK r1/D r1/IQ @@ -56,7 +56,7 @@ u1/Y u2/A u2/B u2/Y -[get_ports [get_ports]] +[get_ports] clk1 clk2 clk3 diff --git a/test/get_noargs.tcl b/test/get_noargs.tcl new file mode 100644 index 00000000..32d15159 --- /dev/null +++ b/test/get_noargs.tcl @@ -0,0 +1,26 @@ +# get_* with no arguments + +# Read in design and libraries +read_liberty asap7_small.lib.gz +read_verilog reg1_asap7.v +link_design top +create_clock -name clk -period 500 {clk1 clk2 clk3} +create_clock -name vclk -period 1000 + +# Test each SDC get_* command with no arguments +puts {[get_cells]} +report_object_full_names [get_cells] +puts {[get_clocks]} +report_object_full_names [get_clocks] +puts {[get_lib_cells]} +report_object_full_names [get_lib_cells] +puts {[get_lib_pins]} +report_object_full_names [get_lib_pins] +puts {[get_libs]} +report_object_full_names [get_libs] +puts {[get_nets]} +report_object_full_names [get_nets] +puts {[get_pins]} +report_object_full_names [get_pins] +puts {[get_ports]} +report_object_full_names [get_ports] diff --git a/test/get_noargs_objrefs.tcl b/test/get_noargs_objrefs.tcl deleted file mode 100644 index 5bee2a99..00000000 --- a/test/get_noargs_objrefs.tcl +++ /dev/null @@ -1,26 +0,0 @@ -# Test get_* with no arguments and on object references - -# Read in design and libraries -read_liberty asap7_small.lib.gz -read_verilog reg1_asap7.v -link_design top -create_clock -name clk -period 500 {clk1 clk2 clk3} -create_clock -name vclk -period 1000 - -# Test each SDC get_* command with no arguments and on object references -puts {[get_cells [get_cells]]} -report_object_full_names [get_cells [get_cells]] -puts {[get_clocks [get_clocks]]} -report_object_full_names [get_clocks [get_clocks]] -puts {[get_lib_cells [get_lib_cells]]} -report_object_full_names [get_lib_cells [get_lib_cells]] -puts {[get_lib_pins [get_lib_pins]]} -report_object_full_names [get_lib_pins [get_lib_pins]] -puts {[get_libs [get_libs]]} -report_object_full_names [get_libs [get_libs]] -puts {[get_nets [get_nets]]} -report_object_full_names [get_nets [get_nets]] -puts {[get_pins [get_pins]]} -report_object_full_names [get_pins [get_pins]] -puts {[get_ports [get_ports]]} -report_object_full_names [get_ports [get_ports]] diff --git a/test/get_objrefs.ok b/test/get_objrefs.ok new file mode 100644 index 00000000..5430faff --- /dev/null +++ b/test/get_objrefs.ok @@ -0,0 +1,45 @@ +[get_cells [all_registers -cells]] +r1 +r2 +r3 +[get_clocks [all_clocks]] +clk +vclk +[get_lib_cells [get_lib_cells]] +asap7_small/AND2x2_ASAP7_75t_R +asap7_small/BUFx2_ASAP7_75t_R +asap7_small/DFFHQx4_ASAP7_75t_R +[get_lib_pins [get_lib_pins]] +A +A +B +CLK +D +IQ +IQN +Q +Y +Y +[get_libs [get_libs]] +asap7_small +[get_nets [get_nets]] +clk1 +clk2 +clk3 +in1 +in2 +out +r1q +r2q +u1z +u2z +[get_pins [all_registers -data_pins]] +r1/D +r2/D +r3/D +[get_ports [all_inputs]] +clk1 +clk2 +clk3 +in1 +in2 diff --git a/test/get_objrefs.tcl b/test/get_objrefs.tcl new file mode 100644 index 00000000..3e01d2e9 --- /dev/null +++ b/test/get_objrefs.tcl @@ -0,0 +1,29 @@ +# get_* on object references + +# Read in design and libraries +read_liberty asap7_small.lib.gz +read_verilog reg1_asap7.v +link_design top +create_clock -name clk -period 500 {clk1 clk2 clk3} +create_clock -name vclk -period 1000 + +# Test that set_driving_cell works with an object reference +set_driving_cell [all_inputs] -lib_cell [lindex [get_lib_cells] 0] + +# Test each SDC get_* command on object references +puts {[get_cells [all_registers -cells]]} +report_object_full_names [get_cells [all_registers -cells]] +puts {[get_clocks [all_clocks]]} +report_object_full_names [get_clocks [all_clocks]] +puts {[get_lib_cells [get_lib_cells]]} +report_object_full_names [get_lib_cells [get_lib_cells]] +puts {[get_lib_pins [get_lib_pins]]} +report_object_full_names [get_lib_pins [get_lib_pins]] +puts {[get_libs [get_libs]]} +report_object_full_names [get_libs [get_libs]] +puts {[get_nets [get_nets]]} +report_object_full_names [get_nets [get_nets]] +puts {[get_pins [all_registers -data_pins]]} +report_object_full_names [get_pins [all_registers -data_pins]] +puts {[get_ports [all_inputs]]} +report_object_full_names [get_ports [all_inputs]] diff --git a/test/regression_vars.tcl b/test/regression_vars.tcl index c4afd319..e19cf59c 100644 --- a/test/regression_vars.tcl +++ b/test/regression_vars.tcl @@ -127,7 +127,8 @@ record_sta_tests { liberty_arcs_one2one_1 liberty_arcs_one2one_2 get_filter - get_noargs_objrefs + get_noargs + get_objrefs } define_test_group fast [group_tests all]