<?xml version="1.0" encoding="UTF-8" ?>
<?xml-stylesheet type="text/xsl" href="http://www.cadence.com/Community/utility/FeedStylesheets/rss.xsl" media="screen"?><rss version="2.0" 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/"><channel><title>Digital Implementation</title><link>http://www.cadence.com/Community/blogs/di/default.aspx</link><description>Visit the Digital Implementation blog to catch up on the latest technology, trends, opinion, and news.  Interact with authors and peers through blog commenting.  RSS feed is available.</description><dc:language>en</dc:language><generator>CommunityServer 2007.1 (Build: 20917.1142)</generator><item><title>Signoff-Driven Implementation = Consistent and Convergent = Predictable and Efficient</title><link>http://www.cadence.com/Community/blogs/di/archive/2010/03/10/signoff-driven-implementation-consistent-amp-convergent-predictable-amp-efficient.aspx</link><pubDate>Wed, 10 Mar 2010 17:38:00 GMT</pubDate><guid isPermaLink="false">75bcbcf9-38a3-4e2e-b84b-26c8c46a9500:26791</guid><dc:creator>mikeNaustin</dc:creator><slash:comments>0</slash:comments><wfw:commentRss xmlns:wfw="http://wellformedweb.org/CommentAPI/">http://www.cadence.com/Community/blogs/di/rsscomments.aspx?PostID=26791</wfw:commentRss><comments>http://www.cadence.com/Community/blogs/di/archive/2010/03/10/signoff-driven-implementation-consistent-amp-convergent-predictable-amp-efficient.aspx#comments</comments><description>&lt;p&gt;Digital designs are reaching 10&amp;#39;s of millions of instances,
which makes efficiency of the overall digital implementation and signoff flow
critical to ensure predictability in the design schedule. &amp;nbsp;&amp;nbsp;A major
stumbling block that can be a real threat to that predictability is iterations
between different stages of the design flow. There are multiple reasons why
this happens but one that should not happen is because you have two design
stages giving you two different answers with the same set of data. 
&lt;/p&gt;
&lt;p&gt;The most common, and likely the most costly, is when your
implementation tool disagrees with your signoff analysis or extraction tool. At
this late stage in the design flow, fixes are costly and time consuming. Also,
how do you know which is right? Did your implementation tool miss something or
is your signoff tool too pessimistic? &lt;/p&gt;

&lt;p&gt;Adding margin to your implementation tool for timing or
power is one way to mitigate this problem but this can be costly in several
ways: &lt;/p&gt;

&lt;ul class="unIndentedList"&gt;&lt;li&gt;
Degrades
chip performance when timing margins are already tight&lt;/li&gt;&lt;li&gt;
Area
and power consumption will increase&lt;/li&gt;&lt;li&gt;
Makes
your optimization work longer and harder to close timing - major productivity
killer&lt;/li&gt;&lt;/ul&gt;







&lt;p&gt;The easy way around this dilemma is leverage high-precision
tools which use the signoff analysis and extraction engines to drive
implementation. This way your analysis results are consistent and convergent
throughout the flow and you don&amp;#39;t get any surprises at the end during signoff.
You can essentially catch problems early in the design process which makes them
much easier to fix. &lt;/p&gt;

&lt;p&gt;It&amp;#39;s for this exact reason that&amp;nbsp;Cadence has integrated
our signoff analysis and extraction technologies into our implementation
environment. Our production proven signoff technologies - &lt;a href="http://www.cadence.com/products/di/eps/Pages/default.aspx" target="_blank"&gt;Encounter Power
System&lt;/a&gt; for power analysis, &lt;a href="http://www.cadence.com/Community/controlpanel/blogs/Encounter%20Timing%20System" target="_blank"&gt;Encounter Timing System&lt;/a&gt; for timing and signal
integrity, and QRC for digital extraction are built-in the &lt;a href="http://www.cadence.com/products/di/edi_system/Pages/default.aspx" target="_blank"&gt;Encounter Digital
Implementation&lt;/a&gt; (EDI) System. Since we&amp;#39;ve done this, our users have seen some
major productivity benefits when using the complete solution.&lt;/p&gt;

&lt;p&gt;A bonus is that, with this integration, you can also signoff
during implementation if you like without going to a separate signoff tool. In
fact, we have many customers doing just that at 65nm and above where the number
of timing and power runs for signoff are much less. This eliminates the need to
re-run your timing and power analysis in a different session or tool. Also, it
allows the implementation environment to take immediate advantage of the latest
analysis capabilities such as advanced OCV, statistical timing, thermal
analysis, technology files, etc. to fix design problems instead of just finding
them.&lt;/p&gt;

&lt;p&gt;You may be wondering... will this slow me down if I&amp;#39;m using
signoff engines at every stage? Actually, in this case an ounce of prevention
saves you a ton of iterations. And, with the latest developments in mult-CPU
performance and capacity of our analysis and extraction solutions, the flow
stages are actually much faster. &lt;/p&gt;

&lt;p&gt;&lt;i&gt;In
short, you should always be doing implementation with signoff in mind so there
are no surprises. &amp;nbsp;Signoff-driven implementation = consistent &amp;amp;
convergent = predictable &amp;amp; efficient&lt;/i&gt;&lt;/p&gt;&lt;p&gt;Mike Jacobs &lt;/p&gt;



&lt;img src="http://www.cadence.com/Community/aggbug.aspx?PostID=26791" width="1" height="1"&gt;</description><category domain="http://www.cadence.com/Community/blogs/di/archive/tags/Digital+Implementation/default.aspx">Digital Implementation</category><category domain="http://www.cadence.com/Community/blogs/di/archive/tags/Signoff+Analysis/default.aspx">Signoff Analysis</category><category domain="http://www.cadence.com/Community/blogs/di/archive/tags/static+timing+analysis/default.aspx">static timing analysis</category><category domain="http://www.cadence.com/Community/blogs/di/archive/tags/Early+Rail+Analysis/default.aspx">Early Rail Analysis</category><category domain="http://www.cadence.com/Community/blogs/di/archive/tags/dynamic+rail+analysis/default.aspx">dynamic rail analysis</category><category domain="http://www.cadence.com/Community/blogs/di/archive/tags/power+analysis/default.aspx">power analysis</category><category domain="http://www.cadence.com/Community/blogs/di/archive/tags/SI+analysis/default.aspx">SI analysis</category><category domain="http://www.cadence.com/Community/blogs/di/archive/tags/signal+integrity/default.aspx">signal integrity</category><category domain="http://www.cadence.com/Community/blogs/di/archive/tags/noise+analysis/default.aspx">noise analysis</category><category domain="http://www.cadence.com/Community/blogs/di/archive/tags/timing+system/default.aspx">timing system</category><category domain="http://www.cadence.com/Community/blogs/di/archive/tags/Multi-Core+and+Parallel+rocessing/default.aspx">Multi-Core and Parallel rocessing</category><category domain="http://www.cadence.com/Community/blogs/di/archive/tags/timing+convergence/default.aspx">timing convergence</category><category domain="http://www.cadence.com/Community/blogs/di/archive/tags/Timing+Constraints/default.aspx">Timing Constraints</category><category domain="http://www.cadence.com/Community/blogs/di/archive/tags/Timing+analysis/default.aspx">Timing analysis</category><category domain="http://www.cadence.com/Community/blogs/di/archive/tags/Extraction/default.aspx">Extraction</category><category domain="http://www.cadence.com/Community/blogs/di/archive/tags/OCV/default.aspx">OCV</category><category domain="http://www.cadence.com/Community/blogs/di/archive/tags/Statistical/default.aspx">Statistical</category><category domain="http://www.cadence.com/Community/blogs/di/archive/tags/signoff/default.aspx">signoff</category></item><item><title>Encounter How To: Writing To/Reading From a File With TCL</title><link>http://www.cadence.com/Community/blogs/di/archive/2010/02/24/encounter-how-to-writing-to-reading-from-a-file-with-tcl.aspx</link><pubDate>Wed, 24 Feb 2010 15:20:00 GMT</pubDate><guid isPermaLink="false">75bcbcf9-38a3-4e2e-b84b-26c8c46a9500:25764</guid><dc:creator>BobD</dc:creator><slash:comments>2</slash:comments><wfw:commentRss xmlns:wfw="http://wellformedweb.org/CommentAPI/">http://www.cadence.com/Community/blogs/di/rsscomments.aspx?PostID=25764</wfw:commentRss><comments>http://www.cadence.com/Community/blogs/di/archive/2010/02/24/encounter-how-to-writing-to-reading-from-a-file-with-tcl.aspx#comments</comments><description>&lt;p&gt;A couple weeks ago, there was &lt;a href="https://www.cadence.com:443/community/forums/T/14730.aspx" target="_blank"&gt;a good thread in the Digital Implementation Forums&lt;/a&gt; about managing buffering on nets between IOs and registers.&amp;nbsp; The post touched on a number of interesting topics, but one of the fundamental building blocks I&amp;#39;d like to expand upon in this blog entry is the fundamental task of writing to and reading from a file: File I/O.&lt;/p&gt;&lt;p&gt;It may seem like second nature for folks who use TCL-based tools like Encounter regularly, and it&amp;#39;s pretty much straight TCL that we use to write and read, but I hope having concise examples of how to do this within Encounter is a useful reference.&lt;/p&gt;&lt;p&gt;&lt;b&gt;Reading From a File&lt;/b&gt;&lt;/p&gt;&lt;p&gt;Say for example you received a list of nets in a file that needed to be routed on upper metal layers.&amp;nbsp; Here&amp;#39;s an example of how you would read from that file and use the &amp;quot;setAttribute&amp;quot; command to apply that routing constraint.&amp;nbsp; Say your file looked like this: &lt;/p&gt;&lt;p&gt;&amp;nbsp; &amp;nbsp;&amp;nbsp; critical.nets:&lt;br /&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp; n_5822&lt;br /&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp; n_5828&lt;br /&gt;&amp;nbsp; &amp;nbsp;&amp;nbsp; n_5834&lt;/p&gt;&lt;p&gt;Here&amp;#39;s how we&amp;#39;d do it: &lt;/p&gt;&lt;p&gt;&amp;nbsp;&amp;nbsp; set infile [open critical.nets &amp;quot;r&amp;quot;]&lt;br /&gt;&amp;nbsp;&amp;nbsp; while {[gets $infile line] &amp;gt;= 0} {&lt;br /&gt;&amp;nbsp; &amp;nbsp;&amp;nbsp; setAttribute -net $line -bottom_preferred_routing_layer 5&lt;br /&gt;&amp;nbsp;&amp;nbsp; }&lt;br /&gt;&amp;nbsp;&amp;nbsp; close $infile&lt;/p&gt;&lt;p&gt;&lt;b&gt;Writing To A File&lt;/b&gt; &lt;/p&gt;&lt;p&gt;Say we wanted to capture a list of all of the nets in the design that are connected to IO pins?&amp;nbsp; Here&amp;#39;s how we could do it:&lt;/p&gt;&lt;p&gt;&amp;nbsp;&amp;nbsp; set outfile [open io.nets &amp;quot;w&amp;quot;]&lt;br /&gt;&amp;nbsp;&amp;nbsp; foreach net [dbGet [dbGet -u top.terms.net].name] {&lt;br /&gt;&amp;nbsp; &amp;nbsp;&amp;nbsp; puts $outfile $net&lt;br /&gt;&amp;nbsp;&amp;nbsp; }&lt;br /&gt;&amp;nbsp;&amp;nbsp; close $outfile&lt;/p&gt;&lt;p&gt;&lt;b&gt;Redirecting Command Output To A File&lt;/b&gt; &lt;/p&gt;&lt;p&gt;Another scenario that&amp;#39;s often useful is when we want to take command output that&amp;#39;s echoed to the console and redirect it to a file.&amp;nbsp; We can use the &amp;quot;redirect&amp;quot; command for this purpose. (Note: The command is not documented. This will be rectified in the next release.)&amp;nbsp; Say for example you wanted to parse the output of the verifyGeometry command to see whether there were any violations.&amp;nbsp; Here&amp;#39;s one way you could do it:&lt;/p&gt;&lt;p&gt;&amp;nbsp;&amp;nbsp; redirect verifyGeometry &amp;gt; verifyGeometry.out&lt;br /&gt;&amp;nbsp;&amp;nbsp; set infile [open verifyGeometry.out &amp;quot;r&amp;quot;]&lt;br /&gt;&amp;nbsp;&amp;nbsp; while {[gets $infile line] &amp;gt;= 0} {&lt;br /&gt;&amp;nbsp; &amp;nbsp;&amp;nbsp; if {[string match *Verification* $line]} {&lt;br /&gt;&amp;nbsp; &amp;nbsp;&amp;nbsp; &amp;nbsp; set nrViols [lindex $line 3]&lt;br /&gt;&amp;nbsp; &amp;nbsp;&amp;nbsp; }&lt;br /&gt;&amp;nbsp;&amp;nbsp; }&lt;br /&gt;&amp;nbsp;&amp;nbsp; close $infile&lt;br /&gt;&amp;nbsp;&amp;nbsp; puts &amp;quot;verifyGeometry reported $nrViols violation(s)&amp;quot;&lt;br /&gt;&lt;i&gt;&lt;br /&gt;Tip: It&amp;#39;s much easier to use &amp;quot;dbGet top.markers&amp;quot; to see whether there are violations in the design after running verifyGeometry:&lt;br /&gt;encounter 1&amp;gt; dbGet top.markers&lt;/i&gt;&lt;br /&gt;&lt;i&gt;0x2aab94d740 0x2aab94d5f0&lt;/i&gt;&lt;/p&gt;&lt;p&gt;Separately, some commands like report_timing support &amp;quot;&amp;gt;&amp;quot; and &amp;quot;&amp;gt;&amp;gt;&amp;quot; redirection.&amp;nbsp; For example:&lt;br /&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp; report_timing &amp;gt; timing.report&lt;/p&gt;&lt;p&gt;We&amp;#39;re looking to expand this easy &amp;quot;&amp;gt;&amp;quot; mechanism to include other commands in a future release.&lt;/p&gt;&lt;p&gt;I hope these examples are useful. Any related tips you&amp;#39;d like to share?&lt;/p&gt;&lt;p&gt;-Bob Dwyer&lt;/p&gt;&lt;img src="http://www.cadence.com/Community/aggbug.aspx?PostID=25764" width="1" height="1"&gt;</description><category domain="http://www.cadence.com/Community/blogs/di/archive/tags/Digital+Implementation/default.aspx">Digital Implementation</category><category domain="http://www.cadence.com/Community/blogs/di/archive/tags/TCL/default.aspx">TCL</category><category domain="http://www.cadence.com/Community/blogs/di/archive/tags/scripting/default.aspx">scripting</category><category domain="http://www.cadence.com/Community/blogs/di/archive/tags/EDI+system/default.aspx">EDI system</category><category domain="http://www.cadence.com/Community/blogs/di/archive/tags/Encounter+digital+Implementation+system/default.aspx">Encounter digital Implementation system</category><category domain="http://www.cadence.com/Community/blogs/di/archive/tags/Foundation+Flow+Design/default.aspx">Foundation Flow Design</category><category domain="http://www.cadence.com/Community/blogs/di/archive/tags/Closure/default.aspx">Closure</category></item><item><title>User Review of The Encounter Foundation Flow</title><link>http://www.cadence.com/Community/blogs/di/archive/2010/02/22/user-review-of-the-encounter-foundation-flow.aspx</link><pubDate>Mon, 22 Feb 2010 14:00:00 GMT</pubDate><guid isPermaLink="false">75bcbcf9-38a3-4e2e-b84b-26c8c46a9500:25703</guid><dc:creator>BobD</dc:creator><slash:comments>2</slash:comments><wfw:commentRss xmlns:wfw="http://wellformedweb.org/CommentAPI/">http://www.cadence.com/Community/blogs/di/rsscomments.aspx?PostID=25703</wfw:commentRss><comments>http://www.cadence.com/Community/blogs/di/archive/2010/02/22/user-review-of-the-encounter-foundation-flow.aspx#comments</comments><description>&lt;p&gt;&lt;a href="http://www.cadence.com/Community/CSSharedFiles/blogs/di/Bob_Dwyer/johnm_200.jpg"&gt;&lt;img src="http://www.cadence.com/Community/CSSharedFiles/blogs/di/Bob_Dwyer/johnm_200.jpg" align="right" border="0" hspace="10" alt="" /&gt;&lt;/a&gt;&lt;span style="font-style:italic;"&gt;This is a guest post from John McGehee.&amp;nbsp; John is an independent consultant in Silicon Valley, specializing in EDA application development and design.&amp;nbsp; He blogs about these topics at &lt;/span&gt;&lt;a href="http://www.voom.net" style="font-style:italic;" target="_blank"&gt;voom.net&lt;/a&gt;&lt;span style="font-style:italic;"&gt;.&amp;nbsp; Prior to starting his consulting career, John was an AE at Avanti, Cadence Japan and Daisy Systems Japan.&amp;nbsp; You can follow him on Twitter &lt;/span&gt;&lt;a href="http://twitter.com/johnmcgehee" style="font-style:italic;" target="_blank"&gt;@JohnMcGehee&lt;/a&gt; &lt;/p&gt;&lt;p&gt;In an earlier series of posts, I described &lt;a href="http://www.voom.net/tag/ic-design-flow"&gt;techniques that will make 
your chip design flow easy to use&lt;/a&gt;.  I subsequently had the pleasure 
of using a flow that employed most of my favorite techniques&amp;mdash;the &lt;a href="http://www.cadence.com/Community/blogs/di/archive/2009/01/29/demo-and-interview-the-encounter-foundation-flow.aspx" target="_blank"&gt;Cadence Encounter Foundation Flow&lt;/a&gt; version 8.1.&lt;/p&gt;&lt;p&gt;The focus of this flow is to get you up and running immediately.  
Plug in your libraries, netlist, timing constraints, do some 
floorplanning, create a clock tree specification file, type make,
 and something comes out the other end.  Not a usable chip of course, 
