<?xml version="1.0" encoding="UTF-8"?>
<?xml-stylesheet type="text/xsl" media="screen" href="/~d/styles/rss2full.xsl"?><?xml-stylesheet type="text/css" media="screen" href="http://feeds.feedburner.com/~d/styles/itemcontent.css"?><rss xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:slash="http://purl.org/rss/1.0/modules/slash/" xmlns:wfw="http://wellformedweb.org/CommentAPI/" xmlns:feedburner="http://rssnamespace.org/feedburner/ext/1.0" version="2.0"><channel><title>Brian Wallace Blog</title><link>http://www.cadence.com/Community/search/SearchResults.aspx?&amp;u=8132&amp;un=abham&amp;Scope=Blogs</link><description>Search results by user ID 8132</description><dc:language>en-US</dc:language><generator>CommunityServer 2007.1 (Build: 20917.1142)</generator><atom10:link xmlns:atom10="http://www.w3.org/2005/Atom" rel="self" type="application/rss+xml" href="http://feeds.feedburner.com/cadence/community/blogs/8132" /><feedburner:info uri="cadence/community/blogs/8132" /><atom10:link xmlns:atom10="http://www.w3.org/2005/Atom" rel="hub" href="http://pubsubhubbub.appspot.com/" /><item><title>Re: Encounter ENCDB-1256</title><link>http://feedproxy.google.com/~r/cadence/community/blogs/8132/~3/HInqSCo2FgM/1324569.aspx</link><pubDate>Fri, 14 Jun 2013 16:52:05 GMT</pubDate><guid isPermaLink="false">75bcbcf9-38a3-4e2e-b84b-26c8c46a9500:1324569</guid><dc:creator>wally1</dc:creator><description>&lt;p&gt;The message means there is a pin in the LEF defined with USE POWER or USE GROUND that it connected logically to a signal net. Power/Ground pins can only be connected to special nets that are defined as power/ground during init_design. Make sure this net is defined as a power/ground net during init_design using:&lt;/p&gt;&lt;p&gt;&amp;nbsp; &amp;nbsp;&amp;nbsp; set init_pwr_net {netName}&lt;/p&gt;&lt;p&gt;&amp;nbsp; &amp;nbsp;&amp;nbsp; set init_gnd_net {netName} &lt;/p&gt;&lt;p&gt;Thanks,&lt;/p&gt;&lt;p&gt;Brian &lt;/p&gt;</description><feedburner:origLink>http://www.cadence.com/Community/forums/p/26514/1324569.aspx#1324569</feedburner:origLink></item><item><title>Re: Metal Fill in Encounter Digital Implementation</title><link>http://feedproxy.google.com/~r/cadence/community/blogs/8132/~3/aTmg8bS0h-4/1324325.aspx</link><pubDate>Fri, 07 Jun 2013 17:37:09 GMT</pubDate><guid isPermaLink="false">75bcbcf9-38a3-4e2e-b84b-26c8c46a9500:1324325</guid><dc:creator>wally1</dc:creator><description>&lt;p&gt;Hi Yoann,&lt;/p&gt;&lt;p&gt;Are the dummy fill layer types in your stream out mapping file from EDI? Likewise, make sure that layer is getting mapped in properly to Virtuoso.&lt;/p&gt;&lt;p&gt;Brian &lt;/p&gt;</description><feedburner:origLink>http://www.cadence.com/Community/forums/p/26344/1324325.aspx#1324325</feedburner:origLink></item><item><title>Answers to Top 10 Questions on Performing ECOs in EDI System </title><link>http://feedproxy.google.com/~r/cadence/community/blogs/8132/~3/MolVkMICVoY/answers-to-frequently-asked-questions-when-performing-ecos-in-edi-system.aspx</link><pubDate>Wed, 17 Apr 2013 19:23:00 GMT</pubDate><guid isPermaLink="false">75bcbcf9-38a3-4e2e-b84b-26c8c46a9500:1322866</guid><dc:creator>wally1</dc:creator><description>&lt;p&gt;Applying ECOs to a design can be complex, stressful and error prone so it&amp;#39;s important to apply the right tools and flow to implement the changes successfully. EDI System provides multiple ECO flows to physically implement ECOs efficiently and accurately based on your design requirements. And adding a tool such as &lt;a href="http://www.cadence.com/products/ld/eco_designer/pages/default.aspx"&gt;Encounter Conformal ECO Designer&lt;/a&gt; or the &lt;a href="http://www.cadence.com/products/ld/ets/pages/default.aspx"&gt;Encounter Timing System&amp;#39;s MMMC Signoff ECO&lt;/a&gt; capability can lead to faster design closure with fewer iterations. &lt;br /&gt;&lt;br /&gt;I field many customer questions related to implementing physical ECOs with EDI System. In this blog I provide answers to 10 of the most common questions. Do you have any tips to share on performing ECOs with EDI System? If so, please post it as a comment below. &lt;/p&gt;&lt;p&gt;Thanks,&lt;/p&gt;&lt;p&gt;Brian &lt;/p&gt;&lt;p&gt;&lt;br /&gt;&lt;b&gt;1. What&amp;#39;s the best place to find details on how to perform ECOs in EDI System?&lt;/b&gt;&lt;br /&gt;&lt;br /&gt;The EDI System User Guide has a chapter dedicated to &lt;a href="http://support.cadence.com/wps/mypoc/cos?uri=deeplinkmin:DocumentViewer;src=pubs;q=soceUG/soceUG11.3/ECOFlow.html"&gt;ECO Flows&lt;/a&gt; (&lt;a href="http://support.cadence.com"&gt;Cadence Online Support&lt;/a&gt; access required). It describes several flows depending on whether it is a pre-mask or post-mask ECO, whether the changes are coming from a new Verilog netlist, DEF or ECO file, and whether gate array cells are being used or not. If you are new to ECO flows in EDI System then the ECO Flows chapter is the place to start! &lt;/p&gt;&lt;p&gt;It&amp;#39;s worth mentioning here ECOs can be implemented using the super-command &lt;font face="courier new,courier"&gt;ecoDesign&lt;/font&gt; or by running each command individually (&lt;font face="courier new,courier"&gt;init_design, ecoDefin, ecoPlace, ...&lt;/font&gt;). Both methods are described in the User Guide.&lt;/p&gt;&lt;p&gt;&lt;b&gt;2. What&amp;#39;s the difference between a pre-mask and post-mask ECO flow?&lt;/b&gt;&lt;br /&gt;&lt;br /&gt;A pre-mask ECO is when you are making changes to the design before any masks have been made. With a pre-mask ECO you are free to make changse to any layer thus providing you more freedom to implement the ECO.&lt;br /&gt;&lt;br /&gt;A post-mask ECO is when you are making changes to a design after masks have been made. Therefore, you want to limit the changes to specific layers so you do not need to re-make all the masks. In a post-mask ECO flow you can utilize existing spare cells which where placed in the design to avoid changes to layers Metal1 and below. You can also instruct the router to which layers it can use to perform ECO routing and which must remain frozen.&lt;/p&gt;&lt;p&gt;&lt;b&gt;3. How do I apply changes made in my RTL to the physical design through ECO?&lt;/b&gt;&lt;br /&gt;&lt;br /&gt;&lt;a href="http://www.cadence.com/products/ld/eco_designer/pages/default.aspx"&gt;Encounter Conformal ECO Designer&lt;/a&gt; is recommended for performing complex ECOs originating from RTL. It interfaces with RTL Compiler and EDI System to perform the logical and physical ECOs while leveraging Conformal&amp;#39;s logical equivalency abilities to ensure the ECO was successful for both the front-end and back-end signoff.&lt;/p&gt;&lt;p&gt;&lt;b&gt;4. How does EDI System identify spare cells in a post-mask ECO flow?&lt;/b&gt;&lt;br /&gt;&lt;br /&gt;Spare cells should have a unique string in their instance name to identify them. Then the command &lt;font face="courier new,courier"&gt;specifySpareGate&lt;/font&gt; or &lt;font face="courier new,courier"&gt;ecoDesign -useSpareCells patternName&lt;/font&gt; is run to identify the spare instances. For example, if all spare cells have _spare_ in their name then they are identified using:&lt;br /&gt;&lt;br /&gt;&amp;nbsp; &lt;font face="courier new,courier"&gt;specifySpareGate -inst *_spare_*&lt;/font&gt;&lt;br /&gt;&lt;br /&gt;OR&lt;br /&gt;&lt;br /&gt;&amp;nbsp; &lt;font face="courier new,courier"&gt;ecoDesign -spareCells *_spare_* ...&lt;/font&gt;&lt;br /&gt;&lt;br /&gt;Note if you are making manual ECO changes to a netlist and converting a spare cell to a logical instance, it&amp;#39;s important to change the instance name. Otherwise, the instance may be identified as a spare cell if a future ECO is performed because it still has the spare cell instance name.&lt;br /&gt;&lt;br /&gt;&lt;b&gt;5. How does EDI System identify the changes in the design?&lt;/b&gt;&lt;br /&gt;&lt;br /&gt;During the &lt;font face="courier new,courier"&gt;ecoDefin&lt;/font&gt; step the existing netlist (new netlist) is compared against the original placed and routed design. A summary of differences is output to the log file and a detailed report file is output to the local directory. You can review the report file to see a list of all the differences.&lt;br /&gt;&lt;br /&gt;&lt;b&gt;6. How do I use spare cells or gate array cells during placement?&lt;/b&gt;&lt;br /&gt;&lt;br /&gt;Spare cells are identified using &lt;font face="courier new,courier"&gt;specifySpareGate&lt;/font&gt;. Then use the &lt;font face="courier new,courier"&gt;-useSpareCells true&lt;/font&gt; option when running &lt;font face="courier new,courier"&gt;ecoPlace&lt;/font&gt; to instruct it to swap the unplaced cells with spare cells of the same cell type:&lt;br /&gt;&lt;br /&gt;&lt;font face="courier new,courier"&gt;&amp;nbsp; specifySpareGate -inst *_spare_*&lt;br /&gt;&amp;nbsp; ecoPlace -useSpareCells true&lt;/font&gt;&lt;br /&gt;&lt;br /&gt;Gate array style filler cells can be programmed with metal layers so the poly/diffusion and lower layers are not changed, and only the metal and via layer masks need to be modified. If you are using gate array spare cells the flow depends on the SITE type used by the gate array cells.&lt;br /&gt;&lt;br /&gt;If your design has GA Cells which utilize a SITE type (i.e. GACORE) different from normal standard cells (i.e. CORE) then use:&lt;br /&gt;&lt;br /&gt;&lt;font face="courier new,courier"&gt;&amp;nbsp; ecoPlace -useGACells GACORE &lt;/font&gt;&lt;br /&gt;&lt;br /&gt;If your design has GA cells which utilize the same SITE type as standard cells:&lt;font face="courier new,courier"&gt;&amp;nbsp; ecoPlace -useGAFillerCells {List of GAFillerCells}&lt;/font&gt;&lt;br /&gt;&lt;br /&gt;Reference the User Guide for the complete flow.&lt;br /&gt;&lt;br /&gt;&lt;b&gt;7. Is &lt;font face="courier new,courier"&gt;ecoPlace -useSpareCells true&lt;/font&gt; timing driven?&lt;/b&gt;&lt;br /&gt;&lt;br /&gt;&lt;font face="courier new,courier"&gt;ecoPlace&lt;/font&gt; will choose the spare cells to minimize wire length but is not timing driven. After &lt;font face="courier new,courier"&gt;ecoPlace&lt;/font&gt; you can run &lt;font face="courier new,courier"&gt;ecoSwapSpareCell&lt;/font&gt; to relocate an instance to the location of another spare cell of the same type. Alternatively, you can run &lt;font face="courier new,courier"&gt;ecoRemap&lt;/font&gt; in place of &lt;font face="courier new,courier"&gt;ecoPlace&lt;/font&gt;. &lt;font face="courier new,courier"&gt;ecoRemap&lt;/font&gt; is timing driven and automatically analyzes the functionality of the newly added cells and remaps them to available spare cells. The software analyzes the logic and performs changes to improve timing and minimize DRVs.&lt;/p&gt;&lt;p&gt;&lt;b&gt;8. How do I freeze certain metal layers during routing?&lt;/b&gt;&lt;br /&gt;&lt;br /&gt;In a post-mask ECO Flow run &lt;font face="courier new,courier"&gt;ecoRoute&lt;/font&gt; with the &lt;font face="courier new,courier"&gt;-modifyOnlyLayers&lt;/font&gt; option to specify which layers it is allowed to modify. For example, to route using only Metal1 through Metal3:&lt;br /&gt;&lt;br /&gt;&lt;font face="courier new,courier"&gt;&amp;nbsp; ecoRoute -modifyOnlyLayers 1:3&lt;/font&gt;&lt;/p&gt;&lt;p&gt;&lt;b&gt;9. How does ECO routing deal with metal fill?&lt;/b&gt;&lt;br /&gt;&lt;br /&gt;When performing a post-mask ECO flow, ecoRoute will ignore the metal fill while routing. This will likely cause DRC violations between the ECO routes and metal fill. To fix these violations, run &lt;font face="courier new,courier"&gt;verifyGeometry&lt;/font&gt; followed by the the &lt;font face="courier new,courier"&gt;trimMetalFill&lt;/font&gt; command. This will cut back the metal fill from the ECO routing to fix the violations. &lt;/p&gt;&lt;p&gt;&lt;b&gt;10. Does EDI System support interactive (maual) ECOs?&lt;/b&gt;&lt;br /&gt;&lt;br /&gt;Yes, EDI System provides a number of interactive commands to both evaluate and commit ECO changes. See the &lt;a href="http://support.cadence.com/wps/mypoc/cos?uri=deeplinkmin:DocumentViewer;src=pubs%20;q=soceUG/soceUG11.3/ECO.html"&gt;Interactive ECO chapter of the EDI System User Guide&lt;/a&gt; for details.&lt;br /&gt;&lt;br /&gt;When performing interactive ECOs make sure setEcoMode is set as desired. Here are some specific options to pay attention to and tips to speed up run time when implementing a series of ECOs:&lt;br /&gt;&lt;br /&gt;&lt;font face="courier new,courier"&gt;&amp;nbsp; setEcoMode -updateTiming&lt;/font&gt; - Default is false allowing you to wait until all ECOs are performed to run timing analysis. If set to true, timing analysis is run after each ECO command. &lt;br /&gt;&lt;font face="courier new,courier"&gt;&amp;nbsp; setEcoMode -honorDontTouch, -honorDontUse, -honorFixedStatus&lt;/font&gt; - The default for all of these is true. So if you find you cannot make a change, check if any of these apply.&lt;br /&gt;&lt;font face="courier new,courier"&gt;&amp;nbsp; setEcoMode -batchMode&lt;/font&gt; - Sets this to true to improve runtime if you are performing many ECOs. &lt;/p&gt;&lt;p&gt;&amp;nbsp;&lt;/p&gt;</description><feedburner:origLink>http://www.cadence.com/Community/blogs/di/archive/2013/04/17/answers-to-frequently-asked-questions-when-performing-ecos-in-edi-system.aspx</feedburner:origLink></item><item><title>Re: How to get all multidriven net ???</title><link>http://feedproxy.google.com/~r/cadence/community/blogs/8132/~3/dHUBzuKZb78/1321703.aspx</link><pubDate>Fri, 22 Mar 2013 14:25:11 GMT</pubDate><guid isPermaLink="false">75bcbcf9-38a3-4e2e-b84b-26c8c46a9500:1321703</guid><dc:creator>wally1</dc:creator><description>&lt;p&gt;Please go to support.cadence.com and create an account to access the online support site. Then you should be able to access these links.&lt;br /&gt;&lt;br /&gt;Here is the info from the second link I provided:&lt;br /&gt;&lt;br /&gt;The script userRptMultiDriverNets.tcl reports the nets with multiple drivers. This script is provided in the Tcl gift directory packaged with the software. To use the script inside EDI System do the following:&lt;br /&gt;&amp;nbsp;&lt;br /&gt;&lt;br /&gt;&amp;nbsp; source encounter_install_dir/share/fe/gift/scripts/tcl/userRptMultiDriverNets.tcl&lt;br /&gt;&lt;br /&gt;&amp;nbsp; userRptMultiDriverNets&lt;br /&gt;&amp;nbsp;&lt;br /&gt;&lt;br /&gt;Thanks,&lt;br /&gt;&lt;br /&gt;Brian &lt;/p&gt;</description><feedburner:origLink>http://www.cadence.com/Community/forums/p/25670/1321703.aspx#1321703</feedburner:origLink></item><item><title>Re: How to get all multidriven net ???</title><link>http://feedproxy.google.com/~r/cadence/community/blogs/8132/~3/ceM5rycQYg4/1321662.aspx</link><pubDate>Thu, 21 Mar 2013 14:13:05 GMT</pubDate><guid isPermaLink="false">75bcbcf9-38a3-4e2e-b84b-26c8c46a9500:1321662</guid><dc:creator>wally1</dc:creator><description>&lt;p&gt;Here are a couple articles on Cadence Online Support (support.cadence.com) with scripts to report multi-driven nets:&lt;/p&gt;&lt;p&gt;&lt;a href="http://support.cadence.com/wps/mypoc/cos?uri=deeplinkmin:ViewSolution;solutionNumber=11796980" target="_blank"&gt;http://support.cadence.com/wps/mypoc/cos?uri=deeplinkmin:ViewSolution;solutionNumber=11796980&lt;/a&gt; &lt;/p&gt;&lt;p&gt;&lt;a href="http://support.cadence.com/wps/mypoc/cos?uri=deeplinkmin:ViewSolution;solutionNumber=11562344" target="_blank"&gt;http://support.cadence.com/wps/mypoc/cos?uri=deeplinkmin:ViewSolution;solutionNumber=11562344&lt;/a&gt; &lt;/p&gt;&lt;p&gt;Regards,&lt;/p&gt;&lt;p&gt;Brian &lt;/p&gt;</description><feedburner:origLink>http://www.cadence.com/Community/forums/p/25670/1321662.aspx#1321662</feedburner:origLink></item><item><title>Re: SOC Encounter pin layers</title><link>http://feedproxy.google.com/~r/cadence/community/blogs/8132/~3/MMqD3bhmcGs/1321283.aspx</link><pubDate>Mon, 11 Mar 2013 23:42:02 GMT</pubDate><guid isPermaLink="false">75bcbcf9-38a3-4e2e-b84b-26c8c46a9500:1321283</guid><dc:creator>wally1</dc:creator><description>&lt;p&gt;Hi Aram,&lt;/p&gt;&lt;p&gt;You can use setPinConstraint or specify the max routing layer using setMaxRouteLayer.&lt;/p&gt;&lt;p&gt;- Brian &lt;/p&gt;</description><feedburner:origLink>http://www.cadence.com/Community/forums/p/25551/1321283.aspx#1321283</feedburner:origLink></item><item><title>Re: Difference between AntennaAreaRatio and AntennaDiffAreaRatio</title><link>http://feedproxy.google.com/~r/cadence/community/blogs/8132/~3/Cyv9eNUKfHU/1321184.aspx</link><pubDate>Fri, 08 Mar 2013 18:07:18 GMT</pubDate><guid isPermaLink="false">75bcbcf9-38a3-4e2e-b84b-26c8c46a9500:1321184</guid><dc:creator>wally1</dc:creator><description>&lt;p&gt;If there is a connection between the input pin and diffusion through the current layer being evaluated or below, then AntennaDiffAreaRatio is used. Otherwise, AntennaAreaRatio is used. AntennaDiffAreaRatio is always larger because the diffusion provides a discharge path.&lt;/p&gt;&lt;p&gt;A good chapter on antenna calculations can be found here:&lt;/p&gt;&lt;p&gt;http://support.cadence.com/wps/mypoc/cos?uri=deeplinkmin:DocumentViewer;src=pubs;q=lefdefref/lefdefref5.8/PAE.html &lt;/p&gt;&lt;p&gt;- Brian &lt;/p&gt;</description><feedburner:origLink>http://www.cadence.com/Community/forums/p/25517/1321184.aspx#1321184</feedburner:origLink></item><item><title>Re: how to find out a instance which drives special inst's port?</title><link>http://feedproxy.google.com/~r/cadence/community/blogs/8132/~3/i-L3t3OUa6U/1320511.aspx</link><pubDate>Fri, 01 Mar 2013 00:45:36 GMT</pubDate><guid isPermaLink="false">75bcbcf9-38a3-4e2e-b84b-26c8c46a9500:1320511</guid><dc:creator>wally1</dc:creator><description>Try this:&lt;br /&gt;&lt;br /&gt;set instTermName &amp;quot;top_fifo_reg1_2_/D&amp;quot;&lt;br /&gt;&lt;br /&gt;set instTermPtr [dbGet -p top.insts.instTerms.name $instTermName]&lt;br /&gt;&lt;br /&gt;set driverName [dbGet [dbGet $instTermPtr.net.instTerms.isOutput 1 -p].name]&lt;br /&gt;&lt;br /&gt;&amp;nbsp;&lt;br /&gt;&lt;br /&gt;- Brian &lt;br /&gt;&lt;p&gt;&amp;nbsp;&lt;/p&gt;</description><feedburner:origLink>http://www.cadence.com/Community/forums/p/25222/1320511.aspx#1320511</feedburner:origLink></item><item><title>Re: hInst in cadence encounter???</title><link>http://feedproxy.google.com/~r/cadence/community/blogs/8132/~3/cX06dh7cvJs/1320404.aspx</link><pubDate>Wed, 27 Feb 2013 17:48:02 GMT</pubDate><guid isPermaLink="false">75bcbcf9-38a3-4e2e-b84b-26c8c46a9500:1320404</guid><dc:creator>wally1</dc:creator><description>&lt;p&gt;If you have a hierarchy such as the following then U0 and instA/U1 are insts and instA is an hInst. hInsts are hierarchical modules which have insts inside them. &lt;/p&gt;&lt;p&gt;module top(...);&lt;/p&gt;&lt;p&gt;...&lt;/p&gt;&lt;p&gt;&amp;nbsp; &amp;nbsp;&amp;nbsp; modA instA(...);&lt;/p&gt;&lt;p&gt;&amp;nbsp; &amp;nbsp;&amp;nbsp; INVXL U0(...) ;&lt;/p&gt;&lt;p&gt;endmodule&lt;/p&gt;&lt;p&gt;module modA(...);&lt;/p&gt;&lt;p&gt;...&lt;/p&gt;&lt;p&gt;&amp;nbsp;&amp;nbsp; BUFXL U1(...);&lt;/p&gt;&lt;p&gt;endmodule &lt;/p&gt;</description><feedburner:origLink>http://www.cadence.com/Community/forums/p/25010/1320404.aspx#1320404</feedburner:origLink></item><item><title>Re: not able to add repeater</title><link>http://feedproxy.google.com/~r/cadence/community/blogs/8132/~3/E9zMkWT3RbE/1320334.aspx</link><pubDate>Tue, 26 Feb 2013 22:59:59 GMT</pubDate><guid isPermaLink="false">75bcbcf9-38a3-4e2e-b84b-26c8c46a9500:1320334</guid><dc:creator>wally1</dc:creator><description>&lt;p&gt;This may be due to the location you are inserting the buffer on shares a node in the SPEF with another sink so it cannot be separated. One solution is to add additional sinks for this net to the list of terminals. Also, try using the latest code as some updates have been made.&lt;/p&gt;&lt;p&gt;Brian &lt;/p&gt;</description><feedburner:origLink>http://www.cadence.com/Community/forums/p/25178/1320334.aspx#1320334</feedburner:origLink></item></channel></rss>
