<?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:media="http://search.yahoo.com/mrss/" xmlns:itunes="http://www.itunes.com/dtds/podcast-1.0.dtd" xmlns:feedburner="http://rssnamespace.org/feedburner/ext/1.0" version="2.0"><channel><title>Cadence Blogs</title><link>http://www.cadence.com/Community/blogs/</link><description>Network with Cadence technologists and peers in the Cadence Community.  Stay abreast of technology trends, news and opinion through Blogs, forums, and social networking.</description><dc:language>en-US</dc:language><generator>CommunityServer 2007.1 (Build: 20917.1142)</generator><itunes:explicit>no</itunes:explicit><itunes:subtitle>Network with Cadence technologists and peers in the Cadence Community. Stay abreast of technology trends, news and opinion through Blogs, forums, and social networking.</itunes:subtitle><itunes:summary>Network with Cadence technologists and peers in the Cadence Community. Stay abreast of technology trends, news and opinion through Blogs, forums, and social networking.</itunes:summary><atom10:link xmlns:atom10="http://www.w3.org/2005/Atom" rel="self" href="http://feeds.feedburner.com/cadence/community/blogs" type="application/rss+xml" /><feedburner:feedFlare href="http://add.my.yahoo.com/rss?url=http%3A%2F%2Ffeeds.feedburner.com%2Fcadence%2Fcommunity%2Fblogs" src="http://us.i1.yimg.com/us.yimg.com/i/us/my/addtomyyahoo4.gif">Subscribe with My Yahoo!</feedburner:feedFlare><feedburner:feedFlare href="http://www.newsgator.com/ngs/subscriber/subext.aspx?url=http%3A%2F%2Ffeeds.feedburner.com%2Fcadence%2Fcommunity%2Fblogs" src="http://www.newsgator.com/images/ngsub1.gif">Subscribe with NewsGator</feedburner:feedFlare><feedburner:feedFlare href="http://feeds.my.aol.com/add.jsp?url=http%3A%2F%2Ffeeds.feedburner.com%2Fcadence%2Fcommunity%2Fblogs" src="http://o.aolcdn.com/favorites.my.aol.com/webmaster/ffclient/webroot/locale/en-US/images/myAOLButtonSmall.gif">Subscribe with My AOL</feedburner:feedFlare><feedburner:feedFlare href="http://www.bloglines.com/sub/http://feeds.feedburner.com/cadence/community/blogs" src="http://www.bloglines.com/images/sub_modern11.gif">Subscribe with Bloglines</feedburner:feedFlare><feedburner:feedFlare href="http://www.netvibes.com/subscribe.php?url=http%3A%2F%2Ffeeds.feedburner.com%2Fcadence%2Fcommunity%2Fblogs" src="http://www.netvibes.com/img/add2netvibes.gif">Subscribe with Netvibes</feedburner:feedFlare><feedburner:feedFlare href="http://fusion.google.com/add?feedurl=http%3A%2F%2Ffeeds.feedburner.com%2Fcadence%2Fcommunity%2Fblogs" src="http://buttons.googlesyndication.com/fusion/add.gif">Subscribe with Google</feedburner:feedFlare><feedburner:feedFlare href="http://www.pageflakes.com/subscribe.aspx?url=http%3A%2F%2Ffeeds.feedburner.com%2Fcadence%2Fcommunity%2Fblogs" src="http://www.pageflakes.com/ImageFile.ashx?instanceId=Static_4&amp;fileName=ATP_blu_91x17.gif">Subscribe with Pageflakes</feedburner:feedFlare><atom10:link xmlns:atom10="http://www.w3.org/2005/Atom" rel="hub" href="http://pubsubhubbub.appspot.com" /><item><title>What is Next for SystemC?</title><link>http://feedproxy.google.com/~r/cadence/community/blogs/~3/AbR0hCJcjPY/what-is-next-for-systemc.aspx</link><pubDate>Fri, 17 Jul 2009 19:00:00 GMT</pubDate><guid isPermaLink="false">75bcbcf9-38a3-4e2e-b84b-26c8c46a9500:19314</guid><dc:creator>Steve Brown</dc:creator><slash:comments>0</slash:comments><description>Let your voice be heard at the North American SystemC Users Group interactive Town Hall Meeting! You are invited to a lively discussion for the system-level design community on the state of SystemC and what lies ahead. Providing an interactive format that encourages audience response and questions, this first ever town hall meeting features an open discussion on the state of SystemC, where it&amp;#39;s at and where it&amp;#39;s going. Design experts from OSCI Working Groups will address user questions on...(&lt;a href="http://www.cadence.com/Community/blogs/sd/archive/2009/07/17/what-is-next-for-systemc.aspx"&gt;read more&lt;/a&gt;)&lt;img src="http://www.cadence.com/Community/aggbug.aspx?PostID=19314" width="1" height="1"&gt;&lt;div class="feedflare"&gt;
&lt;a href="http://feeds.feedburner.com/~ff/cadence/community/blogs?a=AbR0hCJcjPY:qsEHkMU5908:yIl2AUoC8zA"&gt;&lt;img src="http://feeds.feedburner.com/~ff/cadence/community/blogs?d=yIl2AUoC8zA" border="0"&gt;&lt;/img&gt;&lt;/a&gt;
&lt;/div&gt;&lt;img src="http://feeds.feedburner.com/~r/cadence/community/blogs/~4/AbR0hCJcjPY" height="1" width="1"/&gt;</description><category domain="http://www.cadence.com/Community/blogs/sd/archive/tags/System+Design+and+Verification/default.aspx">System Design and Verification</category><category domain="http://www.cadence.com/Community/blogs/sd/archive/tags/SystemC/default.aspx">SystemC</category><category domain="http://www.cadence.com/Community/blogs/sd/archive/tags/TLM/default.aspx">TLM</category><category domain="http://www.cadence.com/Community/blogs/sd/archive/tags/osci/default.aspx">osci</category><category domain="http://www.cadence.com/Community/blogs/sd/archive/tags/high+level+synthesis/default.aspx">high level synthesis</category><category domain="http://www.cadence.com/Community/blogs/sd/archive/tags/hls/default.aspx">hls</category><feedburner:origLink>http://www.cadence.com/Community/blogs/sd/archive/2009/07/17/what-is-next-for-systemc.aspx</feedburner:origLink></item><item><title>North American SystemC User's Group Co-Located at DAC 2009</title><link>http://feedproxy.google.com/~r/cadence/community/blogs/~3/gbY3Dv46Q8w/north-american-systemc-user-s-group-co-located-at-dac-2009.aspx</link><pubDate>Fri, 17 Jul 2009 16:48:00 GMT</pubDate><guid isPermaLink="false">75bcbcf9-38a3-4e2e-b84b-26c8c46a9500:19320</guid><dc:creator>Steve Brown</dc:creator><slash:comments>0</slash:comments><description>We&amp;#39;ve been hearing about SystemC for a while. It&amp;#39;s a great language! What&amp;#39;s it great for? Well, you can find out from other users at the coming user group meeting co-located with DAC in San Francsico. This year promises to be full of excitement as the emergence of TLM 2, and many product capabilities, are highlighting the vision of SystemC from its inception. Additionally, the conference ends with a Town Hall discussion about where SystemC needs to be driven to facilitate the next wave...(&lt;a href="http://www.cadence.com/Community/blogs/sd/archive/2009/07/17/north-american-systemc-user-s-group-co-located-at-dac-2009.aspx"&gt;read more&lt;/a&gt;)&lt;img src="http://www.cadence.com/Community/aggbug.aspx?PostID=19320" width="1" height="1"&gt;&lt;div class="feedflare"&gt;
&lt;a href="http://feeds.feedburner.com/~ff/cadence/community/blogs?a=gbY3Dv46Q8w:UWlBtnqi7Y0:yIl2AUoC8zA"&gt;&lt;img src="http://feeds.feedburner.com/~ff/cadence/community/blogs?d=yIl2AUoC8zA" border="0"&gt;&lt;/img&gt;&lt;/a&gt;
&lt;/div&gt;&lt;img src="http://feeds.feedburner.com/~r/cadence/community/blogs/~4/gbY3Dv46Q8w" height="1" width="1"/&gt;</description><category domain="http://www.cadence.com/Community/blogs/sd/archive/tags/SystemC/default.aspx">SystemC</category><category domain="http://www.cadence.com/Community/blogs/sd/archive/tags/osci/default.aspx">osci</category><category domain="http://www.cadence.com/Community/blogs/sd/archive/tags/System+Design+and++Verification/default.aspx">System Design and  Verification</category><category domain="http://www.cadence.com/Community/blogs/sd/archive/tags/NASCUG/default.aspx">NASCUG</category><category domain="http://www.cadence.com/Community/blogs/sd/archive/tags/analysis/default.aspx">analysis</category><feedburner:origLink>http://www.cadence.com/Community/blogs/sd/archive/2009/07/17/north-american-systemc-user-s-group-co-located-at-dac-2009.aspx</feedburner:origLink></item><item><title>Write Right OVM Verification Components</title><link>http://feedproxy.google.com/~r/cadence/community/blogs/~3/gz1vNoQegdg/write-right-ovm-verification-components.aspx</link><pubDate>Fri, 17 Jul 2009 13:23:00 GMT</pubDate><guid isPermaLink="false">75bcbcf9-38a3-4e2e-b84b-26c8c46a9500:19307</guid><dc:creator>Adam Sherilog</dc:creator><slash:comments>0</slash:comments><description>&lt;p&gt;
The OVM provides the most comprehensive reuse if you follow the methodology it prescribes. While its unique built-in classes are the technical heart of the reuse, you still have to write your own components.  Now you have the new &lt;a href="http://paradigm-works.com/news/pressrelease.cfm?news_item_id=100" target="_blank"&gt;Paradigm Works OVC Template Generator&lt;/a&gt; to write them in the right way for you.
&lt;/p&gt;
&lt;p&gt;
Paradigm Works, an industry leader in functional verification services has helped clients verify complex chips OVM SV and OVM &lt;i&gt;&lt;b&gt;e&lt;/b&gt;&lt;/i&gt; (&lt;i&gt;&lt;b&gt;e&lt;/b&gt;&lt;/i&gt;RM). The OVM Template Generator leverages Paradigm Works&amp;rsquo; best-learned practices and offers pre-packaged verification environment templates that can be customized to further fit a team&amp;rsquo;s specific project requirements.  The output of the Template Generator is an OVM compliant Verification Component (OVC). 
&lt;/p&gt;
&lt;p&gt;
To help us understand what the generator does and how it helps speed the verification process, I sat down with Dr. Ambar Sarkar.  Dr. Sarkar is the Chief Verification Technologist at Paradigm Works Inc. and a self-declared open source enthusiast. He is the architect of the SystemVerilog FrameWorks&lt;sup&gt;TM&lt;/sup&gt;  toolkit, which includes the Template Generator, among other tools and utilities to jumpstart a verification environment. This toolkit is based on soup-to-nuts experience of the PW team at numerous client engagements.
&lt;/p&gt;
&lt;p&gt;
&lt;b&gt;Q:  Ambar, can you tell us more about the Template Generator?
&lt;/b&gt;&lt;/p&gt;
&lt;p&gt;
Simply put, the SystemVerilog FrameWorks&lt;sup&gt;TM&lt;/sup&gt; Template Generator (SVF-TG) generates a detailed boilerplate for an OVM based verification environment (testbench) from scratch. The verification engineer is presented with a web interface where he or she enters a few parameters, and the resulting output is a tarball of the SystemVerilog environment code, with all the recommended components hooked up as recommended by OVM.  From that point, the engineer needs to code the application-specific elements, but the plumbing that enables reuse has been taken care of already.
&lt;/p&gt;
&lt;p&gt;
&lt;b&gt;Q:  Where can we find the Template Generator?
&lt;/b&gt;&lt;/p&gt;
&lt;p&gt;
The &lt;a href="http://ovmworld.org/contributions-details.php?id=47&amp;amp;keywords=PW_OVM_Testbench_and_OVC_Template_Generator" target="_blank"&gt;Template generator is posted&lt;/a&gt; to the Contributions area of the OVM World.&amp;nbsp; This takes you to the web interface. We are working on putting the entire source code of the template generator on SourceForge, the popular open source software hosting site. 
&lt;/p&gt;
&lt;p&gt;
&lt;b&gt;Q:  How do we know that the templates are OVM compliant?
&lt;/b&gt;&lt;/p&gt;
&lt;p&gt;
We held several detailed internal reviews with our core team of highly experienced verification engineers who bring their own perspective and their knowledge of the various application domains they have consulted for.  In addition, we cross-checked the generated code against Cadence&amp;rsquo;s OVM compliance list. That list comprehends the nearly decade-long experience with OVM &lt;i&gt;&lt;b&gt;e&lt;/b&gt;&lt;/i&gt; (&lt;i&gt;&lt;b&gt;e&lt;/b&gt;&lt;/i&gt;RM) and the more recent experience with OVM SystemVerilog.
&lt;/p&gt;
&lt;p&gt;
&lt;b&gt;Q:  Why not just code OVCs by hand following examples?
&lt;/b&gt;&lt;/p&gt;
&lt;p&gt;
To summarize, I see two main reasons for not doing this by hand. 
&lt;/p&gt;
&lt;p&gt;
First, which is I believe is the main reason, is that this tool offers a standard and powerful starting point for the engineer embarking on a new OVM project. All the necessary element templates, specified by the engineer, have been defined and hooked up. In fact, even the makefiles for multiple simulator vendors are provided so that the generated code compiles out of the box. 
&lt;/p&gt;
&lt;p&gt;
Second, it avoids tedium. Frankly, there is a significant amount of infrastructure code that needs to be written and hooked up for any real project. Copying and pasting from an existing example has the usual caveats &amp;ndash; what if you did not update everything you needed to or forgot to define some key elements? To illustrate this point, take a look at some code snippet that is generated. This was done for a simple scenario where the testbench needs 3 APB masters and 1 APB slave. As you can see, it is quite possible that one may forget to hook up or mistype one of the numbers or names.
&lt;/p&gt;&lt;p&gt;&amp;nbsp;&lt;/p&gt;



&lt;p style="margin-left:40px;"&gt;&lt;span style="font-size:8pt;font-family:&amp;#39;Courier New&amp;#39;;"&gt;function void
connect(); &lt;/span&gt;&lt;/p&gt;

&lt;blockquote style="margin-left:80px;"&gt;&lt;p&gt;&lt;span style="font-size:8pt;font-family:&amp;#39;Courier New&amp;#39;;"&gt;[ deleted&amp;hellip; ] &lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span style="font-size:8pt;font-family:&amp;#39;Courier New&amp;#39;;"&gt;// Assign reference
for virtual sequencer &lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span style="font-size:8pt;font-family:&amp;#39;Courier New&amp;#39;;"&gt;v_sequencer.apb_0_m_sequencer
= apb_inst.masters[0].sequencer;&lt;br /&gt;
v_sequencer.apb_1_m_sequencer = apb_inst.masters[1].sequencer;&lt;br /&gt;
v_sequencer.apb_2_m_sequencer = apb_inst.masters[2].sequencer;&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span style="font-size:8pt;font-family:&amp;#39;Courier New&amp;#39;;"&gt;&lt;br /&gt;
v_sequencer.apb_0_s_sequencer = apb_inst.slaves[0].sequencer; &lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span style="font-size:8pt;font-family:&amp;#39;Courier New&amp;#39;;"&gt;[deleted &amp;hellip;] &lt;/span&gt;&lt;/p&gt;&lt;/blockquote&gt;&lt;p style="margin-left:40px;"&gt;&lt;span style="font-size:8pt;font-family:&amp;#39;Courier New&amp;#39;;"&gt;endfunction : connect
&lt;/span&gt;&lt;/p&gt;

















&lt;p&gt;&amp;nbsp;&lt;/p&gt;&lt;p&gt;&lt;b&gt;Q:  What kind of demand are you seeing for this functionality? 
&lt;/b&gt;&lt;/p&gt;
&lt;p&gt;