but &lt;i&gt;something&lt;/i&gt;, so you can see what&amp;rsquo;s next. A flow is executable
 documentation, and this is your &lt;i&gt;Quick Start Guide.&lt;/i&gt;&lt;/p&gt;
&lt;p&gt;The Encounter Foundation Flow does not try to be everything to 
everybody, but rather the portion of the design flow that is common to 
everybody.  It can be difficult to decide how far to go with such a 
flow, but Cadence engineers Rob Lipsey and Glenn Gullikson knew where to stop.  I found the Encounter Foundation Flow to be
 a good balance between completeness, extensibility, and usability.  It 
contains no confusing, useless features like GUIs, wrappers, and &amp;ldquo;under 
the covers&amp;rdquo; sleight of hand.  The best ASIC designers I know use flows 
architected like this one.&lt;/p&gt;
&lt;p&gt;An additional advantage of any standard flow is that it gets all 
users to operate the tools in the same way. With versatile tools like 
place and route, there are many ways to accomplish the same thing.  Yet 
such tools are a minefield of bugs and quirks.  When every user chooses a
 different approach, something bad always happens.  A standard flow 
defines a single safe path for users.  It frees the tool developers from
 having to support a needless variety of ways to accomplish one task.&lt;/p&gt;&lt;p style="font-weight:bold;"&gt;The make/ Semaphore File Directory&lt;/p&gt;&lt;p&gt;Physical designers who are accustomed to using &lt;a href="http://www.gnu.org/software/make/" target="_blank"&gt;GNU Make&lt;/a&gt; 
will be at home with the Encounter Foundation Flow.  The one thing that 
you need to be aware of is the location of the &lt;a href="http://www.voom.net/controlling-your-ic-design-flow#example_makefile_for_ic_design"&gt;target
 semaphore files&lt;/a&gt; in the make/ directory.  This is specified
 in the Makefile with the VPATH variable.&lt;/p&gt;
&lt;p&gt;While a separate  directory for semaphore files initially seems like a
 good idea, putting them in the make/ directory causes subtle 
problems.&amp;nbsp; You can eliminate this make/
 directory by changing,&lt;/p&gt;&lt;p&gt;&amp;nbsp; VPATH=./make&lt;/p&gt;&lt;p&gt;in the Makefile to:&lt;/p&gt;&lt;p&gt;&amp;nbsp; VPATH=.&lt;/p&gt;&lt;p&gt;If you prefer to keep the make/ semaphore file directory, be 
careful of the following points:&lt;/p&gt;&lt;ul&gt;&lt;li&gt;With the Encounter Foundation Flow, you &lt;a href="http://www.voom.net/controlling-your-ic-design-flow#update_the_results_of_a_step"&gt;reset
 the design flow&lt;/a&gt; so that the init target is the most up to 
date using,&lt;br /&gt;&amp;nbsp; touch make/init&lt;br /&gt;but if you forget the directory name and mistakenly type,&lt;br /&gt;&amp;nbsp; touch init&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;   #wrong&lt;br /&gt;the flow forever thinks that only the init target is up to 
date; every time you run, the flow starts over.  I burned up a lot of 
CPU time until I discovered that the culprit was the ./init 
file hiding in my working directory.
&lt;/li&gt;&lt;li&gt;Similarly, do not forget the directory name when you &lt;a href="http://www.voom.net/controlling-your-ic-design-flow#make_t"&gt;use 
the make -t option to update the design flow&lt;/a&gt;:&lt;br /&gt;&amp;nbsp;&amp;nbsp; make -t make/place&lt;br /&gt;This can be difficult to remember after becoming accustomed to typing make
 place.
&lt;/li&gt;&lt;/ul&gt;&lt;span style="font-weight:bold;"&gt;Suggestions for Improvement&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;I found several things in Encounter Foundation Flow 8.1.RTM that I think Cadence should consider improving.&amp;nbsp; As noted below, many are in fact already fixed in later versions of the 
flow.&lt;ul&gt;&lt;li&gt;The Makefile clean target deletes the &lt;a href="http://subversion.apache.org/" target="_blank"&gt;Subversion version 
control&lt;/a&gt; directory .svn:&lt;br /&gt;&lt;pre&gt;  clean: rm -rf .??*   # ...&lt;/pre&gt;
Wildcards in the clean target can easily make a mess. This is fixed in the version 8.1.USR2 cleanup target. &lt;/li&gt;&lt;li&gt;The Makefile does not make use of the .PHONY target.  This is 
especially useful for the administrative targets like clean and
 all:&lt;br /&gt;&lt;pre&gt;  .PHONY: all clean # ...&lt;/pre&gt;&lt;/li&gt;&lt;li&gt;The Encounter Foundation Flow puts reports in its own RPT/ 
directory rather than the tool default.  For example, I would prefer 
that Encounter timing reports go in the Encounter default, timingReports/.&lt;/li&gt;&lt;li&gt;Lower case is easier to type, so I would prefer lower case names for the
 LOG/, RPT/, and DBS/ directories. Users can customize these paths using the vars(rpt_dir)
 and vars(dbs_dir) variables in the setup.tcl file.&amp;nbsp; The log file directory can be changed using the Makefile variable LOG.&lt;/li&gt;&lt;li&gt;In file SCRIPTS/FLOW/run_route.tcl, line 68, the variable setFillerMode
 is missing for the non-power domain case, but this is fixed in version 8.1.USR2.&lt;/li&gt;&lt;/ul&gt;&lt;p style="font-weight:bold;"&gt;Future Direction&lt;/p&gt;&lt;p&gt;In addition to the fixes mentioned above, Rob and Glenn are still 
enhancing the flow.&lt;/p&gt;
&lt;p&gt;Currently the flow executes Tcl scripts that contain &lt;code&gt;proc&lt;/code&gt;s
 and variables.  In a future version, the flow can first generate linear scripts
 with all variable values evaluated and all &lt;code&gt;proc&lt;/code&gt;s expanded 
into Encounter commands.  Then it executes these scripts with Encounter.&lt;/p&gt;
&lt;p&gt;In my flows I avoid generating scripts, because it allows the 
configuration variables and the scripts to become desynchronized.  But 
Glenn and Rob had some good arguments for doing it this way:&lt;/p&gt;
&lt;ul&gt;&lt;li&gt;The script stands alone as a record of exactly which commands were 
executed.  To reproduce the step, you (or your AE) need only the 
starting database and one script file, not the entire flow.&lt;/li&gt;&lt;li&gt;The flow can be easily tested by merely comparing the scripts 
against golden scripts, without running Encounter.  Testability is a key
 feature of every software project.&lt;/li&gt;&lt;/ul&gt;
