coriolis/lefdef/doc/lefapi/ch8lefdiff.html

312 lines
19 KiB
HTML

<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 3.2 Final//EN" "http://www.w3.org/MarkUp/Wilbur/HTML32.dtd">
<html xmlns="http://www.w3.org/MarkUp/Wilbur/HTML32.dtd">
<head>
<meta http-equiv="Content-Type" content="text/html;charset=utf-8">
<title>LEF 5.8 C/C++ Programming Interface -- 8</title>
<META NAME="Approver" CONTENT="Technical Publications">
<META NAME="Author" CONTENT="Technical Publications">
<META NAME="CreateDate" CONTENT="2017-04-12">
<META NAME="CreateTime" CONTENT="1491994561">
<META NAME="DataType" CONTENT="Manuals">
<META NAME="Description" CONTENT="Describes the C/C++ programming interface used to read and write Library Exchange Format (LEF) files.">
<META NAME="DocTitle" CONTENT="LEF 5.8 C/C++ Programming Interface">
<META NAME="DocType" CONTENT="Reference">
<META NAME="EdmsRelease" CONTENT="FM-Wiki-1.0_P005">
<META NAME="FileTitle" CONTENT="8">
<META NAME="Keywords" CONTENT="">
<META NAME="FileType" CONTENT="Chapter">
<META NAME="Keyword" CONTENT="lefapi">
<META NAME="Language" CONTENT="English">
<META NAME="ModifiedDate" CONTENT="2017-04-12">
<META NAME="ModifiedTime" CONTENT="1491994561">
<META NAME="NextFile" CONTENT="appA_LEFexamples.html">
<META NAME="PageCount" CONTENT="4">
<META NAME="Platform" CONTENT="ALL">
<META NAME="PrevFile" CONTENT="ch7LEFcompressed.html">
<META NAME="Product" CONTENT="Languages">
<META NAME="ProductFamily" CONTENT="Cadence Shared Tools">
<META NAME="ProductVersion" CONTENT="5.8">
<META NAME="Syntax" CONTENT="lefdefdiff{-lef | -def} inFileName1 inFileName2 [-o outFileName] [-path pathName] [-quick] [-d] [-ignorePinExtra][-ignoreRowName][-h]">
<META NAME="RightsManagement" CONTENT="Copyright 2017 Cadence Design Systems Inc.">
<META NAME="Title" CONTENT="LEF 5.8 C/C++ Programming Interface -- 8">
<META NAME="TopicTags" CONTENT="FALSE">
<META NAME="Version" CONTENT="5.8">
</head>
<body style="margin-left: 5%;">
<a name="pagetop"></a>
<a name="firstpage"></a>
<!-- Begin Buttons -->
<table width="650" cellpadding="0" cellspacing="0" border="0">
<tr>
<td height="36" width="650" colspan="10">
<img src="images/header_doc.gif" width="650" height="34">
</td>
</tr>
<tr>
<td height="20" width="59">
<a href="javascript:openLibrary()"><img src="../support/nav2_library.gif" border="0" alt="View Library" height="20" width="59"></a>
</td>
<td height="20" width="73">
<a href="lefapiTOC.html"><img src="../support/nav2_toc.gif" alt="Table of Contents" border="0"></a>
</td>
<td height="20" width="46">
<img src="../support/nav2_index_b.gif" border="0">
</td>
<td>
<a href="ch7LEFcompressed.html"><img src="images/nav2_previous.gif" alt="Previous" border="0"></a>
</td>
<td>
<a href="appA_LEFexamples.html"><img src="images/nav_next.gif" alt="Next" border="0"></a>
</td>
<td height="20">
<a>
<a href="lefapi.pdf"><img src="../support/nav2_print.gif" border="0" alt="Open PDF to print book" height="20" width="114"></a>
</a>
</td>
<td height="20" width="61">
<img src="../support/nav2_black.gif" border="0" height="20" width="76">
</td>
<td height="20" width="76">
<a href="/feedback.htm"><img src="../support/nav2_feedback.gif" border="0" alt="Email Comments" height="20" width="76"></a>
</td>
<td height="20" width="43">
<a href="../cdsuser/help.html"><img src="../support/nav2_help.gif" border="0" alt="Help Using Documentation" height="20" width="43"></a>
</td>
<td height="20" width="37">
<a href="/exitsearch.htm"><img src="../support/nav2_exit.gif" border="0" alt="Shut Down Cadence Documentation Server" height="20" width="37"></a>
</td>
</tr>
</table>
<!-- End Buttons -->
<p>
<hr>
<p>
<h3>
<center>
<font >
<div>LEF 5.8 C&#47;C++ Programming Interface (Open Licensing Program)</div>
<font >
<div></div>
</font>
</font>
</center>
</h3>
<br>
</p>
<div>
<h1>8<a name="1008781">&nbsp;</a></h1>
<h1><a name="1014156">LEF File Comparison Utility</a></h1>
<p><a name="1019932">The Cadence</a><font color="#000000"><sup>&#174;</sup></font> Library Exchange Format (LEF) reader provides the following utility for comparing LEF files. </p>
<h3><a name="1022364">lefdefdiff</a></h3>
<p><a name="1022368">Compares two LEF or DEF files and reports any differences between them.</a></p>
<p><a name="1022503">Because LEF and DEF files can be very large, the </a><font size="2" face="'Courier New'" color="#000000">lefdefdiff</font> utility writes each construct from a file to an output file in the <font size="2" face="'Courier New'" color="#000000">&#47;tmp</font> directory. The utility writes the constructs using the format:</p>
<blockquote><a name="1022610"><font size="2" face="'Courier New'" color="#000000"><em>section_head</em></font></a><font size="2" face="'Courier New'" color="#000000">&#47;</font><font size="2" face="'Courier New'" color="#000000"><em>subsection</em></font><font size="2" face="'Courier New'" color="#000000">&#47;</font><font size="2" face="'Courier New'" color="#000000"><em>subsection</em></font><font size="2" face="'Courier New'" color="#000000">&#47;</font> ... <font size="2" face="'Courier New'" color="#000000">&#47;</font><font size="2" face="'Courier New'" color="#000000"><em>statement</em></font> </blockquote>
<p><a name="1022612">The </a><font size="2" face="'Courier New'" color="#000000">lefdefdiff</font> utility then sorts the output files and uses the <font size="2" face="'Courier New'" color="#000000">diff</font> program to compare the two files. Always verify the accuracy of the <font size="2" face="'Courier New'" color="#000000">diff</font> results. </p>
<p><font color="#000000"><strong>Note: </strong></font><a name="1022623">You must specify the </a><font size="2" face="'Courier New'" color="#000000">&#45;lef</font> or <font size="2" face="'Courier New'" color="#000000">&#45;def</font>, <font size="2" face="'Courier New'" color="#000000"><em>inFileName1</em></font>, and <font size="2" face="'Courier New'" color="#000000"><em>inFileName2</em></font> arguments in the listed order. All other arguments can be specified in any order after these arguments. </p>
<h4><a name="1022171">Syntax</a></h4>
<dl>
<font size="2" face="'Courier New'" color="#000000"><a name="1020526">lefdefdiff<dd>{&#45;lef | &#45;def} <dd></a><font size="2" face="'Courier New'" color="#000000"><em>inFileName1</em></font> <dd><font size="2" face="'Courier New'" color="#000000"><em>inFileName2</em></font> <dd>[&#45;o <font size="2" face="'Courier New'" color="#000000"><em>outFileName</em></font>] <dd>[&#45;path <font size="2" face="'Courier New'" color="#000000"><em>pathName</em></font>] <dd>[&#45;quick] <dd>[&#45;d] <dd>[&#45;ignorePinExtra]<dd>[&#45;ignoreRowName]<dd>[&#45;h]</font>
</dl>
<h4><a name="1022176">Arguments</a></h4>
<p>
<strong></strong>
<strong><a name="1022388"><font size="2" face="'Courier New'" color="#000000">&#45;d</font></a> </strong>
</p>
<blockquote><a name="1023015">Uses the gnu </a><font size="2" face="'Courier New'" color="#000000">diff</font> program to compare the files for a smaller set of differences. Use this argument only for UNIX platforms. </blockquote>
<p>
<strong></strong>
<strong><a name="1022632"><font size="2" face="'Courier New'" color="#000000">&#45;h</font></a> </strong>
</p>
<blockquote><a name="1023026">Returns the syntax and command usage for the </a><font size="2" face="'Courier New'" color="#000000">lefdefdiff</font> utility. </blockquote>
<p>
<strong></strong>
<strong><a name="1022462"><font size="2" face="'Courier New'" color="#000000">&#45;ignorePinExtra</font></a></strong>
</p>
<blockquote><a name="1023033">Ignores any </a><font size="2" face="'Courier New'" color="#000000">.extra</font><font size="2" face="'Courier New'" color="#000000"><em>N</em></font> statements in the pin name. This argument can only be used when comparing DEF files. </blockquote>
<p>
<strong></strong>
<strong><a name="1022463"><font size="2" face="'Courier New'" color="#000000">&#45;ignoreRowName</font></a></strong>
</p>
<blockquote><a name="1023041">Ignores the row name when comparing </a><font size="2" face="'Courier New'" color="#000000">ROW</font> statements in the DEF files. This argument can only be used when comparing DEF files.</blockquote>
<p>
<strong></strong>
<strong><a name="1022392"><font size="2" face="'Courier New'" color="#000000"><em>inFileName1</em></font></a> </strong>
</p>
<blockquote><a name="1023049">Specifies the first LEF or DEF file.</a></blockquote>
<p>
<strong></strong>
<strong><a name="1022394"><font size="2" face="'Courier New'" color="#000000"><em>inFileName2</em></font></a></strong>
</p>
<blockquote><a name="1023056">Specifies the LEF or DEF file to compare with the first file.</a></blockquote>
<p>
<strong></strong>
<strong><a name="1022409"><font size="2" face="'Courier New'" color="#000000">&#45;lef | &#45;def</font></a> </strong>
</p>
<blockquote><a name="1023064">Specifies whether you are comparing LEF or DEF files. </a></blockquote>
<p>
<strong></strong>
<strong><a name="1022413"><font size="2" face="'Courier New'" color="#000000">&#45;o </font></a><font size="2" face="'Courier New'" color="#000000"><em>outFileName</em></font></strong>
</p>
<blockquote><a name="1023071">Outputs the results of the comparison to the specified file.<br></a><font color="#000000"><em>Default:</em></font> Outputs the results to the screen</blockquote>
<p>
<strong></strong>
<strong><a name="1022423"><font size="2" face="'Courier New'" color="#000000">&#45;path </font></a><font size="2" face="'Courier New'" color="#000000"><em>pathName</em></font></strong>
</p>
<blockquote><a name="1023079">Temporarily stores the intermediate files created by the </a><font size="2" face="'Courier New'" color="#000000">lefdefdiff</font> utility in the specified path directory.<br><font color="#000000"><em>Default:</em></font> Temporarily stores the files in the current directory</blockquote>
<p>
<strong></strong>
<strong><a name="1022441"><font size="2" face="'Courier New'" color="#000000">&#45;quick</font></a></strong>
</p>
<blockquote><a name="1023087">Uses the </a><font size="2" face="'Courier New'" color="#000000">bdiff</font> program to perform a faster comparison.</blockquote>
<h3><a name="1021641">Example</a></h3>
<p><a name="1021642">The following example shows an output file created by the </a><font size="2" face="'Courier New'" color="#000000">lefdefdiff</font> utility after comparing two LEF files: </p>
<blockquote>
<font size="2" face="&quot;Courier New&quot;" color="#000000"></font>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1022459">#The names of the two LEF files that were compared.</a></font>
</blockquote>
<blockquote>
<font size="2" face="&quot;Courier New&quot;" color="#000000"></font>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1022575">&#60; file1.lef </a></font>
</blockquote>
<blockquote>
<font size="2" face="&quot;Courier New&quot;" color="#000000"></font>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1022540">&#62; file2.lef </a></font>
</blockquote>
<blockquote>
<font size="2" face="&quot;Courier New&quot;" color="#000000"></font>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1022576">#Statements listed under Added were found in file2.lef but not in file1.lef.</a></font>
</blockquote>
<blockquote>
<font size="2" face="&quot;Courier New&quot;" color="#000000"></font>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1022545">Added:</a></font>
</blockquote>
<blockquote>
<font size="2" face="&quot;Courier New&quot;" color="#000000"></font>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1022546">&#62; LAYER M1 SPACING 0.6</a></font>
</blockquote>
<blockquote>
<font size="2" face="&quot;Courier New&quot;" color="#000000"></font>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1022578">#Statements listed under Deleted were found in file1.lef but not in file2.lef.</a></font>
</blockquote>
<blockquote>
<font size="2" face="&quot;Courier New&quot;" color="#000000"></font>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1022547">Deleted:</a></font>
</blockquote>
<blockquote>
<font size="2" face="&quot;Courier New&quot;" color="#000000"></font>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1022548">&#60; LAYER RX LENGTHTHRESHOLD 0.45</a></font>
</blockquote>
<blockquote>
<font size="2" face="&quot;Courier New&quot;" color="#000000"></font>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1022549">&#60; LAYER RX LENGTHTHRESHOLD 0.9 </a></font>
</blockquote>
<blockquote>
<font size="2" face="&quot;Courier New&quot;" color="#000000"></font>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1022558">&#60; LAYER RX MINIMUMCUT 2 WIDTH 2.5</a></font>
</blockquote>
<blockquote>
<font size="2" face="&quot;Courier New&quot;" color="#000000"></font>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1022559">#Changed always contains two statements: the statement as it appears in file1.lef and the statement as it appears in file2.lef.</a></font>
</blockquote>
<blockquote>
<font size="2" face="&quot;Courier New&quot;" color="#000000"></font>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1022587">CHANGED: </a></font>
</blockquote>
<blockquote>
<font size="2" face="&quot;Courier New&quot;" color="#000000"></font>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1022560">&#60; MACRO INV_B EEQ INV SYMMETRY X Y R90 </a></font>
</blockquote>
<blockquote>
<font size="2" face="&quot;Courier New&quot;" color="#000000"></font>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1022561">&#45;&#45;&#45;</a></font>
</blockquote>
<blockquote>
<font size="2" face="&quot;Courier New&quot;" color="#000000"></font>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1022562">&#62; MACRO INV_B CLASS CORE EEQ INV SYMMETRY X Y R90 </a></font>
</blockquote>
<blockquote>
<font size="2" face="&quot;Courier New&quot;" color="#000000"></font>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1022570">Added: </a></font>
</blockquote>
<blockquote>
<font size="2" face="&quot;Courier New&quot;" color="#000000"></font>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1022571">&#62; MACRO INV_B ORIGIN ( 0 0 )</a></font>
</blockquote>
<blockquote>
<font size="2" face="&quot;Courier New&quot;" color="#000000"></font>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1022572">Added: </a></font>
</blockquote>
<blockquote>
<font size="2" face="&quot;Courier New&quot;" color="#000000"></font>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1022573">&#62; OBS PATH ( 58.8 3 ) ( 58.8 123 ) </a></font>
</blockquote>
<blockquote>
<font size="2" face="&quot;Courier New&quot;" color="#000000"></font>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1022574">&nbsp;</a></font>
</blockquote>
<p><a name="1022541">&nbsp;</a></p>
<p><a name="1022460">&nbsp;</a></p>
<p><a name="1021974">&nbsp;</a></p>
</div>
<br>
<a href="#pagetop">Return to top of page</a>
<hr>
<hr align="left">
<div style="text-align: left;">
<!-- Begin Buttons -->
<table width="650" cellpadding="0" cellspacing="0" border="0">
<tr>
<td height="20" width="59">
<a href="javascript:openLibrary()"><img src="../support/nav2_library.gif" border="0" alt="View Library" height="20" width="59"></a>
</td>
<td height="20" width="73">
<a href="lefapiTOC.html"><img src="../support/nav2_toc.gif" alt="Table of Contents" border="0"></a>
</td>
<td height="20" width="46">
<img src="../support/nav2_index_b.gif" border="0">
</td>
<td>
<a href="ch7LEFcompressed.html"><img src="images/nav2_previous.gif" alt="Previous" border="0"></a>
</td>
<td>
<a href="appA_LEFexamples.html"><img src="images/nav_next.gif" alt="Next" border="0"></a>
</td>
<td>
<a>
<a href="lefapi.pdf"><img src="../support/nav2_print.gif" border="0" alt="Open PDF to print book" height="20" width="114"></a>
</a>
</td>
<td height="20" width="61">
<img src="../support/nav2_black.gif" border="0" height="20" width="76">
</td>
<td height="20" width="76">
<a href="/feedback.htm"><img src="../support/nav2_feedback.gif" border="0" alt="Email Comments" height="20" width="76"></a>
</td>
<td height="20" width="43">
<a href="../cdsuser/help.html"><img src="../support/nav2_help.gif" border="0" alt="Help Using Documentation" height="20" width="43"></a>
</td>
<td height="20" width="37">
<a href="/exitsearch.htm"><img src="../support/nav2_exit.gif" border="0" alt="Shut Down Cadence Documentation Server" height="20" width="37"></a>
</td>
</tr>
</table>
<!-- End Buttons -->
</div>
<br>
<font size="-1" >
For support, see <a href="http://support.cadence.com" target="_blank">Cadence Online Support</a> service.</font>
<br>
<br>
<font size="-1" >
<font size="-1"><i>Copyright &#169; 2016, <a href ="http://www.cadence.com">Cadence Design Systems, Inc.</a></i></font>
</font>
<br>
<font size="-1" >
All rights reserved.</font>
<br>
<br>
</body>
</html>