<?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, 03 Jun 2010 23:32:11 +0000</lastBuildDate>
	<generator>http://wordpress.org/?v=2.9.2</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>Clock Gating State Retention</title>
		<link>http://feedproxy.google.com/~r/synopsysoc/mbs/~3/RGn23X-ws-Y/</link>
		<comments>http://synopsysoc.org/magicbluesmoke/2010/06/clock-gating-state-retention/#comments</comments>
		<pubDate>Thu, 03 Jun 2010 23:32:11 +0000</pubDate>
		<dc:creator>Godwin Maben</dc:creator>
				<category><![CDATA[low power general]]></category>

		<guid isPermaLink="false">http://synopsysoc.org/magicbluesmoke/2010/06/clock-gating-state-retention/</guid>
		<description><![CDATA[Recently came across this request for clock gating retention latch. Here are some details on why these are required and what it means to the design.
Clock gating is the most common low power saving technique in use for a long time.&#160; Latch based clock gating logic is typically used to avoid any glitches even during [...]]]></description>
			<content:encoded><![CDATA[<p><font face="Arial">Recently came across this request for clock gating retention latch. Here are some details on why these are required and what it means to the design.</font></p>
<p><font face="Arial">Clock gating is the most common low power saving technique in use for a long time.&#160; Latch based clock gating logic is typically used to avoid any glitches even during entry and exit from/to sleep mode.&#160; In a power gated design , usually we stop the clock at in-active phase before retaining states and entering sleep mode and same for wake up mode.&#160; Here one of the main challenge is the validity of the enable signal at wakeup, which is typically provided by the restored states in the registers propagating through cloud of logic to the clock gating latches, which stay open during in-active phase.</font></p>
<p><font face="Arial">In a power gated design, where retention registers are not used, this propagation mechanism may not work and we might have to use some kind of state retention for the clock gating latches, which retains the clock gating state when powered down. In one of the design, this is incorporated using retention latch(similar to retention flop) inside the latch based clock gating cell.</font></p>
<p><font face="Arial">It may not be required to use these special cells if retention registers happen to exist in the design, which controls the clock enable signal state. Its also not required if some logic is built in to ensure controllability of the clock during inactive phase while entering and exiting the hibernation mode.</font></p>
 <img src="http://synopsysoc.org/magicbluesmoke/wp-content/plugins/feed-statistics.php?view=1&post_id=143" width="1" height="1" style="display: none;" /><img src="http://feeds.feedburner.com/~r/synopsysoc/mbs/~4/RGn23X-ws-Y" height="1" width="1"/>]]></content:encoded>
			<wfw:commentRss>http://synopsysoc.org/magicbluesmoke/2010/06/clock-gating-state-retention/feed/</wfw:commentRss>
		<slash:comments>4</slash:comments>
		<feedburner:origLink>http://synopsysoc.org/magicbluesmoke/2010/06/clock-gating-state-retention/</feedburner:origLink></item>
		<item>
		<title>Interesting Low Power Sessions at SNUG Sanjose 2010</title>
		<link>http://feedproxy.google.com/~r/synopsysoc/mbs/~3/aYuZFcDfEZc/</link>
		<comments>http://synopsysoc.org/magicbluesmoke/2010/03/interesting-low-power-sessions-at-snug-sanjose-2010/#comments</comments>
		<pubDate>Fri, 26 Mar 2010 22:57:50 +0000</pubDate>
		<dc:creator>Godwin Maben</dc:creator>
				<category><![CDATA[low power general]]></category>

		<guid isPermaLink="false">http://synopsysoc.org/magicbluesmoke/?p=142</guid>
		<description><![CDATA[&#160;
Monday, March 29, 2010        11:00 AM &#8211; 12:30 PM
MA1 Tutorial : Implementation
PrimeRail and IC Compiler: In-Design Rail Analysis for Faster Power Network Design Closure
MA2 User &#8211; Constraints and Power Challenges in Verification : Verification
Formal Methods to Verify the Power Manager for an Embedded Multiprocessor Cluster

Monday, March 29, 2010 [...]]]></description>
			<content:encoded><![CDATA[<p>&#160;</p>
<p><b><font color="#ff0000">Monday, March 29, 2010        <br />11:00 AM &#8211; 12:30 PM</font></b></p>
<p><b><a name="MA1"><font color="#000000">MA1 Tutorial</font></a><font color="#000000"> : Implementation</font></b></p>
<p><b><font color="#8000ff">PrimeRail and IC Compiler: In-Design Rail Analysis for Faster Power Network Design Closure</font></b></p>
<p><b><a name="MA2"><font color="#8000ff">MA2 User &#8211; Constraints and Power Challenges in Verification</font></a><font color="#8000ff"> : Verification</font></b></p>
<p><b><font color="#8000ff">Formal Methods to Verify the Power Manager for an Embedded Multiprocessor Cluster</font></b></p>
<p><font color="#000000"></font></p>
<p><b><font color="#ff0000">Monday, March 29, 2010        <br />1:45 PM &#8211; 3:15 PM</font></b></p>
<p><b><a name="MB3"><font color="#000000">MB3 Tutorial</font></a><font color="#000000"> : AMS</font></b></p>
<p><b><font color="#8000ff">HSIMplus CircuitCheck for Low Power Transistor Level Error Detection</font></b></p>
<p><b><font color="#8000ff">Power Correlation with Silicon &#8211; A PrimeTime PX Evaluation</font></b></p>
<p><b><font color="#ff0000">Tuesday, March 30, 2010        <br />10:15 AM &#8211; 11:45 AM</font></b></p>
<p><b><font color="#000000">TA1 User &#8211; </font></b></p>
<p><b><font color="#8000ff">Reusable UPF for Multi-Voltage Design &amp; Handling Analog Macros in Power Subsystem</font></b></p>
<p><b><a name="TA2"><font color="#8000ff">TA2 Tutorial</font></a><font color="#8000ff"> : Verification</font></b></p>
<p><b><font color="#8000ff">Low Power Verification</font></b></p>
<p><b><font color="#ff0000">Tuesday, March 30, 2010        <br />1:00 PM &#8211; 2:30 PM</font></b></p>
<p><b><a name="TB1"><font color="#000000">TB1 User &#8211; </font></a><font color="#000000">Implementation</font></b></p>
<p><b><font color="#8000ff">LeSa Lowers Leakage</font></b></p>
<p><b><font color="#ff0000">Tuesday, March 30, 2010        <br />2:50 PM &#8211; 4:50 PM</font></b></p>
<p><b><font color="#8000ff">Clock Power Reduction-Analysis Metrics and Power Reduction Techniques</font></b></p>
<p><b><font color="#8000ff">Low Power Multi-Voltage Design Implementation Methodology using the IEEE 1801 (UPF) Standard</font></b></p>
<p><b><font color="#ff0000">Wednesday, March 31, 2010        <br />10:15 AM &#8211; 11:45 AM</font></b></p>
<p><b><a name="WA1"><font color="#000000">WA1 Tutorial</font></a><font color="#000000"> : Implementation</font></b></p>
<p><b><font color="#8000ff">Energy Efficient Processor Implementation with Synopsys’ Eclypse Low Power Solution</font></b></p>
<p><b><a name="WB5"><font color="#000000">WB5 Tutorial</font></a><font color="#000000"> : IP</font></b></p>
<p><b><font color="#8000ff">Extreme Low-Power Datapath Design with DesignWare minPower Components</font></b></p>
 <img src="http://synopsysoc.org/magicbluesmoke/wp-content/plugins/feed-statistics.php?view=1&post_id=142" width="1" height="1" style="display: none;" /><img src="http://feeds.feedburner.com/~r/synopsysoc/mbs/~4/aYuZFcDfEZc" height="1" width="1"/>]]></content:encoded>
			<wfw:commentRss>http://synopsysoc.org/magicbluesmoke/2010/03/interesting-low-power-sessions-at-snug-sanjose-2010/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		<feedburner:origLink>http://synopsysoc.org/magicbluesmoke/2010/03/interesting-low-power-sessions-at-snug-sanjose-2010/</feedburner:origLink></item>
		<item>
		<title>Architectural Error Example</title>
		<link>http://feedproxy.google.com/~r/synopsysoc/mbs/~3/tATD0TnmR94/</link>
		<comments>http://synopsysoc.org/magicbluesmoke/2010/03/architectural-error-example/#comments</comments>
		<pubDate>Thu, 18 Mar 2010 21:56:29 +0000</pubDate>
		<dc:creator>Godwin Maben</dc:creator>
				<category><![CDATA[low power general]]></category>

		<guid isPermaLink="false">http://synopsysoc.org/magicbluesmoke/?p=141</guid>
		<description><![CDATA[Again sorry for the long break in writing, wish I could&#160; write at least one post per week,
Recently based on some silicon debugging, we realized verification did not cover some aspect of the power down function that lead to chip failure. Later realized that, this is&#160; being mentioned some where in VMM LP manual, thought [...]]]></description>
			<content:encoded><![CDATA[<p>Again sorry for the long break in writing, wish I could&#160; write at least one post per week,</p>
<p>Recently based on some silicon debugging, we realized verification did not cover some aspect of the power down function that lead to chip failure. Later realized that, this is&#160; being mentioned some where in VMM LP manual, thought of sharing this here.</p>
<p>MOS transistors are dependent on their gate-source voltage difference to determine whether they are “on” or “off”, also known as “conducting” or “non-conducting”. This mechanism is used in power gating. The Gate voltage is such that the transistor is non-conducting. This is done by issuing logic “1” to the Gate, which charges it up to the Vdd level of the driver. In general, this is the same voltage level as the power switch. The gate-source difference kicks in to turn the transistor off. However, when the Vdd of the power gating signal&#8217;s driver “dips”, the off island makes an “on” excursion and come back. On the other side, the power gate can also become more resistive. Similarly, an on island with a footer can suddenly become more resistive or make an on excursion.</p>
<p>This phenomena is quite dangerous, as it will lead to a current spike and a further collapse of rails. Although the profile looks like a power integrity issue and may well be caused by bad implementation of the power grid, frequently the cause is an over-scheduling of power state changes instead of staggering them in time. This in turn causes fluctuations in the power supply. The Power Management Unit must take the stability of the power supplies into account before moving rails in voltage value.</p>
<p>Will talk on the verification plan for this scenario in my next post.</p>
 <img src="http://synopsysoc.org/magicbluesmoke/wp-content/plugins/feed-statistics.php?view=1&post_id=141" width="1" height="1" style="display: none;" /><img src="http://feeds.feedburner.com/~r/synopsysoc/mbs/~4/tATD0TnmR94" height="1" width="1"/>]]></content:encoded>
			<wfw:commentRss>http://synopsysoc.org/magicbluesmoke/2010/03/architectural-error-example/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		<feedburner:origLink>http://synopsysoc.org/magicbluesmoke/2010/03/architectural-error-example/</feedburner:origLink></item>
		<item>
		<title>Isolation Cell Usage Tips Continued</title>
		<link>http://feedproxy.google.com/~r/synopsysoc/mbs/~3/qItR0LCMtNA/</link>
		<comments>http://synopsysoc.org/magicbluesmoke/2010/01/isolation-cell-usage-tips-continued/#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 [...]]]></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;" /><img src="http://feeds.feedburner.com/~r/synopsysoc/mbs/~4/qItR0LCMtNA" height="1" width="1"/>]]></content:encoded>
			<wfw:commentRss>http://synopsysoc.org/magicbluesmoke/2010/01/isolation-cell-usage-tips-continued/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		<feedburner:origLink>http://synopsysoc.org/magicbluesmoke/2010/01/isolation-cell-usage-tips-continued/</feedburner:origLink></item>
		<item>
		<title>Generating Partial UPF Automatically</title>
		<link>http://feedproxy.google.com/~r/synopsysoc/mbs/~3/7zPXigRxSyQ/</link>
		<comments>http://synopsysoc.org/magicbluesmoke/2009/12/generating-partial-upf-automatically/#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 [...]]]></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;" /><img src="http://feeds.feedburner.com/~r/synopsysoc/mbs/~4/7zPXigRxSyQ" height="1" width="1"/>]]></content:encoded>
			<wfw:commentRss>http://synopsysoc.org/magicbluesmoke/2009/12/generating-partial-upf-automatically/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		<feedburner:origLink>http://synopsysoc.org/magicbluesmoke/2009/12/generating-partial-upf-automatically/</feedburner:origLink></item>
	</channel>
</rss>