&lt;p&gt;To solve the synchronization problem, I encouraged Rob and Glenn to 
generate each script within the Make target, immediately before it is 
used.  I&amp;rsquo;m interested to see how this works out.  Make 
sure to send them your feedback, too.&lt;/p&gt;&lt;p&gt;&lt;i&gt;I&amp;#39;d like to thank John for exercising the Foundation Flow and sharing his thoughts with us in this piece. -Bob Dwyer&lt;/i&gt;&lt;/p&gt;&lt;img src="http://www.cadence.com/Community/aggbug.aspx?PostID=25703" width="1" height="1"&gt;</description><category domain="http://www.cadence.com/Community/blogs/di/archive/tags/scripting/default.aspx">scripting</category><category domain="http://www.cadence.com/Community/blogs/di/archive/tags/Encounter+Digital+Implementation+System+8.1/default.aspx">Encounter Digital Implementation System 8.1</category><category domain="http://www.cadence.com/Community/blogs/di/archive/tags/Foundation+Flow/default.aspx">Foundation Flow</category><category domain="http://www.cadence.com/Community/blogs/di/archive/tags/Encounter+Digital+Implementation+System+9.1/default.aspx">Encounter Digital Implementation System 9.1</category></item><item><title>Three Reasons to Move to EDI System 9.1</title><link>http://www.cadence.com/Community/blogs/di/archive/2010/02/01/three-reasons-to-move-to-edi-system-9-1.aspx</link><pubDate>Mon, 01 Feb 2010 16:59:00 GMT</pubDate><guid isPermaLink="false">75bcbcf9-38a3-4e2e-b84b-26c8c46a9500:25273</guid><dc:creator>BobD</dc:creator><slash:comments>1</slash:comments><wfw:commentRss xmlns:wfw="http://wellformedweb.org/CommentAPI/">http://www.cadence.com/Community/blogs/di/rsscomments.aspx?PostID=25273</wfw:commentRss><comments>http://www.cadence.com/Community/blogs/di/archive/2010/02/01/three-reasons-to-move-to-edi-system-9-1.aspx#comments</comments><description>&lt;p&gt;We &lt;a href="http://www.cadence.com/cadence/newsroom/press_releases/Pages/pr.aspx?xml=020110_edi91" target="_blank"&gt;recently announced&lt;/a&gt; the 9.1 version of the Encounter Digital Implementation System.&amp;nbsp; Head over to &lt;a href="http://downloads.cadence.com" target="_blank"&gt;http://downloads.cadence.com&lt;/a&gt;, select your platform and choose EDI91.&amp;nbsp; Notice that in our download system, we&amp;rsquo;re calling it EDI as opposed to the former SOC to align with a name change from SoC-Encounter to EDI System that occurred in the 8.1 release.&lt;br /&gt;&lt;br /&gt;I think customers will be interested in three high-level aspects of 9.1 that lead to one important benefit: getting your job done faster within the tool. &amp;nbsp;&lt;br /&gt;&lt;br /&gt;The first area of focus was on raw &lt;span style="font-weight:bold;"&gt;turnaround time&lt;/span&gt; for a typical job that runs through the system.&amp;nbsp; Across a suite of designs that our developers use to test the tool, we&amp;rsquo;re seeing on average a 2x run-time improvement as compared to 8.1.RTM for multi-corner designs.&lt;br /&gt;&lt;br /&gt;The second area of focus is &lt;span style="font-weight:bold;"&gt;improved quality of results&lt;/span&gt;, both in terms of setup time optimization with SI and hold fixing.&amp;nbsp; For example, our hold fixing algorithm is now better able to identify bottlenecks and efficiently repair hold violations without increasing area- especially locally.&lt;br /&gt;&lt;br /&gt;The third area is in terms of &lt;span style="font-weight:bold;"&gt;correlation to signoff&lt;/span&gt;.&amp;nbsp; The parasitic extraction engine used during post-route optimization aligns more precisely with signoff extraction engines without the need for scale factors.&amp;nbsp; This leads to fewer iterations required to meet timing closure according to signoff timing.&lt;br /&gt;&lt;br /&gt;I think these items together, along with other enhancements make 9.1 a release you&amp;rsquo;ll want to check out. &amp;nbsp;&lt;br /&gt;&lt;br /&gt;&lt;b&gt;Further Reading:&lt;/b&gt;&lt;/p&gt;&lt;ul&gt;&lt;li&gt;For more information about EDI System 9.1, check out &lt;a href="http://support.cadence.com/wps/mypoc/cos?uri=deeplinkmin:DocumentViewer;src=pubs;q=soceWN/soceWN9.1/overviewWN.html#1115086" target="_blank"&gt;What&amp;rsquo;s New in EDI 9.1&lt;/a&gt; (Cadence Online Support login required)&lt;a href="http://support.cadence.com/wps/mypoc/cos?uri=deeplinkmin:DocumentViewer;src=pubs;q=soceWN/soceWN9.1/overviewWN.html#1115086" target="_blank"&gt;&lt;br /&gt;&lt;/a&gt;&lt;/li&gt;&lt;li&gt;&lt;a href="http://www.cadence.com/cadence/newsroom/press_releases/pages/pr.aspx?xml=020110_edi91"&gt;Here is a link to the announcement of EDI 9.1&lt;/a&gt;&lt;/li&gt;&lt;/ul&gt;&lt;p&gt;-Bob Dwyer&lt;/p&gt;&lt;img src="http://www.cadence.com/Community/aggbug.aspx?PostID=25273" width="1" height="1"&gt;</description><category domain="http://www.cadence.com/Community/blogs/di/archive/tags/Digital+Implementation/default.aspx">Digital Implementation</category><category domain="http://www.cadence.com/Community/blogs/di/archive/tags/Encounter+Digital+Implementation+System+9.1/default.aspx">Encounter Digital Implementation System 9.1</category><category domain="http://www.cadence.com/Community/blogs/di/archive/tags/EDI+system+Encounter+Digital+Implementation+System/default.aspx">EDI system Encounter Digital Implementation System</category><category domain="http://www.cadence.com/Community/blogs/di/archive/tags/Foundation+Flow+Design+Closure/default.aspx">Foundation Flow Design Closure</category></item><item><title>Encounter Screencast: Editing Wires More Quickly With Bindkeys</title><link>http://www.cadence.com/Community/blogs/di/archive/2010/01/21/encounter-screencast-editing-wires-more-quickly-with-bindkeys.aspx</link><pubDate>Thu, 21 Jan 2010 14:00:00 GMT</pubDate><guid isPermaLink="false">75bcbcf9-38a3-4e2e-b84b-26c8c46a9500:24931</guid><dc:creator>BobD</dc:creator><slash:comments>0</slash:comments><wfw:commentRss xmlns:wfw="http://wellformedweb.org/CommentAPI/">http://www.cadence.com/Community/blogs/di/rsscomments.aspx?PostID=24931</wfw:commentRss><comments>http://www.cadence.com/Community/blogs/di/archive/2010/01/21/encounter-screencast-editing-wires-more-quickly-with-bindkeys.aspx#comments</comments><description>&lt;p&gt;The &lt;a href="http://www.cadence.com/products/di/edi_system/Pages/default.aspx" target="_blank"&gt;Encounter Digital Implementation System&lt;/a&gt; offers interactive wire editing capabilities via the Wire Editor.&amp;nbsp; This is one part of the tool that becomes much easier to use with the help of a few bindkeys.&amp;nbsp; In particular, I find the &amp;quot;Shift-S&amp;quot; bindkey useful in conjunction with &amp;quot;Auto Query&amp;quot; mode becuase it provides a way to populate the Edit Route form with net name, layer, width, and spacing depending on the object you&amp;#39;re currently hovering over.&amp;nbsp; Have a look at this short video to see this functionality in action: &lt;/p&gt;








&lt;p&gt;&lt;i&gt;(if the video fails to embed, click &lt;a href="http://www.youtube.com/watch?v=z1LuYg-X7Ms" target="_blank"&gt;HERE&lt;/a&gt;)&lt;/i&gt; &lt;/p&gt;&lt;p&gt;Summarizing what&amp;#39;s shown in the video with text:&lt;/p&gt;&lt;ul&gt;&lt;li&gt;Select the Edit Wire tool&lt;/li&gt;&lt;li&gt;Click the &amp;quot;Q&amp;quot; button at the bottom of the GUI to enter Auto Query mode&lt;/li&gt;&lt;li&gt;Make sure instance pins are Visible (by default they are not)&lt;/li&gt;&lt;li&gt;Bring up the Edit Route form with the &amp;quot;e&amp;quot; key&lt;/li&gt;&lt;li&gt;With the mouse, over over the pin you&amp;#39;d like to route&lt;/li&gt;&lt;li&gt;Enter &amp;quot;Shift-S&amp;quot; to auto-populate the Edit Route form with the net, layer, and width of the pin you&amp;#39;re hoving over&lt;/li&gt;&lt;/ul&gt;It&amp;#39;s worth noting that by default, the wire editor creates wires that are the default width for that layer.&amp;nbsp; To create routes of arbitrary width, you&amp;#39;ll need to click the &amp;quot;Force Special (to allow arbitrary widths)&amp;quot; checkbox on the Edit Route form&amp;#39;s Nets tab.&lt;br /&gt;&lt;p&gt;For more information on bindkeys related to the Wire Editor have a look at &lt;a href="http://support.cadence.com/wps/mypoc/cos?uri=deeplinkmin:DocumentViewer;src=pubs;q=/soceUG/soceUG9.1/editwires.html#1039706" target="_blank"&gt;this chapter in the Encounter User&amp;#39;s Guide&lt;/a&gt; and click on &amp;quot;Using Keyboard Shortcuts&amp;quot;.&lt;/p&gt;&lt;p&gt;Hope this is helpful.&lt;br /&gt;-Bob Dwyer &lt;/p&gt;&lt;p&gt;&lt;i&gt;&lt;b&gt;Question of the Day:&lt;/b&gt; Are there any other bindkeys in the system you&amp;#39;ve found particularly helpful?&lt;/i&gt; &lt;/p&gt;&lt;img src="http://www.cadence.com/Community/aggbug.aspx?PostID=24931" width="1" height="1"&gt;</description><category domain="http://www.cadence.com/Community/blogs/di/archive/tags/Digital+Implementation/default.aspx">Digital Implementation</category><category domain="http://www.cadence.com/Community/blogs/di/archive/tags/Encounter+digital+Implementation+system/default.aspx">Encounter digital Implementation system</category><category domain="http://www.cadence.com/Community/blogs/di/archive/tags/Wire+Editor/default.aspx">Wire Editor</category><category domain="http://www.cadence.com/Community/blogs/di/archive/tags/Bindkeys/default.aspx">Bindkeys</category></item><item><title>Sometimes It's The Little Things: Working With Square Brackets in Encounter</title><link>http://www.cadence.com/Community/blogs/di/archive/2010/01/15/sometimes-it-s-the-little-things-working-with-square-brackets-in-encounter.aspx</link><pubDate>Sat, 16 Jan 2010 07:03:00 GMT</pubDate><guid isPermaLink="false">75bcbcf9-38a3-4e2e-b84b-26c8c46a9500:24765</guid><dc:creator>BobD</dc:creator><slash:comments>2</slash:comments><wfw:commentRss xmlns:wfw="http://wellformedweb.org/CommentAPI/">http://www.cadence.com/Community/blogs/di/rsscomments.aspx?PostID=24765</wfw:commentRss><comments>http://www.cadence.com/Community/blogs/di/archive/2010/01/15/sometimes-it-s-the-little-things-working-with-square-brackets-in-encounter.aspx#comments</comments><description>&lt;p&gt;Good news! A long-standing source of irritation for Encounter users has been addressed in our 8.1.USR1 release.&amp;nbsp; You might not have noticed it if you&amp;#39;ve grown accustomed to backslash-escaping square brackets in object names.&lt;/p&gt;&lt;p&gt;For example:&lt;br /&gt;&lt;b&gt;selectNet DTMF_INST/RESULTS_CONV_INST/nbus_544[0]&lt;/b&gt;&lt;/p&gt;&lt;p&gt;In 7.1, if you tried to select a net with this syntax you&amp;#39;d get the following as the TCL interpreter treated the contents within the square bracket as an executable command:&lt;br /&gt;&lt;b&gt;encounter 1&amp;gt; selectNet DTMF_INST/RESULTS_CONV_INST/nbus_544[0]&lt;/b&gt;&lt;br /&gt;invalid command name &amp;quot;0&amp;quot;&lt;/p&gt;&lt;p&gt;As a workaround, you needed to either escape each square bracket -or- enclose the entire string within squiggly braces:&lt;br /&gt;&lt;b&gt;encounter 2&amp;gt; selectNet DTMF_INST/RESULTS_CONV_INST/nbus_544\[0\]&lt;br /&gt;encounter 3&amp;gt; selectNet {DTMF_INST/RESULTS_CONV_INST/nbus_544[0]}&lt;/b&gt;&lt;/p&gt;&lt;p&gt;This was cumbersome to work with, especially for users who spend a lot of time querying the database and timing from the command line.&amp;nbsp; In 8.1.USR1 the tool has been enhanced to handle square brackets automatically without needing to escape them.&amp;nbsp; When the contents within square braces are anything other than an Encounter command, they&amp;#39;re treated as bus bits.&amp;nbsp; The nice thing about the way this has been implemented, is that it applies to all commands in the system rather than on a command-by-command basis.&lt;/p&gt;&lt;p&gt;In other words, any of the following also work:&lt;br /&gt;&lt;b&gt;report_timing -through DTMF_INST/RESULTS_CONV_INST/nbus_544[0]&lt;br /&gt;dbGet top.nets.name DTMF_INST/RESULTS_CONV_INST/nbus_544[0]&lt;br /&gt;get_nets DTMF_INST/RESULTS_CONV_INST/nbus_544[0]&lt;/b&gt;&lt;/p&gt;&lt;p&gt;I hope this little enhancement is useful. &lt;/p&gt;&lt;p&gt;&lt;i&gt;Question of the Day:&lt;br /&gt;Is there something similar to this- a little thing that&amp;#39;s bothering you about Encounter you&amp;#39;d like us to improve?&amp;nbsp; Let us know in the comments area and we&amp;#39;ll see what we can do.&lt;/i&gt;&lt;/p&gt;&lt;p&gt;-Bob Dwyer&lt;br /&gt; &lt;/p&gt;&lt;img src="http://www.cadence.com/Community/aggbug.aspx?PostID=24765" width="1" height="1"&gt;</description><category domain="http://www.cadence.com/Community/blogs/di/archive/tags/Encounter+Digital+Implementation+System+8.1/default.aspx">Encounter Digital Implementation System 8.1</category><category domain="http://www.cadence.com/Community/blogs/di/archive/tags/Ease+of+Use/default.aspx">Ease of Use</category></item><item><title>Design Signoff Begins In Implementation</title><link>http://www.cadence.com/Community/blogs/di/archive/2010/01/06/design-signoff-begins-in-implementation.aspx</link><pubDate>Wed, 06 Jan 2010 14:00:00 GMT</pubDate><guid isPermaLink="false">75bcbcf9-38a3-4e2e-b84b-26c8c46a9500:24370</guid><dc:creator>PeteMc</dc:creator><slash:comments>2</slash:comments><wfw:commentRss xmlns:wfw="http://wellformedweb.org/CommentAPI/">http://www.cadence.com/Community/blogs/di/rsscomments.aspx?PostID=24370</wfw:commentRss><comments>http://www.cadence.com/Community/blogs/di/archive/2010/01/06/design-signoff-begins-in-implementation.aspx#comments</comments><description>&lt;p&gt;As an ex-design engineer now working in EDA, I am often privileged to see advanced design methodologies from many of my customers. I would like to reflect on the recent trends that I am seeing around signoff analysis for digital ASIC designs.
&lt;/p&gt;
&lt;p&gt;
For the majority of ASIC designs, signoff analysis includes executing parasitic extraction that feeds static timing analysis, signal integrity analysis and power rail IR drop analysis. Most often this is standalone execution using a separate set of tools than those used in design, and the obvious goal of this analysis is to ensure good quality silicon.
&lt;/p&gt;
&lt;p&gt;
What is interesting is that, today, a robust ASIC design methodology must employ the same signoff analysis engines within the design flow, to ensuring that timing is consistently closed and IR drop is consistently managed. This is certainly the case with Cadence&amp;rsquo;s &lt;a href="http://www.cadence.com/Community/controlpanel/blogs/%20Encounter%20Digital%20Implementation%20System%20" target="_blank"&gt;Encounter Digital Implementation System&lt;/a&gt; (aka EDI System), which can utilize all of the signoff engines (parasitic extraction, timing, SI and IR drop) within the design platform.
&lt;/p&gt;
&lt;p&gt;
The use of signoff engines within the design environment opens up an interesting question ... if I am using signoff quality engines within my design flow, is there significant value in performing separate, standalone signoff analysis prior to tapeout?
&lt;/p&gt;
&lt;p&gt;
The answer for an increasing number of my customers is no &amp;hellip; separate signoff analysis does not catch any additional and significant timing, SI or IR drop problems. These customers chose to signoff from within the design platform and save the expense of purchasing and maintaining separate standalone signoff products.
 &lt;/p&gt;
