The Cadence® Library Exchange Format (LEF) reader provides the following utility for comparing LEF files.
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.
Uses the gnu diff program to compare the files for a smaller set of differences. Use this argument only for UNIX platforms.
Returns the syntax and command usage for the lefdefdiff utility.
Ignores any .extraN statements in the pin name. This argument can only be used when comparing DEF files.
Ignores the row name when comparing ROW statements in the DEF files. This argument can only be used when comparing DEF files.
Specifies the first LEF or DEF file.
Specifies the LEF or DEF file to compare with the first file.
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
Uses the bdiff program to perform a faster comparison.
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 )