# LEF 5.8 C/C++ Programming Interface -- 8
Describes the C/C++ programming interface used to read and write Library Exchange Format (LEF) files.
Author: Technical Publications

###
LEF 5.8 C/C++ Programming Interface (Open Licensing Program)

# 8

# LEF File Comparison Utility

The Cadence® Library Exchange Format (LEF) reader provides the following utility for comparing LEF files.

### lefdefdiff

Compares two LEF or DEF files and reports any differences between them.

Because LEF and DEF files can be very large, the lefdefdiff utility writes each construct from a file to an output file in the /tmp directory. The utility writes the constructs using the format:

> section_head/subsection/subsection/ ... /statement

The lefdefdiff utility then sorts the output files and uses the diff program to compare the two files. Always verify the accuracy of the diff results.

Note: You must specify the -lef or -def, inFileName1, and inFileName2 arguments in the listed order. All other arguments can be specified in any order after these arguments.

#### Syntax

lefdefdiff
  {-lef | -def}
inFileName1
  inFileName2
  [-o outFileName]
  [-path pathName]
  [-quick]
  [-d]
  [-ignorePinExtra]
  [-ignoreRowName]
  [-h]

#### Arguments

-d

> Uses the gnu diff program to compare the files for a smaller set of differences. Use this argument only for UNIX platforms.

-h

> Returns the syntax and command usage for the lefdefdiff utility.

-ignorePinExtra

> Ignores any .extraN statements in the pin name. This argument can only be used when comparing DEF files.

-ignoreRowName

> Ignores the row name when comparing ROW statements in the DEF files. This argument can only be used when comparing DEF files.

inFileName1

> Specifies the first LEF or DEF file.

inFileName2

> Specifies the LEF or DEF file to compare with the first file.

-lef | -def

> Specifies whether you are comparing LEF or DEF files.

-o outFileName

> Outputs the results of the comparison to the specified file.
> Default: Outputs the results to the screen

-path pathName

> Temporarily stores the intermediate files created by the lefdefdiff utility in the specified path directory.
> Default: Temporarily stores the files in the current directory

-quick

> Uses the bdiff program to perform a faster comparison.

### Example

The following example shows an output file created by the lefdefdiff utility after comparing two LEF files:

> #The names of the two LEF files that were compared.

> < file1.lef

> > file2.lef

> #Statements listed under Added were found in file2.lef but not in file1.lef.

> Added:

> > LAYER M1 SPACING 0.6

> #Statements listed under Deleted were found in file1.lef but not in file2.lef.

> Deleted:

> < LAYER RX LENGTHTHRESHOLD 0.45

> < LAYER RX LENGTHTHRESHOLD 0.9

> < LAYER RX MINIMUMCUT 2 WIDTH 2.5

> #Changed always contains two statements: the statement as it appears in file1.lef and the statement as it appears in file2.lef.

> CHANGED:

> < MACRO INV_B EEQ INV SYMMETRY X Y R90

> ---

> > MACRO INV_B CLASS CORE EEQ INV SYMMETRY X Y R90

> Added:

> > MACRO INV_B ORIGIN ( 0 0 )

> Added:

> > OBS PATH ( 58.8 3 ) ( 58.8 123 )

Return to top of page

For support, see Cadence Online Support service.
Copyright © 2016, Cadence Design Systems, Inc.
All rights reserved.