&lt;p&gt;
So, I have an open question to the design community &amp;hellip; what are your thoughts on separate signoff analysis?&lt;/p&gt;&lt;p&gt;Pete
&lt;/p&gt;&lt;img src="http://www.cadence.com/Community/aggbug.aspx?PostID=24370" width="1" height="1"&gt;</description><category domain="http://www.cadence.com/Community/blogs/di/archive/tags/Digital+Implementation/default.aspx">Digital Implementation</category><category domain="http://www.cadence.com/Community/blogs/di/archive/tags/Signoff+Analysis/default.aspx">Signoff Analysis</category><category domain="http://www.cadence.com/Community/blogs/di/archive/tags/cadence/default.aspx">cadence</category><category domain="http://www.cadence.com/Community/blogs/di/archive/tags/blog/default.aspx">blog</category><category domain="http://www.cadence.com/Community/blogs/di/archive/tags/Encounter+Timing+System/default.aspx">Encounter Timing System</category><category domain="http://www.cadence.com/Community/blogs/di/archive/tags/static+timing+analysis/default.aspx">static timing analysis</category><category domain="http://www.cadence.com/Community/blogs/di/archive/tags/_2600_quot_3B00_SoC-Encounter_2600_quot_3B00_/default.aspx">&amp;quot;SoC-Encounter&amp;quot;</category><category domain="http://www.cadence.com/Community/blogs/di/archive/tags/Early+Rail+Analysis/default.aspx">Early Rail Analysis</category><category domain="http://www.cadence.com/Community/blogs/di/archive/tags/Cadence+Encounter+Power+System/default.aspx">Cadence Encounter Power System</category><category domain="http://www.cadence.com/Community/blogs/di/archive/tags/dynamic+rail+analysis/default.aspx">dynamic rail analysis</category><category domain="http://www.cadence.com/Community/blogs/di/archive/tags/tapeout/default.aspx">tapeout</category><category domain="http://www.cadence.com/Community/blogs/di/archive/tags/signal+integrity/default.aspx">signal integrity</category><category domain="http://www.cadence.com/Community/blogs/di/archive/tags/SI/default.aspx">SI</category><category domain="http://www.cadence.com/Community/blogs/di/archive/tags/crosstalk/default.aspx">crosstalk</category><category domain="http://www.cadence.com/Community/blogs/di/archive/tags/design+closure/default.aspx">design closure</category><category domain="http://www.cadence.com/Community/blogs/di/archive/tags/CeltIC/default.aspx">CeltIC</category><category domain="http://www.cadence.com/Community/blogs/di/archive/tags/encounter+power+system/default.aspx">encounter power system</category><category domain="http://www.cadence.com/Community/blogs/di/archive/tags/EPS/default.aspx">EPS</category><category domain="http://www.cadence.com/Community/blogs/di/archive/tags/ETS/default.aspx">ETS</category><category domain="http://www.cadence.com/Community/blogs/di/archive/tags/EDI+system/default.aspx">EDI system</category><category domain="http://www.cadence.com/Community/blogs/di/archive/tags/Encounter+digital+Implementation+system/default.aspx">Encounter digital Implementation system</category><category domain="http://www.cadence.com/Community/blogs/di/archive/tags/timing+convergence/default.aspx">timing convergence</category></item><item><title>Trying to Figure Out Social Media? Ron Ploof Says "Read This First"</title><link>http://www.cadence.com/Community/blogs/di/archive/2010/01/05/trying-to-figure-out-social-media-ron-ploof-says-quot-read-this-first-quot.aspx</link><pubDate>Tue, 05 Jan 2010 14:00:00 GMT</pubDate><guid isPermaLink="false">75bcbcf9-38a3-4e2e-b84b-26c8c46a9500:24093</guid><dc:creator>BobD</dc:creator><slash:comments>1</slash:comments><wfw:commentRss xmlns:wfw="http://wellformedweb.org/CommentAPI/">http://www.cadence.com/Community/blogs/di/rsscomments.aspx?PostID=24093</wfw:commentRss><comments>http://www.cadence.com/Community/blogs/di/archive/2010/01/05/trying-to-figure-out-social-media-ron-ploof-says-quot-read-this-first-quot.aspx#comments</comments><description>&lt;img src="http://www.cadence.com/Community/CSSharedFiles/blogs/di/Bob_Dwyer/ronploof_bobdwyer.jpg" border="0" alt="" /&gt;&lt;p&gt;Left to Right: Ron Ploof, Bob Dwyer &lt;br /&gt;Photo Credit: &lt;a href="http://www.flickr.com/photos/brillianthue/"&gt;brillianthue&lt;br /&gt;&lt;br /&gt;&lt;/a&gt;&lt;i&gt;&lt;br /&gt;&amp;quot;As a New Media evangelist...I&amp;#39;ve been able to categorize those reactions into three different personality types: The &amp;#39;Get-Its,&amp;#39; the &amp;#39;Traditionals,&amp;#39; and my favorite group, those &amp;#39;Running with Scissors&amp;#39;&amp;quot; -Ron Ploof&lt;/i&gt;&lt;/p&gt;&lt;p&gt;When I was out in California recently, I had a chance to sit down with author Ron Ploof.&amp;nbsp; Ron has worked at Cadence and Synopsys in the past, and continues to consult with Synopsys.&amp;nbsp; Given his background and the fact that he just released a book on New Media (which contains targeted examples of its application within the electronic design community) I thought it would be interesting to capture the highlights of our conversation.&lt;br /&gt;&amp;nbsp;&lt;br /&gt;&lt;b&gt;Q: Tell us a little about your background, and how you became passionate enough about New Media to write a book about it&lt;/b&gt;&lt;/p&gt;&lt;p&gt;Ron Ploof: Although my degree is in electrical engineering and I&amp;#39;ve been in the EDA trenches for almost 20 years, I&amp;#39;ve always been drawn to new communications technologies. I was a strong proponent of the Web 1.0 transition and it is a natural fit for me to be part of the Web 2.0 transition.&lt;/p&gt;&lt;p&gt;I wrote the book because I found too many people getting wrapped up in the wrong things when the subject of New Media came up. They talk too much about the technologies (Twitter, Facebook, blogs, etc...) and not about what makes them different than any other communications vehicle that companies use today. Corporate communications have historically been built on controlling the message and controlling the brand, which worked swimmingly when it was expensive to deliver those messages. But today, with the cost of distribution too small to measure, the game has changed. I wrote &amp;quot;Read This First&amp;quot; to discuss these fundamental changes.&lt;br /&gt;&lt;br /&gt;&lt;a href="http://www.ronamok.com/readthisfirst/index.html"&gt;&lt;img src="http://www.cadence.com/Community/CSSharedFiles/blogs/di/Bob_Dwyer/readthisfirst2.png" align="left" border="0" alt="" /&gt;&lt;/a&gt;&lt;b&gt;Q: Of all the books out there on New Media, why is &amp;ldquo;Read This First&amp;rdquo; a good place to start?&amp;nbsp; What kind of people would benefit most from reading the book?&amp;nbsp; Who did you write it for?&lt;/b&gt;&lt;/p&gt;&lt;p&gt;Ron: There are many New Media books out there that fall into two categories: Channels and Philosophy. Channel books teach you about the mechanics of specific tools like Twitter or Facebook. Seminal books like &amp;quot;Trust Agents,&amp;quot; &amp;quot;The New Rules of Marketing and PR,&amp;quot; and &amp;quot;The New Influencers&amp;quot; discuss the philosophical changes companies must make in order to create content that best fits within those channels. But none of the books discuss the management support and understanding required to properly adopt New Media, so I wrote Read This First as a foundational piece for executives to make important decisions.&lt;br /&gt;&lt;br /&gt;&lt;b&gt;Q: When we were talking, one of the things that intrigued me most was the question about how much organizations should trust their employees to &amp;ldquo;do the right thing&amp;rdquo; with New Media.&amp;nbsp; In the context of participating in forums, blogging, and tweeting- what should companies and employees be thinking about to effectively leverage New Media without doing harm to the company&amp;rsquo;s reputation?&lt;/b&gt;&lt;/p&gt;&lt;p&gt;Ron: Because traditional communicators are so focussed on controlling the corporate message and the brand, they&amp;#39;ve come to this silly belief that if everyone in the organization is saying the same thing, then the customer will finally &amp;quot;get the message.&amp;quot;&amp;nbsp; And so they only authorize designated people to talk for the company.&lt;/p&gt;
&lt;p&gt;But who is working with customers day in and day out? Marketing? PR? No. In EDA, it&amp;#39;s applications engineers, customer support, and the sales team. Instead of trying to hammer customers with cute catch-phrases that some professional communicator came up with over margaritas at last month&amp;#39;s offsite, these employees are helping customers get chips out the door--which is what customers want in the first place.
&lt;/p&gt;
&lt;p&gt;

