<?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:content="http://purl.org/rss/1.0/modules/content/" xmlns:wfw="http://wellformedweb.org/CommentAPI/" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:atom="http://www.w3.org/2005/Atom" xmlns:sy="http://purl.org/rss/1.0/modules/syndication/" xmlns:slash="http://purl.org/rss/1.0/modules/slash/" xmlns:feedburner="http://rssnamespace.org/feedburner/ext/1.0" version="2.0">

<channel>
	<title>Magic Blue Smoke</title>
	
	<link>http://synopsysoc.org/magicbluesmoke</link>
	<description>A Blog about Low Power ASIC Design</description>
	<lastBuildDate>Thu, 28 Jan 2010 23:49:12 +0000</lastBuildDate>
	<generator>http://wordpress.org/?v=2.8.4</generator>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
			<atom10:link xmlns:atom10="http://www.w3.org/2005/Atom" rel="self" type="application/rss+xml" href="http://feeds.feedburner.com/synopsysoc/mbs" /><feedburner:info uri="synopsysoc/mbs" /><atom10:link xmlns:atom10="http://www.w3.org/2005/Atom" rel="hub" href="http://pubsubhubbub.appspot.com" /><item>
		<title>Isolation Cell Usage Tips Continued</title>
		<link>http://feedproxy.google.com/~r/synopsysoc/mbs/~3/q9v1WzCAu6Q/</link>
		<comments>http://synopsysoc.org/magicbluesmoke/?p=140#comments</comments>
		<pubDate>Thu, 28 Jan 2010 23:49:12 +0000</pubDate>
		<dc:creator>Godwin Maben</dc:creator>
				<category><![CDATA[low power general]]></category>

		<guid isPermaLink="false">http://synopsysoc.org/magicbluesmoke/?p=140</guid>
		<description><![CDATA[There were many questions on why output isolation is preferred over input isolation logic, sorry could not get time to respond to all the queries related to this. Here is my view point on this
Output signal isolation method is usually a preferred choice than the input isolation method as former leads to fewer isolation cells [...]<script type="text/javascript">SHARETHIS.addEntry({ title: "Isolation Cell Usage Tips Continued", url: "http://synopsysoc.org/magicbluesmoke/?p=140" });</script>]]></description>
			<content:encoded><![CDATA[<p><font face="Arial">There were many questions on why output isolation is preferred over input isolation logic, sorry could not get time to respond to all the queries related to this. Here is my view point on this</font></p>
<p><font face="Arial">Output signal isolation method is usually a preferred choice than the input isolation method as former leads to fewer isolation cells and gives better control over how the enable signal can be&#160; propagated to the isolation logic.&#160; </font></p>
<p><font face="Arial">Input isolation will be a better choice if there are very few independent domains. In such situation isolation enable signal management is very straight-forward.&#160; Here number of power domain is not the main component, its the sequence in which they are powered down and up. In this case isolation cell is only required when the power island is active. During the power down period, the power island is no longer functional and no power is supplied to the island. Therefore, neither the floating inputs nor the input transient state matters to the power island, which is overall good from total power perspective.</font></p>
<p>For this method, probably regular standard cells (NAND and NOR) can be used as isolation cells rather than requiring a custom cell.</p>
 <img src="http://synopsysoc.org/magicbluesmoke/wp-content/plugins/feed-statistics.php?view=1&post_id=140" width="1" height="1" style="display: none;" /><p><a href="http://sharethis.com/item?&wp=2.8.4&amp;publisher=c677b2c1-6fcb-4cb5-a760-dbd183bbff35&amp;title=Isolation+Cell+Usage+Tips+Continued&amp;url=http%3A%2F%2Fsynopsysoc.org%2Fmagicbluesmoke%2F%3Fp%3D140">ShareThis</a></p><img src="http://feeds.feedburner.com/~r/synopsysoc/mbs/~4/q9v1WzCAu6Q" height="1" width="1"/>]]></content:encoded>
			<wfw:commentRss>http://synopsysoc.org/magicbluesmoke/?feed=rss2&amp;p=140</wfw:commentRss>
		<slash:comments>0</slash:comments>
		<feedburner:origLink>http://synopsysoc.org/magicbluesmoke/?p=140</feedburner:origLink></item>
		<item>
		<title>Generating Partial UPF Automatically</title>
		<link>http://feedproxy.google.com/~r/synopsysoc/mbs/~3/F10-IR4DbIg/</link>
		<comments>http://synopsysoc.org/magicbluesmoke/?p=139#comments</comments>
		<pubDate>Thu, 17 Dec 2009 22:49:20 +0000</pubDate>
		<dc:creator>Godwin Maben</dc:creator>
				<category><![CDATA[low power general]]></category>

		<guid isPermaLink="false">http://synopsysoc.org/magicbluesmoke/?p=139</guid>
		<description><![CDATA[Sorry guys, got tied up with many projects and could not blog for almost 4 weeks.
I know we spend so much time in writing power intent of a design and validating whether its correct or not. In that process on a recent project, I did some analysis on how some of the intent generation can [...]<script type="text/javascript">SHARETHIS.addEntry({ title: "Generating Partial UPF Automatically", url: "http://synopsysoc.org/magicbluesmoke/?p=139" });</script>]]></description>
			<content:encoded><![CDATA[<p>Sorry guys, got tied up with many projects and could not blog for almost 4 weeks.</p>
<p>I know we spend so much time in writing power intent of a design and validating whether its correct or not. In that process on a recent project, I did some analysis on how some of the intent generation can be pseudo automated.</p>
<p>Used the MV static checker, MVRC to auto generate some policies based on the xover analysis and it helped quite a bit and was amazed at how fast I was able to generate these constraints from MVRC.</p>
<p>For example, on one of the design, finding out what need to be isolated and excluded from isolation was not a trivial task due to multi-fanout nature of the ports/pins. Looked at the xover analysis within MVRC and used this feature to auto-generate some of the isolation policies. It was less than 30 lines of TCL code within MVRC, which made my life easier in generating some part of power intent.</p>
<p>just an example on what I did within MVRC</p>
<p>set f1 [open ${source_island}_${dest_island}.xover w]    <br />set xs [get_crossovers -source $source_island -dest $dest_island]     <br />foreach x $xs {     <br />&#160;&#160;&#160; set src_port&#160; [get_crossover_info -object $x -boundary_source]     <br />&#160;&#160;&#160; set src_port [regsub -all {\{} $src_port {}]     <br />&#160;&#160;&#160; set src_port [regsub -all {\}} $src_port {}]     <br />&#160;&#160;&#160; lappend src_ports_list $src_port }}     <br />}</p>
<p>if {$src_ports_list!=&quot;&quot;} {puts $f1 &quot;set_isolation ${source_island}_${dest_island}_ISO -domain ${source_island} -isolation_power_net $domain_vdd_net -isolation_ground_net VSS -clamp_value 0 -elements \&quot;$src_ports_list\&quot;&quot;}</p>
<p>This may not be complete, but idea is very similar to one given above.</p>
<p>We can debate on whether should a sign-off MV tool be used for this or not? </p>
<p>Happy Holidays.</p>
 <img src="http://synopsysoc.org/magicbluesmoke/wp-content/plugins/feed-statistics.php?view=1&post_id=139" width="1" height="1" style="display: none;" /><p><a href="http://sharethis.com/item?&wp=2.8.4&amp;publisher=c677b2c1-6fcb-4cb5-a760-dbd183bbff35&amp;title=Generating+Partial+UPF+Automatically&amp;url=http%3A%2F%2Fsynopsysoc.org%2Fmagicbluesmoke%2F%3Fp%3D139">ShareThis</a></p><img src="http://feeds.feedburner.com/~r/synopsysoc/mbs/~4/F10-IR4DbIg" height="1" width="1"/>]]></content:encoded>
			<wfw:commentRss>http://synopsysoc.org/magicbluesmoke/?feed=rss2&amp;p=139</wfw:commentRss>
		<slash:comments>0</slash:comments>
		<feedburner:origLink>http://synopsysoc.org/magicbluesmoke/?p=139</feedburner:origLink></item>
		<item>
		<title>Isolation Cell Usage Tips</title>
		<link>http://feedproxy.google.com/~r/synopsysoc/mbs/~3/utWqTa-7RO0/</link>
		<comments>http://synopsysoc.org/magicbluesmoke/?p=136#comments</comments>
		<pubDate>Fri, 30 Oct 2009 00:40:20 +0000</pubDate>
		<dc:creator>Godwin Maben</dc:creator>
				<category><![CDATA[low power general]]></category>

		<guid isPermaLink="false">http://synopsysoc.org/magicbluesmoke/?p=136</guid>
		<description><![CDATA[Isolation cells are used in almost all power gated designs.&#160; Given below are some tips about these cells, this information is based on my experience working with various designers.
&#160;(1) Output signal isolation is usually a better choice than the input isolation . 
(2) Input isolation is reasonable on designs that have controllable independent power domains
(3) [...]<script type="text/javascript">SHARETHIS.addEntry({ title: "Isolation Cell Usage Tips", url: "http://synopsysoc.org/magicbluesmoke/?p=136" });</script>]]></description>
			<content:encoded><![CDATA[<p>Isolation cells are used in almost all power gated designs.&#160; Given below are some tips about these cells, this information is based on my experience working with various designers.</p>
<p>&#160;<strong>(1)</strong> Output signal isolation is usually a better choice than the input isolation . </p>
<p>(<strong>2)</strong> Input isolation is reasonable on designs that have controllable independent power domains</p>
<p><strong>(3)</strong> If custom isolation cells are not available, regular cells such as (AND/NOR) can be used, but we need to make sure that these cells are kept alive all the time.</p>
<p><strong>(4)</strong> Isolation cells impacts timing and area and hence should be used and analyzed properly. It should be inserted as early as possible in the design cycle to account for area/timing penalty.</p>
<p><strong>(5)</strong> If feed through paths exist in the power down domain, its not necessary to isolate these nets , but need to be kept alive</p>
<p><strong>(6)</strong> Isolation cells should be placed close to boundary and interface nets should be protected all the time and should not be buffered if its residing in a domain, whose power characteristics is different from source/sink domain</p>
<p><strong>(7)</strong> Some logic cells such as XOR gates, should be avoided at the interface logic so as to prevent any accidental sneak paths</p>
<p><strong>(8)</strong> Check the isolation states to make sure, parking at one value “1” or “0” does not lead to any sneaky paths</p>
<p><strong>(9)</strong> Its preferable to use enable level shifter instead of LS+ISO cells .</p>
<p><strong>(10)</strong> Last but not the least, make sure to write the isolation policy in UPF at the right interface. Its not practical and reasonable to write isolation policy both at the sink/source simultaneously.</p>
<p>&#160;</p>
<p>Lets discuss about the placement of these cells and AON’ness of these cells in the next post.</p>
 <img src="http://synopsysoc.org/magicbluesmoke/wp-content/plugins/feed-statistics.php?view=1&post_id=136" width="1" height="1" style="display: none;" /><p><a href="http://sharethis.com/item?&wp=2.8.4&amp;publisher=c677b2c1-6fcb-4cb5-a760-dbd183bbff35&amp;title=Isolation+Cell+Usage+Tips&amp;url=http%3A%2F%2Fsynopsysoc.org%2Fmagicbluesmoke%2F%3Fp%3D136">ShareThis</a></p><img src="http://feeds.feedburner.com/~r/synopsysoc/mbs/~4/utWqTa-7RO0" height="1" width="1"/>]]></content:encoded>
			<wfw:commentRss>http://synopsysoc.org/magicbluesmoke/?feed=rss2&amp;p=136</wfw:commentRss>
		<slash:comments>2</slash:comments>
		<feedburner:origLink>http://synopsysoc.org/magicbluesmoke/?p=136</feedburner:origLink></item>
		<item>
		<title>Why is Low Power Based Optimization more challenging for the tools</title>
		<link>http://feedproxy.google.com/~r/synopsysoc/mbs/~3/-fgOH6C4K0Q/</link>
		<comments>http://synopsysoc.org/magicbluesmoke/?p=133#comments</comments>
		<pubDate>Mon, 19 Oct 2009 22:43:57 +0000</pubDate>
		<dc:creator>Godwin Maben</dc:creator>
				<category><![CDATA[low power general]]></category>

		<guid isPermaLink="false">http://synopsysoc.org/magicbluesmoke/?p=133</guid>
		<description><![CDATA[&#160;
My apologies for changing the title of my previous post. I realized that most of the optimization challenges are primarily due to the design requirements not UPF requirements. UPF is just a medium to define power intent, similar to verilog defining the logic intent of the design. 

 continuing on the same topic, few more [...]<script type="text/javascript">SHARETHIS.addEntry({ title: "Why is Low Power Based Optimization more challenging for the tools", url: "http://synopsysoc.org/magicbluesmoke/?p=133" });</script>]]></description>
			<content:encoded><![CDATA[<p>&#160;</p>
<p><font face="Arial">My apologies for changing the title of my previous post. I realized that most of the optimization challenges are primarily due to the design requirements not UPF requirements. UPF is just a medium to define power intent, similar to verilog defining the logic intent of the design. </font></p>
<p><font face="Arial"></font></p>
<p> <font face="Arial">continuing on the same topic, few more reasons, which makes optimization challenging are</font>
</p>
<p><font face="Arial"></font></p>
<ol>
<li><font face="Arial">Isolation cells, isolating off/on blocks need to be placed closer to source if the isolation cell used is a single rail cell and its residing domain is different than the source/sink domain. This ensures that the signal is isolated properly to reach the sink. Scenario changes if the isolation cells used are dual rail isolation cell.&#160; </font></li>
<li><font face="Arial">During scan mode, all the special cells should be directly controllable and observable . This puts restriction on how tools can handle scan chain. This can also lead to scan chain re-ordering locally. </font></li>
<li><font face="Arial">Global signal distribution need to be power aware.. This leads to proper usage of AON buffers and regular buffers depending on how the global signal traverses. </font></li>
<li><font face="Arial">Physically each power domain/island/voltage area can restrict the routing of the signals, which might lead to taking&#160; longer route to reach destination. Due to these longer routes, more buffers/inverters/logic may be required to fix transition/timing/si requirements. </font></li>
</ol>
 <img src="http://synopsysoc.org/magicbluesmoke/wp-content/plugins/feed-statistics.php?view=1&post_id=133" width="1" height="1" style="display: none;" /><p><a href="http://sharethis.com/item?&wp=2.8.4&amp;publisher=c677b2c1-6fcb-4cb5-a760-dbd183bbff35&amp;title=Why+is+Low+Power+Based+Optimization+more+challenging+for+the+tools&amp;url=http%3A%2F%2Fsynopsysoc.org%2Fmagicbluesmoke%2F%3Fp%3D133">ShareThis</a></p><img src="http://feeds.feedburner.com/~r/synopsysoc/mbs/~4/-fgOH6C4K0Q" height="1" width="1"/>]]></content:encoded>
			<wfw:commentRss>http://synopsysoc.org/magicbluesmoke/?feed=rss2&amp;p=133</wfw:commentRss>
		<slash:comments>1</slash:comments>
		<feedburner:origLink>http://synopsysoc.org/magicbluesmoke/?p=133</feedburner:origLink></item>
		<item>
		<title>Why is Low Power Based Optimization more challenging for the tools?</title>
		<link>http://feedproxy.google.com/~r/synopsysoc/mbs/~3/h1MaDwr_fEI/</link>
		<comments>http://synopsysoc.org/magicbluesmoke/?p=131#comments</comments>
		<pubDate>Thu, 10 Sep 2009 23:41:03 +0000</pubDate>
		<dc:creator>Godwin Maben</dc:creator>
				<category><![CDATA[low power general]]></category>

		<guid isPermaLink="false">http://synopsysoc.org/magicbluesmoke/?p=131</guid>
		<description><![CDATA[&#160;
I quite often get this question, my design used to work fine , P&#38;R tools did not have any issues and was routed clean and so was LVS . But the same design, targeted towards reducing power leads to undesirable results and not at all clean?
Now lets look at some of the challenges faced by [...]<script type="text/javascript">SHARETHIS.addEntry({ title: "Why is Low Power Based Optimization more challenging for the tools?", url: "http://synopsysoc.org/magicbluesmoke/?p=131" });</script>]]></description>
			<content:encoded><![CDATA[<p>&#160;</p>
<p>I quite often get this question, my design used to work fine , P&amp;R tools did not have any issues and was routed clean and so was LVS . But the same design, targeted towards reducing power leads to undesirable results and not at all clean?</p>
<p>Now lets look at some of the challenges faced by the optimization tools, when power domains are introduced through UPF? Other thing to keep in mind is power is no longer an after thought process anymore, designs need to be well architected up-front to avoid certain issues stated above!</p>
<p><strong>(1)</strong> Physical optimization during placement is constrained to ensure that cells in a power domain are placed inside the island(voltage area). This requires hard exclusive region constraints applied to the cells in the power domain during the placement and physical aware optimization process. It also requires tools to keep track of logical hierarchies as netlist is being modified, all the physical optimization need to align itself with the logical hierarchies and insert the new cells in the respective hierarchies, else we end up having AON cells in dead region and vice-versa</p>
<p><strong>(2)</strong> New cells created during re-structuring logic or local buffering in a power domain must be assigned to the power island and constrained to ensure that they are placed inside the respective island. </p>
<p><strong>(3)</strong> Short feed-through paths in a power island should be protected from buffer insertion during design optimization and design-rule fixing to maintain wire connection(inserting buffers and the entry point of the island and exit point of the island). Long feed-through paths that need repeaters must be buffered by always-on buffers so that the feed-through paths are functional while the island is powered down. </p>
<p><strong>(4)</strong> Special cells such as Level Shifter/Isolation Cells….etc, have their respective places physically(pre-defined) to avoid electrical issues and should be honored through out the optimization process.</p>
<p>&#160; </p>
<p>…more in my next post.</p>
 <img src="http://synopsysoc.org/magicbluesmoke/wp-content/plugins/feed-statistics.php?view=1&post_id=131" width="1" height="1" style="display: none;" /><p><a href="http://sharethis.com/item?&wp=2.8.4&amp;publisher=c677b2c1-6fcb-4cb5-a760-dbd183bbff35&amp;title=Why+is+Low+Power+Based+Optimization+more+challenging+for+the+tools%3F&amp;url=http%3A%2F%2Fsynopsysoc.org%2Fmagicbluesmoke%2F%3Fp%3D131">ShareThis</a></p><img src="http://feeds.feedburner.com/~r/synopsysoc/mbs/~4/h1MaDwr_fEI" height="1" width="1"/>]]></content:encoded>
			<wfw:commentRss>http://synopsysoc.org/magicbluesmoke/?feed=rss2&amp;p=131</wfw:commentRss>
		<slash:comments>0</slash:comments>
		<feedburner:origLink>http://synopsysoc.org/magicbluesmoke/?p=131</feedburner:origLink></item>
	</channel>
</rss>