We have been very excited with the response so far. From the OVM community page, we see that there have already been more than 400 downloads in a relatively short time. That&amp;rsquo;s 340+ on OVM World and another 70+ directly from our PW page (&lt;a href="http://downloads.paradigm-works.com" target="_blank"&gt;http://downloads.paradigm-works.com&lt;/a&gt;).
&lt;/p&gt;
&lt;p&gt;
&lt;b&gt;Q: What else are you seeing the OVM ecosystem demand?
&lt;/b&gt;&lt;/p&gt;
&lt;p&gt;
As far as the templates are concerned, we definitely had requests for customizing the generated code. The web interface does not allow it, but the backend tool supports complete customization, and even knows how to merge changes from newer templates. As I mentioned earlier, we are working on putting the entire backend on open source for the OVM community. Imagine the ability to come up with a standard way to create testbenches across all projects in a company distributed across the globe! This tool can act as an executable specification for creating testbenches.
&lt;/p&gt;
&lt;p&gt;
We also have uploaded an objection based shutdown manager as well as an OVM scoreboard package. While there are some alternatives to the shutdown manager available, this powerful scoreboard package fills a void in the OVM community today.
&lt;/p&gt;
&lt;p&gt;
Another area we are looking at, depending on bandwidth and community interest, is OVM multi-language, including &lt;i&gt;&lt;b&gt;e&lt;/b&gt;&lt;/i&gt; and &lt;a href="http://www.systemc.org/home" target="_blank"&gt;SystemC&lt;/a&gt;. We would like to hear from the OVM community if there is an interest for creating templates for these OVM versions. 
&lt;/p&gt;
&lt;p&gt;
We encourage folks to visit &lt;a href="http://downloads.paradigm-works.com" target="_blank"&gt;http://downloads.paradigm-works.com&lt;/a&gt;, and stay tuned for further contributions on &lt;a href="http://ovmworld.org/contributions.php" target="_blank"&gt;http://ovmworld.org/contributions.php&lt;/a&gt;. Of course, we look forward to and will incorporate any feedback as appropriate and feasible. 
&lt;/p&gt;
&lt;p&gt;
Do you have any questions for Ambar or me?  If so, you can comment here on this blog or contact Ambar directly at &lt;a href="mailto:ambar.sarkar@paradigm-works.com"&gt;ambar.sarkar@paradigm-works.com&lt;/a&gt;.
&lt;/p&gt;
&lt;p&gt;
=Adam Sherilog
&lt;/p&gt;&lt;img src="http://www.cadence.com/Community/aggbug.aspx?PostID=19307" width="1" height="1"&gt;&lt;div class="feedflare"&gt;
&lt;a href="http://feeds.feedburner.com/~ff/cadence/community/blogs?a=gz1vNoQegdg:a1UFQKb7Pyc:yIl2AUoC8zA"&gt;&lt;img src="http://feeds.feedburner.com/~ff/cadence/community/blogs?d=yIl2AUoC8zA" border="0"&gt;&lt;/img&gt;&lt;/a&gt;
&lt;/div&gt;&lt;img src="http://feeds.feedburner.com/~r/cadence/community/blogs/~4/gz1vNoQegdg" height="1" width="1"/&gt;</description><category domain="http://www.cadence.com/Community/blogs/fv/archive/tags/OVMWorld/default.aspx">OVMWorld</category><category domain="http://www.cadence.com/Community/blogs/fv/archive/tags/SystemVerilog/default.aspx">SystemVerilog</category><category domain="http://www.cadence.com/Community/blogs/fv/archive/tags/OVM+e/default.aspx">OVM e</category><category domain="http://www.cadence.com/Community/blogs/fv/archive/tags/OVM+SV/default.aspx">OVM SV</category><category domain="http://www.cadence.com/Community/blogs/fv/archive/tags/OVM+ML/default.aspx">OVM ML</category><feedburner:origLink>http://www.cadence.com/Community/blogs/fv/archive/2009/07/17/write-right-ovm-verification-components.aspx</feedburner:origLink></item><item><title>Things You Didn't Know About Virtuoso: Search Assistant</title><link>http://feedproxy.google.com/~r/cadence/community/blogs/~3/bTyvFBB8sRE/Things-You-Didn_2700_t-Know-About-Virtuoso_3A00_-Search-Assistant.aspx</link><pubDate>Fri, 17 Jul 2009 13:00:00 GMT</pubDate><guid isPermaLink="false">75bcbcf9-38a3-4e2e-b84b-26c8c46a9500:19220</guid><dc:creator>stacyw</dc:creator><slash:comments>0</slash:comments><description>&lt;p&gt;People say I have strong &lt;a href="http://www.urbandictionary.com/define.php?term=google-fu" target="_blank"&gt;google-fu&lt;/a&gt;.&amp;nbsp;&amp;nbsp; Whether it&amp;#39;s finding information on a homework topic for my kids or reviews for that little restaurant downtown, all it takes is a&amp;nbsp;minute or two&amp;nbsp;at the keyboard and&amp;nbsp;there it is.&amp;nbsp; Searching for information has become a very important&amp;nbsp;skill in today&amp;#39;s world,&amp;nbsp;both in&amp;nbsp;&amp;quot;real life&amp;quot; and at work.&amp;nbsp; Laying your hands on reliable information quickly can make your life easier, amaze your friends and impress your boss.&amp;nbsp; &lt;/p&gt;&lt;p&gt;So today, I&amp;#39;d like to introduce you to the new Virtuoso &lt;b&gt;Search Assistant and Toolbar&lt;/b&gt; in IC6.1.&amp;nbsp; Whether you&amp;#39;re looking for all the places a certain design variable is used or which instances a particular net is connected to or where in your design hierarchy a specific device type is used, the Search Assistant will give you the information you need.&lt;/p&gt;&lt;p&gt;First of all, where is this little gem hiding?&amp;nbsp; Virtuoso provides both a Search toolbar and an associated dockable assistant.&amp;nbsp; Both can be invoked by--all together now--clicking the &lt;b&gt;RMB&lt;/b&gt; near the top of the window and selecting &lt;b&gt;Search&lt;/b&gt; from either the top (for the assistant) or the bottom (for the toolbar) of the menu.&amp;nbsp; There&amp;#39;s no difference in functionality between the two.&amp;nbsp; In fact, clicking &amp;quot;&lt;b&gt;Show All&lt;/b&gt;&amp;quot; from the Search toolbar results will open the Search assistant automatically.&lt;/p&gt;&lt;p&gt;Search engines are typical pretty self-explanatory, but recently, I&amp;#39;ve been amazed at what fun little secrets a little digging can expose.&amp;nbsp; (For example, did you know that Google has a built-in calculator?)&amp;nbsp; So it is with the Search Assistant (ok, no built-in calculator...yet, but some other cool details I&amp;#39;ll talk about in&amp;nbsp;a bit).&amp;nbsp; Basically, you enter whatever it is you want to search for in the search field, hit Enter and you&amp;#39;ll see everything in your design that matches that search string.&amp;nbsp; &lt;/p&gt;&lt;p&gt;&lt;b&gt;What do you mean--everything?&lt;/b&gt;&lt;/p&gt;&lt;p&gt;Click on the little &lt;b&gt;magnifying glass&lt;/b&gt; at the left of the search field.&amp;nbsp; This shows a partial list of the &lt;b&gt;categories&lt;/b&gt; which will be searched (the complete list can be found by clicking &lt;b&gt;Options...&lt;/b&gt; at the bottom of that menu).&amp;nbsp; You can limit your search by enabling only one of these categories (or several if you use the Options... dialog).&amp;nbsp; You can also limit your search to only those objects selected in the current view by choosing &amp;quot;&lt;b&gt;Selected&lt;/b&gt;&amp;quot; at the bottom of the Search Categories menu.&lt;/p&gt;&lt;p&gt;Notice that you can even search for Skill&amp;nbsp;functions and menu items.&amp;nbsp; So if you forget where to find the grid snap spacing you can search for &amp;quot;snap&amp;quot; and find it right away.&amp;nbsp; &lt;/p&gt;&lt;p&gt;&lt;b&gt;Note:&lt;/b&gt; The Search Categories are also keywords for the search engine.&amp;nbsp; So you can enter &amp;quot;instances nmos2v&amp;quot; or &amp;quot;nets bias&amp;quot; to restrict your search that way.&amp;nbsp; Or type just &amp;quot;instances&amp;quot; or &amp;quot;nets&amp;quot; to get a complete listing.&lt;/p&gt;&lt;p&gt;&lt;b&gt;Where is it searching?&lt;/b&gt;&lt;/p&gt;&lt;p&gt;Now click on the little &lt;b&gt;triangle&lt;/b&gt; at the right of the search field.&amp;nbsp; This will give you options for how the engine should match the search string (case sensitivity, substring, and/or, etc.).&amp;nbsp; It allows you set the search scope, including the very powerful option to extend your search down &lt;b&gt;through the design hierarchy&lt;/b&gt;.&amp;nbsp; So now you can immediately find every place in the hierarchy where a certain block is used.&amp;nbsp; In the search results, items&amp;nbsp;not in the current view will be highlighted in gray.&lt;/p&gt;&lt;p&gt;&lt;b&gt;What can I do now that I&amp;#39;ve found what I was looking for?&lt;/b&gt;&lt;/p&gt;&lt;p&gt;Good question.&amp;nbsp; This is where I find the real power of the Search Assistant.&amp;nbsp; First of all, you&amp;#39;ll notice&amp;nbsp;that selecting items in the Search Assistant &lt;b&gt;cross-selects&lt;/b&gt; them in the main canvas as well as the &lt;a href="http://www.cadence.com/Community/blogs/cic/archive/2009/05/26/things-you-didn-t-know-about-virtuoso-navigator-assistant.aspx" target="_blank"&gt;Navigator&lt;/a&gt; and the &lt;a href="http://www.cadence.com/Community/blogs/cic/archive/2009/06/01/things-you-didn-t-know-about-virtuoso-editing-properties.aspx" target="_blank"&gt;Property Editor Assistant&lt;/a&gt;, so that&amp;#39;s very handy right there.&amp;nbsp; &lt;/p&gt;&lt;p&gt;But wait, there&amp;#39;s more...&lt;/p&gt;&lt;p&gt;By holding down a certain &lt;a href="http://www.cadence.com/Community/blogs/cic/archive/2009/06/23/Things-You-Didn_2700_t-Know-About-Virtuoso_3A00_-RMB_2C00_-OMG_2100_-_3B002D002900_.aspx" target="_blank"&gt;mouse button&lt;/a&gt; (hmm..which one might that RMB...) over the items, you&amp;#39;ll see a context-sensitive menu of options specific to items of that category.&amp;nbsp; Depending on the category, you might be able to:&lt;/p&gt;&lt;ul&gt;&lt;li&gt;&lt;div&gt;Add an instance of a cell&lt;/div&gt;&lt;/li&gt;&lt;li&gt;&lt;div&gt;Open the cellview&amp;nbsp;containing an instance or net if it&amp;#39;s at a lower level of hierarchy&lt;/div&gt;&lt;/li&gt;&lt;li&gt;&lt;div&gt;Open the Skill finder entry for a Skill function&lt;/div&gt;&lt;/li&gt;&lt;li&gt;&lt;div&gt;Select a net and all instances attached to it&lt;/div&gt;&lt;/li&gt;&lt;li&gt;&lt;div&gt;Open an options dialog or directly execute a menu command&lt;/div&gt;&lt;/li&gt;&lt;/ul&gt;&lt;p&gt;In addition, you can save the search results to a CSV file for further documentation and reference.&lt;/p&gt;&lt;p&gt;&amp;nbsp;&lt;/p&gt;&lt;p&gt;&lt;a href="http://www.flickr.com/photos/36223644@N04/3724455565/" title="search by cadencedesign, on Flickr"&gt;&lt;img src="http://farm3.static.flickr.com/2469/3724455565_b068e8ca8f.jpg" alt="search" style="width:549px;height:365px;" height="315" width="500" /&gt;&lt;/a&gt;

&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;&lt;p&gt;&lt;b&gt;&amp;quot;Searching is half the fun: life is much more manageable when thought of as a scavenger hunt as opposed to a surprise party.&amp;quot;&lt;/b&gt;--Jimmy Buffett
&lt;/p&gt;
&lt;p&gt;&amp;nbsp;As always, feel free to share your discoveries and experiences (good or bad) with any of these topics.&lt;/p&gt;&lt;p&gt;Stacy Whiteman&lt;/p&gt;&lt;img src="http://www.cadence.com/Community/aggbug.aspx?PostID=19220" width="1" height="1"&gt;&lt;div class="feedflare"&gt;
&lt;a href="http://feeds.feedburner.com/~ff/cadence/community/blogs?a=bTyvFBB8sRE:eYkoxBktbCM:yIl2AUoC8zA"&gt;&lt;img src="http://feeds.feedburner.com/~ff/cadence/community/blogs?d=yIl2AUoC8zA" border="0"&gt;&lt;/img&gt;&lt;/a&gt;
&lt;/div&gt;&lt;img src="http://feeds.feedburner.com/~r/cadence/community/blogs/~4/bTyvFBB8sRE" height="1" width="1"/&gt;</description><category domain="http://www.cadence.com/Community/blogs/cic/archive/tags/Custom+IC+Design/default.aspx">Custom IC Design</category><category domain="http://www.cadence.com/Community/blogs/cic/archive/tags/Virtuoso/default.aspx">Virtuoso</category><category domain="http://www.cadence.com/Community/blogs/cic/archive/tags/Virtuoso+IC+6.1.3/default.aspx">Virtuoso IC 6.1.3</category><category domain="http://www.cadence.com/Community/blogs/cic/archive/tags/IC+6.1/default.aspx">IC 6.1</category><feedburner:origLink>http://www.cadence.com/Community/blogs/cic/archive/2009/07/17/Things-You-Didn_2700_t-Know-About-Virtuoso_3A00_-Search-Assistant.aspx</feedburner:origLink></item><item><title>How To: Create a Self-Contained Testcase in Encounter</title><link>http://feedproxy.google.com/~r/cadence/community/blogs/~3/biFVsLsu0JM/how-to-create-a-self-contained-testcase-in-encounter.aspx</link><pubDate>Thu, 16 Jul 2009 14:00:00 GMT</pubDate><guid isPermaLink="false">75bcbcf9-38a3-4e2e-b84b-26c8c46a9500:19208</guid><dc:creator>BobD</dc:creator><slash:comments>1</slash:comments><description>&lt;img src="http://i149.photobucket.com/albums/s77/casperkill/saveTestcase.png" alt="saveTestcase image" align="right" height="199" hspace="5" width="306" /&gt;
&lt;p&gt;In the course of performing design work in Encounter, it frequently becomes desireable to create a self-contained testcase that can be shared with colleagues at other sites, or with Cadence to aid in troubleshooting tool issues.&amp;nbsp; By self-contained, I mean the design data (netlist, floorplan, placement, routing, timing constraint files, etc) and all of the supporting collateral (.libs, LEFs, extraction tech files, etc) within a sub-directory that can be tarred up and uploaded to an ftp site such that someone else can download the design and see the design just as you&amp;#39;re seeing it.&amp;nbsp; Because this data is often drawn from various shared locations on the network, symbolic links are used, and pointers often make use of shell/TCL variables, creating a self-contained testcase is frequently quite a bit more complicated than it appears at first glance.&amp;nbsp; But fear not- a new command has been introduced that automates this for us. &lt;/p&gt;&lt;p&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; version 8.1.USR2, a new public command was introduced that automates the testcase creation. It is called: &lt;b&gt;&amp;quot;saveTestcase&amp;quot;&lt;/b&gt;&lt;/p&gt;&lt;p&gt;&lt;b&gt;Here&amp;#39;s how it works...&lt;/b&gt;&lt;/p&gt;&lt;ol&gt;&lt;li&gt;Load a design into the tool (either via a .conf file -or- by restoring a design)&lt;/li&gt;&lt;li&gt;Get the design into the desired state (ie,placed or routed)&lt;/li&gt;&lt;li&gt;At the tool prompt, issue the command: &lt;b&gt;&amp;quot;saveTestcase&amp;quot;&lt;/b&gt;&lt;/li&gt;&lt;li&gt;By default, a sub-directory in your current run directory will be created called &amp;quot;testcase&amp;quot; which contains the design data and collateral. The pointers in the .conf file and the viewDefinition file (if you&amp;#39;re running in MMMC mode will all be resolved to point to these new locations relative to the current directory. &lt;/li&gt;&lt;li&gt;This new directory can be tarred up and E-mailed or ftp&amp;#39;ed to other people you&amp;#39;re working with.&lt;/li&gt;&lt;/ol&gt;&lt;p style="font-weight:bold;"&gt;Complete usage:&lt;/p&gt;&lt;p&gt;Usage: saveTestcase [-name &amp;lt;testcaseName&amp;gt;]&lt;br /&gt;&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; [-dir &amp;lt;directoryName&amp;gt;]&lt;br /&gt;&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; [-rc] [-merge] [-overwrite] [-gzip] &lt;/p&gt;&lt;p&gt;Enter &amp;quot;man saveTestcase&amp;quot; at the tool prompt in 8.1.USR2 for extended help -or- see the complete documentation on Sourcelink &lt;a href="http://sourcelink.cadence.com/docs/files/Release_Info/Docs/fetxtcmdref/fetxtcmdref8.1.2/generalT.html#1034417" target="_blank"&gt;here&lt;/a&gt;. &lt;/p&gt;&lt;p&gt;&lt;b&gt;Additional nice features:&lt;/b&gt;&lt;/p&gt;&lt;ul&gt;&lt;li&gt;saveTestcase can automatically tar and gzip the resulting testcase. Use the &amp;quot;-gzip&amp;quot; option. &lt;/li&gt;&lt;li&gt;In 9.1 the GUI will be updated to include the image shown at the top of this piece. It will be accessible under &lt;span style="font-weight:bold;"&gt;&amp;quot;File-&amp;gt;Save-&amp;gt;Testcase...&amp;quot; &lt;/span&gt;&lt;/li&gt;&lt;/ul&gt;&lt;p style="font-weight:bold;"&gt;Not using 8.1.USR2 yet?&lt;/p&gt;&lt;ul&gt;&lt;li&gt;Here are &lt;a href="http://www.cadence.com/Community/blogs/di/archive/2008/12/03/3-reasons-you-ll-want-to-download-encounter-8-1.aspx?postID=13171" target="_blank"&gt;Three Reasons to Move to 8.1 &lt;/a&gt;&lt;/li&gt;&lt;li&gt;Download it &lt;a href="http://downloads.cadence.com" target="_blank"&gt;here&lt;/a&gt; [select your platform, &amp;quot;then SOC81&amp;quot;, then &amp;quot;&lt;span class="bold"&gt;SOC08.10.002&amp;quot;]&lt;/span&gt;&lt;/li&gt;&lt;li&gt;&lt;span class="bold"&gt;In versions prior to 8.1.USR2 there was is a script available in &amp;lt;install_path&amp;gt;/share/fe/gift/scripts/tcl/ called &amp;quot;userCreateZeroReg.tcl&amp;quot; with a very similar use model and capabilities.&lt;br /&gt;&lt;/span&gt;&lt;/li&gt;&lt;/ul&gt;Congratulations to userCreateZeroReg.tcl on &amp;quot;graduating&amp;quot; from the gift scripts to being a productized command. I&amp;#39;m proud of you. :)&lt;br /&gt;&lt;p&gt;&lt;span style="font-style:italic;"&gt;&lt;span style="font-weight:bold;"&gt;Question of the Day:&lt;/span&gt; What are some of the scenarios where self-contained testcase creation is useful to you?&lt;/span&gt;&lt;/p&gt;&lt;p&gt;-Bob Dwyer &lt;/p&gt;&lt;img src="http://www.cadence.com/Community/aggbug.aspx?PostID=19208" width="1" height="1"&gt;&lt;div class="feedflare"&gt;
&lt;a href="http://feeds.feedburner.com/~ff/cadence/community/blogs?a=biFVsLsu0JM:-pd2hgojbJE:yIl2AUoC8zA"&gt;&lt;img src="http://feeds.feedburner.com/~ff/cadence/community/blogs?d=yIl2AUoC8zA" border="0"&gt;&lt;/img&gt;&lt;/a&gt;
&lt;/div&gt;&lt;img src="http://feeds.feedburner.com/~r/cadence/community/blogs/~4/biFVsLsu0JM" height="1" width="1"/&gt;</description><category domain="http://www.cadence.com/Community/blogs/di/archive/tags/Digital+Implementation+forums/default.aspx">Digital Implementation forums</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/testcase/default.aspx">testcase</category><category domain="http://www.cadence.com/Community/blogs/di/archive/tags/How+To/default.aspx">How To</category><feedburner:origLink>http://www.cadence.com/Community/blogs/di/archive/2009/07/16/how-to-create-a-self-contained-testcase-in-encounter.aspx</feedburner:origLink></item><item><title>TLM Brings “ESL” Down To Earth</title><link>http://feedproxy.google.com/~r/cadence/community/blogs/~3/IUvRdOXNmYw/tlm-brings-esl-down-to-earth.aspx</link><pubDate>Thu, 16 Jul 2009 13:14:00 GMT</pubDate><guid isPermaLink="false">75bcbcf9-38a3-4e2e-b84b-26c8c46a9500:19235</guid><dc:creator>rgoering</dc:creator><slash:comments>0</slash:comments><description>&lt;p&gt;Has ESL &amp;ndash; meaning Electronic System Level, not English as a Second Language &amp;ndash; outlived its usefulness as a label that supposedly describes the next step forward for IC and systems design? &amp;ldquo;ESL&amp;rdquo; has become a vague term that applies to many different things. A more specific term, such transaction-level modeling (TLM), gives us something we can understand and evaluate.
&lt;/p&gt;
&lt;p&gt;
While I have written many articles about ESL over the years, I would be hard-pressed to define it. Some would say that ESL involves hardware/software co-development. But the best practical definition I can come up with, considering its use over the years by multiple vendors, is &amp;ldquo;anything that takes place above RTL.&amp;rdquo; ESL has grown to encompass such tools and technologies as:
&lt;/p&gt;
&lt;ul&gt;&lt;li&gt;
Algorithmic development tools that were there all along (SPW, Matlab)
&lt;/li&gt;&lt;li&gt;Virtual platforms for software and/or architectural development (Vast, Virtutech, CoWare, others)
&lt;/li&gt;&lt;li&gt;High-level synthesis (such as Cadence&lt;a href="http://www.cadence.com/products/sd/silicon_compiler/Pages/default.aspx" target="_blank"&gt; C-to-Silicon Compiler&lt;/a&gt;)
&lt;/li&gt;&lt;li&gt;Hardware/software co-verification tools (such as Cadence &lt;a href="http://www.cadence.com/products/sd/isx/Pages/default.aspx" target="_blank"&gt;Incisive Software Extensions&lt;/a&gt;)
&lt;/li&gt;&lt;li&gt;SystemC TLM modeling for implementation and/or verification
&lt;/li&gt;&lt;/ul&gt;
&lt;p&gt;
All these technologies are important, especially as software development looms as the biggest single obstacle to getting electronic products out the door. While interrelated, all are different. There is no one ESL market or methodology. There are different markets with different users, many of whom still think &amp;ldquo;ESL&amp;rdquo; stands for English as a Second Language.
&lt;/p&gt;
&lt;p&gt;
For many years ESL &amp;ndash; and its predecessor, if anyone remembers ESDA &amp;ndash; were handy ways of referring to a diverse set of technologies aimed at raising the abstraction level of IC design. But now that the underlying technologies are starting to take hold, it&amp;rsquo;s time to look underneath the all-encompassing &amp;ldquo;ESL&amp;rdquo; label. 
&lt;/p&gt;
&lt;p&gt;
Cadence this week is rolling out a &lt;a href="http://www.cadence.com/cadence/newsroom/press_releases/pages/pr.aspx?xml=071509_tlm" target="_blank"&gt;TLM-driven design and verification solution&lt;/a&gt;. It includes enhancements to existing tools such as C-to-Silicon Compiler and the Incisive Enterprise Simulator, upcoming methodology guides and manuals, and services. Unlike ESL, TLM is a clearly understood term &amp;ndash; there are even standard definitions provided by the &lt;a href="http://www.systemc.org/home" target="_blank"&gt;Open SystemC Initiative&lt;/a&gt;. Many design and verification teams already use TLM in some form. 
&lt;/p&gt;
&lt;p&gt;
Not only is TLM easy to understand, but its benefits are clear and, in some cases, quantifiable. A TLM-based flow promises faster design creation and bug fixing, much faster simulation, fewer bugs, and better support for hardware/software co-verification. But perhaps the most compelling benefit is IP reuse; if you design IP at the transaction-level, it is much easier to port to different micro-architectures.
&lt;/p&gt;
&lt;p&gt;
Early attempts at ESL all too often tried to impose a new methodology or non-standard language from the top down, with little or no connection to the downstream design flow. The nice thing about TLM is that it&amp;rsquo;s an evolutionary step up that leverages the strengths of today&amp;rsquo;s design environments, rather than trying to replace those environments.
&lt;/p&gt;
&lt;p&gt;
While incremental, the move to TLM puts us in a better position to drive innovations in other technologies that have fallen under the ESL umbrella &amp;ndash; including algorithmic tools, virtual platforms, high-level synthesis, and hardware/software co-design and co-verification. For example, transaction-level models can help build virtual platforms. They can also be used in hardware/software co-verification. And high-level synthesis is a critical enabler of the TLM-based flow.
&lt;/p&gt;
&lt;p&gt;
The move upwards in abstraction can start right now, with TLM-driven design and verification. All technologies identified as &amp;ldquo;ESL&amp;rdquo; will benefit. But as we move up, let&amp;rsquo;s speak in clear terms engineers can understand -- there is no need to invent a &amp;ldquo;second language&amp;rdquo; to describe a natural, evolutionary process.
&lt;/p&gt;
&lt;p&gt;
Richard Goering

&lt;/p&gt;&lt;p&gt;&amp;nbsp;&lt;/p&gt;&lt;p&gt;&lt;a href="http://technorati.com/claim/ic5tw4g26j%20" target="_blank"&gt;Technorati Profile&lt;/a&gt;&lt;/p&gt;&lt;img src="http://www.cadence.com/Community/aggbug.aspx?PostID=19235" width="1" height="1"&gt;&lt;div class="feedflare"&gt;
&lt;a href="http://feeds.feedburner.com/~ff/cadence/community/blogs?a=IUvRdOXNmYw:PH0OKPkoq4I:yIl2AUoC8zA"&gt;&lt;img src="http://feeds.feedburner.com/~ff/cadence/community/blogs?d=yIl2AUoC8zA" border="0"&gt;&lt;/img&gt;&lt;/a&gt;
&lt;/div&gt;&lt;img src="http://feeds.feedburner.com/~r/cadence/community/blogs/~4/IUvRdOXNmYw" height="1" width="1"/&gt;</description><category domain="http://www.cadence.com/Community/blogs/ii/archive/tags/Industry+Insights/default.aspx">Industry Insights</category><category domain="http://www.cadence.com/Community/blogs/ii/archive/tags/ESL/default.aspx">ESL</category><category domain="http://www.cadence.com/Community/blogs/ii/archive/tags/SystemC/default.aspx">SystemC</category><category domain="http://www.cadence.com/Community/blogs/ii/archive/tags/RTL/default.aspx">RTL</category><category domain="http://www.cadence.com/Community/blogs/ii/archive/tags/C-toSilicon/default.aspx">C-toSilicon</category><category domain="http://www.cadence.com/Community/blogs/ii/archive/tags/TLM/default.aspx">TLM</category><category domain="http://www.cadence.com/Community/blogs/ii/archive/tags/ISX/default.aspx">ISX</category><feedburner:origLink>http://www.cadence.com/Community/blogs/ii/archive/2009/07/16/tlm-brings-esl-down-to-earth.aspx</feedburner:origLink></item><item><title>RF Measurement Library: Capturing Circuit Characterization Setups on the Schematic</title><link>http://feedproxy.google.com/~r/cadence/community/blogs/~3/OyqOjyNa62c/RF-Measurement-Library_3A00_-Capturing-circuit-characterization-setups-on-the-schematic.aspx</link><pubDate>Thu, 16 Jul 2009 13:00:00 GMT</pubDate><guid isPermaLink="false">75bcbcf9-38a3-4e2e-b84b-26c8c46a9500:19216</guid><dc:creator>alanw</dc:creator><slash:comments>0</slash:comments><description>Another design approach that Cadence supports that may not be obvious to all users&amp;hellip; The process of setting up a circuit simulation has historically been one of setting up all of the simulation control parameters (i.e. which analysis you want to run, what simulation data you want to save, accuracy tolerances, etc.) and then, after the simulation has completed, defining the measurements you want to make (i.e. noise figure, dc supply current, gain, etc.). The expectation here is that the user...(&lt;a href="http://www.cadence.com/Community/blogs/rf/archive/2009/07/16/RF-Measurement-Library_3A00_-Capturing-circuit-characterization-setups-on-the-schematic.aspx"&gt;read more&lt;/a&gt;)&lt;img src="http://www.cadence.com/Community/aggbug.aspx?PostID=19216" width="1" height="1"&gt;&lt;div class="feedflare"&gt;
&lt;a href="http://feeds.feedburner.com/~ff/cadence/community/blogs?a=OyqOjyNa62c:fCW21eyKagU:yIl2AUoC8zA"&gt;&lt;img src="http://feeds.feedburner.com/~ff/cadence/community/blogs?d=yIl2AUoC8zA" border="0"&gt;&lt;/img&gt;&lt;/a&gt;
&lt;/div&gt;&lt;img src="http://feeds.feedburner.com/~r/cadence/community/blogs/~4/OyqOjyNa62c" height="1" width="1"/&gt;</description><category domain="http://www.cadence.com/Community/blogs/rf/archive/tags/RF+design/default.aspx">RF design</category><category domain="http://www.cadence.com/Community/blogs/rf/archive/tags/RFIC/default.aspx">RFIC</category><category domain="http://www.cadence.com/Community/blogs/rf/archive/tags/RF+Measurement+library/default.aspx">RF Measurement library</category><category domain="http://www.cadence.com/Community/blogs/rf/archive/tags/Circuit+simulation/default.aspx">Circuit simulation</category><category domain="http://www.cadence.com/Community/blogs/rf/archive/tags/Custom+Design/default.aspx">Custom Design</category><category domain="http://www.cadence.com/Community/blogs/rf/archive/tags/design+framework/default.aspx">design framework</category><feedburner:origLink>http://www.cadence.com/Community/blogs/rf/archive/2009/07/16/RF-Measurement-Library_3A00_-Capturing-circuit-characterization-setups-on-the-schematic.aspx</feedburner:origLink></item><item><title>TLM-Driven Design and Verification Solution</title><link>http://feedproxy.google.com/~r/cadence/community/blogs/~3/Vlzc8JduO00/tlm-driven-design-and-verification-solution.aspx</link><pubDate>Thu, 16 Jul 2009 00:15:00 GMT</pubDate><guid isPermaLink="false">75bcbcf9-38a3-4e2e-b84b-26c8c46a9500:19138</guid><dc:creator>Steve Brown</dc:creator><slash:comments>0</slash:comments><description>At this week&amp;#39;s CDNLive! Japan we made an important press release announcement about our new TLM-driven Design and Verification Solution, and delivered the first Techtorial covering the technology and methodology. The solution combines C-to-Silicon Compiler (CtoS) , Incisive Enterprise Simulator (IES) , Incisive Enterprise Manager (IEM) to enable customers to use transaction level modeling (TLM) for design and verification. The unified methodology is built upon the OVM and SystemC industry standards...(&lt;a href="http://www.cadence.com/Community/blogs/sd/archive/2009/07/15/tlm-driven-design-and-verification-solution.aspx"&gt;read more&lt;/a&gt;)&lt;img src="http://www.cadence.com/Community/aggbug.aspx?PostID=19138" width="1" height="1"&gt;&lt;div class="feedflare"&gt;
&lt;a href="http://feeds.feedburner.com/~ff/cadence/community/blogs?a=Vlzc8JduO00:r4rrDyN0jrA:yIl2AUoC8zA"&gt;&lt;img src="http://feeds.feedburner.com/~ff/cadence/community/blogs?d=yIl2AUoC8zA" border="0"&gt;&lt;/img&gt;&lt;/a&gt;
&lt;/div&gt;&lt;img src="http://feeds.feedburner.com/~r/cadence/community/blogs/~4/Vlzc8JduO00" height="1" width="1"/&gt;</description><category domain="http://www.cadence.com/Community/blogs/sd/archive/tags/Incisive/default.aspx">Incisive</category><category domain="http://www.cadence.com/Community/blogs/sd/archive/tags/ARM/default.aspx">ARM</category><category domain="http://www.cadence.com/Community/blogs/sd/archive/tags/C-to-Silicon/default.aspx">C-to-Silicon</category><category domain="http://www.cadence.com/Community/blogs/sd/archive/tags/System+Design+and++Verification/default.aspx">System Design and  Verification</category><category domain="http://www.cadence.com/Community/blogs/sd/archive/tags/TDM/default.aspx">TDM</category><category domain="http://www.cadence.com/Community/blogs/sd/archive/tags/Calypto/default.aspx">Calypto</category><category domain="http://www.cadence.com/Community/blogs/sd/archive/tags/system+C/default.aspx">system C</category><category domain="http://www.cadence.com/Community/blogs/sd/archive/tags/TLM-driven+design/default.aspx">TLM-driven design</category><feedburner:origLink>http://www.cadence.com/Community/blogs/sd/archive/2009/07/15/tlm-driven-design-and-verification-solution.aspx</feedburner:origLink></item><item><title>What's Good About ABIML in PCB SI? It's in SPB16.2!</title><link>http://feedproxy.google.com/~r/cadence/community/blogs/~3/VifZMrHHvI0/what-s-good-about-abiml-in-pcb-si-it-s-in-spb16-2.aspx</link><pubDate>Wed, 15 Jul 2009 19:01:00 GMT</pubDate><guid isPermaLink="false">75bcbcf9-38a3-4e2e-b84b-26c8c46a9500:19217</guid><dc:creator>Jerry GenPart</dc:creator><slash:comments>0</slash:comments><description>&lt;p&gt;First - &lt;b&gt;ABIML &lt;/b&gt;is an acronym for &lt;u&gt;&lt;b&gt;A&lt;/b&gt;&lt;/u&gt;lgorithm-&lt;b&gt;&lt;u&gt;B&lt;/u&gt;&lt;/b&gt;ased &lt;b&gt;&lt;u&gt;I&lt;/u&gt;&lt;/b&gt;nterconnect &lt;b&gt;&lt;u&gt;M&lt;/u&gt;&lt;/b&gt;odel &lt;u&gt;&lt;b&gt;L&lt;/b&gt;&lt;/u&gt;ibrary.&lt;/p&gt;&lt;p&gt;Currently, the model in the interconnect model library (IML) can only be reused by matching model name, model type, or exact &amp;quot;TraceGeometryData&amp;quot;, which includes key information such as shield layer, dielectric layer, trace layer and the exact trace physical geometry. If any of the model geometry data is mismatched, the field solver is called to create a new model. In addition, for dynamic analysis, the frequency spectrum must also be matched. This &amp;quot;exact&amp;quot; model matching procedure provides designers the most accurate electrical parameters as our tool can and will still be active in the future.&lt;br /&gt;&lt;br /&gt;Interconnect modeling, which relies heavily on electromagnetic computation and optimization, is essential and critical in high-speed electronic circuit design. The more complex interconnect structures require the use of the new EMS2D full wave field solver, where computation is extremely CPU intensive and not practical in interactive design.&lt;br /&gt;&lt;br /&gt;The new methodology is to shift the time needed in model generation by building the algorithm-based models off-line through rigorous full-wave EM simulation. These verified models are then reused to generate new required models efficiently without calling the field solver again. &lt;/p&gt;&lt;p&gt;In the algorithm-based interconnect model library (ABIML), interconnect models are all parameterized and validated for their application range with pre-specified accuracy control. When a specific model is requested from this library, the library will try to provide the model by checking if the needed model is within the algorithm range of the existing same kind of models in the library. Otherwise this library calls the field solver to acquire the model.&lt;br /&gt;&lt;br /&gt;Algorithm-based interconnect models are designed to greatly enhance simulation times when interconnect models that match simulation criteria cannot be found in existing traditional models. Algorithmic model generation lets you create accurate interconnect models off-line that exactly match not only shield, dielectric, trace and physical geometry layer information but also entire frequency spectrums. These models are then integrated into libraries for reuse in multiple simulations. There is currently no capability for users to create their own ABIML models.&lt;br /&gt;&lt;br /&gt;Algorithm-based modeling is optional. You can enable/disable it from the InterconnectModels tab of the Analysis Preferences dialog box in &lt;a href="https://www.cadence.com:443/products/pcb/pcb_si/pages/default.aspx" target="_blank"&gt;Allegro PCB SI&lt;/a&gt; or the Simulation Parameters tab in SigXplorer.&lt;/p&gt;&lt;p&gt;&amp;nbsp;&lt;img src="http://farm3.static.flickr.com/2433/3723500657_5b64a918a7.jpg" align="top" height="414" width="353" alt="" /&gt;&lt;/p&gt;&lt;p&gt;&amp;nbsp;&lt;/p&gt;&lt;p&gt;If you turn off algorithm modeling, the PCB SI tools will not search for algorithm-based models. Instead, it will directly engage the selected field solver to create the required model. This process is illustrated in the flow chart below.&lt;/p&gt;&lt;p&gt;&lt;img src="http://farm4.static.flickr.com/3431/3723500685_7b0d6b2e21.jpg" align="baseline" height="500" width="415" alt="" /&gt;&lt;/p&gt;&lt;p&gt;&amp;nbsp;&lt;/p&gt;&lt;p&gt;I&amp;#39;m curious how many have been using this feature in the SPB16.2 release?&lt;/p&gt;&lt;p align="left"&gt;The ABIML libraries are stored in &amp;lt;install_dir&amp;gt;/share/pcb/signal. The syntax of the model contains two sections:&lt;/p&gt;
       &lt;ul&gt;&lt;li&gt; 
           Model information such as parameter range, interpolation type, and sweep step type
         &lt;/li&gt;&lt;li&gt;
           Multiple RLGC data used in model generation
         &lt;/li&gt;&lt;/ul&gt;       &lt;p align="left"&gt;         The following is a simple example of the file format.&lt;/p&gt;
       &lt;pre class="style7"&gt;[Model] abiml_test&lt;br /&gt;[Model Info]&lt;br /&gt;  [Field_Solver_Used] ems2d&lt;br /&gt;  [ABIML_Version] 1.0&lt;br /&gt;  [Model_Type] singletrace&lt;br /&gt;  [Num_of_Port] 2&lt;br /&gt;  [Num_of_DielectricLayer] 1&lt;br /&gt;  [Num_of_ShieldLayer] 1&lt;br /&gt;&lt;br /&gt;  [Parameter Info]&lt;br /&gt;    [LayerStack]&lt;br /&gt;      [Layer] 1&lt;br /&gt;        * min max step step_type interp_type ID&lt;br /&gt;        [Thickness] 1.0 1.0&lt;br /&gt;        [Constant] 1.0 1.0&lt;br /&gt;        [Losstangent] 0.0 0.0&lt;br /&gt;        [IsShield] YES&lt;br /&gt;&lt;br /&gt;      [Layer] 2&lt;br /&gt;        * min max step step_type interp_type ID&lt;br /&gt;        [Thickness] 1.0 2.0 5 linear linear 1&lt;br /&gt;        [Constant] 4.4 4.6 3 log 2_order_poly 2&lt;br /&gt;        [Losstangent] 0.0 0.0&lt;br /&gt;        [IsShield] NO&lt;br /&gt;    [End LayerStack]&lt;br /&gt;    [CrossSection]&lt;br /&gt;      [conductor] 1&lt;br /&gt;        * min max step step_type interp_type ID&lt;br /&gt;        [Thickness] 1.0 1.5 5 linear linear 3&lt;br /&gt;        [Width] 1.0 10.0 20 linear 2_order_poly 4&lt;br /&gt;        [Losstangent] 0.0 0.0&lt;br /&gt;        [end CrossSection]&lt;br /&gt;[End Model Info]&lt;br /&gt;[Model Data]&lt;br /&gt;    [Data] 1&lt;br /&gt;      [R] 1.459500e+01&lt;br /&gt;      [L] 6.088700e-07&lt;br /&gt;      [G] 0.000000e+00&lt;br /&gt;      [C] 5.162900e-11&lt;br /&gt;      [Data Condition]&lt;br /&gt;      *       ID          value&lt;br /&gt;              1            1.0&lt;br /&gt;              2            4.4&lt;br /&gt;              3            1.0&lt;br /&gt;              4            1.0&lt;br /&gt;      .....&lt;br /&gt;    [Data] 4725&lt;br /&gt;      [R] 3.630000e+00&lt;br /&gt;      [L] 4.567500e-07&lt;br /&gt;      [G] 0.000000e+00&lt;br /&gt;      [C] 7.440100e-11&lt;br /&gt;      [Data Condition]&lt;br /&gt;      *       ID          value&lt;br /&gt;              1            2.0&lt;br /&gt;              2            4.6&lt;br /&gt;              3            1.5&lt;br /&gt;              4           10.0&lt;br /&gt;[End Model Data]&lt;br /&gt;[End Model]&lt;/pre&gt;&lt;p&gt;&amp;nbsp;&lt;/p&gt;&lt;p&gt;As always, I welcome your feedback!&lt;/p&gt;&lt;p&gt;&amp;nbsp;&lt;/p&gt;&lt;p&gt;&lt;i&gt;Jerry &amp;quot;GenPart&amp;quot; Grzenia &lt;/i&gt;&lt;/p&gt;&lt;img src="http://www.cadence.com/Community/aggbug.aspx?PostID=19217" width="1" height="1"&gt;&lt;div class="feedflare"&gt;
&lt;a href="http://feeds.feedburner.com/~ff/cadence/community/blogs?a=VifZMrHHvI0:1RxssMTbDNQ:yIl2AUoC8zA"&gt;&lt;img src="http://feeds.feedburner.com/~ff/cadence/community/blogs?d=yIl2AUoC8zA" border="0"&gt;&lt;/img&gt;&lt;/a&gt;
&lt;/div&gt;&lt;img src="http://feeds.feedburner.com/~r/cadence/community/blogs/~4/VifZMrHHvI0" height="1" width="1"/&gt;</description><category domain="http://www.cadence.com/Community/blogs/pcb/archive/tags/PCB+design/default.aspx">PCB design</category><category domain="http://www.cadence.com/Community/blogs/pcb/archive/tags/Allegro/default.aspx">Allegro</category><category domain="http://www.cadence.com/Community/blogs/pcb/archive/tags/SPB+16.2/default.aspx">SPB 16.2</category><category domain="http://www.cadence.com/Community/blogs/pcb/archive/tags/SI/default.aspx">SI</category><category domain="http://www.cadence.com/Community/blogs/pcb/archive/tags/ABIML/default.aspx">ABIML</category><feedburner:origLink>http://www.cadence.com/Community/blogs/pcb/archive/2009/07/15/what-s-good-about-abiml-in-pcb-si-it-s-in-spb16-2.aspx</feedburner:origLink></item><item><title>EDA In 1964 – A Look Back At The First DAC</title><link>http://feedproxy.google.com/~r/cadence/community/blogs/~3/ZfqkGP2LUfs/eda-in-1964-a-look-back-at-the-first-dac.aspx</link><pubDate>Wed, 15 Jul 2009 15:59:00 GMT</pubDate><guid isPermaLink="false">75bcbcf9-38a3-4e2e-b84b-26c8c46a9500:19213</guid><dc:creator>rgoering</dc:creator><slash:comments>0</slash:comments><description>&lt;p&gt;
The fact that the 46th annual &lt;a href="http://www.dac.com/46th/index.aspx" target="_blank"&gt;Design Automation Conference&lt;/a&gt; (DAC) is coming up tells us that EDA has been around a lot longer than most people think. What were they talking about back in 1964, the first year for which proceedings are available? (This was technically the &amp;ldquo;second&amp;rdquo; DAC, although it wasn&amp;rsquo;t called that -- it was the first workshop hosted by the SHARE Design Automation Committee. At the &amp;ldquo;first&amp;rdquo; DAC, in Miami in 1963, the SHARE Design Automation Committee was formed.)
&lt;/p&gt;
&lt;p&gt;
DAC founder Pat Pistilli, then chairman of the SHARE Design Automation Committee, introduced the 1964 workshop by talking about the history of SHARE (an organization of computer professionals founded in 1955) and the decision to launch a committee focused on design automation. &amp;ldquo;Design automation had grown, by that time [1963], from a searching infancy to a rapidly maturing adolescence as a result of increasing effort throughout industry,&amp;rdquo; he said. So it appears that electronic design automation was almost a teenager in 1963!
&lt;/p&gt;
&lt;p&gt;
Keynote speaker August Bolino (affiliation not given) spoke about the benefits of &amp;ldquo;automation,&amp;rdquo; a controversial subject in those days. &amp;ldquo;As you know, there is very wide concern nowadays of what the computer is doing to man as an individual and a member of society,&amp;rdquo; he said. But Bolino ticked off the benefits. &amp;ldquo;We now have a 600 billion dollar economy, we have 70 million people employed, and per-capita income just passed the $2,500 mark. We have managed to take most of the drudgery out of work, we see a plethora of new products, and we have books which are being published by computers.&amp;rdquo;
&lt;/p&gt;
&lt;p&gt;
Several papers were presented at the workshop. One IBM paper looked at &amp;ldquo;the problem of programming a digital computer to formulate and solve the algebraic and differential equations characterizing linear and/or nonlinear networks.&amp;rdquo; Another IBM paper describes an experimental program for computing the dc and transient response of transistor switching circuits of &amp;ldquo;arbitrary&amp;rdquo; configuration and size &amp;ndash; all the way up to 20 transistors. 
&lt;/p&gt;
&lt;p&gt;
A paper authored by computer graphics pioneer Ivan Sutherland (then from MIT) described Sketchpad, a graphical communications system that &amp;ldquo;makes it possible for a man and a computer to converse rapidly through the medium of line drawings. Heretofore, most interaction between man and computers has been slowed down by the need to reduce all communication to written statement that can be typed,&amp;rdquo; the paper abstract said. A separate IBM paper described a 3D version of Sketchpad.
&lt;/p&gt;
&lt;p&gt;
An MIT paper presented the AED compiler, a &amp;ldquo;single language which can take either verbal or graphical form&amp;rdquo; for CAD applications. This sounds somewhat like an early attempt at ESL. Other papers discussed Autocard, an automated pc-board design system from Boeing; a computer program for space frame analysis; the impact of design automation on production test; graphic data processing; and geometric placement of units on a plane.
&lt;/p&gt;
&lt;p&gt;
In a concluding remark, F.G. Fielding of North American Aviation noted that the approximately 250 attendees represent &amp;ldquo;a new, young unique industrial art.&amp;rdquo; I wonder what those 1964 workshop attendees would think of DAC today, with its 200-plus exhibits, giveaways, promotions, lunches, parties, wall-to-wall panels, and extensive technical program. Could they have foreseen what their &amp;ldquo;new, young unique industrial art&amp;rdquo; would become some 45 years later?&amp;nbsp; Proceedings of the 1964 SHARE Design Automation workshop are available in the &lt;a href="http://portal.acm.org/toc.cfm?id=800265&amp;amp;coll=portal&amp;amp;dl=ACM&amp;amp;type=proceeding&amp;amp;idx=SERIES380&amp;amp;part=series&amp;amp;WantType=Proceedings&amp;amp;title=DAC&amp;amp;CFID=19845851&amp;amp;CFTOKEN=2270133" target="_blank"&gt;ACM Library&lt;/a&gt;.
&lt;/p&gt;
&lt;p&gt;
Richard Goering

&lt;/p&gt;&lt;p&gt;&amp;nbsp;&lt;/p&gt;&lt;img src="http://www.cadence.com/Community/aggbug.aspx?PostID=19213" width="1" height="1"&gt;&lt;div class="feedflare"&gt;
&lt;a href="http://feeds.feedburner.com/~ff/cadence/community/blogs?a=ZfqkGP2LUfs:MYPG0f6jg_o:yIl2AUoC8zA"&gt;&lt;img src="http://feeds.feedburner.com/~ff/cadence/community/blogs?d=yIl2AUoC8zA" border="0"&gt;&lt;/img&gt;&lt;/a&gt;
&lt;/div&gt;&lt;img src="http://feeds.feedburner.com/~r/cadence/community/blogs/~4/ZfqkGP2LUfs" height="1" width="1"/&gt;</description><category domain="http://www.cadence.com/Community/blogs/ii/archive/tags/EDA/default.aspx">EDA</category><category domain="http://www.cadence.com/Community/blogs/ii/archive/tags/Industry+Insights/default.aspx">Industry Insights</category><category domain="http://www.cadence.com/Community/blogs/ii/archive/tags/DAC/default.aspx">DAC</category><category domain="http://www.cadence.com/Community/blogs/ii/archive/tags/automation/default.aspx">automation</category><feedburner:origLink>http://www.cadence.com/Community/blogs/ii/archive/2009/07/15/eda-in-1964-a-look-back-at-the-first-dac.aspx</feedburner:origLink></item><item><title>Tips on Using e Macros to Raise Abstraction and Facilitate Reuse</title><link>http://feedproxy.google.com/~r/cadence/community/blogs/~3/iGtCSfdtoGo/tips-on-using-e-macros-to-raise-abstraction-amp-facilitate-reuse.aspx</link><pubDate>Wed, 15 Jul 2009 13:30:00 GMT</pubDate><guid isPermaLink="false">75bcbcf9-38a3-4e2e-b84b-26c8c46a9500:19175</guid><dc:creator>teamspecman</dc:creator><slash:comments>0</slash:comments><description>&lt;p&gt;
&lt;i&gt;[Please welcome Yuri Tsoglin of &lt;a href="http://www.cadence.com/products/fv/enterprise_specman_elite/Pages/default.aspx" target="_blank"&gt;Specman&lt;/a&gt; R&amp;amp;D to the guest blogging rostrum.]
&lt;/i&gt;&lt;/p&gt;
&lt;p&gt;
As my colleague Hilmar van der Kooij noted in a previous post, &lt;b&gt;&lt;i&gt;e&lt;/i&gt;&lt;/b&gt;&amp;#39;s &amp;quot;defined as computed&amp;quot; macro capability is a great way to condense repetitive blocks of code into a few easy to read, parameterized lines.  Building on Hilmar&amp;rsquo;s practical introduction, I&amp;rsquo;m going to ask you to take a step back and look at macros in broader context: specifically, consider that macros allow you to effectively introduce your own language constructs in an almost unlimited way.  Whether you stick with a purely practical view of macros, or accept this proposed conceptual view, the benefits are the same: macros are a very powerful tool to help to raise the level of abstraction and facilitate reuse of your testbench.
&lt;/p&gt;
&lt;p&gt;
Of course, using macros in a haphazard way can be more harmful than helpful since a macro defined improperly, or used in a situation that does not really require a macro, can cause the code to become obscure and less readable.  Thus, allow me to give some useful tips on when macros should or should not be used, and when the &amp;ldquo;define-as-computed&amp;rdquo; macro capability referenced in Hilmar&amp;rsquo;s post is more appropriate than &lt;b&gt;&lt;i&gt;e&lt;/i&gt;&lt;/b&gt;&amp;rsquo;s &amp;ldquo;define-as&amp;rdquo; macro capability
&lt;/p&gt;
&lt;p&gt;
A macro introduces a new &lt;u&gt;syntactic&lt;/u&gt; construct to the language, and that&amp;#39;s the primary reason they should be added to your code. For example, if you have a reused syntactic pattern in your code, such as a group of struct members related to each other in a certain way: 
&lt;/p&gt;

&lt;p class="MsoNormal"&gt;&lt;span style="font-size:8pt;font-family:&amp;#39;Courier New&amp;#39;;"&gt;&amp;lt;&amp;#39;&lt;/span&gt;&lt;/p&gt;

&lt;p class="MsoNormal"&gt;&lt;span style="font-size:8pt;font-family:&amp;#39;Courier New&amp;#39;;"&gt;struct
my_struct_s {&lt;/span&gt;&lt;/p&gt;

&lt;p class="MsoNormal"&gt;&lt;span style="font-size:8pt;font-family:&amp;#39;Courier New&amp;#39;;"&gt;&amp;nbsp;&lt;/span&gt;&lt;/p&gt;

&lt;p class="MsoNormal"&gt;&lt;span style="font-size:8pt;font-family:&amp;#39;Courier New&amp;#39;;"&gt;&lt;span&gt;&amp;nbsp;&amp;nbsp; &lt;/span&gt;private a: uint;&lt;/span&gt;&lt;/p&gt;

&lt;p class="MsoNormal"&gt;&lt;span style="font-size:8pt;font-family:&amp;#39;Courier New&amp;#39;;"&gt;&lt;span&gt;&amp;nbsp;&amp;nbsp; &lt;/span&gt;get_a(): uint is {return a};&lt;/span&gt;&lt;/p&gt;

&lt;p class="MsoNormal"&gt;&lt;span style="font-size:8pt;font-family:&amp;#39;Courier New&amp;#39;;"&gt;&lt;span&gt;&amp;nbsp;&amp;nbsp; &lt;/span&gt;set_a(value: uint) is {a = value};&lt;/span&gt;&lt;/p&gt;

&lt;p class="MsoNormal"&gt;&lt;span style="font-size:8pt;font-family:&amp;#39;Courier New&amp;#39;;"&gt;&lt;span&gt;&amp;nbsp;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;

&lt;p class="MsoNormal"&gt;&lt;span style="font-size:8pt;font-family:&amp;#39;Courier New&amp;#39;;"&gt;&lt;span&gt;&amp;nbsp;&amp;nbsp; &lt;/span&gt;private b: uint;&lt;/span&gt;&lt;/p&gt;

&lt;p class="MsoNormal"&gt;&lt;span style="font-size:8pt;font-family:&amp;#39;Courier New&amp;#39;;"&gt;&lt;span&gt;&amp;nbsp;&amp;nbsp; &lt;/span&gt;get_b(): uint is {return b};&lt;/span&gt;&lt;/p&gt;

&lt;p class="MsoNormal"&gt;&lt;span style="font-size:8pt;font-family:&amp;#39;Courier New&amp;#39;;"&gt;&lt;span&gt;&amp;nbsp;&amp;nbsp; &lt;/span&gt;set_b(value: uint) is {b = value};&lt;/span&gt;&lt;/p&gt;

&lt;p class="MsoNormal"&gt;&lt;span style="font-size:8pt;font-family:&amp;#39;Courier New&amp;#39;;"&gt;&lt;span&gt;&amp;nbsp; &lt;/span&gt;&lt;/span&gt;&lt;/p&gt;

&lt;p class="MsoNormal"&gt;&lt;span style="font-size:8pt;font-family:&amp;#39;Courier New&amp;#39;;"&gt;&lt;span&gt;&amp;nbsp;&amp;nbsp; &lt;/span&gt;// same code for defining c,d,e &amp;hellip;&lt;/span&gt;&lt;/p&gt;

&lt;p class="MsoNormal"&gt;&lt;span style="font-size:8pt;font-family:&amp;#39;Courier New&amp;#39;;"&gt;};&lt;/span&gt;&lt;/p&gt;

&lt;p class="MsoNormal"&gt;&lt;span style="font-size:8pt;font-family:&amp;#39;Courier New&amp;#39;;"&gt;&amp;#39;&amp;gt;&lt;/span&gt;&lt;/p&gt;

&lt;p class="MsoNormal"&gt;&lt;span style="font-size:8pt;font-family:&amp;#39;Courier New&amp;#39;;"&gt;&lt;/span&gt;&lt;/p&gt;

&lt;p&gt;
A macro such as the following would be the best thing to do:
&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;&lt;p class="MsoNormal"&gt;&lt;span style="font-size:8pt;font-family:&amp;#39;Courier New&amp;#39;;"&gt;&amp;lt;&amp;#39;&lt;/span&gt;&lt;/p&gt;

&lt;p class="MsoNormal"&gt;&lt;span style="font-size:8pt;font-family:&amp;#39;Courier New&amp;#39;;"&gt;define
&amp;lt;my_priv_field&amp;#39;struct_member&amp;gt; &amp;quot;priv_field &amp;lt;name&amp;gt;[ ]:[
]&amp;lt;type&amp;gt;&amp;quot; as {&lt;/span&gt;&lt;/p&gt;

&lt;p class="MsoNormal"&gt;&lt;span style="font-size:8pt;font-family:&amp;#39;Courier New&amp;#39;;"&gt;&lt;span&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;private &amp;lt;name&amp;gt;: &amp;lt;type&amp;gt;;&lt;/span&gt;&lt;/p&gt;

&lt;p class="MsoNormal"&gt;&lt;span style="font-size:8pt;font-family:&amp;#39;Courier New&amp;#39;;"&gt;&lt;span&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;get_&amp;lt;name&amp;gt;(): &amp;lt;type&amp;gt; is {
return &amp;lt;name&amp;gt; };&lt;/span&gt;&lt;/p&gt;

&lt;p class="MsoNormal"&gt;&lt;span style="font-size:8pt;font-family:&amp;#39;Courier New&amp;#39;;"&gt;&lt;span&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;set_&amp;lt;name&amp;gt;(value: &amp;lt;type&amp;gt;) is {
&amp;lt;name&amp;gt; = value };&lt;/span&gt;&lt;/p&gt;

&lt;p class="MsoNormal"&gt;&lt;span style="font-size:8pt;font-family:&amp;#39;Courier New&amp;#39;;"&gt;};&lt;/span&gt;&lt;/p&gt;

