coriolis/lefdef/doc/defapi/ch8lefdiff.html

382 lines
23 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>DEF 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-18">
<META NAME="CreateTime" CONTENT="1492498753">
<META NAME="DataType" CONTENT="Manuals">
<META NAME="Description" CONTENT="Describes the C/C++ programming interface used to read and write Design Exchange Format (DEF) files.">
<META NAME="DocTitle" CONTENT="DEF 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="defapi">
<META NAME="Language" CONTENT="English">
<META NAME="ModifiedDate" CONTENT="2017-04-18">
<META NAME="ModifiedTime" CONTENT="1492498753">
<META NAME="NextFile" CONTENT="appA_DEFexamples.html">
<META NAME="PageCount" CONTENT="4">
<META NAME="Platform" CONTENT="ALL">
<META NAME="PrevFile" CONTENT="ch7DEFcompressed.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="DEF 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="defapiTOC.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="ch7DEFcompressed.html"><img src="images/nav2_previous.gif" alt="Previous" border="0"></a>
</td>
<td>
<a href="appA_DEFexamples.html"><img src="images/nav_next.gif" alt="Next" border="0"></a>
</td>
<td height="20">
<a>
<a href="defapi.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>DEF 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">DEF File Comparison Utility</a></h1>
<p><a name="1019932">The Cadence</a><font color="#000000"><sup>&#174;</sup></font> Design Exchange Format (DEF) reader provides the following utility for comparing DEF 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="1022924">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="1022938"><font size="2" face="'Courier New'" color="#000000">&#45;h</font></a></strong>
</p>
<blockquote><a name="1022945">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="1022955"><font size="2" face="'Courier New'" color="#000000">&#45;ignorePinExtra</font></a></strong>
</p>
<blockquote><a name="1022962">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="1022991"><font size="2" face="'Courier New'" color="#000000">&#45;ignoreRowName</font></a></strong>
</p>
<blockquote><a name="1022998">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="1023008"><font size="2" face="'Courier New'" color="#000000"><em>inFileName1</em></font></a></strong>
</p>
<blockquote><a name="1023015">Specifies the first LEF or DEF file.</a></blockquote>
<p>
<strong></strong>
<strong><a name="1023025"><font size="2" face="'Courier New'" color="#000000"><em>inFileName2</em></font></a></strong>
</p>
<blockquote><a name="1023032">Specifies the LEF or DEF file to compare with the first file.</a></blockquote>
<p>
<strong></strong>
<strong><a name="1023042"><font size="2" face="'Courier New'" color="#000000">&#45;lef | &#45;def</font></a></strong>
</p>
<blockquote><a name="1023049">Specifies whether you are comparing LEF or DEF files. </a></blockquote>
<p>
<strong></strong>
<strong><a name="1023059"><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="1023066">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="1023076"><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="1023083">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="1023093"><font size="2" face="'Courier New'" color="#000000">&#45;quick</font></a></strong>
</p>
<blockquote><a name="1023100">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 DEF 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 DEF 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; in.def </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; out.def </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 Deleted were found in in.def but not in out.def.</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">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="1022646">&#60; BLOCKAGE LAYER m3 RECT 455 454 344 890</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="1022651">&#60; BLOCKAGE LAYER m3 SLOTS</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="1022652">&#60; BLOCKAGE LAYER m4 FILLS</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="1022653">&#60; BLOCKAGE LAYER m4 RECT 455 454 344 890</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="1022654">&#60; BLOCKAGE LAYER m5 PUSHDOWN</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="1022655">&#60; BLOCKAGE LAYER m5 RECT 455 454 344 890</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="1022656">&#60; BLOCKAGE PLACEMENT</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="1022657">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="1022658">&#60; BLOCKAGE PLACEMENT PUSHDOWN</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="1022659">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="1022660">&#60; BLOCKAGE PLACEMENT RECT 4000 6000 8000 4000</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="1022661">&#60; BLOCKAGE PLACEMENT RECT 4000 6000 8000 4000</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="1022687">#Changed always contains two statements: the statement as it appears in in.def and the statement as it appears in out.def.</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="1022648">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="1022665">&#60; COMP |i1 UNPLACED</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="1022666">&#60; DESIGN muk</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="1022667">&#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="1022668">&#62; DESIGN cell</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="1022670">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="1022704">&#60; NET net1 USE SCAN </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="1022705">&#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="1022706">&#62; NET net1 WEIGHT 30 SOURCE TIMING ORIGINAL VDD USE SCAN </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="1022709">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="1022710">&#60; NET net3 SOURCE USER PATTERN BALANCED ORIGINAL extra_crispy USE SIGNAL </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="1022711">&#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="1022712">&#62; NET net3 SOURCE USER PATTERN BALANCED ORIGINAL extra_crispy </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="1022671">#Statements listed under Added were found in out.def but not in in.def.</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="1022672">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="1022727">&#62; NET SCAN ( PIN scanpin ) </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="1022728">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="1022729">&#62; NET net1 ( PIN pin1 ) </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="1022722">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="1022731">&#62; NET net2 ( PIN pin2 ) </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="1022723">&nbsp;</a></font>
</blockquote>
<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="defapiTOC.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="ch7DEFcompressed.html"><img src="images/nav2_previous.gif" alt="Previous" border="0"></a>
</td>
<td>
<a href="appA_DEFexamples.html"><img src="images/nav_next.gif" alt="Next" border="0"></a>
</td>
<td>
<a>
<a href="defapi.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>