From f0c3ec33d696f02ac86d0cdde2c1cc8c82813d81 Mon Sep 17 00:00:00 2001 From: Tim Edwards Date: Sat, 11 May 2024 20:48:35 -0400 Subject: [PATCH] Modified the "lef nocheck" command to take the argument "*", meaning that no nets will be checked for antenna gate and diffusion area, and no antenna properties will be output to the LEF file. This can greatly speed up LEF output file generation for a large design. Thank you to Tamas Hubai for the code patch. --- VERSION | 2 +- doc/html/lef.html | 6 ++++-- lef/lefWrite.c | 3 ++- 3 files changed, 7 insertions(+), 4 deletions(-) diff --git a/VERSION b/VERSION index 60b75321..80e6d372 100644 --- a/VERSION +++ b/VERSION @@ -1 +1 @@ -8.3.480 +8.3.481 diff --git a/doc/html/lef.html b/doc/html/lef.html index c8f12ade..f197132e 100644 --- a/doc/html/lef.html +++ b/doc/html/lef.html @@ -76,7 +76,7 @@ LEF-format input and output itself would be written to a DEF file.
Options -hide, -tech, and -toplayer are the same as for the lef write command. -
nocheck [netname ...]|[none] +
nocheck [netname ...]|[none]|[*]
Do not check for antenna diffusion and gate area on the nets with the names given as option netname. Any number of net names may be given as arguments. Typically, @@ -86,7 +86,9 @@ LEF-format input and output skipped automatically. If not, then this command option provides an alternative way to avoid running the checks, which can cause a huge performance hit when generating a LEF view of a large - layout. With the single argument "none", removes the + layout. The single argument "*" will cause all net checks + to be skipped, and no antenna information will appear in the + LEF file output. The single argument "none" removes the list of net names for which antenna checks should be skipped.
datestamp [value|default]
Force all cell definitions generated from LEF macros to have diff --git a/lef/lefWrite.c b/lef/lefWrite.c index 968ee0f3..93657b18 100644 --- a/lef/lefWrite.c +++ b/lef/lefWrite.c @@ -1468,7 +1468,8 @@ lefWriteMacro(def, f, scale, setback, pinonly, toplayer, domaster) // Check for net names to ignore for antenna checks. if (!ignored) for (lnn = lefIgnoreNets; lnn; lnn = lnn->lnn_next) - if (!strcmp(lnn->lnn_name, lab->lab_text)) + if (!strcmp(lnn->lnn_name, lab->lab_text) || + !strcmp(lnn->lnn_name, "*")) ignored = TRUE; if (!ignored || (setback != 0))