&lt;p class="MsoNormal"&gt;&lt;span style="font-size:8pt;font-family:&amp;#39;Courier New&amp;#39;;"&gt;&amp;#39;&amp;gt;&lt;/span&gt;&lt;/p&gt;


&lt;p&gt;
as this would allow you to implement a new language construct to represent a private field definition as well as the two required methods: 
&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;&lt;p class="MsoNormal"&gt;&lt;span style="font-size:8pt;font-family:&amp;#39;Courier New&amp;#39;;"&gt;&amp;lt;&amp;#39;&lt;/span&gt;&lt;/p&gt;

&lt;p class="MsoNormal"&gt;&lt;span style="font-size:8pt;font-family:&amp;#39;Courier New&amp;#39;;"&gt;struct
my_struct_s {&lt;span&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;/span&gt;&lt;/p&gt;

&lt;p class="MsoNormal"&gt;&lt;span style="font-size:8pt;font-family:&amp;#39;Courier New&amp;#39;;"&gt;&lt;span&gt;&amp;nbsp; &lt;/span&gt;&lt;span&gt;&amp;nbsp;&amp;nbsp;&lt;/span&gt;priv_field a: uint;&lt;/span&gt;&lt;/p&gt;

&lt;p class="MsoNormal"&gt;&lt;span style="font-size:8pt;font-family:&amp;#39;Courier New&amp;#39;;"&gt;&lt;span&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;priv_field b: uint;&lt;/span&gt;&lt;/p&gt;

&lt;p class="MsoNormal"&gt;&lt;span style="font-size:8pt;font-family:&amp;#39;Courier New&amp;#39;;"&gt;&lt;span&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&amp;hellip; &lt;/span&gt;&lt;/p&gt;

&lt;p class="MsoNormal"&gt;&lt;span style="font-size:8pt;font-family:&amp;#39;Courier New&amp;#39;;"&gt;&lt;span&gt;&amp;nbsp; &lt;/span&gt;};&lt;/span&gt;&lt;/p&gt;