The only difference is that these conversations can now happen online as opposed to on the telephone, in person, or in front of a trade show audience. These employees are already trained in what they can and can&amp;#39;t do offline, so if a company is worried about what they&amp;#39;ll say online, offer additional training. Add a section in the employee handbook. Write a Social Media Policy. Then, if an employees violates that policy, it&amp;#39;s management&amp;#39;s job to assess the situation and take appropriate action.
&lt;/p&gt;
&lt;p&gt;
The upside of online customer conversations outweighs the downside.
&lt;/p&gt;
&lt;p&gt;

&lt;b&gt;Q: The book talks a lot about transparency.&amp;nbsp; Could you share the anecdote from the book involving &lt;a href="http://en.wikipedia.org/w/index.php?title=Common_Power_Format&amp;amp;action=history"&gt;Wikipedia edits&lt;/a&gt;, the Common Power Format, and transparency?&amp;nbsp; I don&amp;rsquo;t mean to be controversial in raising this, but I thought it was a really good example that hits close to home in EDA and is something we can all learn from.
&lt;/b&gt;&lt;/p&gt;&lt;p&gt;

Ron: First of all, under full disclosure, I used to work for Synopsys as a full-time employee and am presently under contract with them as a consultant.
&lt;/p&gt;
&lt;p&gt;

The story you are referencing involves someone vandalizing Cadence&amp;#39;s Common Power Format entry in Wikipedia. The vandal thought that they were under the cloak of anonymity, but Wikipedia doesn&amp;#39;t work that way. It logs every edit, including the IP address of who made that edit, and stores that information forever. Unfortunately, by running that IP address through the &lt;a href="http://whois.net"&gt;whois.net&lt;/a&gt;, it was found that the edit came through someone logged into Synopsys&amp;#39;s network.

&lt;/p&gt;
&lt;p&gt;


When this issue was brought to Synopsys&amp;#39;s management, they were mortified. Independently of whether or not it happened online or offline, the act was a violation of Synopsy&amp;#39;s code of employee conduct. It was also a violation of the company&amp;#39;s Social Media Policy that stipulated that online activity must be done&amp;nbsp; under an employee&amp;#39;s real name. But rather than shoving the embarrassing issue under the rug, Synopsys did the right thing by drawing attention to it through its internal employee communications website. In addition, the company also updated its Social Media Policy to include a special line item to address this specific issue.
&lt;/p&gt;
&lt;p&gt;
And as a final note, before any EDA vendors point accusatory fingers toward Synopsys, be careful. A few keystrokes into a Google search reveals similar shenanigans instigated by other EDA vendors. The question is, does their upper management even know?

&lt;/p&gt;
&lt;p&gt;
&lt;b&gt;Q: When I finished reading the book, I was motivated to participate even more in New Media as part of my job at Cadence.&amp;nbsp; What&amp;rsquo;s the next thing you&amp;rsquo;d like readers to do after they finish the book?&amp;nbsp; What&amp;rsquo;s the call to action?
&lt;/b&gt;&lt;/p&gt;
&lt;p&gt;
Ron: Use the tools. The only way to understand the nuances of New Media is to engage with it. Just because you read a book by Dr. Spock, it doesn&amp;#39;t mean that you know what it&amp;#39;s like to be a parent. The only way to do so is to have a child of your own. Use the tools and I guarantee you&amp;#39;ll learn something valuable.
&lt;br /&gt;&lt;/p&gt;
&lt;p&gt;
&lt;b&gt;What to do Next:
&lt;/b&gt;&lt;/p&gt;
&lt;ul&gt;&lt;li&gt;

Visit the Web page for &lt;a href="http://ronamok.com/readthisfirst/"&gt;&amp;rdquo;Read This First&amp;rdquo;&lt;/a&gt; (and check out free audio recordings of the book)&lt;/li&gt;&lt;li&gt;

Follow Ron on Twitter: &lt;a href="http://twitter.com/RonPloof"&gt;@RonPloof&lt;/a&gt;Visit (and subscribe to) &lt;/li&gt;&lt;li&gt;Ron&amp;rsquo;s blog: &lt;a href="http://ronamok.com"&gt;RonAmok.com&lt;/a&gt;&lt;/li&gt;&lt;/ul&gt;&lt;p&gt;&lt;b&gt;Question of the Day:&lt;/b&gt;&lt;br /&gt;What you think of New Media&amp;rsquo;s role in the electronic design community?&amp;nbsp; Do confidentiality requirements limit its effectiveness?&amp;nbsp; Or are companies smart to leverage New Media in order to build closer relationships with the companies they interact with?&lt;/p&gt;&lt;p&gt;I&amp;#39;d like to thank Ron for taking the time to share his thoughts with us.&lt;br /&gt;&lt;br /&gt;-Bob Dwyer&lt;/p&gt;&lt;img src="http://www.cadence.com/Community/aggbug.aspx?PostID=24093" width="1" height="1"&gt;</description><category domain="http://www.cadence.com/Community/blogs/di/archive/tags/New+Media/default.aspx">New Media</category><category domain="http://www.cadence.com/Community/blogs/di/archive/tags/EDA/default.aspx">EDA</category><category domain="http://www.cadence.com/Community/blogs/di/archive/tags/Ron+Ploof/default.aspx">Ron Ploof</category><category domain="http://www.cadence.com/Community/blogs/di/archive/tags/Social+Media/default.aspx">Social Media</category><category domain="http://www.cadence.com/Community/blogs/di/archive/tags/Facebook+Twitter/default.aspx">Facebook Twitter</category></item><item><title>Encounter How-To: Selecting Objects By Pointer With dbGet And dbSelectObj</title><link>http://www.cadence.com/Community/blogs/di/archive/2009/12/16/selecting-pointers-with-dbget-and-dbselectobj.aspx</link><pubDate>Wed, 16 Dec 2009 17:00:00 GMT</pubDate><guid isPermaLink="false">75bcbcf9-38a3-4e2e-b84b-26c8c46a9500:23961</guid><dc:creator>BobD</dc:creator><slash:comments>2</slash:comments><wfw:commentRss xmlns:wfw="http://wellformedweb.org/CommentAPI/">http://www.cadence.com/Community/blogs/di/rsscomments.aspx?PostID=23961</wfw:commentRss><comments>http://www.cadence.com/Community/blogs/di/archive/2009/12/16/selecting-pointers-with-dbget-and-dbselectobj.aspx#comments</comments><description>&lt;p&gt;I just got back from a trip to California where I met with a couple of customers and presented database access with &lt;b&gt;dbGet &lt;/b&gt;in the &lt;a href="http://www.cadence.com/products/di/edi_system/Pages/default.aspx" target="_blank"&gt;Encounter Digital Implementation System&lt;/a&gt; (EDI for short).&amp;nbsp; I took notes on the questions that came up- in particular those common between both sets of users.&amp;nbsp; One item in particular that was helpful was understanding how to select objects &lt;i&gt;by pointer&lt;/i&gt; with dbGet.&amp;nbsp; In this post, I&amp;#39;ll explain the basics of object selection by type with existing mechanisms in Encounter, and then show how you would use &lt;b&gt;dbSelectObj&lt;/b&gt; in conjunction with dbGet to select objects by criteria and pointer.&lt;/p&gt;&lt;p&gt;Say for example, you&amp;#39;d like to select all of the instances in the design that have the cell master &amp;quot;BUFX1&amp;quot;.&amp;nbsp; How could we do that? &lt;/p&gt;&lt;p&gt;First, we naturally like to use the most polished, productized piece of functionality available that does what we&amp;#39;re looking for.&amp;nbsp; There is a nice piece of functionality that can select many different objects by name, type and criteria under: &lt;b&gt;Edit-&amp;gt;Find/Select Object... &lt;/b&gt;If we ask it to select all instances whose &amp;quot;Cell&amp;quot; Matches &amp;quot;BUFX1&amp;quot; it will find, display, and select 11 instances in my design: &lt;/p&gt;&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;a href="http://www.cadence.com/Community/CSSharedFiles/blogs/di/Bob_Dwyer/select1.png"&gt;&lt;img src="http://www.cadence.com/Community/CSSharedFiles/blogs/di/Bob_Dwyer/select1.png" width="400" border="0" alt="" /&gt;&lt;/a&gt;