&lt;span style="font-size:8pt;font-family:&amp;#39;Courier New&amp;#39;;"&gt;&amp;#39;&amp;gt;&lt;/span&gt;
&lt;p&gt;
However, it is not a good idea to use a macro where other basic language tools will do.  For example, don&amp;#39;t use a macro to make up a &amp;quot;pseudo-method&amp;quot; that multiplies the field &amp;ldquo;f&amp;rdquo; in a certain struct by a given factor:
&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;

&lt;p class="MsoNormal"&gt;&lt;span style="font-size:8pt;font-family:&amp;#39;Courier New&amp;#39;;color:black;"&gt;&amp;lt;&amp;#39;&lt;/span&gt;&lt;/p&gt;

&lt;p class="MsoNormal"&gt;&lt;span style="font-size:8pt;font-family:&amp;#39;Courier New&amp;#39;;color:black;"&gt;-- This is an example for what should NOT be done&lt;/span&gt;&lt;/p&gt;

&lt;p class="MsoNormal"&gt;&lt;span style="font-size:8pt;font-family:&amp;#39;Courier New&amp;#39;;color:black;"&gt;define &amp;lt;print_hex&amp;#39;exp&amp;gt;
&amp;quot;multiply_f\(&amp;lt;factor&amp;#39;exp&amp;gt;\)&amp;quot; as {&lt;/span&gt;&lt;/p&gt;

&lt;p class="MsoNormal"&gt;&lt;span style="font-size:8pt;font-family:&amp;#39;Courier New&amp;#39;;color:black;"&gt;&lt;span&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;( f *
&amp;lt;factor&amp;#39;exp&amp;gt; )&lt;/span&gt;&lt;/p&gt;

&lt;p class="MsoNormal"&gt;&lt;span style="font-size:8pt;font-family:&amp;#39;Courier New&amp;#39;;color:black;"&gt;};&lt;/span&gt;&lt;/p&gt;

&lt;span style="font-size:8pt;font-family:&amp;#39;Courier New&amp;#39;;color:black;"&gt;&amp;#39;&amp;gt;&lt;/span&gt;&lt;p class="MsoNormal"&gt;&lt;span style="font-size:8pt;font-family:&amp;#39;Courier New&amp;#39;;"&gt;&lt;/span&gt;&lt;/p&gt;


&lt;p&gt;
Although the macro works, it is preferable to use a regular method in this case.  Also notice that although this macro is expected to be called only in the context of the struct, nothing prevents it from being called outside that context.
&lt;/p&gt;
&lt;p&gt;

&lt;b&gt;Special Macro Constructs: &amp;ldquo;Define As&amp;rdquo; and &amp;ldquo;Define As Computed&amp;rdquo;&lt;/b&gt;&lt;br /&gt;
The &lt;b&gt;&lt;i&gt;e&lt;/i&gt;&lt;/b&gt; language supports two unique constructs for creating macros: &amp;ldquo;define as&amp;rdquo; and &amp;ldquo;define as computed&amp;rdquo;.  The difference between the two: a &amp;ldquo;define-as&amp;rdquo; macro directly &lt;u&gt;defines&lt;/u&gt; the textual pattern for the replacement code, whereas a &amp;ldquo;define-as-computed macro&amp;rdquo; contains procedural code that is &lt;u&gt;executed&lt;/u&gt; at compile time and &lt;u&gt;computes&lt;/u&gt; the replacement code string.
&lt;/p&gt;
&lt;p&gt;
Define-as macros are more simple and readable, so use a define-as macro whenever the general replacement code pattern is fixed and does not depend on the macro arguments.  In more complicated cases, when the replacement code can be different and depends on the macro arguments in a non-trivial way, a define-as-computed macro is the way to go.  To illustrate, let me start with an example where a define-as macro seems to be fine at first glance, but actually it isn&amp;#39;t. 
&lt;/p&gt;
&lt;p&gt;
Assume your struct &amp;ldquo;packet&amp;rdquo; has a boolean field &amp;ldquo;flag&amp;rdquo;, and you want to introduce a new action construct of the form &amp;quot;switch p on/off&amp;quot;, which will modify that field accordingly.
&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;&lt;p class="MsoNormal"&gt;&lt;span style="font-size:8pt;font-family:&amp;#39;Courier New&amp;#39;;"&gt;&amp;lt;&amp;#39;&lt;/span&gt;&lt;/p&gt;

&lt;p class="MsoNormal"&gt;&lt;span style="font-size:8pt;font-family:&amp;#39;Courier New&amp;#39;;"&gt;define
&amp;lt;switch_packet&amp;#39;action&amp;gt; &amp;quot;switch &amp;lt;packet&amp;#39;exp&amp;gt;
(&amp;lt;HOW&amp;gt;on|off)&amp;quot; as {&lt;/span&gt;&lt;/p&gt;

&lt;p class="MsoNormal"&gt;&lt;span style="font-size:8pt;font-family:&amp;#39;Courier New&amp;#39;;"&gt;&lt;span&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;if &amp;quot;&amp;lt;HOW&amp;gt;&amp;quot;==&amp;quot;on&amp;quot;
then {&lt;/span&gt;&lt;/p&gt;

&lt;p class="MsoNormal"&gt;&lt;span style="font-size:8pt;font-family:&amp;#39;Courier New&amp;#39;;"&gt;&lt;span&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&amp;lt;packet&amp;#39;exp&amp;gt;.flag = TRUE;&lt;/span&gt;&lt;/p&gt;

&lt;p class="MsoNormal"&gt;&lt;span style="font-size:8pt;font-family:&amp;#39;Courier New&amp;#39;;"&gt;&lt;span&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;} else {&lt;/span&gt;&lt;/p&gt;

&lt;p class="MsoNormal"&gt;&lt;span style="font-size:8pt;font-family:&amp;#39;Courier New&amp;#39;;"&gt;&lt;span&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&amp;lt;packet&amp;#39;exp&amp;gt;.flag = FALSE;&lt;/span&gt;&lt;/p&gt;

&lt;p class="MsoNormal"&gt;&lt;span style="font-size:8pt;font-family:&amp;#39;Courier New&amp;#39;;"&gt;&lt;span&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;};&lt;/span&gt;&lt;/p&gt;

&lt;p class="MsoNormal"&gt;&lt;span style="font-size:8pt;font-family:&amp;#39;Courier New&amp;#39;;"&gt;};&lt;/span&gt;&lt;/p&gt;

&lt;p class="MsoNormal"&gt;&lt;span style="font-size:8pt;font-family:&amp;#39;Courier New&amp;#39;;"&gt;&amp;#39;&amp;gt;&lt;/span&gt;&lt;/p&gt;


&lt;p&gt;
This macro, as such, works fine. But let&amp;#39;s see what in fact happens here. Whenever the macro is used in the code, it is replaced at compile time with the specified replacement code as is, and the replacement code is executed as is at the run time. So, the following code: &amp;quot;switch p off&amp;quot; is in fact replaced with this code:
&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;

&lt;p class="MsoNormal"&gt;&lt;span style="font-size:8pt;font-family:&amp;#39;Courier New&amp;#39;;"&gt;if &amp;quot;off&amp;quot;==&amp;quot;on&amp;quot; then {&lt;/span&gt;&lt;/p&gt;

&lt;p class="MsoNormal"&gt;&lt;span style="font-size:8pt;font-family:&amp;#39;Courier New&amp;#39;;"&gt;&lt;span&gt;&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;/span&gt;p.flag
= TRUE;&lt;/span&gt;&lt;/p&gt;

&lt;p class="MsoNormal"&gt;&lt;span style="font-size:8pt;font-family:&amp;#39;Courier New&amp;#39;;"&gt;&lt;span&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;} else {&lt;/span&gt;&lt;/p&gt;

&lt;p class="MsoNormal"&gt;&lt;span style="font-size:8pt;font-family:&amp;#39;Courier New&amp;#39;;"&gt;&lt;span&gt;&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;/span&gt;p.flag
= FALSE;&lt;/span&gt;&lt;/p&gt;

&lt;span style="font-size:8pt;font-family:&amp;#39;Courier New&amp;#39;;"&gt;&lt;span&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;};&lt;/span&gt;&lt;p class="MsoNormal"&gt;&lt;span style="font-size:11pt;font-family:&amp;#39;Courier New&amp;#39;;"&gt;&lt;span&gt;&amp;nbsp;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;


&lt;p&gt;
and this is what will be executed every time the action is reached by the flow of the program.  This obviously does not make sense: the condition checks the syntax of the macro call itself (namely, whether it was used with &amp;quot;on&amp;quot; or with &amp;quot;off&amp;quot;), rather than something in its run-time context, thus it could have been checked and applied already at compile time.  If the condition had been checked at the compile time, the replacement code (to be executed at run time) could have become simply:
&lt;/p&gt;
&lt;p&gt;&lt;span style="font-size:8pt;font-family:&amp;#39;Courier New&amp;#39;;"&gt;p.flag = FALSE;&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;
Furthermore, in more realistic cases (than this trivial example) this can also avoid unneeded performance overhead.  
&lt;/p&gt;
&lt;p&gt;
Alternatively, a define-as-computed macro would be the right choice in this case.  In the example below, notice the check becomes part of the define-as-computed executable code, rather than part of the replacement code string it returns.
&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;&lt;p class="MsoNormal"&gt;&lt;span style="font-size:8pt;font-family:&amp;#39;Courier New&amp;#39;;"&gt;&amp;lt;&amp;#39;&lt;/span&gt;&lt;/p&gt;

&lt;p class="MsoNormal"&gt;&lt;span style="font-size:8pt;font-family:&amp;#39;Courier New&amp;#39;;"&gt;define
&amp;lt;switch_packet&amp;#39;action&amp;gt; &amp;quot;switch &amp;lt;packet&amp;#39;exp&amp;gt;
(&amp;lt;HOW&amp;gt;on|off)&amp;quot; as computed {&lt;/span&gt;&lt;/p&gt;

&lt;p class="MsoNormal"&gt;&lt;span style="font-size:8pt;font-family:&amp;#39;Courier New&amp;#39;;"&gt;&lt;span&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;var res_string: string;&lt;/span&gt;&lt;/p&gt;

&lt;p class="MsoNormal"&gt;&lt;span style="font-size:8pt;font-family:&amp;#39;Courier New&amp;#39;;"&gt;&lt;span&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;if &amp;lt;HOW&amp;gt;==&amp;quot;on&amp;quot; then {&lt;/span&gt;&lt;/p&gt;

&lt;p class="MsoNormal"&gt;&lt;span style="font-size:8pt;font-family:&amp;#39;Courier New&amp;#39;;"&gt;&lt;span&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;res_string = &amp;quot;TRUE&amp;quot;;&lt;/span&gt;&lt;/p&gt;

&lt;p class="MsoNormal"&gt;&lt;span style="font-size:10pt;font-family:&amp;#39;Courier New&amp;#39;;"&gt;&lt;span&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;} else {&lt;/span&gt;&lt;/p&gt;

&lt;p class="MsoNormal"&gt;&lt;span style="font-size:10pt;font-family:&amp;#39;Courier New&amp;#39;;"&gt;&lt;span&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;res_string = &amp;quot;FALSE&amp;quot;;&lt;/span&gt;&lt;/p&gt;

&lt;p class="MsoNormal"&gt;&lt;span style="font-size:10pt;font-family:&amp;#39;Courier New&amp;#39;;"&gt;&lt;span&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;};&lt;/span&gt;&lt;/p&gt;

&lt;p class="MsoNormal"&gt;&lt;span style="font-size:10pt;font-family:&amp;#39;Courier New&amp;#39;;"&gt;&lt;span&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;// return the assembled code string&lt;/span&gt;&lt;/p&gt;

&lt;p class="MsoNormal"&gt;&lt;span style="font-size:10pt;font-family:&amp;#39;Courier New&amp;#39;;"&gt;&lt;span&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;return append(&amp;lt;packet&amp;#39;exp&amp;gt;, &amp;quot;.flag
= &amp;quot;, res_string);&lt;/span&gt;&lt;/p&gt;

&lt;p class="MsoNormal"&gt;&lt;span style="font-size:10pt;font-family:&amp;#39;Courier New&amp;#39;;"&gt;};&lt;/span&gt;&lt;/p&gt;

&lt;p class="MsoNormal"&gt;&lt;span style="font-size:10pt;font-family:&amp;#39;Courier New&amp;#39;;"&gt;&amp;#39;&amp;gt;&lt;/span&gt;&lt;/p&gt;


&lt;p&gt;
To summarize, the following simple tips should help you make powerful macros:
&lt;/p&gt;
&lt;ol&gt;&lt;li&gt;
Don&amp;rsquo;t use a macro when there is no real need to do so (eg. Don&amp;#39;t &amp;quot;simulate&amp;quot; methods with macros)

&lt;/li&gt;&lt;li&gt;Use define-as macros when appropriate. They are less powerful than define-as-computed, but more simple and readable.

&lt;/li&gt;&lt;li&gt;Don&amp;#39;t perform syntactic checks on the macro call at run time; and if a define-as macro would cause this, use define-as-computed instead.
&lt;/li&gt;&lt;/ol&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;&lt;p&gt;Yuri Tsoglin&lt;br /&gt;
Member of Consulting Staff&lt;br /&gt;
Specman R&amp;amp;D&lt;br /&gt;
Cadence Israel Development Center, Rosh Ha&amp;#39;ain

&lt;/p&gt;&lt;img src="http://www.cadence.com/Community/aggbug.aspx?PostID=19175" width="1" height="1"&gt;&lt;div class="feedflare"&gt;
&lt;a href="http://feeds.feedburner.com/~ff/cadence/community/blogs?a=iGtCSfdtoGo:FCswN9hTnoc:yIl2AUoC8zA"&gt;&lt;img src="http://feeds.feedburner.com/~ff/cadence/community/blogs?d=yIl2AUoC8zA" border="0"&gt;&lt;/img&gt;&lt;/a&gt;
&lt;/div&gt;&lt;img src="http://feeds.feedburner.com/~r/cadence/community/blogs/~4/iGtCSfdtoGo" height="1" width="1"/&gt;</description><category domain="http://www.cadence.com/Community/blogs/fv/archive/tags/Functional+Verification/default.aspx">Functional Verification</category><category domain="http://www.cadence.com/Community/blogs/fv/archive/tags/Incisive+Enterprise+Simulator+_2800_IES_2900_/default.aspx">Incisive Enterprise Simulator (IES)</category><category domain="http://www.cadence.com/Community/blogs/fv/archive/tags/e/default.aspx">e</category><category domain="http://www.cadence.com/Community/blogs/fv/archive/tags/Specman/default.aspx">Specman</category><category domain="http://www.cadence.com/Community/blogs/fv/archive/tags/IEEE+1647/default.aspx">IEEE 1647</category><category domain="http://www.cadence.com/Community/blogs/fv/archive/tags/IES-XL/default.aspx">IES-XL</category><category domain="http://www.cadence.com/Community/blogs/fv/archive/tags/tech+tips/default.aspx">tech tips</category><category domain="http://www.cadence.com/Community/blogs/fv/archive/tags/team+specman/default.aspx">team specman</category><category domain="http://www.cadence.com/Community/blogs/fv/archive/tags/macros/default.aspx">macros</category><feedburner:origLink>http://www.cadence.com/Community/blogs/fv/archive/2009/07/15/tips-on-using-e-macros-to-raise-abstraction-amp-facilitate-reuse.aspx</feedburner:origLink></item><item><title>Embedded Software Plays an Important Role in Low Power Design</title><link>http://feedproxy.google.com/~r/cadence/community/blogs/~3/uNYCI-Yj8NA/embedded-software-plays-an-important-role-in-low-power-design.aspx</link><pubDate>Wed, 15 Jul 2009 13:05:00 GMT</pubDate><guid isPermaLink="false">75bcbcf9-38a3-4e2e-b84b-26c8c46a9500:19197</guid><dc:creator>jasona</dc:creator><slash:comments>0</slash:comments><description>At Cadence, there is a big focus on low power design . In the mobile world, power has become the primary design constraint. Everybody knows that dead batteries are no fun. When Cadence IT sent me a new laptop last year, I was very happy to get a machine which was faster, had more memory, and a bigger hard drive, but was sad to learn that the battery lasted about 2 hours vs. a 4 hour battery on the old machine. This is the difference between enough battery to fly to San Jose and not enough battery...(&lt;a href="http://www.cadence.com/Community/blogs/sd/archive/2009/07/15/embedded-software-plays-an-important-role-in-low-power-design.aspx"&gt;read more&lt;/a&gt;)&lt;img src="http://www.cadence.com/Community/aggbug.aspx?PostID=19197" width="1" height="1"&gt;&lt;div class="feedflare"&gt;
&lt;a href="http://feeds.feedburner.com/~ff/cadence/community/blogs?a=uNYCI-Yj8NA:A7CAH_1Mjxw:yIl2AUoC8zA"&gt;&lt;img src="http://feeds.feedburner.com/~ff/cadence/community/blogs?d=yIl2AUoC8zA" border="0"&gt;&lt;/img&gt;&lt;/a&gt;
&lt;/div&gt;&lt;img src="http://feeds.feedburner.com/~r/cadence/community/blogs/~4/uNYCI-Yj8NA" height="1" width="1"/&gt;</description><category domain="http://www.cadence.com/Community/blogs/sd/archive/tags/System+Design+and+Verification/default.aspx">System Design and Verification</category><category domain="http://www.cadence.com/Community/blogs/sd/archive/tags/Low+power+verification+and+analysis/default.aspx">Low power verification and analysis</category><category domain="http://www.cadence.com/Community/blogs/sd/archive/tags/Incisive+Software+Extensions/default.aspx">Incisive Software Extensions</category><category domain="http://www.cadence.com/Community/blogs/sd/archive/tags/metric-driven+verification/default.aspx">metric-driven verification</category><category domain="http://www.cadence.com/Community/blogs/sd/archive/tags/google/default.aspx">google</category><category domain="http://www.cadence.com/Community/blogs/sd/archive/tags/android/default.aspx">android</category><category domain="http://www.cadence.com/Community/blogs/sd/archive/tags/power+forward/default.aspx">power forward</category><feedburner:origLink>http://www.cadence.com/Community/blogs/sd/archive/2009/07/15/embedded-software-plays-an-important-role-in-low-power-design.aspx</feedburner:origLink></item><item><title>Using wreals to Simulate Frequency Scaling for Dynamic Power Reduction</title><link>http://feedproxy.google.com/~r/cadence/community/blogs/~3/A0crjJpaFIU/using-wreals-to-simulate-frequency-scaling-for-dynamic-power-reduction.aspx</link><pubDate>Wed, 15 Jul 2009 13:00:00 GMT</pubDate><guid isPermaLink="false">75bcbcf9-38a3-4e2e-b84b-26c8c46a9500:18914</guid><dc:creator>Neyaz</dc:creator><slash:comments>0</slash:comments><description>&lt;p&gt;
&lt;b&gt;Some background info:&lt;/b&gt;&lt;br /&gt;
Taking a quick look at Power dissipation in CMOS:
&lt;/p&gt;&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;
&lt;a href="http://www.flickr.com/photos/36223644@N04/3721929723/" title="Picture1 by cadencedesign, on Flickr"&gt;&lt;img src="http://farm4.static.flickr.com/3425/3721929723_2e90512909.jpg" alt="Picture1" height="69" width="500" /&gt;&lt;/a&gt;
&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;&lt;p&gt;Leakage power is well managed by powering down parts of the design when not in use. This is a well understood problem and can be simulated well in IUS (Incisive Unified Simulator) using CPF (Common Power Format) commands to capture power intent. For details refer to &amp;ldquo;A practical Guide to Low Power Design&amp;rdquo; &amp;ndash; download a copy at &lt;a href="http://www.powerforward.org/" target="_blank"&gt;http://www.powerforward.org/
&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;
&lt;b&gt;The Problem:&lt;/b&gt;&lt;br /&gt;
So, how to deal with parts of the design that can not be powered down during the operation of the chip? Some examples are &amp;ndash; processor cores, and other dedicated applications that have variable computing needs, but do remain to be always on.
&lt;/p&gt;
&lt;p&gt;
&lt;b&gt;A practical solution:&lt;/b&gt;&lt;br /&gt;
One of the primary techniques used in the industry is DVFS &amp;ndash; Dynamic Voltage and Frequency Scaling which consists primarily of:
&lt;/p&gt;&lt;ul&gt;&lt;li&gt;Reducing the &lt;i&gt;frequency &amp;amp; voltage&lt;/i&gt; of a design &lt;/li&gt;&lt;li&gt;
Done in real-time 
&lt;/li&gt;&lt;li&gt;	Based on processing needs to run at lowest possible frequency and voltage that will support the application needs
&lt;/li&gt;&lt;/ul&gt;
&lt;p&gt;
&lt;b&gt;DVFS is used for both:&lt;/b&gt;&lt;/p&gt;&lt;ul&gt;&lt;li&gt;
Power-saving during off peak processing times, and 
&lt;/li&gt;&lt;li&gt;As a protective measure to avoid over heating
&lt;/li&gt;&lt;/ul&gt;
&lt;p&gt;
In this blog, I will primarily focus on Frequency scaling and how to effectively simulate that in the context of SoC level simulation. Later blogs will focus on Voltage Scaling.
&lt;/p&gt;
&lt;p&gt;

&lt;b&gt;Some more background info:&lt;/b&gt;&lt;br /&gt;
In order to simulate Analog elements in the SoC we need a way to simulate Analog behaviour at digital speeds so that system-level simulations containing both analog and digital components can be performed. Cadence has introduced a digital centric mixed signal verification environment &amp;ndash; Digital Mixed Signal (DMS). This new verification environment targets customers using digital centric use models. It refers to &amp;ndash; but is not limited to &amp;ndash; mixed signal verification using digital simulators only. In other words, it delivers capabilities to verify the mixed signal design using digital centric methodologies. This is effectively done by using Real Valued Modeling (RVM) where speed is traded off for very high level of accuracy typically involved with simulation of analog elements.
&lt;/p&gt;
&lt;p&gt;
RVM is a mixed approach, borrowing concepts from analog and digital simulation domain. The values are continuous, floating-point (real) numbers, as in the analog world. However, time is discrete, implying that the real signals change values based on discrete events. In this approach, we apply the signal flow concept so that the digital engine can solve the RVM system without support of the analog solver. This guarantees a high simulation performance in the range of a normal digital simulation and orders of magnitudes higher than the analog simulation speed.
&lt;/p&gt;
&lt;p&gt;
There are four different language standards that support RVM, namely:
&lt;/p&gt;&lt;ul&gt;&lt;li&gt;&lt;b&gt;wreal&lt;/b&gt; ports in Verilog-AMS
&lt;/li&gt;&lt;li&gt;&lt;b&gt;real &lt;/b&gt;in VHDL
&lt;/li&gt;&lt;li&gt;&lt;b&gt;real&lt;/b&gt; variables in SystemVerilog &lt;/li&gt;&lt;li&gt;
&lt;b&gt;real&lt;/b&gt; types in e
&lt;/li&gt;&lt;/ul&gt;
&lt;p&gt;
It is important to note that the real-wire (wreal) is defined only in the Verilog-AMS LRM. Thus, a wreal can be used only in a Verilog-AMS block. However, it is only the digital kernel that solves the wreal system. There are no performance drawbacks when using these types of Verilog-AMS modules in a digital simulation context.
&lt;/p&gt;
&lt;p&gt;
&lt;b&gt;Wreal example:&lt;/b&gt;&lt;br /&gt;
Here&amp;rsquo;s an example of using wreals for creating a VCO model that is used to control clock speed and can be effectively used for dynamically scaling of frequency to verify dynamic power management.
&lt;/p&gt;&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;
&lt;a href="http://www.flickr.com/photos/36223644@N04/3722742184/" title="Picture2 by cadencedesign, on Flickr"&gt;&lt;img src="http://farm3.static.flickr.com/2466/3722742184_df51b2d89a.jpg" alt="Picture2" height="604" width="550" /&gt;&lt;/a&gt;
&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;&lt;p&gt;In this example, two VCOs are instantiated to independently generate clocks for the DSP and MCU blocks in the design. Depending on processing needs, the clock speed is independently controlled from an on-chip controller &amp;ndash; see waveforms..
&lt;/p&gt;
&lt;blockquote&gt;&lt;p&gt;
  vco   vco_mcu (.vin(vco_vin_mcu_clk), .clk(mcu_clk));&lt;br /&gt;
  vco   vco_dsp (.vin(vco_vin_dsp_clk), .clk(dsp_clk));
&lt;/p&gt;&lt;/blockquote&gt;
&lt;p&gt;
The control logic on the chip runs the design units DSP &amp;amp; MCU in this case, at the slowest possible speed in order to conserve dynamic power. Details of the control mechanism are left out and can form the basis of another blog.
&lt;/p&gt;
&lt;p&gt;
The effects of dynamic frequency scaling on system performance and throughput can be effectively measured and verified using this simple approach.
&lt;/p&gt;&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;
&lt;a href="http://www.flickr.com/photos/36223644@N04/3722741990/" title="Picture3 by cadencedesign, on Flickr"&gt;&lt;img src="http://farm3.static.flickr.com/2637/3722741990_57b9efc8f9.jpg" alt="Picture3" height="408" width="550" /&gt;&lt;/a&gt;
&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;&lt;p&gt;Stay tuned for more...&lt;br /&gt;
Neyaz Khan&lt;/p&gt;&lt;img src="http://www.cadence.com/Community/aggbug.aspx?PostID=18914" width="1" height="1"&gt;&lt;div class="feedflare"&gt;
&lt;a href="http://feeds.feedburner.com/~ff/cadence/community/blogs?a=A0crjJpaFIU:6eBstOGM5qM:yIl2AUoC8zA"&gt;&lt;img src="http://feeds.feedburner.com/~ff/cadence/community/blogs?d=yIl2AUoC8zA" border="0"&gt;&lt;/img&gt;&lt;/a&gt;
&lt;/div&gt;&lt;img src="http://feeds.feedburner.com/~r/cadence/community/blogs/~4/A0crjJpaFIU" height="1" width="1"/&gt;</description><category domain="http://www.cadence.com/Community/blogs/fv/archive/tags/Functional+Verification/default.aspx">Functional Verification</category><category domain="http://www.cadence.com/Community/blogs/fv/archive/tags/Low+Power/default.aspx">Low Power</category><category domain="http://www.cadence.com/Community/blogs/fv/archive/tags/signal+integrity/default.aspx">signal integrity</category><category domain="http://www.cadence.com/Community/blogs/fv/archive/tags/Real+Value+Modeling/default.aspx">Real Value Modeling</category><category domain="http://www.cadence.com/Community/blogs/fv/archive/tags/wreals/default.aspx">wreals</category><category domain="http://www.cadence.com/Community/blogs/fv/archive/tags/Mixed+Signal+Verification/default.aspx">Mixed Signal Verification</category><feedburner:origLink>http://www.cadence.com/Community/blogs/fv/archive/2009/07/15/using-wreals-to-simulate-frequency-scaling-for-dynamic-power-reduction.aspx</feedburner:origLink></item><item><title>Guest Blog: The RF Challenge In Portable Designs</title><link>http://feedproxy.google.com/~r/cadence/community/blogs/~3/i8fz7lLnBBI/guest-blog-the-rf-challenge-in-portable-designs.aspx</link><pubDate>Mon, 13 Jul 2009 13:00:00 GMT</pubDate><guid isPermaLink="false">75bcbcf9-38a3-4e2e-b84b-26c8c46a9500:19099</guid><dc:creator>rgoering</dc:creator><slash:comments>0</slash:comments><description>&lt;p&gt;
&lt;img src="http://farm3.static.flickr.com/2557/3714296519_8ee0bd3901.jpg" alt="John_Donovan" align="right" height="142" hspace="10" width="115" /&gt;
&lt;/p&gt;
&lt;p&gt;
&lt;i&gt;The need for RF integration in consumer electronics presents some tough challenges, says veteran electronics industry editor John Donovan. He notes several emerging approaches that might help ease the challenge.
&lt;/i&gt;&lt;/p&gt;
&lt;p&gt;
In simpler times most designs were digital. Add a few converters to handle I/O and you could ship the product. Consumer electronics&amp;mdash;and cell phones in particular&amp;mdash;changed all that. Now there are few consumer designs that don&amp;rsquo;t involve a large analog/mixed-signal component as well as multiple RF chains. Adding a few ADCs and DACs to the signal path isn&amp;rsquo;t enough; the three worlds are now heavily intertwined.
&lt;/p&gt;
&lt;p&gt;
Digital and analog designs start with some basic differences. Digital designs tend to focus on the time domain, whereas analog designs are more concerned with the frequency domain. Digital designers worry about time delays; analog designers worry about the accuracy of their components, which they can&amp;rsquo;t change by editing a few lines of code. For RF designers there are no simple components; every resistor has stray capacitance and inductance, and every trace is an antenna. Parasitic extraction hits a whole new level of complexity in RF designs. RF integration is the single biggest challenge for SoC designers and a major headache at the board level, too.
&lt;/p&gt;
&lt;p&gt;
Designing the RF front end for a cell phone involves some serious tradeoffs. The power amplifier (PA) is second only to the display as an energy hog in handsets. Modern handset receivers typically have a sensitivity in the range of -106 dBm. They also need to be able reject a 60 dB out-of-band signal without flattening the front end. The obvious solution is to crank up the power to the front end, since bandwidth and power are directly related&amp;mdash;a tough tradeoff in a portable device.
&lt;/p&gt;
&lt;p&gt;
In handsets you&amp;rsquo;ll also need to provide multiple RF chains that operate on different frequency bands for cellular, Bluetooth, Wi-Fi, UMTS, Mobile WiMAX, GPS and more. Oh, and you want DTV, DAB and FM with that, too? Just finding room on a tiny PC board for a combination of these protocols, each with different antennas operating at different frequencies&amp;mdash;or MIMO antennas with multiple data streams&amp;mdash;is problematic enough. Keeping them from interacting or radiating spurious signals back into the analog sections of the board is a serious headache. Integrating RF components onto silicon along side analog mixers, filters and LNAs is trickier still.
&lt;/p&gt;
&lt;p&gt;
One way to ease the pain of RF integration is to go digital as quickly as possible. So-called &amp;ldquo;digital RF&amp;rdquo; doesn&amp;rsquo;t really replace a UHF sine wave with a string of bits, but it comes close. On the receive side, direct-conversion receivers combine direct RF sampling with discrete-time signal processing. The RF signal is sampled at the Nyquist rate, converted into packets, filtered, down-converted and fed to the baseband processor. The transmit PA, in one configuration, is a series of digital NMOS switches that feed a matching network. On-chip capacitors smooth the square waves into an RF sine wave that is then fed to the antenna. This approach can cut PA power consumption in half.
&lt;/p&gt;
&lt;p&gt;
The tools to enable designers to simulate and verify an RF/mixed-signal design have only recently started to appear. Traditionally analog designers have used Spice models while their digital colleagues used VHDL or Verilog. Rationalizing the results was at best time consuming. Now we&amp;rsquo;re starting to see &lt;a href="http://www.systemc.org/home" target="_blank"&gt;SystemC&lt;/a&gt; models that include concurrency, bit accuracy, timing and hierarchy, enabling designers working at the architectural level to do hardware/software co-design, synthesizing and verifying a design down to the silicon. We&amp;rsquo;re still not to the point where you can go smoothly from algorithmic exploration to netlists, but we&amp;rsquo;re getting there. 
&lt;/p&gt;
&lt;p&gt;
Someday soon analog and RF will no longer be the exclusive turf of grumpy greybeards in corner cubes. They&amp;rsquo;ll be just two more tools in every designer&amp;rsquo;s toolkit.
&lt;/p&gt;
&lt;p&gt;
John Donovan
&lt;/p&gt;
&lt;p&gt;
&lt;i&gt;John Donovan is the editor of Low-Power Design (&lt;a href="http://www.low-powerdesign.com/" target="_blank"&gt;www.low-powerdesign.com&lt;/a&gt;), a new on-line publication. He was previously Editor-in-Chief of Portable Design, managing editor of EDN Asia and PR Director at Cypress Semiconductor. He has spent 25 years covering the electronics industry, focusing on semiconductor and wireless technologies. He can be reached at &lt;a href="mailto:john@low-powerdesign.com"&gt;john@low-powerdesign.com&lt;/a&gt;. 
&lt;/i&gt;&lt;/p&gt;&lt;img src="http://www.cadence.com/Community/aggbug.aspx?PostID=19099" width="1" height="1"&gt;&lt;div class="feedflare"&gt;
&lt;a href="http://feeds.feedburner.com/~ff/cadence/community/blogs?a=i8fz7lLnBBI:jP6vIEbobCI:yIl2AUoC8zA"&gt;&lt;img src="http://feeds.feedburner.com/~ff/cadence/community/blogs?d=yIl2AUoC8zA" border="0"&gt;&lt;/img&gt;&lt;/a&gt;
&lt;/div&gt;&lt;img src="http://feeds.feedburner.com/~r/cadence/community/blogs/~4/i8fz7lLnBBI" height="1" width="1"/&gt;</description><category domain="http://www.cadence.com/Community/blogs/ii/archive/tags/Industry+Insights/default.aspx">Industry Insights</category><category domain="http://www.cadence.com/Community/blogs/ii/archive/tags/low+power/default.aspx">low power</category><category domain="http://www.cadence.com/Community/blogs/ii/archive/tags/RF+Integration/default.aspx">RF Integration</category><feedburner:origLink>http://www.cadence.com/Community/blogs/ii/archive/2009/07/13/guest-blog-the-rf-challenge-in-portable-designs.aspx</feedburner:origLink></item><item><title>AOP Discussion on LinkedIn</title><link>http://feedproxy.google.com/~r/cadence/community/blogs/~3/fib0ctd-zWM/AOP-Discussion-on-LinkedIn.aspx</link><pubDate>Fri, 10 Jul 2009 13:00:00 GMT</pubDate><guid isPermaLink="false">75bcbcf9-38a3-4e2e-b84b-26c8c46a9500:19028</guid><dc:creator>teamspecman</dc:creator><slash:comments>1</slash:comments><description>&lt;p&gt;&lt;i&gt;&lt;/i&gt;&lt;/p&gt;&lt;p&gt;Hello All,&lt;/p&gt;&lt;p&gt;Last week over in the LinkedIn Design Verification Professionals group, a thread came up in the discussion area regarding&amp;nbsp;support for AOP in VERA.&amp;nbsp; The discussion quickly changed to the benefits of AOP for Verification.&amp;nbsp; Unfortunately, for the user who kicked off the thread,&amp;nbsp;most of the other respondents seemed to only have experience with VERA&amp;#39;s limited AOP capabilities and not with the more complete implementation of AOP in &lt;b&gt;&lt;i&gt;e&lt;/i&gt;&lt;/b&gt;.&amp;nbsp; In case this question comes up at your company (and in case you not already a LinkedIn subscriber), allow me to repeat my reply on the value of AOP in &lt;b&gt;&lt;i&gt;e&lt;/i&gt;&lt;/b&gt;/Specman&amp;nbsp;below. 
&lt;/p&gt;
Also I forgot to mention this in the original LinkedIn post but added it later.&amp;nbsp;I personally think a great reference on this topic of AOP and &lt;i&gt;e&lt;/i&gt;, &amp;nbsp;is the book: &lt;u&gt;&lt;a href="http://www.amazon.com/Aspect-Oriented-Programming-Verification-Language-Developers/dp/0123742102/ref=sr_1_1?ie=UTF8&amp;amp;s=books&amp;amp;qid=1246551788&amp;amp;sr=8-1" target="_blank"&gt;Aspect Oriented Programming with the e Verification Language by David Robinson&lt;/a&gt;&lt;/u&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;&lt;p&gt;Enjoy!&amp;nbsp; Brett Lammers&lt;/p&gt;&lt;p&gt;&amp;nbsp;

&lt;/p&gt;

&lt;p&gt;************************ Post to LinkedIn discussion *************************&lt;/p&gt;&lt;p&gt;Hello All,&lt;/p&gt;&lt;p&gt;I just could not resist putting my 2 cents in on this discussion.&amp;nbsp; Not being a Vera user myself, I cannot comment on AOP support in Vera, but I am getting the feeling from the other posts that there may be some limitations especially if it can only be used to layer testcases on top of an existing tesbench.&amp;nbsp; &lt;/p&gt;&lt;p&gt;I would agree with Dean and Igor that a very powerful usage of AOP is to manage testcases layered over an existing testbench. &amp;nbsp;However, at least when using &lt;b&gt;&lt;i&gt;e&lt;/i&gt;&lt;/b&gt;, I would argue that AOP plays an important role in testbench design also.&amp;nbsp; &lt;br /&gt;&lt;br /&gt;As a reminder, (you all probably already know this): AOP (at least as implemented in &lt;b&gt;&lt;i&gt;e&lt;/i&gt;&lt;/b&gt;) goes beyond OOP in providing the user more flexibility to organize their code modules not only by objects, but also by cross-cutting-concerns (functionality that touches multiple objects in the code set).&amp;nbsp; In verification, these cross cutting concerns can include DUT related functionality such as operation modes as well as verification related functionality like coverage collection or checking.&amp;nbsp; Of course, as Dean and Igor already mentioned, the test itself is a cross-cutting-concern as it configures and constrains many objects within the testbench.&amp;nbsp; However, using AOP in designing the testbench is extremely useful encapsulating object functionality, safely maintaining existing code, and reusing existing code.&lt;/p&gt;&lt;p&gt;In the context of encapsulating object functionality, just like in OOP, it is good practice to go through some planning to organize both objects and their associated concerns into the appropriate modules.&amp;nbsp; This will prevent code that is difficult to read and maintain. &amp;nbsp;In fact, it may even make it easier to read and maintain since there will be additional modularity and encapsulation. &amp;nbsp;If we think about it modularity and encapsulation are really the motivation behind OOP in the first place.&amp;nbsp; AOP just gives you yet another dimension in which to manage your code.&amp;nbsp;&lt;/p&gt;&lt;p&gt;As Igor mentioned, since AOP gives you more freedom to split object functionality across multiple modules it is possible for you to create some incredibly messy code.&amp;nbsp; However, back in the day (over 7 years ago), the Specman team&amp;nbsp;understood this risk, and in partnership with lighthouse customers created what was called the &lt;b&gt;&lt;i&gt;e&lt;/i&gt;&lt;/b&gt; Reuse Methodology&amp;nbsp;(&amp;quot;&lt;b&gt;&lt;i&gt;e&lt;/i&gt;&lt;/b&gt;RM&amp;quot;).&amp;nbsp; Today the same &lt;b&gt;&lt;i&gt;e&lt;/i&gt;&lt;/b&gt;RM concepts for building reusable testbenches in a methodical and organized manner can be found under the &lt;a href="http://www.ovmworld.org/"&gt;OVM&lt;/a&gt; umbrella as OVM e.&amp;nbsp; The success of &lt;b&gt;&lt;i&gt;e&lt;/i&gt;&lt;/b&gt;RM (it&amp;#39;s been adopted by 98% of &lt;b&gt;&lt;i&gt;e&lt;/i&gt;&lt;/b&gt;/Specman customers), and the ongoing growth of Specman usage&amp;nbsp;itself, shows that &amp;quot;structured AOP&amp;quot; is effective for block, chip, and system level verification challenges.&lt;/p&gt;&lt;p&gt;Brief digression: For additional information on OVM and how it applies to Specman/&lt;b&gt;&lt;i&gt;e&lt;/i&gt;&lt;/b&gt; check out this article and the related discussions:&lt;/p&gt;&lt;p&gt;&lt;a href="http://www.cadence.com/Community/blogs/fv/archive/2008/07/12/why-is-ovm-important-for-specman-e-customers.aspx" title="http://www.cadence.com/Community/blogs/fv/archive/2008/07/12/why-is-ovm-important-for-specman-e-customers.aspx"&gt;www.cadence.com/Community/blogs/fv/archive/2008/07/12/why-is-ovm-important-for-specman-e-customers.aspx&lt;/a&gt;&lt;/p&gt;&lt;p&gt;What about code maintenance and reusing existing code? &amp;nbsp;Here again, AOP is almost indispensable. By using AOP extensions, users can methodically update an existing environment with concerns that were missed in the initial planning, or are the result of changes that occur later on in the project.&amp;nbsp; This sort of &amp;quot;after-the-fact&amp;quot; manipulation can be difficult in a standard OOP environment and/or if you only hold yourself to strict OOP practices. &amp;nbsp;In the context of reusing existing Verification IP, AOP allows you to configure, control and add functionality to the existing VIP without touching the base code set - hence the reference to &amp;quot;safety&amp;quot; above since you don&amp;#39;t have to muck with proven code. This can become critical when sharing IP across multiple projects or groups. &lt;/p&gt;&lt;p&gt;&lt;br /&gt;I would also invite you all to check out additional discussions on this subject as well as other related topics here: &lt;a href="http://www.cadence.com/Community/blogs/fv/archive/2008/07/12/why-is-ovm-important-for-specman-e-customers.aspx" target="_blank" title="http://www.cadence.com/Community/blogs/fv/archive/2008/07/12/why-is-ovm-important-for-specman-e-customers.aspx"&gt;www.cadence.com/community/posts/teamspecman.aspx&lt;/a&gt;&lt;/p&gt;&lt;p&gt;&amp;nbsp;&lt;/p&gt;&lt;p&gt;Cheers, Brett&lt;/p&gt;&lt;p&gt;********************************** End Post **************************************&lt;/p&gt;&lt;img src="http://www.cadence.com/Community/aggbug.aspx?PostID=19028" width="1" height="1"&gt;&lt;div class="feedflare"&gt;
&lt;a href="http://feeds.feedburner.com/~ff/cadence/community/blogs?a=fib0ctd-zWM:vlolyk5fK1s:yIl2AUoC8zA"&gt;&lt;img src="http://feeds.feedburner.com/~ff/cadence/community/blogs?d=yIl2AUoC8zA" border="0"&gt;&lt;/img&gt;&lt;/a&gt;
&lt;/div&gt;&lt;img src="http://feeds.feedburner.com/~r/cadence/community/blogs/~4/fib0ctd-zWM" height="1" width="1"/&gt;</description><category domain="http://www.cadence.com/Community/blogs/fv/archive/tags/Functional+Verification/default.aspx">Functional Verification</category><category domain="http://www.cadence.com/Community/blogs/fv/archive/tags/OVM/default.aspx">OVM</category><category domain="http://www.cadence.com/Community/blogs/fv/archive/tags/e/default.aspx">e</category><category domain="http://www.cadence.com/Community/blogs/fv/archive/tags/Specman/default.aspx">Specman</category><category domain="http://www.cadence.com/Community/blogs/fv/archive/tags/AOP/default.aspx">AOP</category><feedburner:origLink>http://www.cadence.com/Community/blogs/fv/archive/2009/07/10/AOP-Discussion-on-LinkedIn.aspx</feedburner:origLink></item><item><title>Using A Dual Flop Methodology for Dynamic Power Savings</title><link>http://feedproxy.google.com/~r/cadence/community/blogs/~3/HZlWFEhFJuI/using-a-dual-flop-methodology-for-dynamic-power-savings.aspx</link><pubDate>Fri, 10 Jul 2009 13:00:00 GMT</pubDate><guid isPermaLink="false">75bcbcf9-38a3-4e2e-b84b-26c8c46a9500:19082</guid><dc:creator>Design4Life</dc:creator><slash:comments>2</slash:comments><description>&lt;p&gt;Imagine this scenario: Your chip is a low power design. You&amp;rsquo;ve used everything in the book &amp;ndash; clock gating, multiple threshold optimization, power shutoff, multiple supply voltages etc. What else can you do to reduce power in your design?
&lt;/p&gt;
&lt;p&gt;
Or, maybe you can&amp;rsquo;t do power shutoff &amp;ndash; the entire device is always on. Maybe you can&amp;rsquo;t use multiple supply voltages (face it &amp;ndash; if you&amp;rsquo;re already running at 0.8V, how much lower can you go?) But you know you have plenty of random logic, and you know you have to reduce power in your design.
&lt;/p&gt;
&lt;p&gt;
A dual flop methodology could help to furter reduce power in your design. What is a dual flop? It&amp;rsquo;s basically two flops physically merged into one. Kind of like a multi-bit flop, but in parallel instead of in series. The merged flop will share the same clock pin, but besides that, it&amp;rsquo;ll have two separate inputs and outputs.
&lt;/p&gt;
&lt;p&gt;
This setup saves dynamic power in two ways: first of all, there is some savings from efficiency by using a common clock pin. In the worst case scenario, the new clock pin will have double the amount of capacitance, resulting in no significant savings, but usually there is some amount of efficiency and the resulting capacitance of the clock pin will not be double the original capacitance of the individual clock pins, but some amount less than that. Therefore some amount of dynamic power will be saved there.
&lt;/p&gt;
&lt;p&gt;
The second way this setup saves dynamic power is in the clock network distribution. For every two flops, instead of the clock network having to route to two individual places, the clock network now only has to reach one location. Therefore, dual flops are more tighly clustered than individual flops, which results in savings on clock distribution net length, and more importantly, the buffers needed to drive the clock distribution network.
&lt;/p&gt;
&lt;p&gt;
So, how much power does dual flop save? It really depends on what kind of design you&amp;rsquo;re dealing with. For designs with a large portion of random logic, and especially designs where clock power is a significant contributor to total power (e.g. designs with large clock networks or low signal-to-clock switching ratio), using a dual flop methodology will yield better results. Used in the right design category, a dual flops methodology has the potential of saving roughly 10%-20% of total power in the design.
&lt;/p&gt;
&lt;p&gt;
What do you think?
&lt;/p&gt;
&lt;p&gt;
Wei Lii Tan
&lt;/p&gt;&lt;img src="http://www.cadence.com/Community/aggbug.aspx?PostID=19082" width="1" height="1"&gt;&lt;div class="feedflare"&gt;
&lt;a href="http://feeds.feedburner.com/~ff/cadence/community/blogs?a=HZlWFEhFJuI:T89v6bmD-PY:yIl2AUoC8zA"&gt;&lt;img src="http://feeds.feedburner.com/~ff/cadence/community/blogs?d=yIl2AUoC8zA" border="0"&gt;&lt;/img&gt;&lt;/a&gt;
&lt;/div&gt;&lt;img src="http://feeds.feedburner.com/~r/cadence/community/blogs/~4/HZlWFEhFJuI" height="1" width="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/low+power/default.aspx">low power</category><category domain="http://www.cadence.com/Community/blogs/di/archive/tags/dual+flop/default.aspx">dual flop</category><feedburner:origLink>http://www.cadence.com/Community/blogs/di/archive/2009/07/10/using-a-dual-flop-methodology-for-dynamic-power-savings.aspx</feedburner:origLink></item><item><title>Things You Didn't Know About Virtuoso: The View From Above</title><link>http://feedproxy.google.com/~r/cadence/community/blogs/~3/-UWyuez9EOY/tydkav-9.aspx</link><pubDate>Thu, 09 Jul 2009 13:00:00 GMT</pubDate><guid isPermaLink="false">75bcbcf9-38a3-4e2e-b84b-26c8c46a9500:19015</guid><dc:creator>stacyw</dc:creator><slash:comments>0</slash:comments><description>&lt;p&gt;A few years ago I bought a wonderful book called &amp;quot;Earth From Above&amp;quot;.&amp;nbsp; An amazing French photographer has put together a collection of truly unique aerial photographs of all kinds of unusual natural and man-made landscapes.&amp;nbsp; It&amp;#39;s fascinating how different things look from high altitude--sometimes you can hardly recognize what you&amp;#39;re looking at.&amp;nbsp; You wonder what that same scene would look like if you were down at ground level.&amp;nbsp; Well, maybe that&amp;#39;s not the case when you&amp;#39;re looking at &lt;a href="http://news.nationalgeographic.com/news/2009/06/090603-penguin-poop-video-ap.html" target="_blank"&gt;penguin poop from space&lt;/a&gt;, but you know what I mean.&lt;/p&gt;&lt;p&gt;&amp;nbsp;Okay, you guessed it, as usual, now I&amp;#39;m going to tie this subject into Virtuoso.&amp;nbsp; You see, one of the new assistants available in IC6.1 is the &lt;b&gt;World View&lt;/b&gt; &lt;b&gt;Assistant&lt;/b&gt;.&amp;nbsp; This handy little widget is activated by--you guessed it--clicking your &lt;a href="http://www.cadence.com/Community/blogs/cic/archive/2009/06/23/Things-You-Didn_2700_t-Know-About-Virtuoso_3A00_-RMB_2C00_-OMG_2100_-_3B002D002900_.aspx?postID=18583" target="_blank"&gt;RMB&lt;/a&gt; at the top of your schematic or layout window and selecting &amp;quot;World View&amp;quot;.&amp;nbsp; The assistant pops up&amp;nbsp;in the corner of your window with&amp;nbsp;what the &lt;a href="http://sourcelink.cadence.com/docs/files/Release_Info/Docs/compXLhelp/compXLhelp6.1.3/chap4.html;jsessionidsl=A2HCHAGZOEBEHLA0BEASFEQ#705945" target="_blank"&gt;manual&lt;/a&gt; refers to&amp;nbsp;as a &amp;quot;panoramic view&amp;quot; of your complete schematic or layout.&amp;nbsp; &lt;/p&gt;&lt;p&gt;The &lt;b&gt;yellow rectangle, &lt;/b&gt;or &amp;quot;view box&amp;quot;, superimposed on the view represents the current design area displayed in the main canvas.&amp;nbsp; You can resize this rectangle using the&lt;b&gt; drag handles&lt;/b&gt; on its edges. This will change the zoom level in the main canvas to display the area under the view box.&amp;nbsp; You can drag the view box around to different areas of the design and the main canvas will pan right to that area.&amp;nbsp; Or just &lt;b&gt;click&lt;/b&gt; in the World View at the location you want to see and the main canvas go there.&amp;nbsp; And since layouts tend to have just a bit more detail than schematics, the World View Assistant in &lt;a href="http://sourcelink.cadence.com/docs/files/Release_Info/Docs/vlehelp/vlehelp6.1.3/chap2.html#1031861" target="_blank"&gt;layout&lt;/a&gt; has a menu available on the middle mouse button which allows you to zoom in and out of the World View itself to more easily guide the viewing area.&lt;/p&gt;&lt;p&gt;It&amp;#39;s that simple.&amp;nbsp; No zooming in and hitting the arrow keys a zillion times to pan across to where you were going.&amp;nbsp; No &amp;quot;bindkey f&amp;quot;, then zoom in over and over again.&amp;nbsp; Just move the little yellow rectangle around and you&amp;#39;ll know just where you are.&lt;/p&gt;&lt;p&gt;&lt;a href="http://www.flickr.com/photos/36223644@N04/3697520923/" title="wv by cadencedesign, on Flickr"&gt;&lt;img src="http://farm3.static.flickr.com/2498/3697520923_074c7e0655.jpg" alt="wv" style="width:566px;height:330px;" height="257" width="500" /&gt;&lt;/a&gt;&lt;/p&gt;&lt;p&gt;&lt;b&gt;Bonus Tip:&lt;/b&gt; I know we did a whole article on RMB a while back, but did you know that there are some cool things tied to the &lt;b&gt;MMB&lt;/b&gt; (middle mouse button) as well?&amp;nbsp; The one I found particularly useful has to do with &lt;b&gt;toggling&lt;/b&gt; the direction of &lt;b&gt;pins&lt;/b&gt; while you&amp;#39;re placing them.&amp;nbsp; Like many people, when I&amp;#39;m drawing schematics, I often find myself placing a whole pile of pins all at once.&amp;nbsp; Some are input, some are output, some are in/out.&amp;nbsp; It&amp;#39;s kind of annoying to have to keep popping back to the form to change the direction.&amp;nbsp; &lt;/p&gt;&lt;p&gt;What I didn&amp;#39;t know was that clicking &lt;b&gt;Shift-MMB&lt;/b&gt; while in the &amp;quot;&lt;b&gt;Create Pin&lt;/b&gt;&amp;quot; function will toggle through the possible pin types.&amp;nbsp; Also, just clicking &lt;b&gt;MMB&lt;/b&gt; allows you to rotate the pin before placing it (MMB will also do rotation during the &amp;quot;&lt;b&gt;Create Instance&lt;/b&gt;&amp;quot; function--very handy!).&amp;nbsp; &lt;/p&gt;&lt;p&gt;I did run into some trouble with this when I was using VNC and I had previously reprogrammed my middle mouse button in Windows, but these functions can be easily &lt;a href="http://sourcelink.cadence.com/docs/files/Release_Info/Docs/wincfg/wincfg6.1.3/appBindkeys.html;jsessionidsl=XI1BXZFDJSMPHLA0BEASFEQ#1034288" target="_blank"&gt;bound&lt;/a&gt; to a different key or mouse button.&amp;nbsp; &lt;/p&gt;&lt;p&gt;That&amp;#39;s all for now.&amp;nbsp; Keep watching this space for more handy features in Virtuoso IC 6.1.&lt;/p&gt;&lt;p&gt;Stacy Whiteman &lt;/p&gt;&lt;img src="http://www.cadence.com/Community/aggbug.aspx?PostID=19015" width="1" height="1"&gt;&lt;div class="feedflare"&gt;
&lt;a href="http://feeds.feedburner.com/~ff/cadence/community/blogs?a=-UWyuez9EOY:BJhdjV0FgOI:yIl2AUoC8zA"&gt;&lt;img src="http://feeds.feedburner.com/~ff/cadence/community/blogs?d=yIl2AUoC8zA" border="0"&gt;&lt;/img&gt;&lt;/a&gt;
&lt;/div&gt;&lt;img src="http://feeds.feedburner.com/~r/cadence/community/blogs/~4/-UWyuez9EOY" height="1" width="1"/&gt;</description><category domain="http://www.cadence.com/Community/blogs/cic/archive/tags/Custom+IC+Design/default.aspx">Custom IC Design</category><category domain="http://www.cadence.com/Community/blogs/cic/archive/tags/Virtuoso/default.aspx">Virtuoso</category><category domain="http://www.cadence.com/Community/blogs/cic/archive/tags/Virtuoso+IC+6.1.3/default.aspx">Virtuoso IC 6.1.3</category><category domain="http://www.cadence.com/Community/blogs/cic/archive/tags/Virtuoso+Layout+Suite+L/default.aspx">Virtuoso Layout Suite L</category><category domain="http://www.cadence.com/Community/blogs/cic/archive/tags/VLS+L/default.aspx">VLS L</category><feedburner:origLink>http://www.cadence.com/Community/blogs/cic/archive/2009/07/09/tydkav-9.aspx</feedburner:origLink></item><item><title>Q&amp;A Interview: Andrew Kahng Describes What’s New At DAC</title><link>http://feedproxy.google.com/~r/cadence/community/blogs/~3/k31BXs-Lhrs/q-amp-a-interview-andrew-kahng-describes-what-s-new-at-dac.aspx</link><pubDate>Wed, 08 Jul 2009 13:00:00 GMT</pubDate><guid isPermaLink="false">75bcbcf9-38a3-4e2e-b84b-26c8c46a9500:18975</guid><dc:creator>rgoering</dc:creator><slash:comments>0</slash:comments><description>&lt;p&gt;
&lt;img src="http://farm3.static.flickr.com/2510/3684862305_1b9630914d.jpg" alt="andrew_kahng" align="right" height="135" hspace="10" width="110" /&gt;
&lt;/p&gt;
&lt;p&gt;
&lt;i&gt;Andrew B. Kahng is general chair of the 46th Design Automation Conference (DAC) set for July 26-31 in San Francisco. He is also a professor of Computer Science and Engineering (CSE) and Electrical and Computer Engineering (ECE) at the University of California at San Diego. In this Q&amp;amp;A interview, he describes what&amp;rsquo;s new and notable at DAC 2009 and discusses his expectations in light of today&amp;rsquo;s economic climate.
&lt;/i&gt;&lt;/p&gt;
&lt;p&gt;
&lt;b&gt;Q: We&amp;rsquo;re in an economic downturn that has severely impacted EDA vendors and their customers. What&amp;rsquo;s the impact on DAC this year?
&lt;/b&gt;&lt;/p&gt;
&lt;p&gt;
A: We see impacts in the exhibition, since that is a reflection of the EDA and design industries. Travel budgets are impacted, so we&amp;rsquo;re trying to help attendees stretch their travel dollars.  On the positive side, the DAC community has really come together to support DAC as the once-a-year meeting place for the industry.  Paper submissions were noticeably up this year, especially in the areas of system-level design, low-power design, manufacturability issues, and high-level synthesis. San Francisco is a favorite destination, and the hotel prices are the lowest in years. Also, many workshops and industry groups are meeting alongside of DAC to offer synergies with respect to travel costs.  
&lt;/p&gt;
&lt;p&gt;
&lt;b&gt;Q: What&amp;rsquo;s new and exciting about DAC this year?
&lt;/b&gt;&lt;/p&gt;
&lt;p&gt;
A:  First, the User Track &amp;ndash; by, for, and selected by the users of EDA tools.  This is complemented by other timely, design-focused events such as the Virtual Platform workshop and the SoC development-centric Management Day program.  Second, the IC Design Central Partner Pavilion, a new area of the exhibit floor that hosts &amp;ldquo;IC Design Central&amp;rdquo; &amp;ndash;&amp;ndash; a cluster of exhibitors from across the semiconductor and electronics design supply chain. Third, the exhibitor forum has expanded due to strong demand.  And we&amp;rsquo;re expecting a large contingent of bloggers and attendees using new media channels. 
&lt;/p&gt;
&lt;p&gt;
&lt;b&gt;Q: The User Track is new in 2009. How is it structured, and what&amp;rsquo;s the basic idea? 
&lt;/b&gt;&lt;/p&gt;
&lt;p&gt;
A: We&amp;rsquo;re very happy with how the User Track has come together.  Leon Stok of IBM and Soha Hassoun of Tufts University led the creation of this new part of DAC.  The core idea is to serve the part of the design community that drives EDA tools. Until this year, the users of EDA tools did not have a dedicated forum at DAC. The User Track addresses this gap &amp;ndash; and it really is by, for and chosen by the users of design tools. The 20 committee members represent a who&amp;rsquo;s-who of design teams and leading-edge methodology.
&lt;/p&gt;
&lt;p&gt;
The User Track this year features more than 80 technical papers and posters presented by designers from around the world who will share their experiences creating today&amp;rsquo;s most complex chips. Its scope covers the latest innovations in tool use and design methodologies across the entire design process, from system design exploration and embedded software synthesis in the front end, to constraint generation and physical verification in the back end. 
&lt;/p&gt;
&lt;p&gt;
&lt;b&gt;Q: What&amp;rsquo;s especially notable in this year&amp;rsquo;s keynote presentations and panels?
&lt;/b&gt;&lt;/p&gt;
&lt;p&gt;
A: First, we have the Monday afternoon CEO panel with Aart de Geus of Synopsys, Wally Rhines of Mentor, and Lip-Bu Tan of Cadence. I cannot think of a subject more important to the EDA industry than what the CEOs of our three largest companies have to say about the future of EDA business and technology. With new leadership at Cadence, and with all the challenges we face, I believe this is a very timely return of the &amp;ldquo;CEO panel&amp;rdquo; to DAC.  
&lt;/p&gt;
&lt;p&gt;
On Tuesday and Wednesday, we have two of the most exciting and cutting-edge technology companies &amp;ndash; TSMC and NVidia. The speakers &amp;ndash; Fu-Chieh Hsu and Bill Dally &amp;ndash; have done it all; technology innovation, technology leadership, and business leadership. Thursday afternoon brings a plenary panel on &amp;ldquo;Green&amp;rdquo; design and EDA moderated by Wally Rhines of Mentor Graphics. This is the first time that DAC has put together a lineup of keynote and plenary content Monday through Thursday &amp;ndash; all available to anyone with an exhibits or conference badge.
&lt;/p&gt;
&lt;p&gt;
&lt;b&gt;Q:  How many exhibitors do you expect? How does this compare to previous years?
&lt;/b&gt;&lt;/p&gt;
&lt;p&gt;
A: We expect approximately 200 exhibitors, which is very similar to last year&amp;rsquo;s number.  We are very glad that the four largest EDA vendors are all back on the floor, and we&amp;rsquo;re very excited about the increased presence of exhibitors from across the entire design chain of suppliers. We also have more than 25 new exhibitors this year.
&lt;/p&gt;
&lt;p&gt;
&lt;b&gt;Q: What does the &amp;ldquo;Exhibits&amp;rdquo; pass buy?
&lt;/b&gt;&lt;/p&gt;
&lt;p&gt;
A: This year, exhibit-only registration gives access to all four days of the exhibition, the keynote sessions, all DAC pavilion and exhibitor forum sessions, plus the new IC Design Central Partner Pavilion.  
 
Now that it&amp;rsquo;s past June 29, passes to the DAC exhibit floor are available for $95 prior to the conference. I should note that attendees can also get free access to the exhibit floor from exhibitors who are providing complimentary passes to their customers. Attendees need to contact their vendors to receive a complimentary exhibit-only registration code to be used during online registration at the DAC Web site.

&lt;/p&gt;

&lt;p&gt; 
&lt;b&gt;Q: What do you expect in terms of attendance, and how does that compare to previous years?
&lt;/b&gt;&lt;/p&gt;
&lt;p&gt;
A: We&amp;rsquo;re looking to maintain the level of 3,000-3,500 exhibitor participants, and to have as strong a showing as possible given the economy and budget constraints. There are still nearly four weeks until the conference, and typically it is during these last few weeks that the majority of DAC attendees wake up and register and find their hotel rooms.  
&lt;/p&gt;
&lt;p&gt;
&lt;b&gt;Q: What technology themes do you think will be &amp;ldquo;hot&amp;rdquo; this year, either on the exhibit floor or in the conference program?
&lt;/b&gt;&lt;/p&gt;
&lt;p&gt;
A: Obviously, the tool user perspective will be hot &amp;ndash; that means details of design and chip development challenges, and practical solutions. For both vendors and researchers, system-level design, co-design and verification are hot. Physical and chip implementation issues &amp;ndash; power management, manufacturability, reliability and integrity, and design closure &amp;ndash; are still dominant user issues. Multicore SoC is another obvious topic on the minds of both EDA providers, algorithm researchers, and chip implementers. And in the technical conference we&amp;rsquo;re starting to see more of a critical mass of activity centered around beyond-CMOS and &amp;ldquo;nano&amp;rdquo; &amp;ndash; including new memory and interconnect technologies. 
&lt;/p&gt;
&lt;p&gt;
&lt;b&gt;Q: With so much information on line these days, why is it still important to attend DAC in person?
&lt;/b&gt;&lt;/p&gt;
&lt;p&gt;
A: One answer is that quite a bit of DAC content &amp;ndash; whether keynotes, special sessions, or even the conference papers &amp;ndash; does not go online right away, or in some cases, ever.  But more importantly, DAC is the opportunity for all of us in the EDA industry and the IC design ecosystem to come together once a year.  It is the natural location for meaningful dialogue on the latest ideas and the key future directions across the industry. DAC is where the dialogue takes place.  I believe that this year it&amp;rsquo;s even more important than ever that the community meet face-to-face to keep networking, learning, and moving forward.
&lt;/p&gt;
&lt;p&gt;
Further information about the DAC program and registration is available at the &lt;a href="http://www.dac.com/46th/index.aspx" target="_blank"&gt;DAC web site&lt;/a&gt;.
&lt;/p&gt;
&lt;p&gt;
Richard Goering
&lt;/p&gt;&lt;img src="http://www.cadence.com/Community/aggbug.aspx?PostID=18975" width="1" height="1"&gt;&lt;div class="feedflare"&gt;
&lt;a href="http://feeds.feedburner.com/~ff/cadence/community/blogs?a=k31BXs-Lhrs:uIJdidOy0ZU:yIl2AUoC8zA"&gt;&lt;img src="http://feeds.feedburner.com/~ff/cadence/community/blogs?d=yIl2AUoC8zA" border="0"&gt;&lt;/img&gt;&lt;/a&gt;
&lt;/div&gt;&lt;img src="http://feeds.feedburner.com/~r/cadence/community/blogs/~4/k31BXs-Lhrs" height="1" width="1"/&gt;</description><category domain="http://www.cadence.com/Community/blogs/ii/archive/tags/EDA/default.aspx">EDA</category><category domain="http://www.cadence.com/Community/blogs/ii/archive/tags/Industry+Insights/default.aspx">Industry Insights</category><category domain="http://www.cadence.com/Community/blogs/ii/archive/tags/DAC/default.aspx">DAC</category><feedburner:origLink>http://www.cadence.com/Community/blogs/ii/archive/2009/07/08/q-amp-a-interview-andrew-kahng-describes-what-s-new-at-dac.aspx</feedburner:origLink></item><item><title>How to Pick a Synthesis Tool - The Right One for You - Part 2</title><link>http://feedproxy.google.com/~r/cadence/community/blogs/~3/G5BE8HvEErU/how-to-pick-a-synthesis-tool-the-right-one-for-you-part-2.aspx</link><pubDate>Tue, 07 Jul 2009 13:00:00 GMT</pubDate><guid isPermaLink="false">75bcbcf9-38a3-4e2e-b84b-26c8c46a9500:18987</guid><dc:creator>Team FED</dc:creator><slash:comments>2</slash:comments><description>By Kenneth Chang, Core Comp AE, Team FED . In my previous blog , I had written about how &amp;quot;Synthesis matters.&amp;quot; Snippet below. &amp;lt;snip&amp;gt; I had a boss that once said that all synthesis tools are same. This guy knew his stuff, been in the industry forever. He said &amp;quot;synthesizing with Tool X may give different results from Tool Y, but once it gets into P&amp;amp;R, it was all the same, P&amp;amp;R will take care of the rest.&amp;quot; In a heavy benchmark, I proved him wrong. Synthesis does matter...(&lt;a href="http://www.cadence.com/Community/blogs/ld/archive/2009/07/07/how-to-pick-a-synthesis-tool-the-right-one-for-you-part-2.aspx"&gt;read more&lt;/a&gt;)&lt;img src="http://www.cadence.com/Community/aggbug.aspx?PostID=18987" width="1" height="1"&gt;&lt;div class="feedflare"&gt;
&lt;a href="http://feeds.feedburner.com/~ff/cadence/community/blogs?a=G5BE8HvEErU:0oYrhHWIOGc:yIl2AUoC8zA"&gt;&lt;img src="http://feeds.feedburner.com/~ff/cadence/community/blogs?d=yIl2AUoC8zA" border="0"&gt;&lt;/img&gt;&lt;/a&gt;
&lt;/div&gt;&lt;img src="http://feeds.feedburner.com/~r/cadence/community/blogs/~4/G5BE8HvEErU" height="1" width="1"/&gt;</description><category domain="http://www.cadence.com/Community/blogs/ld/archive/tags/Logic+Design/default.aspx">Logic Design</category><category domain="http://www.cadence.com/Community/blogs/ld/archive/tags/Synthesis/default.aspx">Synthesis</category><category domain="http://www.cadence.com/Community/blogs/ld/archive/tags/RTL+compiler/default.aspx">RTL compiler</category><category domain="http://www.cadence.com/Community/blogs/ld/archive/tags/methodology/default.aspx">methodology</category><feedburner:origLink>http://www.cadence.com/Community/blogs/ld/archive/2009/07/07/how-to-pick-a-synthesis-tool-the-right-one-for-you-part-2.aspx</feedburner:origLink></item><item><title>Cadence System Design and Verification at DAC 2009 </title><link>http://feedproxy.google.com/~r/cadence/community/blogs/~3/JxWoRjqTqqo/Cadence-System-Design-and-Verification-at-DAC-2009-.aspx</link><pubDate>Mon, 06 Jul 2009 15:00:00 GMT</pubDate><guid isPermaLink="false">75bcbcf9-38a3-4e2e-b84b-26c8c46a9500:18803</guid><dc:creator>Ran Avinun</dc:creator><slash:comments>0</slash:comments><description>Traditionally in Cadence Marketing there were always two major events you really had to focus on: Sales Kick Off in the winter and the Design Automation Conference (DAC) in the summer. A lot has changed. Starting a few years ago, Cadence added a great deal more: webinars, seminars, segment-specific trade shows, and of course CDNLive! -- all to help you, our customers and users, stay up to date on the latest Cadence technology.Some voices in the past have accused Cadence of &amp;quot;ignoring&amp;quot; the...(&lt;a href="http://www.cadence.com/Community/blogs/sd/archive/2009/07/06/Cadence-System-Design-and-Verification-at-DAC-2009-.aspx"&gt;read more&lt;/a&gt;)&lt;img src="http://www.cadence.com/Community/aggbug.aspx?PostID=18803" width="1" height="1"&gt;&lt;div class="feedflare"&gt;
&lt;a href="http://feeds.feedburner.com/~ff/cadence/community/blogs?a=JxWoRjqTqqo:gxef8hRk1mQ:yIl2AUoC8zA"&gt;&lt;img src="http://feeds.feedburner.com/~ff/cadence/community/blogs?d=yIl2AUoC8zA" border="0"&gt;&lt;/img&gt;&lt;/a&gt;
&lt;/div&gt;&lt;img src="http://feeds.feedburner.com/~r/cadence/community/blogs/~4/JxWoRjqTqqo" height="1" width="1"/&gt;</description><category domain="http://www.cadence.com/Community/blogs/sd/archive/tags/System+Design+and+Verification/default.aspx">System Design and Verification</category><category domain="http://www.cadence.com/Community/blogs/sd/archive/tags/ESL+handoff/default.aspx">ESL handoff</category><category domain="http://www.cadence.com/Community/blogs/sd/archive/tags/ARM/default.aspx">ARM</category><category domain="http://www.cadence.com/Community/blogs/sd/archive/tags/C-to-Silicon/default.aspx">C-to-Silicon</category><category domain="http://www.cadence.com/Community/blogs/sd/archive/tags/SystemC/default.aspx">SystemC</category><category domain="http://www.cadence.com/Community/blogs/sd/archive/tags/DAC/default.aspx">DAC</category><category domain="http://www.cadence.com/Community/blogs/sd/archive/tags/schedule/default.aspx">schedule</category><feedburner:origLink>http://www.cadence.com/Community/blogs/sd/archive/2009/07/06/Cadence-System-Design-and-Verification-at-DAC-2009-.aspx</feedburner:origLink></item><item><title>Low-Power Workshop Advances Power Format Interoperability</title><link>http://feedproxy.google.com/~r/cadence/community/blogs/~3/wunxn5582jI/low-power-workshop-advances-power-format-interoperability.aspx</link><pubDate>Mon, 06 Jul 2009 13:00:00 GMT</pubDate><guid isPermaLink="false">75bcbcf9-38a3-4e2e-b84b-26c8c46a9500:18974</guid><dc:creator>rgoering</dc:creator><slash:comments>0</slash:comments><description>&lt;p&gt;Design teams concerned about managing two different power formats will find some relief July 26, 2009. That&amp;rsquo;s the date of a &lt;a href="http://www.si2.org/?page=726" target="_blank"&gt;Low Power Coalition&lt;/a&gt; (LPC) workshop that will present some ongoing work aimed at interoperability between the &lt;a href="http://www.powerforward.org/documents/CPF%20overview.pdf" target="_blank"&gt;Common Power Format&lt;/a&gt; (CPF) and P1801 (Unified Power Format). The workshop will also unveil a new idea -- an Open Power Data Model that could potentially support both formats.
&lt;/p&gt;
&lt;p&gt;
The user-driven LPC, managed by the Silicon Integration Initiative (Si2), not only oversees CPF but has also defined a reference flow for low-power design and is tackling ESL power modeling issues. That will all be explained at the &lt;a href="http://www.dac.com/events/eventdetails.aspx?id=95-409" target="_blank"&gt;free workshop&lt;/a&gt;, which is scheduled for the Sunday before the Design Automation Conference at the Moscone Convention Center in San Francisco from 1:00 to 4:30 p.m. 
&lt;/p&gt;
&lt;p&gt;
One session at the workshop will report plans and goals towards interoperability between CPF and P1801. A summary of the goals can be found in a &lt;a href="http://www.si2.org/?page=984" target="_blank"&gt;CPF 1.2 roadmap&lt;/a&gt; presentation on the Si2 web site. They include identifying a set of commands and options that can be used in both CPF and P1801, resolving ambiguities bewteen compatible subsets of the formats, and providing name mapping between CPF and P1801 objects.
&lt;/p&gt;
&lt;p&gt;
Qi Wang, senior architect at Cadence and a presenter at the workshop, said the basic idea is to define an interoperable subset of the features supported by both CPF and P1801. &amp;ldquo;If you keep within that subset, potential issues with interoperability will be minimized,&amp;rdquo; he said. Further, the subset will make it easier to develop translators between CPF and UPF. Work on the subset is ongoing and may be completed later this year.
&lt;/p&gt;
&lt;p&gt;
Another possible approach to interoperability is represented by a proposed power intent data model and associated API. Called Open Power Data Model, it&amp;rsquo;s intended to work with the OpenAccess (OA) API and data model. The intent is to allow design teams to build automated low-power flows regardless of the power formats they use. 
&lt;/p&gt;
&lt;p&gt;
&amp;ldquo;The notion is that the formats will become an input/output way to get into the data model, in the same way that LEF/DEF is an input/output format into OA,&amp;rdquo; said Nick English, vice president of development at Si2. The result? &amp;ldquo;You&amp;rsquo;ll get out of the format wars. And you&amp;rsquo;ll be able to build an entire power-aware flow such that each tool can access the power information using OA.&amp;rdquo;
&lt;/p&gt;
&lt;p&gt;
Sumit DasGupta, senior vice president of engineering at Si2, described the data model as a &amp;ldquo;neutral container&amp;rdquo; that can accept different file formats. But it will take some time to implement. He said that LPC members have been doing a lot of &amp;ldquo;deliberate thinking&amp;rdquo; about how to resolve syntactic and semantic differences between the two power formats. Also, the data model doesn&amp;rsquo;t determine how the tools will actually make use of the power data. 
&lt;/p&gt;
&lt;p&gt;
Finally, the workshop will include a presentation about ESL power modeling. LPC&amp;rsquo;s work in this area follows its publication of a &lt;a href="http://www.si2.org/?page=997" target="_blank"&gt;low-power reference flow&lt;/a&gt;. The development of the flow exposed a lack of power models, particularly at the system level. A Modeling Working Group was established to tackle the problem. Jerry Frenkil of Sequence Design will present its latest work.
&lt;/p&gt;
&lt;p&gt;
A &amp;ldquo;what&amp;rsquo;s next in low power&amp;rdquo; panel promises to be interesting as well. One topic that&amp;rsquo;s likely to come up is adaptive power management, in which chips can evaluate the external environment and scale voltage or frequency accordingly.
&lt;/p&gt;
&lt;p&gt;
In addition to the &lt;a href="http://www.dac.com/events/eventdetails.aspx?id=95-410" target="_blank"&gt;low-power workshop&lt;/a&gt;, Si2 is offering a free workshop on DFM challenges at 45 nm and below. That workshop will be held Monday July 27 from 1:00 pm to 3:00 pm at the Moscone Convention Center.
&lt;/p&gt;
&lt;p&gt;
Richard Goering


&lt;/p&gt;&lt;img src="http://www.cadence.com/Community/aggbug.aspx?PostID=18974" width="1" height="1"&gt;&lt;div class="feedflare"&gt;
&lt;a href="http://feeds.feedburner.com/~ff/cadence/community/blogs?a=wunxn5582jI:IZg7Fhdg9YI:yIl2AUoC8zA"&gt;&lt;img src="http://feeds.feedburner.com/~ff/cadence/community/blogs?d=yIl2AUoC8zA" border="0"&gt;&lt;/img&gt;&lt;/a&gt;
&lt;/div&gt;&lt;img src="http://feeds.feedburner.com/~r/cadence/community/blogs/~4/wunxn5582jI" height="1" width="1"/&gt;</description><category domain="http://www.cadence.com/Community/blogs/ii/archive/tags/Industry+Insights/default.aspx">Industry Insights</category><category domain="http://www.cadence.com/Community/blogs/ii/archive/tags/DAC/default.aspx">DAC</category><category domain="http://www.cadence.com/Community/blogs/ii/archive/tags/ESL/default.aspx">ESL</category><category domain="http://www.cadence.com/Community/blogs/ii/archive/tags/low+power/default.aspx">low power</category><category domain="http://www.cadence.com/Community/blogs/ii/archive/tags/common+power+format/default.aspx">common power format</category><category domain="http://www.cadence.com/Community/blogs/ii/archive/tags/LPC/default.aspx">LPC</category><category domain="http://www.cadence.com/Community/blogs/ii/archive/tags/Si2/default.aspx">Si2</category><category domain="http://www.cadence.com/Community/blogs/ii/archive/tags/CPF/default.aspx">CPF</category><media:content url="http://feedproxy.google.com/~r/cadence/community/blogs/~5/aon3m13rQjM/CPF%20overview.pdf" fileSize="592809" type="application/pdf" /><itunes:subtitle> Design teams concerned about managing two different power formats will find some relief July 26, 2009. That&amp;rsquo;s the date of a Low Power Coalition (LPC) workshop that will present some ongoing work aimed at interoperability between the Common Power Fo</itunes:subtitle><itunes:summary> Design teams concerned about managing two different power formats will find some relief July 26, 2009. That&amp;rsquo;s the date of a Low Power Coalition (LPC) workshop that will present some ongoing work aimed at interoperability between the Common Power Format (CPF) and P1801 (Unified Power Format). The workshop will also unveil a new idea -- an Open Power Data Model that could potentially support both formats. The user-driven LPC, managed by the Silicon Integration Initiative (Si2), not only oversees CPF but has also defined a reference flow for low-power design and is tackling ESL power modeling issues. That will all be explained at the free workshop, which is scheduled for the Sunday before the Design Automation Conference at the Moscone Convention Center in San Francisco from 1:00 to 4:30 p.m. One session at the workshop will report plans and goals towards interoperability between CPF and P1801. A summary of the goals can be found in a CPF 1.2 roadmap presentation on the Si2 web site. They include identifying a set of commands and options that can be used in both CPF and P1801, resolving ambiguities bewteen compatible subsets of the formats, and providing name mapping between CPF and P1801 objects. Qi Wang, senior architect at Cadence and a presenter at the workshop, said the basic idea is to define an interoperable subset of the features supported by both CPF and P1801. &amp;ldquo;If you keep within that subset, potential issues with interoperability will be minimized,&amp;rdquo; he said. Further, the subset will make it easier to develop translators between CPF and UPF. Work on the subset is ongoing and may be completed later this year. Another possible approach to interoperability is represented by a proposed power intent data model and associated API. Called Open Power Data Model, it&amp;rsquo;s intended to work with the OpenAccess (OA) API and data model. The intent is to allow design teams to build automated low-power flows regardless of the power formats they use. &amp;ldquo;The notion is that the formats will become an input/output way to get into the data model, in the same way that LEF/DEF is an input/output format into OA,&amp;rdquo; said Nick English, vice president of development at Si2. The result? &amp;ldquo;You&amp;rsquo;ll get out of the format wars. And you&amp;rsquo;ll be able to build an entire power-aware flow such that each tool can access the power information using OA.&amp;rdquo; Sumit DasGupta, senior vice president of engineering at Si2, described the data model as a &amp;ldquo;neutral container&amp;rdquo; that can accept different file formats. But it will take some time to implement. He said that LPC members have been doing a lot of &amp;ldquo;deliberate thinking&amp;rdquo; about how to resolve syntactic and semantic differences between the two power formats. Also, the data model doesn&amp;rsquo;t determine how the tools will actually make use of the power data. Finally, the workshop will include a presentation about ESL power modeling. LPC&amp;rsquo;s work in this area follows its publication of a low-power reference flow. The development of the flow exposed a lack of power models, particularly at the system level. A Modeling Working Group was established to tackle the problem. Jerry Frenkil of Sequence Design will present its latest work. A &amp;ldquo;what&amp;rsquo;s next in low power&amp;rdquo; panel promises to be interesting as well. One topic that&amp;rsquo;s likely to come up is adaptive power management, in which chips can evaluate the external environment and scale voltage or frequency accordingly. In addition to the low-power workshop, Si2 is offering a free workshop on DFM challenges at 45 nm and below. That workshop will be held Monday July 27 from 1:00 pm to 3:00 pm at the Moscone Convention Center. Richard Goering </itunes:summary><itunes:keywords>Industry Insights, DAC, ESL, low power, common power format, LPC, Si2, CPF</itunes:keywords><feedburner:origLink>http://www.cadence.com/Community/blogs/ii/archive/2009/07/06/low-power-workshop-advances-power-format-interoperability.aspx</feedburner:origLink><enclosure url="http://feedproxy.google.com/~r/cadence/community/blogs/~5/aon3m13rQjM/CPF%20overview.pdf" length="592809" type="application/pdf" /><feedburner:origEnclosureLink>http://www.powerforward.org/documents/CPF%20overview.pdf</feedburner:origEnclosureLink></item><item><title>Another New Blog on e/Specman</title><link>http://feedproxy.google.com/~r/cadence/community/blogs/~3/D55eXTR46CA/another-new-blog-on-e-specman.aspx</link><pubDate>Fri, 03 Jul 2009 13:00:00 GMT</pubDate><guid isPermaLink="false">75bcbcf9-38a3-4e2e-b84b-26c8c46a9500:18901</guid><dc:creator>teamspecman</dc:creator><slash:comments>1</slash:comments><description>&lt;p&gt;Specmaniacs rejoice: there is a new blog centered around verification with &lt;b&gt;&lt;i&gt;e&lt;/i&gt;&lt;/b&gt;/Specman by Sandeep Gor:&lt;br /&gt;&lt;br /&gt;&lt;a href="http://digitalverification.blogspot.com/"&gt;http://digitalverification.blogspot.com/&lt;/a&gt;&lt;/p&gt;&lt;p&gt;Team Specman, and we dare say Specmaniacs everywhere, welcome this new resource to the community!&lt;/p&gt;&lt;p&gt;Here are some other &lt;b&gt;&lt;i&gt;e&lt;/i&gt;&lt;/b&gt;/Specman-oriented sites we know of, and by all means please send us links to any sites that are missing from this list so we can promote them:&lt;/p&gt;&lt;p&gt;* The venerable Specman Yahoo group&lt;br /&gt;&lt;a href="http://tech.groups.yahoo.com/group/specman/"&gt;http://tech.groups.yahoo.com/group/specman/&lt;/a&gt;&lt;/p&gt;&lt;p&gt;* The IEEE 1647 Working Group&lt;br /&gt;&lt;a href="http://ieee1647.org/"&gt;http://ieee1647.org&lt;/a&gt;&lt;/p&gt;&lt;p&gt;* The Cadence Functional Verification forums&lt;br /&gt;&lt;a href="http://www.cadence.com/community/forums/30.aspx"&gt;http://www.cadence.com/community/forums/30.aspx&lt;/a&gt;&lt;/p&gt;&lt;p&gt;* Avidan Efody&amp;#39;s &amp;quot;Specman Verification&amp;quot; site&lt;br /&gt;&lt;a href="http://www.specman-verification.com/index.php"&gt;http://www.specman-verification.com/index.php&lt;/a&gt;&lt;/p&gt;&lt;p&gt;* Yaron Ilani&amp;#39;s &amp;quot;Think Verification&amp;quot; blog&lt;br /&gt;&lt;a href="http://www.thinkverification.com/"&gt;http://www.thinkverification.com&lt;/a&gt;&lt;/p&gt;&lt;p&gt;* &lt;b&gt;&lt;i&gt;e&lt;/i&gt;&lt;/b&gt; verification by Shivayogi&lt;br /&gt;&lt;a href="http://e-verification.blogspot.com/"&gt;http://e-verification.blogspot.com/&lt;/a&gt;&lt;/p&gt;&lt;p&gt;* OVM World Forums (for OVM &lt;b&gt;&lt;i&gt;e&lt;/i&gt;&lt;/b&gt; discussions)&lt;br /&gt;&lt;a href="http://ovmworld.org/forums/"&gt;http://ovmworld.org/forums/&lt;/a&gt;&lt;/p&gt;&lt;p&gt;* JL Gray&amp;#39;s &amp;quot;Cool Verification&amp;quot; blog&lt;br /&gt;&lt;a href="http://www.coolverification.com/"&gt;http://www.coolverification.com&lt;/a&gt;&lt;/p&gt;&lt;p&gt;&lt;br /&gt;Happy coding!&lt;/p&gt;&lt;p&gt;Team Specman&lt;/p&gt;&lt;img src="http://www.cadence.com/Community/aggbug.aspx?PostID=18901" width="1" height="1"&gt;&lt;div class="feedflare"&gt;
&lt;a href="http://feeds.feedburner.com/~ff/cadence/community/blogs?a=D55eXTR46CA:tdEPJkn31jk:yIl2AUoC8zA"&gt;&lt;img src="http://feeds.feedburner.com/~ff/cadence/community/blogs?d=yIl2AUoC8zA" border="0"&gt;&lt;/img&gt;&lt;/a&gt;
&lt;/div&gt;&lt;img src="http://feeds.feedburner.com/~r/cadence/community/blogs/~4/D55eXTR46CA" height="1" width="1"/&gt;</description><category domain="http://www.cadence.com/Community/blogs/fv/archive/tags/Functional+Verification/default.aspx">Functional Verification</category><category domain="http://www.cadence.com/Community/blogs/fv/archive/tags/OVMWorld/default.aspx">OVMWorld</category><category domain="http://www.cadence.com/Community/blogs/fv/archive/tags/e/default.aspx">e</category><category domain="http://www.cadence.com/Community/blogs/fv/archive/tags/Specman/default.aspx">Specman</category><category domain="http://www.cadence.com/Community/blogs/fv/archive/tags/IEEE+1647/default.aspx">IEEE 1647</category><feedburner:origLink>http://www.cadence.com/Community/blogs/fv/archive/2009/07/03/another-new-blog-on-e-specman.aspx</feedburner:origLink></item><item><title>Industry Standard SystemC is What Designers Want</title><link>http://feedproxy.google.com/~r/cadence/community/blogs/~3/btsGl4LZdUI/Industry-Standard-SystemC-is-What-Designers-Want.aspx</link><pubDate>Fri, 03 Jul 2009 08:00:00 GMT</pubDate><guid isPermaLink="false">75bcbcf9-38a3-4e2e-b84b-26c8c46a9500:18876</guid><dc:creator>SteveSvoboda</dc:creator><slash:comments>0</slash:comments><description>This past Monday saw not one HLS related announcement but two...this space is really heating-up! Mentor&amp;rsquo;s Catapult announced support for control-logic design, and clock-gating (to reduce power) and Forte announced a new release with some minor new features. Today, I&amp;#39;ll focus on Catapult, since their direction seems the most interesting in my view. Mentor is promoting ANSI-C as their HLS input language with extensions into ANSI-C to create a &amp;quot;lightweight&amp;quot; (and Mentor proprietary...(&lt;a href="http://www.cadence.com/Community/blogs/sd/archive/2009/07/03/Industry-Standard-SystemC-is-What-Designers-Want.aspx"&gt;read more&lt;/a&gt;)&lt;img src="http://www.cadence.com/Community/aggbug.aspx?PostID=18876" width="1" height="1"&gt;&lt;div class="feedflare"&gt;
&lt;a href="http://feeds.feedburner.com/~ff/cadence/community/blogs?a=btsGl4LZdUI:LWDDHe1yaos:yIl2AUoC8zA"&gt;&lt;img src="http://feeds.feedburner.com/~ff/cadence/community/blogs?d=yIl2AUoC8zA" border="0"&gt;&lt;/img&gt;&lt;/a&gt;
&lt;/div&gt;&lt;img src="http://feeds.feedburner.com/~r/cadence/community/blogs/~4/btsGl4LZdUI" height="1" width="1"/&gt;</description><category domain="http://www.cadence.com/Community/blogs/sd/archive/tags/C-to-Silicon/default.aspx">C-to-Silicon</category><category domain="http://www.cadence.com/Community/blogs/sd/archive/tags/SystemC/default.aspx">SystemC</category><category domain="http://www.cadence.com/Community/blogs/sd/archive/tags/hls/default.aspx">hls</category><category domain="http://www.cadence.com/Community/blogs/sd/archive/tags/System+Design+and++Verification/default.aspx">System Design and  Verification</category><category domain="http://www.cadence.com/Community/blogs/sd/archive/tags/ANSI-C/default.aspx">ANSI-C</category><feedburner:origLink>http://www.cadence.com/Community/blogs/sd/archive/2009/07/03/Industry-Standard-SystemC-is-What-Designers-Want.aspx</feedburner:origLink></item><item><title>Inside Cadence: Food for Charity &amp; Freedom</title><link>http://feedproxy.google.com/~r/cadence/community/blogs/~3/DL-9NXv_h2A/inside-cadence-food-for-charity-amp-freedom.aspx</link><pubDate>Thu, 02 Jul 2009 21:48:00 GMT</pubDate><guid isPermaLink="false">75bcbcf9-38a3-4e2e-b84b-26c8c46a9500:18949</guid><dc:creator>jvh3</dc:creator><slash:comments>0</slash:comments><description>&lt;p&gt;Earlier today at the Cadence San Jose campus, a charity event was held off-cycle from &lt;a href="http://www.cadence.com/Community/blogs/fv/archive/2009/05/28/inside-cadence-quot-stars-amp-strikes-quot-charity-event.aspx?postID=17937" target="_blank"&gt;the regular &amp;quot;Stars &amp;amp; Strikes&amp;quot; charity event series&lt;/a&gt;, where this time the focus was on food with a hot dog eating contest to benefit for &lt;a href="http://www.shareyourlunch.net/how_we_help.php" target="_blank"&gt;Second Harvest Food Bank&amp;rsquo;s &amp;quot;Share Your Lunch Drive&amp;quot;.&lt;/a&gt;&lt;/p&gt;&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;
&lt;a href="http://www.flickr.com/photos/24605532@N08/3681983593/" title="CDN charity hot dogs - IMG_0309 by jvh3, on Flickr"&gt;&lt;img src="http://farm3.static.flickr.com/2579/3681983593_ec9032528a.jpg" alt="CDN charity hot dogs - IMG_0309" width="500" height="333" /&gt;&lt;/a&gt;
&lt;/p&gt;


&lt;p&gt;&amp;nbsp;&lt;/p&gt;&lt;p&gt;For more images from the event, click &lt;a href="http://www.flickr.com/photos/24605532@N08/sets/72157620731481635/" target="_blank"&gt;here&lt;/a&gt; for an annotated gallery &lt;/p&gt;
&lt;p&gt;
This event might seem like it&amp;#39;s coming out of the blue, but hot dog eating contests are actually a 4th of July holiday tradition.&amp;nbsp; The first such contest was held on July 4, 1916 in Coney Island, New York by Nathan&amp;#39;s Famous hotdogs; &lt;a href="http://www.nathansfamous.com/PageFetch/getpage.php?pgid=38" target="_blank"&gt;and this particular contest continues to this day&lt;/a&gt;.
&lt;/p&gt;
&lt;p&gt;
Our Cadence contestants didn&amp;#39;t threaten the world record of 66 hot dogs eaten in one sitting (OMG!) set in 2007 by Joey &amp;quot;Jaws&amp;quot; Chestnut, since the goal of the contest was speed -- how many hotdogs you can eat in 5 min -- versus quantity. Despite &lt;a href="http://www.flickr.com/photos/24605532@N08/3681988091/in/set-72157620731481635/" target="_blank"&gt;some chicanery by a tricky Viking&lt;/a&gt;, our winner managed to down 9 hot dogs and remain vertical. Even better, $525 was raised for a good cause.&amp;nbsp; Many thank yous are due to the ticket buyers, the hearty contestants, as well as the donation of time &amp;amp; materials from our catering provider Guckenheimer.
&lt;/p&gt;&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;
&lt;a href="http://www.flickr.com/photos/24605532@N08/3681989097/" title="CDN charity hot dogs - IMG_0371c by jvh3, on Flickr"&gt;&lt;img src="http://farm3.static.flickr.com/2618/3681989097_ea747d893d.jpg" alt="CDN charity hot dogs - IMG_0371c" width="357" height="500" /&gt;&lt;/a&gt;
&lt;/p&gt;
&lt;p&gt;
&lt;i&gt;The winner!&lt;/i&gt;
&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;&lt;p&gt;Indeed there is a *delicious* irony here: a benefit to fight hunger that&amp;#39;s based on competitive gluttony.&amp;nbsp; (Sorry, some puns are impossible to resist.)&amp;nbsp; I also can&amp;#39;t resist tying this event to 4th of July itself: whenever &amp;quot;hunger&amp;quot; appears as an issue, I always recall the famous Norman Rockwell &amp;quot;Freedom From Want&amp;quot; illustration of a traditional Thanksgiving dinner that was inspired by &lt;a href="http://en.wikipedia.org/wiki/Four_Freedoms" target="_blank"&gt;President Franklin D. Roosevelt&amp;#39;s &amp;quot;Four Freedoms&amp;quot; speech&lt;/a&gt;.
&lt;/p&gt;&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;
&lt;a href="http://www.flickr.com/photos/36223644@N04/3682177615/" title="FreedomfromWant-small by cadencedesign, on Flickr"&gt;&lt;img src="http://farm3.static.flickr.com/2537/3682177615_e849640925.jpg" alt="FreedomfromWant-small" width="303" height="405" /&gt;&lt;/a&gt;
&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;&lt;p&gt;In real sense, this charity event was small step toward providing this particular freedom in advance of a day that&amp;#39;s primarily about celebrating freedom in all its forms.
&lt;/p&gt;
&lt;p&gt;
Happy 4th of July!
&lt;/p&gt;
&lt;p&gt;Joe Hupcey III&lt;/p&gt;&lt;p&gt;
&lt;b&gt;&lt;u&gt;Reference links:&lt;/u&gt;&lt;/b&gt; &lt;br /&gt;Second Harvest Food Bank&lt;br /&gt;&lt;a href="http://www.2ndharvest.net/" target="_blank"&gt;&lt;u&gt;&lt;font color="#0000ff" size="2"&gt;&lt;font color="#0000ff" size="2"&gt;http://www.2ndharvest.net/&lt;/font&gt;&lt;/font&gt;&lt;/u&gt;&lt;/a&gt;&lt;/p&gt;&lt;font size="2"&gt;&lt;p&gt;&lt;i&gt;Second Harvest is conducting a three month campaign called Share Your Lunch. The goal for this campaign is to raise the resources to feed 66,000 children each month this summer. For less than the price of a lunch out, you can feed 20 children. Find out more at &lt;/i&gt;&lt;a href="https://www.cadence.com:443/Community/controlpanel/blogs/ShareYourLunch.net" target="_blank"&gt;&lt;i&gt;ShareYourLunch.net&lt;/i&gt;&lt;/a&gt;&lt;i&gt;.&lt;/i&gt;&lt;/p&gt;&lt;/font&gt;&lt;img src="http://www.cadence.com/Community/aggbug.aspx?PostID=18949" width="1" height="1"&gt;&lt;div class="feedflare"&gt;
&lt;a href="http://feeds.feedburner.com/~ff/cadence/community/blogs?a=DL-9NXv_h2A:P5-cP6ytH5Y:yIl2AUoC8zA"&gt;&lt;img src="http://feeds.feedburner.com/~ff/cadence/community/blogs?d=yIl2AUoC8zA" border="0"&gt;&lt;/img&gt;&lt;/a&gt;
&lt;/div&gt;&lt;img src="http://feeds.feedburner.com/~r/cadence/community/blogs/~4/DL-9NXv_h2A" height="1" width="1"/&gt;</description><category domain="http://www.cadence.com/Community/blogs/fv/archive/tags/Functional+Verification/default.aspx">Functional Verification</category><category domain="http://www.cadence.com/Community/blogs/fv/archive/tags/charity+benefit/default.aspx">charity benefit</category><category domain="http://www.cadence.com/Community/blogs/fv/archive/tags/festival/default.aspx">festival</category><category domain="http://www.cadence.com/Community/blogs/fv/archive/tags/Stars_2600_amp_3B00_Strikes/default.aspx">Stars&amp;amp;Strikes</category><feedburner:origLink>http://www.cadence.com/Community/blogs/fv/archive/2009/07/02/inside-cadence-food-for-charity-amp-freedom.aspx</feedburner:origLink></item><item><title>Flow?  What Flow?</title><link>http://feedproxy.google.com/~r/cadence/community/blogs/~3/9dxXpK5AN3M/flow-what-flow.aspx</link><pubDate>Thu, 02 Jul 2009 21:30:00 GMT</pubDate><guid isPermaLink="false">75bcbcf9-38a3-4e2e-b84b-26c8c46a9500:18916</guid><dc:creator>Design4Life</dc:creator><slash:comments>0</slash:comments><description>&lt;p&gt;For EDA software, it seems that it takes just as much effort to develop a methodology to use the software, as writing the tool itself. Ask any CAD group or design group that has to develop their own methodology and you can quickly gauge the many challenges in building a flow for your favorite EDA tool.
&lt;/p&gt;
&lt;p&gt;
Why is it so hard to build and maintain a working flow? There are many reasons. First of all, EDA tools change. Updates, revisions, bug fixes etc - all these change the way the tool is used, sometimes incrementally, or sometimes in a drastic way. Secondly, every design is unique in at least a couple of ways. Design requirements (whether it&amp;#39;s a low power design, or a 32nm design that needs advanced node capabilities, or both) dictate the necessity of steps needed in the design flow. 
&lt;/p&gt;
&lt;p&gt;
EDA companies have all tried to create flow wrappers that cater for every design (similar to a makefile system), but there are challenges in that too - with unique design requirements in each design, as well as ever-changing use models, creating an all-encompassing design methodology system is difficult.
&lt;/p&gt;
&lt;p&gt;
One thing that &lt;a href="http://www.cadence.com/products/di/pages/default.aspx" target="_blank"&gt;EDI System&lt;/a&gt; has done is not to focus on creating a comprehensive flow wrapper, but a set of &amp;quot;Foundation Flows&amp;quot; that act as a baseline for user-customizable flow scripts. These Foundation Flows are based on a specific need, e.g. a Timing Closure Foundation Flow, or Low Power Foundation Flow, and contain a set of commands that are usually used by designers, in the order they are usually done. Foundation flows are available starting EDI System 8.1.
&lt;/p&gt;&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;
&lt;a href="http://www.flickr.com/photos/36223644@N04/3682911572/" title="FF by cadencedesign, on Flickr"&gt;&lt;img src="http://farm3.static.flickr.com/2559/3682911572_ec17528412.jpg" alt="FF" width="500" height="374" /&gt;&lt;/a&gt;
&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;&lt;p&gt;In your design environment today, how is the issue of flows handled? Is there a central group that handles flow-related issues for design groups? Do you use a makefile system? Or do design teams build their own custom flow for each project? Most importantly, do you think flow management should be provided by the tool? Sound off in the comments section!
&lt;/p&gt;
&lt;p&gt;
Wei Lii Tan&lt;br /&gt;
Cadence Design Systems
&lt;/p&gt;&lt;img src="http://www.cadence.com/Community/aggbug.aspx?PostID=18916" width="1" height="1"&gt;&lt;div class="feedflare"&gt;
&lt;a href="http://feeds.feedburner.com/~ff/cadence/community/blogs?a=9dxXpK5AN3M:P7CKF7fza_A:yIl2AUoC8zA"&gt;&lt;img src="http://feeds.feedburner.com/~ff/cadence/community/blogs?d=yIl2AUoC8zA" border="0"&gt;&lt;/img&gt;&lt;/a&gt;
&lt;/div&gt;&lt;img src="http://feeds.feedburner.com/~r/cadence/community/blogs/~4/9dxXpK5AN3M" height="1" width="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/design+closure/default.aspx">design closure</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/default.aspx">Foundation Flow</category><feedburner:origLink>http://www.cadence.com/Community/blogs/di/archive/2009/07/02/flow-what-flow.aspx</feedburner:origLink></item><media:rating>nonadult</media:rating></channel></rss>