&lt;p&gt;&amp;nbsp;&lt;/p&gt;&lt;p&gt;If we look at our .cmd file (which logs the commands executed at the command line -or- via GUI actions) we see:&lt;/p&gt;&lt;p&gt;&lt;b&gt;selectObjByProp Instance &amp;lt;Cell&amp;gt;Match&amp;lt;BUFX1&amp;gt;&lt;/b&gt;&lt;/p&gt;&lt;p&gt;We could certainly use this command to select a number of objects by type, and this is a useful utility.&amp;nbsp; But invariably, our requirements are become more complex than what the utility supports.&amp;nbsp; Say we want to find and select all the hard macros in the design with an area greater than some amount so we can set them FIXED?&amp;nbsp; How would we do that?&lt;/p&gt;&lt;p&gt;This is where db access can be useful.&amp;nbsp; In EDI, &lt;b&gt;dbGet&lt;/b&gt; provides a simple but powerful way to probe the database.&amp;nbsp; We can use it to find objects based on a number of criteria.&amp;nbsp; For example, if we wanted to perform the same action as we did above with the Find/Select Object utility using dbGet we&amp;#39;d do it like this:&lt;/p&gt;&lt;p&gt;&lt;b&gt;dbGet -p2 top.insts.cell.name BUFX1 &lt;br /&gt;&lt;/b&gt;0x2aa72affb8 0x2aa72b0050 0x2aa72b00e8 ... (truncated, but 11 pointers would be returned) &lt;/p&gt;&lt;p&gt;This would return a list of all the pointers to instances in the design that are of cell type &amp;quot;BUFX1&amp;quot;.&amp;nbsp; BUFX1 is used as a filter in this case, and we use &amp;quot;-p2&amp;quot; to instruct dbGet to &amp;quot;walk&amp;quot; 2 levels back up the structure that was traversed to get inst pointers.&amp;nbsp; Let&amp;#39;s say that we wanted to select all of those instances- how would we do that?&amp;nbsp; One way to do this is get a list of the inst *names* (as opposed to pointers): &lt;/p&gt;&lt;p&gt;&lt;b&gt;dbGet [dbGet -p2 top.insts.cell.name BUFX1].name&lt;/b&gt;&lt;br /&gt;DTMF_INST/TDSP_CORE_INST/i_10181 DTMF_INST/TDSP_CORE_INST/i_10155 DTMF_INST/TDSP_CORE_INST/i_10084 ...&lt;/p&gt;&lt;p&gt;...and then select them using selectInst within a foreach loop:&lt;/p&gt;&lt;p&gt;&lt;b&gt;foreach instName [dbGet [dbGet -p2 top.insts.cell.name BUFX1].name] {&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; selectInst $instName&lt;br /&gt;} &lt;/b&gt;&lt;br /&gt;-&amp;gt;This would find -and- select all of these instances, similarly as Find/Select Object did&lt;/p&gt;&lt;p&gt;But what if the object you&amp;#39;re trying to select isn&amp;#39;t easily identified by name because it&amp;#39;s a floorplanning object?&amp;nbsp; Like placement obstructions for example?&amp;nbsp; For things like this, it is often more conventient (or even mandatory) to select &lt;i&gt;by pointer&lt;/i&gt;.&amp;nbsp; We can use the &lt;b&gt;dbSelectObj&lt;/b&gt; command for this:&lt;/p&gt;&lt;p&gt;&lt;b&gt;foreach pBlkg [dbGet top.fplan.pBlkgs] {&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; dbSelectObj $pBlkg&lt;br /&gt;} &lt;/b&gt;&lt;/p&gt;&lt;p&gt;For our BUFX1 example above, it would look like this (we select by pointer instead of by name):&lt;/p&gt;&lt;p&gt;&lt;b&gt;foreach instPtr [dbGet -p2 top.insts.cell.name BUFX1] {&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; dbSelectObj $instPtr&lt;br /&gt;
}&amp;nbsp; &lt;/b&gt;&lt;/p&gt;&lt;p&gt;To make things easier and not require a foreach loop, dbSelectObj is being enhanced to operate on lists of pointers.&amp;nbsp; In 9.1.USR1 (not released yet) we&amp;#39;ll be able to use dbSelect Obj as follows:&lt;/p&gt;&lt;p&gt;&lt;b&gt;dbSelectObj [dbGet top.fplan.pBlkgs] &lt;/b&gt;&lt;/p&gt;&lt;p&gt;As you work with dbGet, I think you&amp;#39;ll find lots of situations where by selecting by pointer is more sensible than selected by name.&lt;/p&gt;&lt;p&gt;&lt;b&gt;Further Reading:&lt;/b&gt;&lt;/p&gt;&lt;ul&gt;&lt;li&gt;&lt;a href="http://www.cadence.com/Community/blogs/di/archive/2008/10/16/getting-started-with-dbget.aspx?postID=11980" target="_blank"&gt;Getting Started with dbGet&lt;/a&gt;&lt;/li&gt;&lt;li&gt;&lt;a href="http://www.cadence.com/Community/blogs/di/archive/2009/05/18/getting-started-with-dbset.aspx?postID=17663" target="_blank"&gt;Getting Started with dbSet &lt;/a&gt;&lt;/li&gt;&lt;/ul&gt;Hope this is helpful,&lt;br /&gt;Bob Dwyer&lt;br /&gt;&lt;p&gt;&amp;nbsp;&lt;/p&gt;&lt;img src="http://www.cadence.com/Community/aggbug.aspx?PostID=23961" width="1" height="1"&gt;</description><category domain="http://www.cadence.com/Community/blogs/di/archive/tags/Digital+Implementation/default.aspx">Digital Implementation</category><category domain="http://www.cadence.com/Community/blogs/di/archive/tags/dbGet/default.aspx">dbGet</category><category domain="http://www.cadence.com/Community/blogs/di/archive/tags/database+access/default.aspx">database access</category><category domain="http://www.cadence.com/Community/blogs/di/archive/tags/Encounter+Digital+Implementation/default.aspx">Encounter Digital Implementation</category></item><item><title>Find, Fix And Learn With Cadence Online Support</title><link>http://www.cadence.com/Community/blogs/di/archive/2009/11/05/find-fix-and-learn-with-cadence-online-support.aspx</link><pubDate>Thu, 05 Nov 2009 18:00:00 GMT</pubDate><guid isPermaLink="false">75bcbcf9-38a3-4e2e-b84b-26c8c46a9500:22594</guid><dc:creator>BobD</dc:creator><slash:comments>4</slash:comments><wfw:commentRss xmlns:wfw="http://wellformedweb.org/CommentAPI/">http://www.cadence.com/Community/blogs/di/rsscomments.aspx?PostID=22594</wfw:commentRss><comments>http://www.cadence.com/Community/blogs/di/archive/2009/11/05/find-fix-and-learn-with-cadence-online-support.aspx#comments</comments><description>&lt;p&gt;We recently rolled out a new online support mechanism that replaces Sourcelink called &lt;b&gt;Cadence Online Support&lt;/b&gt;.&amp;nbsp; Point your web browser to sourcelink.cadence.com and you&amp;#39;ll notice that it redirects to &lt;a href="http://support.cadence.com" target="_blank"&gt;support.cadence.com&lt;/a&gt;.&amp;nbsp; &lt;/p&gt;&lt;p&gt;Improving the search capabilities was one of the major focuses of Cadence Online Support.&amp;nbsp; A single box enables searching across the following areas:&lt;/p&gt;&lt;ul&gt;&lt;li&gt;Troubleshooting &lt;/li&gt;&lt;li&gt;Product Manuals &lt;/li&gt;&lt;li&gt;New or Changed Features&lt;/li&gt;&lt;li&gt;Design Info &lt;/li&gt;&lt;li&gt;Blogs and Forums &lt;/li&gt;&lt;/ul&gt;&lt;p&gt;Additionally, the &amp;quot;Top 3 Overall Matches&amp;quot; across all of these areas are returned.&amp;nbsp; The result, hopefully, is that it&amp;#39;s easier to find the information you&amp;#39;re looking for.&amp;nbsp; Check it out and let us know how we&amp;#39;re doing.&lt;/p&gt;&lt;p&gt;&lt;i&gt;(click to enlarge any of these images)&lt;/i&gt;&lt;/p&gt;&lt;p&gt;&lt;a href="https://www.cadence.com:443/Community/CSSharedFiles/blogs/di/Bob_Dwyer/cadence_online_support1_full.png"&gt;&lt;img src="https://www.cadence.com:443/Community/CSSharedFiles/blogs/di/Bob_Dwyer/cadence_online_support1_full.png" align="absmiddle" border="0" width="500" alt="" /&gt;&lt;/a&gt;&lt;/p&gt;&lt;p&gt;&amp;nbsp;&lt;/p&gt;&lt;p&gt;You can also provide Feedback specifically about any page on the new site.&amp;nbsp; Please take advantage of this capability- we really want to hear what you think and your Feedback will be responded to and tracked to closure: &lt;/p&gt;&lt;p&gt;&amp;nbsp;&lt;/p&gt;&lt;p&gt;&lt;a href="https://www.cadence.com:443/Community/CSSharedFiles/blogs/di/Bob_Dwyer/cadence_online_support2_full.png"&gt;&lt;img src="https://www.cadence.com:443/Community/CSSharedFiles/blogs/di/Bob_Dwyer/cadence_online_support2_full.png" align="absmiddle" border="0" width="500" alt="" /&gt;&lt;/a&gt;&lt;/p&gt;&lt;p&gt;&amp;nbsp;The new site surfaces up your most recent service requests, and provides a link to create a new service request:&lt;/p&gt;&lt;p&gt;&amp;nbsp;&lt;/p&gt;&lt;p&gt;&lt;a href="https://www.cadence.com:443/Community/CSSharedFiles/blogs/di/Bob_Dwyer/cadence_online_support3_full.png"&gt;&lt;img src="https://www.cadence.com:443/Community/CSSharedFiles/blogs/di/Bob_Dwyer/cadence_online_support3_full.png" align="absmiddle" border="0" width="500" alt="" /&gt;&lt;/a&gt;&lt;/p&gt;&lt;p&gt;&amp;nbsp;&lt;/p&gt;&lt;p&gt;Finally, the site offers a way to learn about how our tools are intended to be used with &amp;quot;Design Topics&amp;quot;.&amp;nbsp; Design Topics are the place to look when you don&amp;#39;t have a specific bug or issue you&amp;#39;re trying to troubleshoot but rather when you want to understand conceptually what Cadence recommends at any given stage on the design process.&amp;nbsp; This information is accessible via &lt;b&gt;Design Topics-&amp;gt;View Design Topics&lt;/b&gt; on the top of Cadence Online Support pages.&amp;nbsp; Here&amp;#39;s an example of the available subtasks within Block Implementation.&amp;nbsp; You can expand any one of these subtasks for more information -or- go directly to any one of the Technical Topics for more information: &lt;/p&gt;&lt;p&gt;&amp;nbsp;&lt;/p&gt;&lt;p&gt;&lt;a href="https://www.cadence.com:443/Community/CSSharedFiles/blogs/di/Bob_Dwyer/cadence_online_support4_full.png"&gt;&lt;img src="https://www.cadence.com:443/Community/CSSharedFiles/blogs/di/Bob_Dwyer/cadence_online_support4_full.png" align="absmiddle" border="0" width="500" alt="" /&gt;&lt;/a&gt;&lt;/p&gt;&lt;p&gt;&amp;nbsp;&lt;/p&gt;&lt;p&gt;So there you have it: Find, Fix and Learn.&amp;nbsp; Click &lt;a href="http://support.cadence.com/wps/mypoc/cos?uri=deeplinkmin:DocumentViewer;src=wp;q=Articles/COSGoesLive.html" target="_blank"&gt;HERE&lt;/a&gt; to learn more about Cadence Online Support (login required using your existing Cadence.com password). &lt;/p&gt;&lt;p&gt;&lt;i&gt;&lt;b&gt;Question of the Day:&lt;/b&gt; What do you think of the new Cadence Online Suport so far?&amp;nbsp; Leave a comment below or make use of the Feedback mechanism within Cadence Online Support.&lt;/i&gt;&lt;/p&gt;&lt;p&gt;Bob Dwyer &lt;/p&gt;&lt;p&gt;&amp;nbsp;&lt;/p&gt;&lt;img src="http://www.cadence.com/Community/aggbug.aspx?PostID=22594" width="1" height="1"&gt;</description><category domain="http://www.cadence.com/Community/blogs/di/archive/tags/Digital+Implementation/default.aspx">Digital Implementation</category><category domain="http://www.cadence.com/Community/blogs/di/archive/tags/Sourcelink/default.aspx">Sourcelink</category><category domain="http://www.cadence.com/Community/blogs/di/archive/tags/Cadence+Online+Support/default.aspx">Cadence Online Support</category></item><item><title>Cadence and Very Cool Stuff</title><link>http://www.cadence.com/Community/blogs/di/archive/2009/11/03/Cadence-And-Very-Cool-Stuff.aspx</link><pubDate>Tue, 03 Nov 2009 17:44:00 GMT</pubDate><guid isPermaLink="false">75bcbcf9-38a3-4e2e-b84b-26c8c46a9500:22584</guid><dc:creator>Rich Owen</dc:creator><slash:comments>0</slash:comments><wfw:commentRss xmlns:wfw="http://wellformedweb.org/CommentAPI/">http://www.cadence.com/Community/blogs/di/rsscomments.aspx?PostID=22584</wfw:commentRss><comments>http://www.cadence.com/Community/blogs/di/archive/2009/11/03/Cadence-And-Very-Cool-Stuff.aspx#comments</comments><description>&lt;p&gt;One of the very cool things about my job is that I get to see all kinds of new stuff early.  I&amp;rsquo;m privileged to be involved in technology roll outs, and so get to be involved in early discussions with R&amp;amp;D, Product Engineering, and Marketing.  And, I gotta tell you, there is very cool stuff coming out.
&lt;/p&gt;
&lt;p&gt;
As I think we&amp;rsquo;ve established, I&amp;rsquo;m a geek.  (And there&amp;rsquo;s my daughter again, rolling her eyes, and saying, &amp;ldquo;tell&amp;rsquo;em something they don&amp;rsquo;t already know, Dad.&amp;rdquo;)  And so when I get a chance to see some of the new stuff being prepped by our R&amp;amp;D teams, I get pretty excited.
&lt;/p&gt;
&lt;p&gt;
Here&amp;rsquo;s just one thing that&amp;rsquo;s on the burner &amp;ndash; a method to explore the power solution space.  I met a good customer today, and he very accurately pointed out that Power Shut Off (PSO) is a system function.  The system designers very clearly know what blocks can be shut off when &amp;ndash; it is a system function.  But Multi-Supply Voltage (MSV) is another matter.  Fundamentally MSV is about trading off speed for power &amp;ndash; the faster you need it, the more power you&amp;rsquo;ll need.  And this really means that any effective power estimation solution needs to consider the libraries, architecture, and expected implementation.  If you don&amp;rsquo;t consider these, you&amp;rsquo;re not looking at the full picture.  In the absence of the ability to estimate the impacts of timing, any kind of architectural analysis is largely meaningless.  I mean, why not set the voltage on everything to 0.1v?  You&amp;rsquo;ll save a ton of power.  Of course timing closure might be a bit challenging.
&lt;/p&gt;
&lt;p&gt;
So we&amp;rsquo;re getting ready to come out with something that will allow exploration of the power solution space; something that will really allow you to trade off speed for power.  You set up the starting points &amp;ndash; stuff like the libraries, constraints, and the like.  You then set up the bounding conditions &amp;ndash; the allowed solution space.  The tool will then go off and run through the scenarios, identifying the best combination of voltages that will meet your timing and power targets.  Under the hood, the tool is taking advantage of RTL Compiler&amp;rsquo;s target setting function to identify whether a given scenario will meet the requirements.
&lt;/p&gt;
&lt;p&gt;
This will take the guess work out of MSV designs.  What I really like is that this is the same technology that will then produce a production quality netlist.  So correlation is not an issue &amp;ndash; there&amp;rsquo;s no magic library conversions or RTL manipulations to produce this.  You pour RTL, libraries, and constraints in, and you get the right scenario out.  And you can then just push the button to implement the scenario.
&lt;/p&gt;
&lt;p&gt;
As I mentioned, I was at a customer today.  With me were two members of the R&amp;amp;D team &amp;ndash; both PhDs and both widely known in the industry.  We were presenting the challenges of low power design and how Cadence flows and methodologies solve those challenges.  Now these are seriously smart people, and to see their passion and enthusiasm for the technology was contagious.  These R&amp;amp;D guys really know their stuff, and they&amp;rsquo;re committed to making my customer successful.  Cadence has (obviously) being going through a down cycle.  But with guys like these, and with the technology we&amp;rsquo;ve got, no one should count us out.  Nor should anyone discount our commitment to our customer&amp;rsquo;s success.  We still have the best flows and tools and technology, and we&amp;rsquo;re still driving the innovation in the industry.  We&amp;rsquo;ve not changed our passion or commitment one little bit &amp;ndash; and don&amp;rsquo;t let anyone tell you differently.
&lt;/p&gt;
&lt;p&gt;
Oh, and here&amp;rsquo;s a chance for you to hear about the latest innovations in the Front End Design space: Cadence is hosting the annual FED Event in San Jose on Nov 10.  This is an event with R&amp;amp;D leaders discussing the new technology and innovations coming out in the next releases.  You&amp;rsquo;ll hear from all of the R&amp;amp;D leaders in this space, and hear from other customers using our technology.  And you&amp;rsquo;ll even get to see me &amp;ndash; I&amp;rsquo;m on a panel offering my perspective about FED.  Sign up at &lt;a href="http://www.secure-register.net/cadence/ld_event2009" target="_blank"&gt;www.secure-register.net/cadence/ld_event2009&lt;/a&gt; and I hope to see you there.&lt;/p&gt;&lt;p&gt;&lt;br /&gt;Rich Owen &lt;/p&gt;&lt;img src="http://www.cadence.com/Community/aggbug.aspx?PostID=22584" width="1" height="1"&gt;</description><category domain="http://www.cadence.com/Community/blogs/di/archive/tags/Digital+Implementation/default.aspx">Digital Implementation</category><category domain="http://www.cadence.com/Community/blogs/di/archive/tags/innovation/default.aspx">innovation</category><category domain="http://www.cadence.com/Community/blogs/di/archive/tags/PSO/default.aspx">PSO</category><category domain="http://www.cadence.com/Community/blogs/di/archive/tags/MSV/default.aspx">MSV</category><category domain="http://www.cadence.com/Community/blogs/di/archive/tags/FED/default.aspx">FED</category></item><item><title>Encounter How-To: Write Text to The Log File With "Puts"</title><link>http://www.cadence.com/Community/blogs/di/archive/2009/10/30/Encounter-How_2D00_To_3A00_-Write-Text-to-The-Log-File-With-_2200_Puts_2200_.aspx</link><pubDate>Fri, 30 Oct 2009 16:00:00 GMT</pubDate><guid isPermaLink="false">75bcbcf9-38a3-4e2e-b84b-26c8c46a9500:22415</guid><dc:creator>BobD</dc:creator><slash:comments>3</slash:comments><wfw:commentRss xmlns:wfw="http://wellformedweb.org/CommentAPI/">http://www.cadence.com/Community/blogs/di/rsscomments.aspx?PostID=22415</wfw:commentRss><comments>http://www.cadence.com/Community/blogs/di/archive/2009/10/30/Encounter-How_2D00_To_3A00_-Write-Text-to-The-Log-File-With-_2200_Puts_2200_.aspx#comments</comments><description>&lt;p&gt;&lt;i&gt;Here&amp;#39;s a simple but useful tip that shows how to write to the log file using the &lt;a href="http://www.cadence.com/products/di/edi_system/Pages/default.aspx" target="_blank"&gt;Encounter&lt;/a&gt; command &amp;quot;Puts&amp;quot;... &lt;/i&gt;&lt;/p&gt;&lt;p&gt;In TCL, the &amp;quot;puts&amp;quot; command is use to write information to the console -or- to a file.&amp;nbsp; For example:&lt;/p&gt;&lt;blockquote&gt;&lt;font face="Courier New"&gt;encounter 63&amp;gt; puts &amp;quot;hi&amp;quot;&lt;/font&gt;&lt;br /&gt;&lt;font face="Courier New"&gt;hi&lt;/font&gt;&lt;/blockquote&gt;
&lt;p&gt;
-or- 
&lt;/p&gt;&lt;blockquote&gt;&lt;font face="Courier New"&gt;encounter 64&amp;gt; set outfile [open test &amp;quot;w&amp;quot;]&lt;/font&gt;&lt;br /&gt;&lt;font face="Courier New"&gt;file18&lt;/font&gt;&lt;br /&gt;&lt;font face="Courier New"&gt;encounter 65&amp;gt; puts $outfile &amp;quot;hi&amp;quot;&lt;/font&gt;&lt;br /&gt;&lt;font face="Courier New"&gt;encounter 66&amp;gt; close $outfile&lt;/font&gt;&lt;br /&gt;&lt;font face="Courier New"&gt;encounter 67&amp;gt; more test&lt;/font&gt;&lt;br /&gt;&lt;font face="Courier New"&gt;hi&lt;/font&gt;&lt;br /&gt;&lt;/blockquote&gt;&lt;p&gt;
&lt;br /&gt;


But, how do you write information to the log file?&amp;nbsp; Although it&amp;#39;s possible to get the name of the current log file (and that&amp;#39;s a useful tip in itself): &lt;/p&gt;&lt;blockquote&gt;&lt;font face="Courier New"&gt;encounter 68&amp;gt; getLogFileName&lt;/font&gt;&lt;br /&gt;&lt;font face="Courier New"&gt;encounter.log207&lt;br /&gt;&lt;br /&gt;&lt;/font&gt;&lt;/blockquote&gt;&lt;p&gt;
...it&amp;#39;s not clear how to get the handle of the log file so that we can write to it with puts.&amp;nbsp; It turns out- you don&amp;#39;t need to because there&amp;#39;s a special built-in command called &amp;quot;Puts&amp;quot; (note the capital &amp;quot;P&amp;quot;) that writes to the screen -and- to the log file:
&lt;/p&gt;&lt;blockquote&gt;&lt;font face="Courier New"&gt;encounter 69&amp;gt; Puts &amp;quot;hi&amp;quot;&lt;/font&gt;&lt;br /&gt;&lt;font face="Courier New"&gt;hi&lt;/font&gt;&lt;br /&gt;&lt;/blockquote&gt;&lt;p&gt;

&lt;br /&gt;&lt;i&gt;Note&lt;/i&gt;: that the string is still written to the console.
&lt;/p&gt;&lt;p&gt;&lt;i&gt;Note&lt;/i&gt;: too that the string is written to the log file:&lt;br /&gt;&lt;br /&gt;

&lt;/p&gt;&lt;blockquote&gt;&lt;font face="Courier New"&gt;encounter 70&amp;gt; tail -1 encounter.log207 &lt;/font&gt;&lt;br /&gt;&lt;font face="Courier New"&gt;hi &lt;br /&gt;&lt;br /&gt;&lt;/font&gt;&lt;/blockquote&gt;&lt;p&gt;Writing to the log file can be particularly useful when troubleshooting a script and you want to write checkpoint statements that you can later search for using a text editor.&lt;/p&gt;&lt;p&gt;I hope this is useful. &lt;/p&gt;&lt;p&gt;&lt;i&gt;Bob Dwyer &lt;/i&gt;&lt;/p&gt;&lt;img src="http://www.cadence.com/Community/aggbug.aspx?PostID=22415" width="1" height="1"&gt;</description><category domain="http://www.cadence.com/Community/blogs/di/archive/tags/Digital+Implementation/default.aspx">Digital Implementation</category><category domain="http://www.cadence.com/Community/blogs/di/archive/tags/Encounter+Digital+Implementation/default.aspx">Encounter Digital Implementation</category><category domain="http://www.cadence.com/Community/blogs/di/archive/tags/TCL/default.aspx">TCL</category><category domain="http://www.cadence.com/Community/blogs/di/archive/tags/EDI+system/default.aspx">EDI system</category></item><item><title>How To: Purge Interactive Constraints in MMMC Mode</title><link>http://www.cadence.com/Community/blogs/di/archive/2009/10/23/how-to-purge-interactive-constraints-in-mmmc-mode.aspx</link><pubDate>Fri, 23 Oct 2009 13:00:00 GMT</pubDate><guid isPermaLink="false">75bcbcf9-38a3-4e2e-b84b-26c8c46a9500:22207</guid><dc:creator>BobD</dc:creator><slash:comments>4</slash:comments><wfw:commentRss xmlns:wfw="http://wellformedweb.org/CommentAPI/">http://www.cadence.com/Community/blogs/di/rsscomments.aspx?PostID=22207</wfw:commentRss><comments>http://www.cadence.com/Community/blogs/di/archive/2009/10/23/how-to-purge-interactive-constraints-in-mmmc-mode.aspx#comments</comments><description>&lt;p&gt;&lt;i&gt;These tips are applicable to the &lt;a href="https://www.cadence.com:443/products/di/edi_system/Pages/default.aspx" target="_blank"&gt;Encounter Digital Implementation System&lt;/a&gt;.&lt;/i&gt; &lt;/p&gt;&lt;p&gt;Back in the good old days, I remember asking designers at the beginning of a silicon virtual prototyping evaluation &amp;quot;&lt;i&gt;Where is your timing constraints file?&lt;/i&gt;&amp;quot;&amp;nbsp; Note the singular form of the word file- was it really that simple?&amp;nbsp; Didn&amp;#39;t seem so easy at the time.&amp;nbsp; While the complexity of timing constraints in terms of their content has increased, managing the actual files that contain the constraints, how they apply to multiple constraint modes in the tool, and dealing with incremental additions to the active constraint set is increasingly complex.&lt;/p&gt;&lt;p&gt;A scenario came up with a customer I was working with recently that led to a solution that I thought would be good to share.&amp;nbsp; The designer was using MMMC (multi-mode/multi-corner) timing analysis, and wrote a script to query the timing graph, add timing constraints that would alter the timing graph, and then write out a list of ECOs that needed to be made to the design based on what his script found.&amp;nbsp; He wanted a way to clear out the interactive timing constraints his script used &lt;i&gt;while retaining&lt;/i&gt; the timing constraints associated with each of the views as defined in the viewDefinition.tcl file.&lt;/p&gt;&lt;p&gt;Interactive constraints are simply the constraints entered at the command line (or sourced in a file) that aren&amp;#39;t part of the files associated with the create_constraint_mode command:&lt;/p&gt;&lt;p&gt;&lt;i&gt;create_constraint_mode -name common_constraint_mode -sdc_files testcase.sdc &lt;/i&gt;&lt;/p&gt;&lt;p&gt;When we&amp;#39;re in MMMC mode, and we want to apply a timing constraint at the command line, we need to tell the tool which of the constraint modes we&amp;#39;d like the interactively-entered constraints to apply to: &lt;/p&gt;&lt;p&gt;&lt;i&gt;encounter 2&amp;gt; set_false_path -from i0 -to i1&lt;br /&gt;**ERROR: (TCLCMD-1048): There is no interactive constraint mode. The constraint will be ignored. Please use &amp;#39;set_interactive_constraint_modes&amp;#39; command.&lt;/i&gt; &lt;/p&gt;&lt;p&gt;&lt;b&gt;Tip #1&lt;/b&gt;: When I get this message, I find the quickest way to get past it (and ask the tool to consider the constraints I give it for all active views) is to apply the constraints to all the active constraint modes.&amp;nbsp; This can be time consuming if you need to recall all of the names of the constraint modes via cut and paste, so we can retrieve these modes programmatically like this: &lt;/p&gt;&lt;p&gt;&lt;i&gt;encounter 6&amp;gt; set_interactive_constraint_modes [all_constraint_modes -active] &lt;/i&gt;&lt;/p&gt;&lt;p&gt;Now the tool will accept the interactive constraint and apply it to all the active views. My simple design only has 2 registers so if I false_path -from/-to the registers I&amp;#39;ll see no constrained paths: &lt;/p&gt;&lt;p&gt;encounter 7&amp;gt; set_false_path -from i0 -to i1&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;br /&gt;encounter 8&amp;gt; report_timing&lt;br /&gt;No constrained timing paths found.&lt;/p&gt;&lt;p&gt;&lt;b&gt;Tip #2&lt;/b&gt;: So now if I wanted to ask the tool to forget this interactive constraint (the false_path) and revert back to the sdc files associated with the constraint_mode, here&amp;#39;s how I&amp;#39;d do it.&amp;nbsp; We can make use of the update_constraint_mode command (which is primarily used to append/delete sdc files to the current list and replaces the unloadTimingCon command when not in MMMC mode).&amp;nbsp; Specifically, we&amp;#39;ll leverage a nuance regarding whether interactive constraints are retained or purged when you reset the sdc files: &lt;/p&gt;&lt;p&gt;&lt;i&gt;encounter 11&amp;gt; update_constraint_mode -name common_constraint_mode -sdc_files testcase.sdc&lt;br /&gt;**WARN: (TCLCMD-1122):&amp;nbsp; The update_constraint_mode command will reset all interactive constraints for all views. Any interactive constraints entered before this command will be lost. &lt;/i&gt;&lt;/p&gt;&lt;p&gt;Let&amp;#39;s confirm that the design is again timed as we&amp;#39;d expect it to be:&lt;/p&gt;&lt;p&gt;&lt;i&gt;encounter 12&amp;gt; report_timing&lt;br /&gt;Path 1: MET Setup Check with Pin i1/CK &lt;br /&gt;Endpoint:&amp;nbsp;&amp;nbsp; i1/D (v) checked with&amp;nbsp; leading edge of &amp;#39;clk&amp;#39;&lt;br /&gt;Beginpoint: i0/Q (v) triggered by&amp;nbsp; leading edge of &amp;#39;clk&amp;#39;&lt;/i&gt;&lt;/p&gt;&lt;p&gt;If we wanted to use this approach to reset the sdc files associated with all of the active views, we could do that.&amp;nbsp; But again, this could be laborious to keep track of in contemporary designs were we have dozens of modes and even more sdc files. &lt;/p&gt;&lt;p&gt;&lt;b&gt;Tip #3&lt;/b&gt;: A better way would be to retrieve the sdc files associated with all of the active views and re-point each constraint mode to the current sdc files (thus purging the interactive constraints as previously described).&amp;nbsp; Here&amp;#39;s how to do it: &lt;/p&gt;&lt;p&gt;foreach constraint_mode [all_constraint_modes -active] {&lt;br /&gt;&amp;nbsp; set constraint_files [get_constraint_mode $constraint_mode -sdc_files]&lt;br /&gt;&amp;nbsp; update_constraint_mode -name $constraint_mode -sdc_files $constraint_files&lt;br /&gt;}&lt;/p&gt;&lt;p&gt;&lt;b&gt;Tip 4&lt;/b&gt;: To refine things a bit, we could wrap this up into a procedure that we could call any time we wanted to purge the interactive constraints we&amp;#39;ve entered.&amp;nbsp; We could share this procedure across other designers we work with:&lt;/p&gt;&lt;p&gt;proc user_purge_interactive_constraints {} {&lt;br /&gt;&amp;nbsp; foreach constraint_mode [all_constraint_modes -active] {&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; set constraint_files [get_constraint_mode $constraint_mode -sdc_files]&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; update_constraint_mode -name $constraint_mode -sdc_files $constraint_files&lt;br /&gt;&amp;nbsp; }&lt;br /&gt;} &lt;/p&gt;&lt;p&gt;&lt;b&gt;&lt;i&gt;I hope this was generally useful in understanding how interactive constraints work in MMMC mode, and in describing an efficient way to manage interactive constraints.&lt;/i&gt;&lt;/b&gt;&lt;/p&gt;&lt;p&gt;&lt;br /&gt;Bob Dwyer &lt;/p&gt;&lt;p&gt;&amp;nbsp;&lt;/p&gt;&lt;img src="http://www.cadence.com/Community/aggbug.aspx?PostID=22207" width="1" height="1"&gt;</description><category domain="http://www.cadence.com/Community/blogs/di/archive/tags/Digital+Implementation/default.aspx">Digital Implementation</category><category domain="http://www.cadence.com/Community/blogs/di/archive/tags/TCL/default.aspx">TCL</category><category domain="http://www.cadence.com/Community/blogs/di/archive/tags/Encounter+Digital+Implementation+System+8.1/default.aspx">Encounter Digital Implementation System 8.1</category><category domain="http://www.cadence.com/Community/blogs/di/archive/tags/MMMC/default.aspx">MMMC</category><category domain="http://www.cadence.com/Community/blogs/di/archive/tags/Timing+Constraints/default.aspx">Timing Constraints</category></item><item><title>Leakage Power and National Security</title><link>http://www.cadence.com/Community/blogs/di/archive/2009/10/09/Leakage-Power-and-National-Security.aspx</link><pubDate>Fri, 09 Oct 2009 13:00:00 GMT</pubDate><guid isPermaLink="false">75bcbcf9-38a3-4e2e-b84b-26c8c46a9500:21770</guid><dc:creator>Rich Owen</dc:creator><slash:comments>0</slash:comments><wfw:commentRss xmlns:wfw="http://wellformedweb.org/CommentAPI/">http://www.cadence.com/Community/blogs/di/rsscomments.aspx?PostID=21770</wfw:commentRss><comments>http://www.cadence.com/Community/blogs/di/archive/2009/10/09/Leakage-Power-and-National-Security.aspx#comments</comments><description>&lt;p&gt;I read an &lt;a href="http://www.edn.com/article/CA6651526.html?title=Article&amp;amp;spacedesc=news&amp;amp;nid=3927" target="_blank"&gt;interesting article&lt;/a&gt; recently on EDN regarding a new way to determine cryptographic keys using leakage power.  Differential power has long been documented to be a method of cracking keys.  In this paper, the author, Milena Jovanovic of the University of Montenegro demonstrated that leakage power can also be used to predict the key contents.
&lt;/p&gt;
&lt;p&gt;
I can&amp;rsquo;t pretend to understand the techniques behind cryptography (my knowledge of security doesn&amp;rsquo;t go much beyond looking for the little lock icon on my browser), but this does point out the importance of accurate activity files for all power optimization, not just dynamic opt.  Modern libraries have state dependent leakage tables, and the Cadence tools can perform power optimization and analysis based on the activity factors and leakage tables.
&lt;/p&gt;
&lt;p&gt;
In order to effectively use this state dependent leakage, you need to have accurate data.  When I talk to customers, this routinely come up as a major issue &amp;ndash; test benches are not naturally built to generate accurate usage.  Instead, test benches are built to test things &amp;ndash; to see whether or not the design meets the requirements.  One solution is to run real use cases, and capture the activity.  In reality, this is difficult to do, particularly with any kind of embedded software application.  Hardware accelerators can solve this problem, allowing users to run real software, and to zero in on activity areas of interest &amp;ndash; I&amp;rsquo;ve blogged about &lt;a href="http://www.cadence.com/products/sd/palladium_dpa/Pages/default.aspx" target="_blank"&gt;Palladium DPA&lt;/a&gt; previously.
&lt;/p&gt;
&lt;p&gt;
But clearly, you gotta take leakage much more seriously now.  As if heat, package, and battery life concerns aren&amp;rsquo;t enough, you&amp;rsquo;ve now got to worry about security and some guy with an ammeter dissecting your algorithms!!  
&lt;/p&gt;
&lt;p&gt;
Richard Owen
&lt;/p&gt;&lt;p&gt;&amp;nbsp;&lt;/p&gt;&lt;p&gt;&amp;nbsp;&lt;/p&gt;&lt;img src="http://www.cadence.com/Community/aggbug.aspx?PostID=21770" width="1" height="1"&gt;</description><category domain="http://www.cadence.com/Community/blogs/di/archive/tags/Digital+Implementation/default.aspx">Digital Implementation</category><category domain="http://www.cadence.com/Community/blogs/di/archive/tags/Palladium+DPA/default.aspx">Palladium DPA</category><category domain="http://www.cadence.com/Community/blogs/di/archive/tags/leakage/default.aspx">leakage</category><category domain="http://www.cadence.com/Community/blogs/di/archive/tags/power/default.aspx">power</category></item><item><title>Running Low on Power or Receiving Mixed Signals? Talk to the Expert Users</title><link>http://www.cadence.com/Community/blogs/di/archive/2009/10/06/Running-Low-on-Power-or-Receiving-Mixed-Signals_3F00_-Talk-to-the-Expert-Users.aspx</link><pubDate>Tue, 06 Oct 2009 18:48:00 GMT</pubDate><guid isPermaLink="false">75bcbcf9-38a3-4e2e-b84b-26c8c46a9500:21652</guid><dc:creator>soheilm1</dc:creator><slash:comments>0</slash:comments><wfw:commentRss xmlns:wfw="http://wellformedweb.org/CommentAPI/">http://www.cadence.com/Community/blogs/di/rsscomments.aspx?PostID=21652</wfw:commentRss><comments>http://www.cadence.com/Community/blogs/di/archive/2009/10/06/Running-Low-on-Power-or-Receiving-Mixed-Signals_3F00_-Talk-to-the-Expert-Users.aspx#comments</comments><description>&lt;p&gt;Everytime my wife and I are looking to buy a big item, we do our research by reading blogs, articles, and customer reviews. I have to tell you, the single best source for information is through customer reviews and testimonials by actual users. Testimonials not only included the good stuff, but they also include items that cover &amp;#39;areas of improvement&amp;#39; in a particular product. &lt;/p&gt;&lt;p&gt;I think the concept is applicable to purchasing EDA software as well. The best way to learn about a product is by talking to expert users. I would like to tell you about two events where you have the opportunity to do just that. We have invited a myriad of expert users to discuss their design challenges and talk about solutions that they are using to get ahead of their competition. And oh yes, they will also talk about items that they&amp;#39;d like to see in currently available EDA tools. &lt;/p&gt;&lt;p&gt;1. Power Forward Low-Power Design Summit: in this event over 10 member companies will make technical presentations on the topic of enabling power efficient design from system to silicon. You can hear design challenges that you might be struggling with today and solutions that you should be using today. Find out more at &lt;a href="http://www.powerforward.org/" target="_blank"&gt;www.powerforward.org&lt;/a&gt;.&lt;/p&gt;&lt;p&gt;2. Mixed-Signal Summit: Get your signals straight at the first annual mixed-signal design summit. Become part of a community and discuss applications and methodologies with expert users. Find out what it takes to be ready to tackle mixed-signal designs. Find out more at &lt;a href="http://www.secure-register.net/cadence/ms_summit" target="_blank"&gt;www.secure-register.net/cadence/ms_summit&lt;/a&gt;.&lt;/p&gt;&lt;p&gt;But don&amp;#39;t stop there. Come back to this blog and challenge our presenters and participants by asking them more questions about today&amp;#39;s design challenges, what it takes to get ahead of the competition. If you hear something that needs to be elaborated, but you didn&amp;#39;t have time to ask during the event, come back to this blog and post your question. If you see something that needs to be highlighted, good or bad, I encourage you to come back to this blog and post your comments.&lt;/p&gt;&lt;p&gt;You can call it tools, solutions, methodologies, or products; the best way to learn about it/them is by listening to current users.&lt;br /&gt;&lt;/p&gt;&lt;p&gt;&amp;nbsp;Soheil&amp;nbsp; Modirzadeh&lt;/p&gt;&lt;p&gt;&amp;nbsp;&lt;/p&gt;&lt;img src="http://www.cadence.com/Community/aggbug.aspx?PostID=21652" width="1" height="1"&gt;</description><category domain="http://www.cadence.com/Community/blogs/di/archive/tags/Digital+Implementation/default.aspx">Digital Implementation</category><category domain="http://www.cadence.com/Community/blogs/di/archive/tags/verification/default.aspx">verification</category><category domain="http://www.cadence.com/Community/blogs/di/archive/tags/Logic+Design/default.aspx">Logic Design</category><category domain="http://www.cadence.com/Community/blogs/di/archive/tags/mixed+signal/default.aspx">mixed signal</category><category domain="http://www.cadence.com/Community/blogs/di/archive/tags/mixed-signal/default.aspx">mixed-signal</category></item></channel></rss>