<?xml version="1.0" encoding="UTF-8"?>
<?xml-stylesheet href="http://feeds.feedburner.com/~d/styles/rss2full.xsl" type="text/xsl" media="screen"?><?xml-stylesheet href="http://feeds.feedburner.com/~d/styles/itemcontent.css" type="text/css" media="screen"?><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:feedburner="http://rssnamespace.org/feedburner/ext/1.0" version="2.0">

<channel>
	<title>Circuit Design</title>
	
	<link>http://www.circuitdesign.info/blog</link>
	<description>Tutorials and Insights in Electronics and Circuit Design</description>
	<pubDate>Mon, 05 Jan 2009 05:34:15 +0000</pubDate>
	<generator>http://wordpress.org/?v=2.7</generator>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
			<image><link>http://www.circuitdesign.info/blog</link><url>http://www.circuitdesign.info/blog/favicon.ico</url><title>CircuitDesign.info Icon</title></image><atom10:link xmlns:atom10="http://www.w3.org/2005/Atom" rel="self" href="http://feeds.feedburner.com/CircuitDesign" type="application/rss+xml" /><feedburner:emailServiceId>2104282</feedburner:emailServiceId><feedburner:feedburnerHostname>http://www.feedburner.com</feedburner:feedburnerHostname><feedburner:feedFlare href="http://add.my.yahoo.com/rss?url=http%3A%2F%2Ffeeds.feedburner.com%2FCircuitDesign" 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%2FCircuitDesign" 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%2FCircuitDesign" 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/CircuitDesign" 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%2FCircuitDesign" 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%2FCircuitDesign" 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%2FCircuitDesign" src="http://www.pageflakes.com/ImageFile.ashx?instanceId=Static_4&amp;fileName=ATP_blu_91x17.gif">Subscribe with Pageflakes</feedburner:feedFlare><feedburner:feedFlare href="http://www.live.com/?add=http%3A%2F%2Ffeeds.feedburner.com%2FCircuitDesign" src="http://tkfiles.storage.msn.com/x1piYkpqHC_35nIp1gLE68-wvzLZO8iXl_JMledmJQXP-XTBOLfmQv4zhj4MhcWEJh_GtoBIiAl1Mjh-ndp9k47If7hTaFno0mxW9_i3p_5qQw">Subscribe with Live.com</feedburner:feedFlare><item>
		<title>Asymmetric chopping for improved IM3 | A dead-end research topic?</title>
		<link>http://feeds.feedburner.com/~r/CircuitDesign/~3/503087522/</link>
		<comments>http://www.circuitdesign.info/blog/2009/01/asymmetric-chopping-for-improved-im3-a-dead-end-research-topic/#comments</comments>
		<pubDate>Mon, 05 Jan 2009 05:15:47 +0000</pubDate>
		<dc:creator>Poojan Wagh</dc:creator>
		
		<category><![CDATA[Analog Professional]]></category>

		<category><![CDATA[chopping]]></category>

		<category><![CDATA[IIP2]]></category>

		<category><![CDATA[IIP3]]></category>

		<category><![CDATA[IM2]]></category>

		<category><![CDATA[IM3]]></category>

		<guid isPermaLink="false">http://www.circuitdesign.info/blog/2009/01/asymmetric-chopping-for-improved-im3-a-dead-end-research-topic/</guid>
		<description><![CDATA[In my prior post, I discussed the use of &#34;chopping&#34; (or pre- and post-mixing) to improve the IM2 of RF/analog circuits. New readers should go back and read that post in order to understand the nomenclature and variable names in this post.
Lately, I&#8217;ve been considering whether any similar (but different) technique can be used to [...]


Related posts:<ol><li><a href='http://www.circuitdesign.info/blog/2008/12/chopping-to-alleviate-im2/' rel='bookmark' title='Permanent Link: Chopping to alleviate IM2,'>Chopping to alleviate IM2,</a> <small>IM2 Consider the fully differential amplifier shown below: is one...</small></li></ol>]]></description>
			<content:encoded><![CDATA[<p>In <a title="Chopping to alleviate IM2" href="http://www.circuitdesign.info/blog/2008/12/chopping-to-alleviate-im2/" target="_blank">my prior post</a>, I discussed the use of &quot;chopping&quot; (or pre- and post-mixing) to improve the IM2 of RF/analog circuits. New readers should go back and read that post in order to understand the nomenclature and variable names in this post.</p>
<p>Lately, I&#8217;ve been considering whether any similar (but different) technique can be used to improve IM3. I went through a few thought experiments and eventually concluded that it couldn&#8217;t be done. Nonetheless, I was quite proud of the journey and thought it was worth sharing. I also hope that someone else will use the ideas presented here to come up with something better. (This hope is true of everything I publish here.)</p>
<p>In short, it&#8217;s good to celebrate your achievements and document your failures. This post is a case of the latter.</p>
<p><span id="more-627"></span></p>
<h2>IM3</h2>
<p>Deviating from <a title="Chopping to Alleviate IM2" href="http://www.circuitdesign.info/blog/2008/12/chopping-to-alleviate-im2/" target="_blank">my prior post</a>, I will not bother to break down the circuit into two sides of a fully-differential circuit. In the case of IM3, there is no difference between a single-ended and a fully-differential circuit (at least not mathematically). So, I&#8217;ll just assume that everything is fully differential (without loss of generality).</p>
<p>Let&#8217;s consider the IM3 component from our chopping system presented in the previous post:</p>
<p> <center><img src="http://www.circuitdesign.info/blog/wp-content/cache/tex_4c30827cffa4042c9914ce0e1219fc45.png" align="absmiddle" class="tex" alt="y = a{\times}p{\times}x + b{\times}x^2 + c{\times}x" /></center>
<p>This represents the usual polynomial model (up to the 3rd order) of a circuit. Let&#8217;s now consider how our IM2 chopping system does with respect to IM3:</p>
<p> <center><img src="http://www.circuitdesign.info/blog/wp-content/cache/tex_e93306019f11f789014ae3ce0447f8ab.png" align="absmiddle" class="tex" alt="y = a \times p \times x + b \times p^2 \times x^2 + c \times p^3 \times x^3" /></center> <center><img src="http://www.circuitdesign.info/blog/wp-content/cache/tex_bc348925f23ddbf221d60bd116bd4fb9.png" align="absmiddle" class="tex" alt="\hat{y} = a \times p^2 \times x + b \times p^3 \times x^2 + c \times p^4 \times x^3" /></center>
<p>In our conventional IM2-chopping system, <img src="http://www.circuitdesign.info/blog/wp-content/cache/tex_a3b8d2eb4ed426fd8565d5ab201f7174.png" align="absmiddle" class="tex" alt="p = \in  \pm 1" />. So, this means that the IM3 term <img src="http://www.circuitdesign.info/blog/wp-content/cache/tex_84726d36cf5b4690bff3e8f39869e7ee.png" align="absmiddle" class="tex" alt="c \times p^4 \times x^3 = c \times x^3" />&#8211;that is, this symmetric chopping does absolutely nothing for IM3. In fact, any sequence <img src="http://www.circuitdesign.info/blog/wp-content/cache/tex_83878c91171338902e0fe0fb97a8c47a.png" align="absmiddle" class="tex" alt="p" /> which obeys <img src="http://www.circuitdesign.info/blog/wp-content/cache/tex_e2f38157fd55257e26a69b74de65c19d.png" align="absmiddle" class="tex" alt="p \in \{-1,+1\}" /> won&#8217;t work, because <img src="http://www.circuitdesign.info/blog/wp-content/cache/tex_cfb04e42eb729ffc1f317e7125c79276.png" align="absmiddle" class="tex" alt="p^4" /> will equal 1.</p>
<h2>Symmetric vs Asymmetric</h2>
<p>I&#8217;m coining the term <em>symmetric</em> chopping and <em>asymmetric</em> chopping by borrowing phrases from cryptogrophy. A symmetric cipher is one that uses the same key to both encrypt and decrypt. Similarly, I&#8217;m defining a symmetric chopper as one that uses the same chopping sequence to both chop and anti-chop. An asymmetric cipher uses one key to encrypt and another to decrypt. I similarly define an <em>asymmetric</em> chopper as one that uses one sequence <img src="http://www.circuitdesign.info/blog/wp-content/cache/tex_83878c91171338902e0fe0fb97a8c47a.png" align="absmiddle" class="tex" alt="p" /> to chop and another signal <img src="http://www.circuitdesign.info/blog/wp-content/cache/tex_7694f4a66316e53c8cdd9d9954bd611d.png" align="absmiddle" class="tex" alt="q" /> to anti-chop. The necessary conditions are <img src="http://www.circuitdesign.info/blog/wp-content/cache/tex_93fea82a1e8437b62f0bb613d4b6eb8e.png" align="absmiddle" class="tex" alt="p \times q = 1" /> so that we can recover the desired linear component, and <img src="http://www.circuitdesign.info/blog/wp-content/cache/tex_befc2ba6fa61d026f97e54fa9ac48aa6.png" align="absmiddle" class="tex" alt="p \neq q" /> because that&#8217;s the trivial case of the symmetric chopper.</p>
<p>We must remove constraint <img src="http://www.circuitdesign.info/blog/wp-content/cache/tex_e2f38157fd55257e26a69b74de65c19d.png" align="absmiddle" class="tex" alt="p \in \{-1,+1\}" />, because otherwise when <img src="http://www.circuitdesign.info/blog/wp-content/cache/tex_200d21be2e97c729eacd2a5ab7e4d5a1.png" align="absmiddle" class="tex" alt="p=-1" />, <img src="http://www.circuitdesign.info/blog/wp-content/cache/tex_75e091b65fbf11a5c1f504d2b7df1722.png" align="absmiddle" class="tex" alt="q=-1" /> and when <img src="http://www.circuitdesign.info/blog/wp-content/cache/tex_d9e27c96ce98718b197c6a3322966a87.png" align="absmiddle" class="tex" alt="p=+1" />, <img src="http://www.circuitdesign.info/blog/wp-content/cache/tex_fc5c19f665b2730cda41e4c9ecc01790.png" align="absmiddle" class="tex" alt="q=+1" /> to meet the constraint that <img src="http://www.circuitdesign.info/blog/wp-content/cache/tex_9f322435b5da1af314aa35b67fcd6c91.png" align="absmiddle" class="tex" alt="p{\times}q=1" />. We have to reject this trivial case because <img src="http://www.circuitdesign.info/blog/wp-content/cache/tex_6ab113c9c0248fb17eda1c4e6e8077c5.png" align="absmiddle" class="tex" alt="p=q" /> is not an asymmetric chopper&#8211;it is identical to the symmetrical chopper but we have introduced the redundant variable <img src="http://www.circuitdesign.info/blog/wp-content/cache/tex_7694f4a66316e53c8cdd9d9954bd611d.png" align="absmiddle" class="tex" alt="q" /> to describe it.</p>
<p>To recap, we&#8217;ve found that we can&#8217;t make a chopper with the property <img src="http://www.circuitdesign.info/blog/wp-content/cache/tex_c4237733e401bb5a0fba1c5b50f5eadb.png" align="absmiddle" class="tex" alt="p^4=1" /> and have it improve IM3. The reason for this is that a <img src="http://www.circuitdesign.info/blog/wp-content/cache/tex_8dd8ba1c4dcbad0b4ef12b710183031b.png" align="absmiddle" class="tex" alt="p^3" /> term appears due to the IM3 of the circuit (which we are trying to linearize) and our symmetric anti-chopper multiplied again by <img src="http://www.circuitdesign.info/blog/wp-content/cache/tex_83878c91171338902e0fe0fb97a8c47a.png" align="absmiddle" class="tex" alt="p" /> to form <img src="http://www.circuitdesign.info/blog/wp-content/cache/tex_cfb04e42eb729ffc1f317e7125c79276.png" align="absmiddle" class="tex" alt="p^4" />.</p>
<h2>Asymmetric Chopping</h2>
<p>However, what if we consider the asymmetric chopper. Then, our output <img src="http://www.circuitdesign.info/blog/wp-content/cache/tex_415290769594460e2e485922904f345d.png" align="absmiddle" class="tex" alt="y" /> will be:</p>
<p><center><img src="http://www.circuitdesign.info/blog/wp-content/cache/tex_e93306019f11f789014ae3ce0447f8ab.png" align="absmiddle" class="tex" alt="y = a \times p \times x + b \times p^2 \times x^2 + c \times p^3 \times x^3" /></center><br />
<center><img src="http://www.circuitdesign.info/blog/wp-content/cache/tex_e8eed77937bd4685b3fc58eed05c9e37.png" align="absmiddle" class="tex" alt="\hat{y} = a \times p \times q \times x + b \times p^2 \times q \times x^2 + c \times p^3 \times p \times x^3" /></center></p>
<p>which, using the relation <img src="http://www.circuitdesign.info/blog/wp-content/cache/tex_9f322435b5da1af314aa35b67fcd6c91.png" align="absmiddle" class="tex" alt="p{\times}q=1" />:</p>
<p><center><img src="http://www.circuitdesign.info/blog/wp-content/cache/tex_0c376771bf44f56319801ff7fb90f22a.png" align="absmiddle" class="tex" alt="\hat{y} = a \times x + b \times p{\times}x^2 + c{\times}p^2{\times}x^3" /></center></p>
<p>So, we now want a system where <img src="http://www.circuitdesign.info/blog/wp-content/cache/tex_ca77baa174984994b648741752abfe84.png" align="absmiddle" class="tex" alt="p^2" /> is a broadband (or out-of-band) signal. How do we generate such a signal? Well, let&#8217;s consider the 3-level case. We can consider <img src="http://www.circuitdesign.info/blog/wp-content/cache/tex_d7d2e9915d735bbd2409f5e6c13ae3ae.png" align="absmiddle" class="tex" alt="p \in \{-1, 0, +1\}" />, but we have to reject it because then <img src="http://www.circuitdesign.info/blog/wp-content/cache/tex_ed604468f3d46d6c3701f991eff348af.png" align="absmiddle" class="tex" alt="p \times q \neq 1" /> when <img src="http://www.circuitdesign.info/blog/wp-content/cache/tex_308b547f3dadd916f87b00451fe67af1.png" align="absmiddle" class="tex" alt="p=0" />. In other words, we can&#8217;t have <img src="http://www.circuitdesign.info/blog/wp-content/cache/tex_308b547f3dadd916f87b00451fe67af1.png" align="absmiddle" class="tex" alt="p=0" /> because then we can&#8217;t recover our signal. [In actuality, there may be a way to do exactly this, but I'll leave that option for a future post. I still have to work out the details.]</p>
<p>So, let&#8217;s now consider the case where <img src="http://www.circuitdesign.info/blog/wp-content/cache/tex_9ff938922256b611788cab370eef7391.png" align="absmiddle" class="tex" alt="p \in \{r, s\}" /> and <img src="http://www.circuitdesign.info/blog/wp-content/cache/tex_d98cbcabe95f8f1657a2663800290e81.png" align="absmiddle" class="tex" alt="r &lt; s" />. [This case has the property that the dc value of <img src="http://www.circuitdesign.info/blog/wp-content/cache/tex_83878c91171338902e0fe0fb97a8c47a.png" align="absmiddle" class="tex" alt="p" /> is non-zero, <img src="http://www.circuitdesign.info/blog/wp-content/cache/tex_ebc65857e5049394f076e5e7f25219e4.png" align="absmiddle" class="tex" alt="</p>
<p> \neq 0" />. We'll set that fact aside for now.] Let&#8217;s call the associated values of <img src="http://www.circuitdesign.info/blog/wp-content/cache/tex_7694f4a66316e53c8cdd9d9954bd611d.png" align="absmiddle" class="tex" alt="q" /> as <img src="http://www.circuitdesign.info/blog/wp-content/cache/tex_405c341bfdfc16df0a37ded0634b5a5d.png" align="absmiddle" class="tex" alt="q \in \{t, u\}" />. What does this look like in the frequency domain? Well, we can express <img src="http://www.circuitdesign.info/blog/wp-content/cache/tex_4b43b0aee35624cd95b910189b3dc231.png" align="absmiddle" class="tex" alt="r" /> and <img src="http://www.circuitdesign.info/blog/wp-content/cache/tex_03c7c0ace395d80182db07ae2c30f034.png" align="absmiddle" class="tex" alt="s" /> as:</p>
<p> <center><img src="http://www.circuitdesign.info/blog/wp-content/cache/tex_4a4b928f7336a328fbdf54eccbb91f8e.png" align="absmiddle" class="tex" alt="r = \frac{r+s}{2} + \frac{r-s}{2}" /></center> <center><img src="http://www.circuitdesign.info/blog/wp-content/cache/tex_0d856a4425de764c3a04cb33b4962b01.png" align="absmiddle" class="tex" alt="s = \frac{r+s}{2} - \frac{r-s}{2}" /></center>
<p>in other words:</p>
<p> <center><img src="http://www.circuitdesign.info/blog/wp-content/cache/tex_11d36327a4c9b9bbe2145e0a4ce28a4a.png" align="absmiddle" class="tex" alt="p = \frac{r+s}{2} \pm \frac{r-s}{2}" /></center>
<p>which means that <img src="http://www.circuitdesign.info/blog/wp-content/cache/tex_83878c91171338902e0fe0fb97a8c47a.png" align="absmiddle" class="tex" alt="p" /> has a dc value of <img src="http://www.circuitdesign.info/blog/wp-content/cache/tex_1aa132a53203b9bb88bdc0353695070e.png" align="absmiddle" class="tex" alt="\frac{r+s}{2}" /> plus a broadband/out-of-band component <img src="http://www.circuitdesign.info/blog/wp-content/cache/tex_b579b06e14a9f7bed509fa2cff8e739f.png" align="absmiddle" class="tex" alt="\frac{r-s}{2}" />:<br /> <a href="http://www.circuitdesign.info/blog/wp-content/uploads/2009/01/scan0129a.jpg"><img style="border-right: 0px; border-top: 0px; display: block; float: none; margin-left: auto; border-left: 0px; margin-right: auto; border-bottom: 0px" height="171" alt="scan0129a" src="http://www.circuitdesign.info/blog/wp-content/uploads/2009/01/scan0129a-thumb.jpg" width="244" border="0" /></a> </p>
<p>In addition, the average power of <img src="http://www.circuitdesign.info/blog/wp-content/cache/tex_83878c91171338902e0fe0fb97a8c47a.png" align="absmiddle" class="tex" alt="p" /> is <img src="http://www.circuitdesign.info/blog/wp-content/cache/tex_ffc79ee695c2d7a8d17b5127698f0bd5.png" align="absmiddle" class="tex" alt="\frac{r^2+s^2}{2}" />. Since it&#8217;s pointless to ascribe any gain or loss to the chopping function (since this can be mathematically ascribed to the gain coefficients <img src="http://www.circuitdesign.info/blog/wp-content/cache/tex_64f47382e7ddc46583bf6d2abedf4140.png" align="absmiddle" class="tex" alt="a, b, c" /> of y), we can without loss of generality constrain the average power of <img src="http://www.circuitdesign.info/blog/wp-content/cache/tex_83878c91171338902e0fe0fb97a8c47a.png" align="absmiddle" class="tex" alt="p" /> to be 1:</p>
<p> <center><img src="http://www.circuitdesign.info/blog/wp-content/cache/tex_af3aa16e9a717d9b3b7bee548e5ebb92.png" align="absmiddle" class="tex" alt="\frac{r^2+s^2}{2} = 1" /></center>
<p>So, for example, if <img src="http://www.circuitdesign.info/blog/wp-content/cache/tex_03644c1a70a652b216d07e932c65c3b0.png" align="absmiddle" class="tex" alt="r = 0.1" />, then <img src="http://www.circuitdesign.info/blog/wp-content/cache/tex_344194562cb2e257e3703ebe9e5b6ac3.png" align="absmiddle" class="tex" alt="s = \sqrt{1.99}" />.</p>
<p>Recall our result of asymmetric chopping:</p>
<p><center><img src="http://www.circuitdesign.info/blog/wp-content/cache/tex_5bc3f3c09720f70871ac2b6fed620817.png" align="absmiddle" class="tex" alt="\hat{y} = a \times x + b \times p \times x^2 + c \times p^2 \times x^3" /></center></p>
<p>So, the fundamental question is what does <img src="http://www.circuitdesign.info/blog/wp-content/cache/tex_ca77baa174984994b648741752abfe84.png" align="absmiddle" class="tex" alt="p^2" /> look like? Well, if <img src="http://www.circuitdesign.info/blog/wp-content/cache/tex_0ff78706cea9646857a04c909d461658.png" align="absmiddle" class="tex" alt="p \in \{r,s\}" />, then <img src="http://www.circuitdesign.info/blog/wp-content/cache/tex_0df0ab910794addb0ae3b5c32d3c5d26.png" align="absmiddle" class="tex" alt="p^2 \in \{r^2, s^2\}" />. This can be represented as:</p>
<p> <img src="http://www.circuitdesign.info/blog/wp-content/cache/tex_536435bb71a5e417afc57bedd3b7a11d.png" align="absmiddle" class="tex" alt="p^2 = \frac{r^2 + s^2}{2} \pm \frac{r^2 - s^2}{2} = 1 \pm \frac{r^2 - s^2}{2}" />
<p>So, unfortunately, <img src="http://www.circuitdesign.info/blog/wp-content/cache/tex_ca77baa174984994b648741752abfe84.png" align="absmiddle" class="tex" alt="p^2" /> has a dc value of 1 and a broadband/modulated component:</p>
<p><a href="http://www.circuitdesign.info/blog/wp-content/uploads/2009/01/scan0129b.jpg"><img style="border-right: 0px; border-top: 0px; display: block; float: none; margin-left: auto; border-left: 0px; margin-right: auto; border-bottom: 0px" height="130" alt="scan0129b" src="http://www.circuitdesign.info/blog/wp-content/uploads/2009/01/scan0129b-thumb.jpg" width="244" border="0" /></a> </p>
<p>As a result, asymmetric chopping cannot really suppress the IM3 term.</p>
<h2>Even more anti-reasons</h2>
<p>From the derivation above, I don&#8217;t believe that allowing <img src="http://www.circuitdesign.info/blog/wp-content/cache/tex_83878c91171338902e0fe0fb97a8c47a.png" align="absmiddle" class="tex" alt="p" /> to have more than two possible values will help. For exammple:</p>
<p> <center><img src="http://www.circuitdesign.info/blog/wp-content/cache/tex_028b316eb57f00c9eb245c907eae3648.png" align="absmiddle" class="tex" alt="p \in \{\frac{3}{\sqrt{50}}, \frac{4}{\sqrt{50}}, \frac{5}{\sqrt{50}}\}" /></center>
<p>Since <img src="http://www.circuitdesign.info/blog/wp-content/cache/tex_ec7305f616f75046007ea2c77e07a7bd.png" align="absmiddle" class="tex" alt="p^2 &gt; 0" />, the average value of <img src="http://www.circuitdesign.info/blog/wp-content/cache/tex_ca77baa174984994b648741752abfe84.png" align="absmiddle" class="tex" alt="p^2" /> will always be non-zero, and therefore there will always be some IM3 term blowing through.</p>
<p>Even if asymmetric chopping did fix the IM3 problem, there are practical difficulties with the system: for one, the chopper is no longer a switch-mode mixer (it is no longer selectively negating its input). As a result, one would have to worry about the linearity of the <em>chopper itself</em>. The same applies to the anti-chopper. (Although in an ADC or in a DAC, one would be able to implement one of the chopper/anti-chopper digitally and avoid one of them.)</p>
<p>If time avails, I will pursue the case of allowing <img src="http://www.circuitdesign.info/blog/wp-content/cache/tex_308b547f3dadd916f87b00451fe67af1.png" align="absmiddle" class="tex" alt="p=0" /> some more and share my ideas on the subject in a separate post. In the meantime, your ideas and concerns are welcome. Consider the comment bubble to the lower right. Also, consider a subscription by email or RSS.</p>


<p>Related posts:<ol><li><a href='http://www.circuitdesign.info/blog/2008/12/chopping-to-alleviate-im2/' rel='bookmark' title='Permanent Link: Chopping to alleviate IM2,'>Chopping to alleviate IM2,</a> <small>IM2 Consider the fully differential amplifier shown below: is one...</small></li></ol></p>
<p><a href="http://feeds.feedburner.com/~a/CircuitDesign?a=LglIOZ"><img src="http://feeds.feedburner.com/~a/CircuitDesign?i=LglIOZ" border="0"></img></a></p><div class="feedflare">
<a href="http://feeds.feedburner.com/~f/CircuitDesign?a=2LWbAU.P"><img src="http://feeds.feedburner.com/~f/CircuitDesign?i=2LWbAU.P" border="0"></img></a> <a href="http://feeds.feedburner.com/~f/CircuitDesign?a=81v75J.P"><img src="http://feeds.feedburner.com/~f/CircuitDesign?i=81v75J.P" border="0"></img></a> <a href="http://feeds.feedburner.com/~f/CircuitDesign?a=8b1X9W.p"><img src="http://feeds.feedburner.com/~f/CircuitDesign?i=8b1X9W.p" border="0"></img></a> <a href="http://feeds.feedburner.com/~f/CircuitDesign?a=GiAkUB.p"><img src="http://feeds.feedburner.com/~f/CircuitDesign?i=GiAkUB.p" border="0"></img></a> <a href="http://feeds.feedburner.com/~f/CircuitDesign?a=E1eyyL.P"><img src="http://feeds.feedburner.com/~f/CircuitDesign?i=E1eyyL.P" border="0"></img></a> <a href="http://feeds.feedburner.com/~f/CircuitDesign?a=F57qZb.p"><img src="http://feeds.feedburner.com/~f/CircuitDesign?i=F57qZb.p" border="0"></img></a> <a href="http://feeds.feedburner.com/~f/CircuitDesign?a=jheLmj.P"><img src="http://feeds.feedburner.com/~f/CircuitDesign?i=jheLmj.P" border="0"></img></a>
</div><img src="http://feeds.feedburner.com/~r/CircuitDesign/~4/503087522" height="1" width="1"/>]]></content:encoded>
			<wfw:commentRss>http://www.circuitdesign.info/blog/2009/01/asymmetric-chopping-for-improved-im3-a-dead-end-research-topic/feed/</wfw:commentRss>
		<feedburner:origLink>http://www.circuitdesign.info/blog/2009/01/asymmetric-chopping-for-improved-im3-a-dead-end-research-topic/</feedburner:origLink></item>
		<item>
		<title>Reader Round-Up (vol 1)</title>
		<link>http://feeds.feedburner.com/~r/CircuitDesign/~3/497426711/</link>
		<comments>http://www.circuitdesign.info/blog/2008/12/reader-round-up-vol-1/#comments</comments>
		<pubDate>Mon, 29 Dec 2008 03:13:03 +0000</pubDate>
		<dc:creator>Poojan Wagh</dc:creator>
		
		<category><![CDATA[Analog Professional]]></category>

		<category><![CDATA[cadence]]></category>

		<category><![CDATA[downconverter]]></category>

		<category><![CDATA[noise figure]]></category>

		<category><![CDATA[quadrature]]></category>

		<category><![CDATA[spectre]]></category>

		<category><![CDATA[stability]]></category>

		<guid isPermaLink="false">http://www.circuitdesign.info/blog/2008/12/reader-round-up-vol-1/</guid>
		<description><![CDATA[Answers question in I/Q Noise figure, and on how to do stability in Cadence ADE.


Related posts:<ol><li><a href='http://www.circuitdesign.info/blog/2008/09/pictorial-introduction-to-using-cadence-subversion/' rel='bookmark' title='Permanent Link: Pictorial introduction to using Cadence &amp; Subversion'>Pictorial introduction to using Cadence &amp; Subversion</a> <small>I previously blogged about some scripts I use to help...</small></li><li><a href='http://www.circuitdesign.info/blog/1999/11/getting-subversion-and-cadence-to-play-nice/' rel='bookmark' title='Permanent Link: Getting subversion and Cadence to play nice'>Getting subversion and Cadence to play nice</a> <small>I wrote a set of scripts to make Cadence IC...</small></li></ol>]]></description>
			<content:encoded><![CDATA[<p>I’ve been receiving a few questions from the readers. (Yes, I actually have readers—other than you.)</p>
<h2>2008-12-28 Update</h2>
<p>I misread the email; the initial version of the I/Q noise figure discussion was completely wrong.</p>
<p><span id="more-618"></span></p>
<h2>I/Q Noise Figure</h2>
<blockquote><p>What&#8217;s the difference of noise figure between quadrature [downconverter] and single downconverter? In the quadrature downconverter, you have I and Q path, if required Nf=10dB for this quadrature downconverter, what&#8217;s the Nf for the path of I or Q? Can I see the Nf for RF to I path is 7dB, the same thing for Q?</p>
<p>&#8211; K. C.</p></blockquote>
<p>The answer is no. The important thing to remember when computing things in dB (and summing them) is whether they add in-phase (constructively) or not. Since the I and Q signals are completely orthogonal, if a 10 dB NF is required for the quadrature downconverter (I + jQ), then 10 dB is required for the each of the I and Q paths.</p>
<p>If, however, we had two paths that summed <em>constructively</em>, and we needed a 10 dB overall noise figure, then yes, each path would only need to deliver 13 dB (per path). Unfortunately, I and Q don’t do this constructive summation.</p>
<h2>Loop gain in Cadence ADE</h2>
<blockquote><p>Can u please elaborate on loop gain/Stablity simulation using Cadence ADE?</p>
<p>&#8211; H. M.</p></blockquote>
<p>Unfortunately, the answer is no. Or sort of. Sure, I can elaborate, but I can’t do a very good step-by-step job because I don’t have access to Cadence ADE. So, I’m running on my own memory, which (as my friends know) is very dangerous.</p>
<p>However, here’s a rough step-by-step:</p>
<ol>
<li>Break the loop by inserting an Iprobe element. (Usually, I choose an Iprobe). You usually want to break the loop in a point that’s high-impedance. Typically, I choose the highest impedance output node (transconductor) looking into a compensation capacitor. So, the Iprobe would measure current going from the transconductor into its compensation capacitor.</li>
<li>Start ADE (Tools –&gt; Analog Environment). If it’s not already set in the ADE window, select Setup (?) –&gt; Simulator/Directory/Host and select spectre.</li>
<li>Select Setup –&gt; Analysis and select <strong>stb</strong> (stability). You’ll need to select start and stop frequencies. There’s also a button to select the loop gain element (Iprobe) that you’re using to break the loop. (You can have multiple Iprobes in a single schematic, for each loop you want to analyze.)</li>
<li>After you run it, you can choose Outputs –&gt; Plot –&gt; Loop Gain (?) or something like that to see amplitude and phase vs frequency. You can also choose the loopgain result from the results browser and do a direct <span style="font-family: Courier;">phaseMargin()</span> measurement on it, which will pick the phase margin. (Something like <span style="font-family: Courier;">phaseMargin(-getData(‘loopgain’ ?result ‘stb’))</span> – but I’m typing from memory.)</li>
<li>Keep in mind that Cadence returns the exact loop gain, which is (or should be) 180 degrees at dc. However, the <span style="font-family: Courier;">phaseMargin()</span> function expects the loop gain to be 0 degrees at dc and then go to 180 (unstable) at some point later. So, you have to invert the result when using <span style="font-family: Courier;">phaseMargin()</span>.</li>
</ol>
<p>The stability analysis, I believe, uses the <a title="Spectrum Soft Tutorial '97: Loop Gain" href="http://www.spectrum-soft.com/news/spring97/loopgain.shtm" target="_blank">Middlebrook method</a>,which really runs two ac analyses and combines the results to produce the return ratio. Most other circuit simulators (HSPICE RF) have a similar capability. If your simulator doesn’t, it is possible to get the equivalent by manually running the two analyses.</p>


<p>Related posts:<ol><li><a href='http://www.circuitdesign.info/blog/2008/09/pictorial-introduction-to-using-cadence-subversion/' rel='bookmark' title='Permanent Link: Pictorial introduction to using Cadence &amp; Subversion'>Pictorial introduction to using Cadence &amp; Subversion</a> <small>I previously blogged about some scripts I use to help...</small></li><li><a href='http://www.circuitdesign.info/blog/1999/11/getting-subversion-and-cadence-to-play-nice/' rel='bookmark' title='Permanent Link: Getting subversion and Cadence to play nice'>Getting subversion and Cadence to play nice</a> <small>I wrote a set of scripts to make Cadence IC...</small></li></ol></p>
<p><a href="http://feeds.feedburner.com/~a/CircuitDesign?a=nCRx5D"><img src="http://feeds.feedburner.com/~a/CircuitDesign?i=nCRx5D" border="0"></img></a></p><div class="feedflare">
<a href="http://feeds.feedburner.com/~f/CircuitDesign?a=6wh3v1.O"><img src="http://feeds.feedburner.com/~f/CircuitDesign?i=6wh3v1.O" border="0"></img></a> <a href="http://feeds.feedburner.com/~f/CircuitDesign?a=XWDn3n.O"><img src="http://feeds.feedburner.com/~f/CircuitDesign?i=XWDn3n.O" border="0"></img></a> <a href="http://feeds.feedburner.com/~f/CircuitDesign?a=Xy3PrB.o"><img src="http://feeds.feedburner.com/~f/CircuitDesign?i=Xy3PrB.o" border="0"></img></a> <a href="http://feeds.feedburner.com/~f/CircuitDesign?a=wmXnUI.o"><img src="http://feeds.feedburner.com/~f/CircuitDesign?i=wmXnUI.o" border="0"></img></a> <a href="http://feeds.feedburner.com/~f/CircuitDesign?a=7400GN.O"><img src="http://feeds.feedburner.com/~f/CircuitDesign?i=7400GN.O" border="0"></img></a> <a href="http://feeds.feedburner.com/~f/CircuitDesign?a=IjSHf6.o"><img src="http://feeds.feedburner.com/~f/CircuitDesign?i=IjSHf6.o" border="0"></img></a> <a href="http://feeds.feedburner.com/~f/CircuitDesign?a=IXK7eR.O"><img src="http://feeds.feedburner.com/~f/CircuitDesign?i=IXK7eR.O" border="0"></img></a>
</div><img src="http://feeds.feedburner.com/~r/CircuitDesign/~4/497426711" height="1" width="1"/>]]></content:encoded>
			<wfw:commentRss>http://www.circuitdesign.info/blog/2008/12/reader-round-up-vol-1/feed/</wfw:commentRss>
		<feedburner:origLink>http://www.circuitdesign.info/blog/2008/12/reader-round-up-vol-1/</feedburner:origLink></item>
		<item>
		<title>Chopping to alleviate IM2,</title>
		<link>http://feeds.feedburner.com/~r/CircuitDesign/~3/492076597/</link>
		<comments>http://www.circuitdesign.info/blog/2008/12/chopping-to-alleviate-im2/#comments</comments>
		<pubDate>Sun, 21 Dec 2008 02:24:28 +0000</pubDate>
		<dc:creator>Poojan Wagh</dc:creator>
		
		<category><![CDATA[Analog Professional]]></category>

		<category><![CDATA[chopping]]></category>

		<category><![CDATA[IM2]]></category>

		<category><![CDATA[IP2]]></category>

		<category><![CDATA[matching]]></category>

		<category><![CDATA[mixer]]></category>

		<category><![CDATA[pseudonoise]]></category>

		<category><![CDATA[spread spectrum]]></category>

		<guid isPermaLink="false">http://www.circuitdesign.info/blog/?p=545</guid>
		<description><![CDATA[IM2
Consider the fully differential amplifier shown below:    

 is one side of the differential output and  is the other. The fully differential output is . Without loss of generality, I have assumed infinite common-mode rejection . If we do the usual small-signal, polynomial expansion for  and , we get:
  [...]


Related posts:<ol><li><a href='http://www.circuitdesign.info/blog/2009/01/asymmetric-chopping-for-improved-im3-a-dead-end-research-topic/' rel='bookmark' title='Permanent Link: Asymmetric chopping for improved IM3 | A dead-end research topic?'>Asymmetric chopping for improved IM3 | A dead-end research topic?</a> <small>In my prior post, I discussed the use of &quot;chopping&quot;...</small></li></ol>]]></description>
			<content:encoded><![CDATA[<h2>IM2</h2>
<p>Consider the fully differential amplifier shown below:    <br /><a href="http://www.circuitdesign.info/blog/wp-content/uploads/2008/12/scan0125.jpg"><img style="border-top-width: 0px; display: block; border-left-width: 0px; float: none; border-bottom-width: 0px; margin-left: auto; margin-right: auto; border-right-width: 0px" height="214" alt="scan0125" src="http://www.circuitdesign.info/blog/wp-content/uploads/2008/12/scan0125-thumb.jpg" width="244" border="0" /></a></p>
<p><span id="more-545"></span></p>
<p><img src="http://www.circuitdesign.info/blog/wp-content/cache/tex_4764360e2689c701dfb8b917ba7638ac.png" align="absmiddle" class="tex" alt="y_1" /> is one side of the differential output and <img src="http://www.circuitdesign.info/blog/wp-content/cache/tex_102ab1c6749dce0c13fddf3990dfdfe7.png" align="absmiddle" class="tex" alt="y_2" /> is the other. The fully differential output is <img src="http://www.circuitdesign.info/blog/wp-content/cache/tex_a314d0d1b7342b8b38ade4d9a03359a1.png" align="absmiddle" class="tex" alt="y = y_1 - y_2" />. <font color="#808080">Without loss of generality, I have assumed infinite common-mode rejection .</font> If we do the usual small-signal, polynomial expansion for <img src="http://www.circuitdesign.info/blog/wp-content/cache/tex_4764360e2689c701dfb8b917ba7638ac.png" align="absmiddle" class="tex" alt="y_1" /> and <img src="http://www.circuitdesign.info/blog/wp-content/cache/tex_102ab1c6749dce0c13fddf3990dfdfe7.png" align="absmiddle" class="tex" alt="y_2" />, we get:</p>
<p>  <center><img src="http://www.circuitdesign.info/blog/wp-content/cache/tex_a23132ce92448ef520a2badfadd33a03.png" align="absmiddle" class="tex" alt="y_1 = a_1 \times x + b_1 \times x^2" /></center>  <center><img src="http://www.circuitdesign.info/blog/wp-content/cache/tex_f6ca9c08e6111b6cd143b79dd97cdab7.png" align="absmiddle" class="tex" alt="y_2 = a_2 \times (-x) + b_2 \times (-x)^2" /></center>  <center><img src="http://www.circuitdesign.info/blog/wp-content/cache/tex_71ad41eee1f98a4fff63c4e4c9d4b0f1.png" align="absmiddle" class="tex" alt="y = y_1 - y_2 = (a_1 + a_2) \times x + (b_1 - b_2) \times x^2" /></center>
<p>This term, <img src="http://www.circuitdesign.info/blog/wp-content/cache/tex_b9f0dd45102ede6dd2c2326247e4d4a0.png" align="absmiddle" class="tex" alt="b_1 - b_2" /> basically comes down to the mismatch in the two paths. If the two sides of the amplifier match completely, there will be no IM2. So, good matching reduces IM2, but it does not completely erradicate it.</p>
<p>Why is this important? After all, if <img src="http://www.circuitdesign.info/blog/wp-content/cache/tex_d5960b352dd32dc5c9c7ee16a1d6ed64.png" align="absmiddle" class="tex" alt="x = A \times cos(w_{c}t)" /> (i.e. a sinusoid at input frequency <img src="http://www.circuitdesign.info/blog/wp-content/cache/tex_e8bb47f19d155ab9dd7fcd948f365e60.png" align="absmiddle" class="tex" alt="f_{c}" />:<br /> <a href="http://www.circuitdesign.info/blog/wp-content/uploads/2008/12/scan0126a.jpg"><img style="border-top-width: 0px; display: block; border-left-width: 0px; float: none; border-bottom-width: 0px; margin-left: auto; margin-right: auto; border-right-width: 0px" height="105" alt="scan0126a" src="http://www.circuitdesign.info/blog/wp-content/uploads/2008/12/scan0126a-thumb.jpg" width="244" border="0" /></a> </p>
<p>The IM2 term is <center><img src="http://www.circuitdesign.info/blog/wp-content/cache/tex_722cf62d90c74e01f858f7501e13698a.png" align="absmiddle" class="tex" alt="IM2 = A^2cos^2(w_{c}t) = \frac{A^2}{2} + \frac{A^2}{2} \times cos(2 \times w_{c}t)" /></center> which has terms near dc and <img src="http://www.circuitdesign.info/blog/wp-content/cache/tex_9a716e693fc2d8ea2226e27635d83caf.png" align="absmiddle" class="tex" alt="2f_{c}" />, neither of which are near <img src="http://www.circuitdesign.info/blog/wp-content/cache/tex_e8bb47f19d155ab9dd7fcd948f365e60.png" align="absmiddle" class="tex" alt="f_{c}" />:   <br /><a href="http://www.circuitdesign.info/blog/wp-content/uploads/2008/12/scan0126b.jpg"><img style="border-top-width: 0px; display: block; border-left-width: 0px; float: none; border-bottom-width: 0px; margin-left: auto; margin-right: auto; border-right-width: 0px" height="116" alt="scan0126b" src="http://www.circuitdesign.info/blog/wp-content/uploads/2008/12/scan0126b-thumb.jpg" width="244" border="0" /></a> </p>
<p>The problem is that the dc term (if the amplifier is driving a mixer) can blow right through the mixer. Any mismatch in the mixer (including duty ratio errors in its LO) will allow the dc term through and stomp on the desired baseband signal.</p>
<h2>Chopping</h2>
<p>Now, consider if we insert two &#8220;chopping&#8221; mixers, each driven by a signal <img src="http://www.circuitdesign.info/blog/wp-content/cache/tex_83878c91171338902e0fe0fb97a8c47a.png" align="absmiddle" class="tex" alt="p" />, in the chain:   <br /><a href="http://www.circuitdesign.info/blog/wp-content/uploads/2008/12/scan0124.jpg"><img style="border-top-width: 0px; display: block; border-left-width: 0px; float: none; border-bottom-width: 0px; margin-left: auto; margin-right: auto; border-right-width: 0px" height="103" alt="scan0124" src="http://www.circuitdesign.info/blog/wp-content/uploads/2008/12/scan0124-thumb.jpg" width="244" border="0" /></a></p>
<p>We have <img src="http://www.circuitdesign.info/blog/wp-content/cache/tex_dc4f64e3f860a855653f3643eece86c8.png" align="absmiddle" class="tex" alt="\hat{x} = p \times x" /> and <img src="http://www.circuitdesign.info/blog/wp-content/cache/tex_b8cdc64db506dd9a05f63a7f54fca714.png" align="absmiddle" class="tex" alt="\hat{y} = p \times y" />. Since the chopper is a switch-mode mixer, it can only pass or negate the inputs, so <img src="http://www.circuitdesign.info/blog/wp-content/cache/tex_6bb952ab7c21394db9515bdb93c68270.png" align="absmiddle" class="tex" alt="p \in \{-1,1\}" /> and therefore <img src="http://www.circuitdesign.info/blog/wp-content/cache/tex_8adcc0efec36e9e1824496cd64890f22.png" align="absmiddle" class="tex" alt="p^2 = 1" />. Now, we have:</p>
<p>  <center><img src="http://www.circuitdesign.info/blog/wp-content/cache/tex_ff9bbe99e73963a7bcb1cb22abd544bc.png" align="absmiddle" class="tex" alt="y_1 = a_1 \times \hat{x} + b_1 \times \hat{x}^2 = a_1 \times px + b_1 \times p^{2}x^2" /></center>  <center><img src="http://www.circuitdesign.info/blog/wp-content/cache/tex_0b769131eb769dfa807ed2267c0c90e9.png" align="absmiddle" class="tex" alt="y_2 = a_2 \times (-\hat{x}) + b_2 \times (-\hat{x})^2 = a_2 \times -px + b_2 \times p^{2}(-x)^2" /></center>  <center><img src="http://www.circuitdesign.info/blog/wp-content/cache/tex_6ba494af203968a1078465776500daf0.png" align="absmiddle" class="tex" alt="y = y_1 - y_2 = (a_1 + a_2) \times px + (b_1 - b_2) \times p^{2}x^{2}" /></center>
<p>Finally, the post-chopper multiplies <img src="http://www.circuitdesign.info/blog/wp-content/cache/tex_415290769594460e2e485922904f345d.png" align="absmiddle" class="tex" alt="y" /> by <img src="http://www.circuitdesign.info/blog/wp-content/cache/tex_83878c91171338902e0fe0fb97a8c47a.png" align="absmiddle" class="tex" alt="p" /> again:</p>
<p> <center><img src="http://www.circuitdesign.info/blog/wp-content/cache/tex_de6e7abce3db1daead26d25f83508965.png" align="absmiddle" class="tex" alt=" \hat{y} = p \times y = (a_1 + a_2) \times p^2 x + (b_1 - b_2) \times p^3 x^2" /></center>
<p>The <img src="http://www.circuitdesign.info/blog/wp-content/cache/tex_ca77baa174984994b648741752abfe84.png" align="absmiddle" class="tex" alt="p^2" /> term equals one:</p>
<p> <center><img src="http://www.circuitdesign.info/blog/wp-content/cache/tex_3101593c1b9772fe3ea5df919c6f1197.png" align="absmiddle" class="tex" alt=" \hat{y} = (a_1 + a_2) \times x + (b_1 - b_2) \times p^3 x^2" /></center>
<p>The <img src="http://www.circuitdesign.info/blog/wp-content/cache/tex_8dd8ba1c4dcbad0b4ef12b710183031b.png" align="absmiddle" class="tex" alt="p^3" /> term has 3x the frequency content of <img src="http://www.circuitdesign.info/blog/wp-content/cache/tex_83878c91171338902e0fe0fb97a8c47a.png" align="absmiddle" class="tex" alt="p" /> and can generally be placed out of band.</p>
<h2>Caveats</h2>
<p>One problem with the system is that the finite-bandwidth amplifier between the pre- and post- choppers adds delay to the signal. This delay needs to be tracked by the pre-mixer LO and post-mixer LO. Otherwise, the two mixers won&#8217;t align and we won&#8217;t exactly get <img src="http://www.circuitdesign.info/blog/wp-content/cache/tex_2a07edf44f78852fac11213c3ceafc6e.png" align="absmiddle" class="tex" alt="p^2=1" />; instead, we&#8217;ll get <img src="http://www.circuitdesign.info/blog/wp-content/cache/tex_399ad349e7daa3ac8a406532100c096b.png" align="absmiddle" class="tex" alt="p(t) \times p(t-\tau)" /> which gives us a little glitch (depending on how bad the delay <img src="http://www.circuitdesign.info/blog/wp-content/cache/tex_a6f317b268ae825d94f832f970af607c.png" align="absmiddle" class="tex" alt="\tau" /> is). This glitch yields a tone at the same frequency (and harmonics) of <img src="http://www.circuitdesign.info/blog/wp-content/cache/tex_83878c91171338902e0fe0fb97a8c47a.png" align="absmiddle" class="tex" alt="p" />. In some cases, this frequency can mix out-of-band signals back in band&#8211;which defeats the purpose of improving IM2.</p>
<h2>Spread Spectrum</h2>
<p>Of course, there&#8217;s no reason that the <img src="http://www.circuitdesign.info/blog/wp-content/cache/tex_83878c91171338902e0fe0fb97a8c47a.png" align="absmiddle" class="tex" alt="p" /> needs to be tonal. It can, in fact, be made a spread-spectrum signal (for example, from a pseudo-noise (PN) sequence generator). In this case, the misalignment in delays will still yield bleed-through of <img src="http://www.circuitdesign.info/blog/wp-content/cache/tex_83878c91171338902e0fe0fb97a8c47a.png" align="absmiddle" class="tex" alt="p" />. However, in this case, the misalignment won’t yield a tone; it will be a spread-spectrum signal which might not be as intrusive as a single tone.</p>
<p>The disadvantage is that the <img src="http://www.circuitdesign.info/blog/wp-content/cache/tex_9b76d99715fb26e73f8f89ad42af544c.png" align="absmiddle" class="tex" alt="p^{3}x^{2}" /> term won’t be so much <em>shifted</em> out of band as it will instead be <em>spread</em> to a wider bandwidth. Filtering will reduce some of the IM2 component, but it will not all be placed out of band.</p>
<p>Of course, one could combine the tonal and spread-spectrum qualities by composing <img src="http://www.circuitdesign.info/blog/wp-content/cache/tex_83878c91171338902e0fe0fb97a8c47a.png" align="absmiddle" class="tex" alt="p" /> with both a modulated and a spread-spectrum signal:</p>
<p> <center><img src="http://www.circuitdesign.info/blog/wp-content/cache/tex_c1b0fc92802ff3ca5c6fc663ba4e372d.png" align="absmiddle" class="tex" alt="p = n(t)*LO(t)" /></center>
<p>where <img src="http://www.circuitdesign.info/blog/wp-content/cache/tex_6b907f86da1a604053be4b4aff962b21.png" align="absmiddle" class="tex" alt="LO(t)" /> is a pulse sequence and <img src="http://www.circuitdesign.info/blog/wp-content/cache/tex_5dbccdb2206ee2438c48681f27a1d806.png" align="absmiddle" class="tex" alt="n(t)" /> is a pseudo-noise sequence. This composition has the benefit of being both spread spectrum and out-of-band (modulated to a higher frequency).</p>
<h2>IM3?</h2>
<p>I&#8217;ve also been toying with the idea of whether such a system can be extended to improve IM3. I&#8217;ve concluded that it can&#8211;but not as effectively, and at the cost of some SNR. I will post the half-baked idea in the future. Perhaps someone (smarter than I) can build on the idea or will be inspired to build a better IM3 trap.</p>
<p>Consider a subscription via email or RSS.</p>


<p>Related posts:<ol><li><a href='http://www.circuitdesign.info/blog/2009/01/asymmetric-chopping-for-improved-im3-a-dead-end-research-topic/' rel='bookmark' title='Permanent Link: Asymmetric chopping for improved IM3 | A dead-end research topic?'>Asymmetric chopping for improved IM3 | A dead-end research topic?</a> <small>In my prior post, I discussed the use of &quot;chopping&quot;...</small></li></ol></p>
<p><a href="http://feeds.feedburner.com/~a/CircuitDesign?a=7W1gIW"><img src="http://feeds.feedburner.com/~a/CircuitDesign?i=7W1gIW" border="0"></img></a></p><div class="feedflare">
<a href="http://feeds.feedburner.com/~f/CircuitDesign?a=sAiPO"><img src="http://feeds.feedburner.com/~f/CircuitDesign?i=sAiPO" border="0"></img></a> <a href="http://feeds.feedburner.com/~f/CircuitDesign?a=V22VO"><img src="http://feeds.feedburner.com/~f/CircuitDesign?i=V22VO" border="0"></img></a> <a href="http://feeds.feedburner.com/~f/CircuitDesign?a=UjLko"><img src="http://feeds.feedburner.com/~f/CircuitDesign?i=UjLko" border="0"></img></a> <a href="http://feeds.feedburner.com/~f/CircuitDesign?a=4ae3o"><img src="http://feeds.feedburner.com/~f/CircuitDesign?i=4ae3o" border="0"></img></a> <a href="http://feeds.feedburner.com/~f/CircuitDesign?a=NgYUO"><img src="http://feeds.feedburner.com/~f/CircuitDesign?i=NgYUO" border="0"></img></a> <a href="http://feeds.feedburner.com/~f/CircuitDesign?a=dr3fo"><img src="http://feeds.feedburner.com/~f/CircuitDesign?i=dr3fo" border="0"></img></a> <a href="http://feeds.feedburner.com/~f/CircuitDesign?a=UNbXO"><img src="http://feeds.feedburner.com/~f/CircuitDesign?i=UNbXO" border="0"></img></a>
</div><img src="http://feeds.feedburner.com/~r/CircuitDesign/~4/492076597" height="1" width="1"/>]]></content:encoded>
			<wfw:commentRss>http://www.circuitdesign.info/blog/2008/12/chopping-to-alleviate-im2/feed/</wfw:commentRss>
		<feedburner:origLink>http://www.circuitdesign.info/blog/2008/12/chopping-to-alleviate-im2/</feedburner:origLink></item>
		<item>
		<title>You want latches? We got latches | Flip-Flop Design</title>
		<link>http://feeds.feedburner.com/~r/CircuitDesign/~3/485060557/</link>
		<comments>http://www.circuitdesign.info/blog/2008/12/you-want-latches-we-got-latches-flip-flop-design/#comments</comments>
		<pubDate>Mon, 15 Dec 2008 01:24:52 +0000</pubDate>
		<dc:creator>Poojan Wagh</dc:creator>
		
		<category><![CDATA[Digital Professional]]></category>

		<category><![CDATA[CMOS]]></category>

		<category><![CDATA[divider]]></category>

		<category><![CDATA[fully custom]]></category>

		<category><![CDATA[memory]]></category>

		<guid isPermaLink="false">http://www.circuitdesign.info/blog/2008/12/you-want-latches-we-got-latches-flip-flop-design/</guid>
		<description><![CDATA[The two inverters chasing their tail to the right of the input inverters represent a memory unit (i.e. a latch). When one output is high the other one is forced low. This low output then reinforces the first output being high. These two inverters form a positive feedback system.


Related posts:<ol><li><a href='http://www.circuitdesign.info/blog/2008/12/minimizing-leakage-for-high-performance-cmos-circuits/' rel='bookmark' title='Permanent Link: Minimizing leakage for high-performance CMOS circuits'>Minimizing leakage for high-performance CMOS circuits</a> <small>I was asked a question on how to reduce leakage...</small></li><li><a href='http://www.circuitdesign.info/blog/2008/12/mos-diffusion-parasitics/' rel='bookmark' title='Permanent Link: MOS Diffusion Parasitics'>MOS Diffusion Parasitics</a> <small>I wanted to go through a bit of illustration with...</small></li><li><a href='http://www.circuitdesign.info/blog/2008/10/a-compact-common-mode-feedback-loop-using-a-pmos-triode-device-for-cmfb/' rel='bookmark' title='Permanent Link: A compact common-mode feedback loop | using a PMOS triode device for CMFB'>A compact common-mode feedback loop | using a PMOS triode device for CMFB</a> <small>One of the defining traits of analog CMOS designers is...</small></li></ol>]]></description>
			<content:encoded><![CDATA[<p>I received a request to go through the design of a flip-flop. Every flip-flop I have designed has been a master-slave D flip-flop, built out of two D latches. I’ll start with a basic CMOS latch and go into more optimized latch topologies.</p>
<h3>Update 2008-12-19</h3>
<p>This post probably didn&#8217;t make sense to many of you. I was representing C-bar (negation of C) by an underline. Unfortunately, WordPress (or maybe my theme) wasn&#8217;t rendering this underline, so <img src="http://www.circuitdesign.info/blog/wp-content/cache/tex_82ac6068216fd3cbe01ce2ce8c70fd9a.png" align="absmiddle" class="tex" alt="\overline{C}" /> didn&#8217;t look any different from <img src="http://www.circuitdesign.info/blog/wp-content/cache/tex_0d61f8370cad1d412f80b84d143e1257.png" align="absmiddle" class="tex" alt="C" />. I&#8217;ve (obviously) rectified this ambiguity through the magic of <a href="http://wordpress.org/extend/plugins/latex/" title="Latex for WordPress (WordPress plugin)">Latex</a>. If there are any errors now, they are solely my fault. (Let me know.)</p>
<p><span id="more-505"></span></p>
<p>Consider the cross-coupled inverters shown below:</p>
<p style="center;"><a href="http://www.circuitdesign.info/blog/wp-content/uploads/2008/12/scan0113a.jpg"><img class="aligncenter" style="0px" src="http://www.circuitdesign.info/blog/wp-content/uploads/2008/12/scan0113a-thumb.jpg" border="0" alt="scan0113a" width="244" height="161" /></a></p>
<p>The two inverters chasing their tail to the right of the input inverters represent a memory unit (i.e. a latch). When one output is high the other one is forced low. This low output then reinforces the first output being high. These two inverters form a positive feedback system.</p>
<p>I will represent almost all circuits as fully differential. That is generally how I’ve encountered these structures, and it also more general. If one wants a single-ended version, simply lop off one of the input structures (but keep the cross-coupled inverters).</p>
<p>This system has two stable states: the top output high (at supply) and the bottom output low (at ground) or vice versa. One additional trait of these cross-coupled inverters is that it takes a bit of effort to flip them from one state to the other. One must essentially cause the top output to go from high to low by overcoming the inverter driving the top output. In other words, the input inverters (on the left) must be sized larger than the cross-coupled inverters.</p>
<p>Our desire, however, is not to have the state change at random. We want the latch state to change only upon the transition of an external clock. This can easily be accomplished by passing the input inverter’s output through a transmission gate controlled by the clocks <img src="http://www.circuitdesign.info/blog/wp-content/cache/tex_0d61f8370cad1d412f80b84d143e1257.png" align="absmiddle" class="tex" alt="C" /> and <img src="http://www.circuitdesign.info/blog/wp-content/cache/tex_82ac6068216fd3cbe01ce2ce8c70fd9a.png" align="absmiddle" class="tex" alt="\overline{C}" />.</p>
<p style="center;"><a href="http://www.circuitdesign.info/blog/wp-content/uploads/2008/12/scan0113b.jpg"><img class="aligncenter" style="0px" src="http://www.circuitdesign.info/blog/wp-content/uploads/2008/12/scan0113b-thumb.jpg" border="0" alt="scan0113b" width="244" height="115" /></a></p>
<p>Now, we have a true latch. I won’t repeat <a title="Flip-Flop" href="http://en.wikipedia.org/wiki/Flip_flop" target="_blank">Wikipedia in analyzing a flip-flop as two successive latches triggered on opposite phases of the clock signal</a>.</p>
<p>Now, let’s look closer at the inverter and T-gate combination in more detail:</p>
<p style="center;"><a href="http://www.circuitdesign.info/blog/wp-content/uploads/2008/12/scan0114a.jpg"><img class="aligncenter" style="0px" src="http://www.circuitdesign.info/blog/wp-content/uploads/2008/12/scan0114a-thumb.jpg" border="0" alt="scan0114a" width="244" height="131" /></a></p>
<p>The PMOS controlled by <img src="http://www.circuitdesign.info/blog/wp-content/cache/tex_82ac6068216fd3cbe01ce2ce8c70fd9a.png" align="absmiddle" class="tex" alt="\overline{C}" /> does very little when the output of the inverter is low. It is basically there for pull up. Similarly, when the inverter output is high, the NMOS controlled by <img src="http://www.circuitdesign.info/blog/wp-content/cache/tex_0d61f8370cad1d412f80b84d143e1257.png" align="absmiddle" class="tex" alt="C" /> does very little; it is basically there to pull <img src="http://www.circuitdesign.info/blog/wp-content/cache/tex_88ed76d2d128c2ca19c5ab064844041b.png" align="absmiddle" class="tex" alt="\overline{out}" /> low. As a result, we can lose the connections between the PMOS and NMOS in the T-gate and incorporate the T-gate into the inverter:</p>
<p style="center;"><a href="http://www.circuitdesign.info/blog/wp-content/uploads/2008/12/scan0113c.jpg"><img class="aligncenter" style="0px" src="http://www.circuitdesign.info/blog/wp-content/uploads/2008/12/scan0113c-thumb.jpg" border="0" alt="scan0113c" width="244" height="212" /></a></p>
<p>This structure has the advantage of allowing an contactless diffusion between the series PMOS devices and another contactless diffusion between the series NMOS devices, as I illustrated in the <a title="MOS Diffusion Parasitics" href="http://www.circuitdesign.info/blog/2008/12/mos-diffusion-parasitics/" target="_blank">MOS diffusion parasitics article</a>.</p>
<p>Another manipulation we can perform on this structure is to reverse the roles of input gates and clock gates (switching the connections of <img src="http://www.circuitdesign.info/blog/wp-content/cache/tex_13b5bfe96f3e2fe411c9f66f4a582adf.png" align="absmiddle" class="tex" alt="in" />/<img src="http://www.circuitdesign.info/blog/wp-content/cache/tex_ad9c9c902756504abf9e833230e9742e.png" align="absmiddle" class="tex" alt="\overline{in}" /> and <img src="http://www.circuitdesign.info/blog/wp-content/cache/tex_0d61f8370cad1d412f80b84d143e1257.png" align="absmiddle" class="tex" alt="C" />/<img src="http://www.circuitdesign.info/blog/wp-content/cache/tex_82ac6068216fd3cbe01ce2ce8c70fd9a.png" align="absmiddle" class="tex" alt="\overline{C}" />):</p>
<p style="center;"><a href="http://www.circuitdesign.info/blog/wp-content/uploads/2008/12/scan0115b.jpg"><img class="aligncenter" style="0px" src="http://www.circuitdesign.info/blog/wp-content/uploads/2008/12/scan0115b-thumb.jpg" border="0" alt="scan0115b" width="243" height="244" /></a></p>
<p>Note that while both PMOS clock devices (driven by <img src="http://www.circuitdesign.info/blog/wp-content/cache/tex_82ac6068216fd3cbe01ce2ce8c70fd9a.png" align="absmiddle" class="tex" alt="\overline{C}" />) are turned on, only one is actively pulling up an output. For example, the PMOS devices on the left pulls <img src="http://www.circuitdesign.info/blog/wp-content/cache/tex_88ed76d2d128c2ca19c5ab064844041b.png" align="absmiddle" class="tex" alt="\overline{out}" /> up when <img src="http://www.circuitdesign.info/blog/wp-content/cache/tex_13b5bfe96f3e2fe411c9f66f4a582adf.png" align="absmiddle" class="tex" alt="in" /> is low. However, the upper right PMOS device (driven by <img src="http://www.circuitdesign.info/blog/wp-content/cache/tex_82ac6068216fd3cbe01ce2ce8c70fd9a.png" align="absmiddle" class="tex" alt="\overline{C}" />) does nothing because the PMOS in series with it is off (<img src="http://www.circuitdesign.info/blog/wp-content/cache/tex_ad9c9c902756504abf9e833230e9742e.png" align="absmiddle" class="tex" alt="\overline{in}" /> is high).</p>
<p>I will draw this structure as a gated inverter in the future:</p>
<p style="center;"><a href="http://www.circuitdesign.info/blog/wp-content/uploads/2008/12/scan0116a.jpg"><img class="aligncenter" style="0px" src="http://www.circuitdesign.info/blog/wp-content/uploads/2008/12/scan0116a-thumb.jpg" border="0" alt="scan0116a" width="148" height="244" /></a></p>
<p>Up to this point, the input structure has always had to fight the memory effect of the cross-coupled inverters. Essentially, the input structure must inject enough current into the cross-coupled inverters to force them to switch states. This contention can result in considerable power draw. This power draw can be alleviated by gating the cross-coupled inverters (enabled on the opposite phase than that of the input structures):</p>
<p style="center;"><a href="http://www.circuitdesign.info/blog/wp-content/uploads/2008/12/scan0117b.jpg"><img class="aligncenter" style="0px" src="http://www.circuitdesign.info/blog/wp-content/uploads/2008/12/scan0117b-thumb.jpg" border="0" alt="scan0117b" width="244" height="221" /></a></p>
<p>Finally, the PMOS clock devices  can be combined into one device; and the NMOS clock devices (driven by <img src="http://www.circuitdesign.info/blog/wp-content/cache/tex_0d61f8370cad1d412f80b84d143e1257.png" align="absmiddle" class="tex" alt="C" />) can be combined into one device. <span style="#808080;">I have omitted the cross-coupled inverter devices for brevity</span>:</p>
<p style="center;"><a href="http://www.circuitdesign.info/blog/wp-content/uploads/2008/12/scan0114b.jpg"><img class="aligncenter" style="0px" src="http://www.circuitdesign.info/blog/wp-content/uploads/2008/12/scan0114b-thumb.jpg" border="0" alt="scan0114b" width="244" height="222" /></a></p>
<p>Doing so has the benefit the PMOS clock device can be twice as large while maintaining the same capacitive load on <img src="http://www.circuitdesign.info/blog/wp-content/cache/tex_82ac6068216fd3cbe01ce2ce8c70fd9a.png" align="absmiddle" class="tex" alt="\overline{C}" />. Similarly, the NMOS clock signal <img src="http://www.circuitdesign.info/blog/wp-content/cache/tex_0d61f8370cad1d412f80b84d143e1257.png" align="absmiddle" class="tex" alt="C" /> can see the sum of the device widths from the previous configuration yet whichever NMOS is on (<img src="http://www.circuitdesign.info/blog/wp-content/cache/tex_13b5bfe96f3e2fe411c9f66f4a582adf.png" align="absmiddle" class="tex" alt="in" /> or <img src="http://www.circuitdesign.info/blog/wp-content/cache/tex_ad9c9c902756504abf9e833230e9742e.png" align="absmiddle" class="tex" alt="\overline{in}" />) is now in series with a device twice as wide.</p>
<p>Finally, one can omit some level of gating by <em>pre-charging</em> the latch. That is, instead of waiting for the input to determine whether we pull the output high or not, we pull the output high during the first half of every cycle. During the second half, we pull down <em>only if the input should really be low</em>. The following flip-flop structure achieves this pre-charging. Once again, I have omitted the cross-coupled structures:</p>
<p style="center;"><a href="http://www.circuitdesign.info/blog/wp-content/uploads/2008/12/scan0117a.jpg"><img class="aligncenter" style="0px" src="http://www.circuitdesign.info/blog/wp-content/uploads/2008/12/scan0117a-thumb.jpg" border="0" alt="scan0117a" width="244" height="181" /></a></p>
<p>The first stage’s PMOS pulls up whenever <img src="http://www.circuitdesign.info/blog/wp-content/cache/tex_82ac6068216fd3cbe01ce2ce8c70fd9a.png" align="absmiddle" class="tex" alt="\overline{C}" /> is low on every cycle. Then, on the next half-cycle (when <img src="http://www.circuitdesign.info/blog/wp-content/cache/tex_0d61f8370cad1d412f80b84d143e1257.png" align="absmiddle" class="tex" alt="C" /> is high) the NMOS pulls down only when <img src="http://www.circuitdesign.info/blog/wp-content/cache/tex_13b5bfe96f3e2fe411c9f66f4a582adf.png" align="absmiddle" class="tex" alt="in" /> is high. Since the first stage only has one PMOS device (rather than two in series), the pull-up action is faster. Since we want to clock the second latch stage on the opposite phase (to form a full flip-flop), we need to invert the pre-charge and pre-charge low (rather than high).</p>
<p>The main problem with the pre-charge architecture as shown is that the first stage (for example) pulls up on every cycle even when the input <img src="http://www.circuitdesign.info/blog/wp-content/cache/tex_13b5bfe96f3e2fe411c9f66f4a582adf.png" align="absmiddle" class="tex" alt="in" /> is always high (and the output should be low). This represent a great deal of charging and discharging on the output of the first stage and thus dissipates power. However, this represents a fundamental trade-off: that one can gain increased speed at the expense of power.</p>


<p>Related posts:<ol><li><a href='http://www.circuitdesign.info/blog/2008/12/minimizing-leakage-for-high-performance-cmos-circuits/' rel='bookmark' title='Permanent Link: Minimizing leakage for high-performance CMOS circuits'>Minimizing leakage for high-performance CMOS circuits</a> <small>I was asked a question on how to reduce leakage...</small></li><li><a href='http://www.circuitdesign.info/blog/2008/12/mos-diffusion-parasitics/' rel='bookmark' title='Permanent Link: MOS Diffusion Parasitics'>MOS Diffusion Parasitics</a> <small>I wanted to go through a bit of illustration with...</small></li><li><a href='http://www.circuitdesign.info/blog/2008/10/a-compact-common-mode-feedback-loop-using-a-pmos-triode-device-for-cmfb/' rel='bookmark' title='Permanent Link: A compact common-mode feedback loop | using a PMOS triode device for CMFB'>A compact common-mode feedback loop | using a PMOS triode device for CMFB</a> <small>One of the defining traits of analog CMOS designers is...</small></li></ol></p>
<p><a href="http://feeds.feedburner.com/~a/CircuitDesign?a=DzGTcG"><img src="http://feeds.feedburner.com/~a/CircuitDesign?i=DzGTcG" border="0"></img></a></p><div class="feedflare">
<a href="http://feeds.feedburner.com/~f/CircuitDesign?a=uQyWO"><img src="http://feeds.feedburner.com/~f/CircuitDesign?i=uQyWO" border="0"></img></a> <a href="http://feeds.feedburner.com/~f/CircuitDesign?a=uG4zO"><img src="http://feeds.feedburner.com/~f/CircuitDesign?i=uG4zO" border="0"></img></a> <a href="http://feeds.feedburner.com/~f/CircuitDesign?a=GZxso"><img src="http://feeds.feedburner.com/~f/CircuitDesign?i=GZxso" border="0"></img></a> <a href="http://feeds.feedburner.com/~f/CircuitDesign?a=6G2To"><img src="http://feeds.feedburner.com/~f/CircuitDesign?i=6G2To" border="0"></img></a> <a href="http://feeds.feedburner.com/~f/CircuitDesign?a=ZV2dO"><img src="http://feeds.feedburner.com/~f/CircuitDesign?i=ZV2dO" border="0"></img></a> <a href="http://feeds.feedburner.com/~f/CircuitDesign?a=4Gjxo"><img src="http://feeds.feedburner.com/~f/CircuitDesign?i=4Gjxo" border="0"></img></a> <a href="http://feeds.feedburner.com/~f/CircuitDesign?a=rqfCO"><img src="http://feeds.feedburner.com/~f/CircuitDesign?i=rqfCO" border="0"></img></a>
</div><img src="http://feeds.feedburner.com/~r/CircuitDesign/~4/485060557" height="1" width="1"/>]]></content:encoded>
			<wfw:commentRss>http://www.circuitdesign.info/blog/2008/12/you-want-latches-we-got-latches-flip-flop-design/feed/</wfw:commentRss>
		<feedburner:origLink>http://www.circuitdesign.info/blog/2008/12/you-want-latches-we-got-latches-flip-flop-design/</feedburner:origLink></item>
		<item>
		<title>MOS Diffusion Parasitics</title>
		<link>http://feeds.feedburner.com/~r/CircuitDesign/~3/479476370/</link>
		<comments>http://www.circuitdesign.info/blog/2008/12/mos-diffusion-parasitics/#comments</comments>
		<pubDate>Tue, 09 Dec 2008 12:19:33 +0000</pubDate>
		<dc:creator>Poojan Wagh</dc:creator>
		
		<category><![CDATA[Analog Professional]]></category>

		<category><![CDATA[CMOS]]></category>

		<category><![CDATA[diffusion]]></category>

		<category><![CDATA[fully custom]]></category>

		<category><![CDATA[high speed logic]]></category>

		<category><![CDATA[layout]]></category>

		<category><![CDATA[parasitics]]></category>

		<guid isPermaLink="false">http://www.circuitdesign.info/blog/2008/12/mos-diffusion-parasitics/</guid>
		<description><![CDATA[I wanted to go through a bit of illustration with regard to minimizing MOS diffusion parasitics. I will start with the basics of detailing the MOS semiconductor structure. From there, I’ll display some layout configurations that minimize MOS diffusion capacitance.


Related posts:<ol><li><a href='http://www.circuitdesign.info/blog/2008/12/you-want-latches-we-got-latches-flip-flop-design/' rel='bookmark' title='Permanent Link: You want latches? We got latches | Flip-Flop Design'>You want latches? We got latches | Flip-Flop Design</a> <small>The two inverters chasing their tail to the right of...</small></li><li><a href='http://www.circuitdesign.info/blog/2008/12/minimizing-leakage-for-high-performance-cmos-circuits/' rel='bookmark' title='Permanent Link: Minimizing leakage for high-performance CMOS circuits'>Minimizing leakage for high-performance CMOS circuits</a> <small>I was asked a question on how to reduce leakage...</small></li><li><a href='http://www.circuitdesign.info/blog/2008/10/a-compact-common-mode-feedback-loop-using-a-pmos-triode-device-for-cmfb/' rel='bookmark' title='Permanent Link: A compact common-mode feedback loop | using a PMOS triode device for CMFB'>A compact common-mode feedback loop | using a PMOS triode device for CMFB</a> <small>One of the defining traits of analog CMOS designers is...</small></li></ol>]]></description>
			<content:encoded><![CDATA[<p>I’ve received a request to detail the design of a flip-flop. Before I get to that, I wanted to go through a bit of illustration with regard to minimizing MOS diffusion parasitics. I will start with the basics of detailing the MOS semiconductor structure. From there, I’ll display some layout configurations that minimize MOS diffusion capacitance.<span id="more-482"></span></p>
<p>First, here’s the schematic for an inverter and an associated diagram of the wafer structure. The wafer is drawn vertically to match the schematic:</p>
<p style="center;"><a href="http://www.circuitdesign.info/blog/wp-content/uploads/2008/12/scan0109.jpg"><img class="aligncenter" style="0px" src="http://www.circuitdesign.info/blog/wp-content/uploads/2008/12/scan0109-thumb.jpg" border="0" alt="scan0109" width="244" height="167" /></a></p>
<p>The upper p+, gate and p+ form the PMOS device. The lower n+, gate and n+ form the NMOS device. The p+ and n+ diffusions in the center are tied together to form the output node. The gates of the devices are tied together to form the input node. Of course, this diagram of diffusions is a simplification. A more detailed diagram is shown below, with body (back-gate/bulk) connections shown:</p>
<p style="center;"><a href="http://www.circuitdesign.info/blog/wp-content/uploads/2008/12/scan0110a.jpg"><img class="aligncenter" style="0px" src="http://www.circuitdesign.info/blog/wp-content/uploads/2008/12/scan0110a-thumb.jpg" border="0" alt="scan0110a" width="244" height="107" /></a></p>
<p>This diagram is of a dual-well process. I am not considering the triple-well case for this discussion, since isolation isn’t the topic of this article. In this case, I have tied the body of the NMOS device (substrate) to ground (VSS), and the body of the PMOS device (N-Well) to supply (VDD). Each of these diffusions (p+ or n+) yield a diode between their respective nodes and the body connection.</p>
<p>Since the NMOS source is connected to VSS, and the body is also connected to VSS, this diode is shorted (anode and cathode both connected to VSS). Similarly, since the PMOS source is connected to VDD, and the body is also connected to VDD, this diode is shorted (anode and cathode both connected to VDD). In short, no signal travels through the source nodes of either device; the source node does not move and its diode is essentially irrelevant. Consequently, the equivalent circuit model can exclude these devices:</p>
<p style="center;"><a href="http://www.circuitdesign.info/blog/wp-content/uploads/2008/12/scan0110b.jpg"><img class="aligncenter" style="0px" src="http://www.circuitdesign.info/blog/wp-content/uploads/2008/12/scan0110b-thumb.jpg" border="0" alt="scan0110b" width="197" height="244" /></a></p>
<p>I have explicitly drawn the drain diffusion diodes. <span style="#808080;">The novice circuit designer should beware that these diodes are typically contained in the MOS models and do not explicitly need to be added—although their parameters (area, perimeter) would need to be specified for accurate simulation.</span></p>
<p>Our final step is to consider the geometric effect of these diffusion areas. I have shown a single p+ diffusion enlarged below:</p>
<p style="center;"><a href="http://www.circuitdesign.info/blog/wp-content/uploads/2008/12/scan0111.jpg"><img class="aligncenter" style="0px" src="http://www.circuitdesign.info/blog/wp-content/uploads/2008/12/scan0111-thumb.jpg" border="0" alt="scan0111" width="244" height="116" /></a></p>
<p>It is essentially a cube of p+ in the N-Well. There is a diode junction on every surface of this cube except the top:</p>
<ul>
<li>The bottom of the cube has a diode area proportional to the width W length SD of the diffusion.</li>
<li>The front and back walls of this cube have a diode area proportional to HD and SD</li>
<li>The left and right walls have a diode area proportional to W and HD.</li>
</ul>
<p>Now, imagine that this diffusion is the drain diffusion of a PMOS device. Imagine that the gate of the PMOS device is to the left of this diffusion. Then, the left sidewall doesn’t really have a diode to the body; it is instead modeled by the MOS device itself.</p>
<p>Typically, to specify this parasitic on a MOS model, one would specify the drain area (W x SD) and the perimeter (2xSD + W). From the perimiter, the sidewall area is computed automatically, since HD is a process parameter and does not vary from FET to FET.</p>
<p>The optimization becomes minimizing the area and perimeter for a given width W of FET. Consider the following FET:</p>
<p style="center;"><a href="http://www.circuitdesign.info/blog/wp-content/uploads/2008/12/scan0110c.jpg"><img class="aligncenter" style="0px" src="http://www.circuitdesign.info/blog/wp-content/uploads/2008/12/scan0110c-thumb.jpg" border="0" alt="scan0110c" width="159" height="244" /></a></p>
<p>It has a drain diffusion area of W &amp; SD and a perimeter of 2SD + W, where SD is a design-rule parameter giving the minimum distance from gate edge to diffusion edge with enough space for a contact in the diffusion. If, instead, we share diffusions between two FET gates (by splitting up one device into two), we greatly reduce the perimeter and area per device width:</p>
<p><a href="http://www.circuitdesign.info/blog/wp-content/uploads/2008/12/scan0110ccopy.jpg"><img class="aligncenter" style="0px" src="http://www.circuitdesign.info/blog/wp-content/uploads/2008/12/scan0110ccopy-thumb.jpg" border="0" alt="scan0110c - Copy" width="244" height="234" /></a> For the same total width W, we get an area of W/2 x SD and a perimeter of just 2 x SD. One should note that the SD is once again the minimum diffusion length that can accommodate a contact. In some cases, the contact is not necessary. For example, in the case of a cascode, one can share a diffusion without placing a contact—since the shared diffusion does not need to be routed elsewhere:</p>
<p style="center;"><a href="http://www.circuitdesign.info/blog/wp-content/uploads/2008/12/scan0112b.jpg"><img class="aligncenter" style="0px" src="http://www.circuitdesign.info/blog/wp-content/uploads/2008/12/scan0112b-thumb.jpg" border="0" alt="scan0112b" width="244" height="159" /></a></p>
<p>Finally, in older processes, it may be possible to implement a “circular FET”:</p>
<p><a href="http://www.circuitdesign.info/blog/wp-content/uploads/2008/12/scan0112a.jpg"><img style="0px" src="http://www.circuitdesign.info/blog/wp-content/uploads/2008/12/scan0112a-thumb.jpg" border="0" alt="scan0112a" width="244" height="231" /></a></p>
<p>This configuration has no perimeter (side-wall) capacitance on the drain diffusion, at the cost of perhaps slightly larger area (bottom surface) capacitance. Unfortunately, in modern processes, the geometries are so fine that the corners tend to be an issue: although they appear to have 45° angles, the inner corner tends to curve inward and form a true circle. This inward growth of the gate causes the effective gate length to suffer (larger gate length). Instead of having a 20% faster FET (simulations without the curved interior gate), one can see a 20% slower FET (actual on-silicon performance).</p>
<p>In the next post, I will show some flip-flop designs. Cosider a subscription via RSS or via email.</p>


<p>Related posts:<ol><li><a href='http://www.circuitdesign.info/blog/2008/12/you-want-latches-we-got-latches-flip-flop-design/' rel='bookmark' title='Permanent Link: You want latches? We got latches | Flip-Flop Design'>You want latches? We got latches | Flip-Flop Design</a> <small>The two inverters chasing their tail to the right of...</small></li><li><a href='http://www.circuitdesign.info/blog/2008/12/minimizing-leakage-for-high-performance-cmos-circuits/' rel='bookmark' title='Permanent Link: Minimizing leakage for high-performance CMOS circuits'>Minimizing leakage for high-performance CMOS circuits</a> <small>I was asked a question on how to reduce leakage...</small></li><li><a href='http://www.circuitdesign.info/blog/2008/10/a-compact-common-mode-feedback-loop-using-a-pmos-triode-device-for-cmfb/' rel='bookmark' title='Permanent Link: A compact common-mode feedback loop | using a PMOS triode device for CMFB'>A compact common-mode feedback loop | using a PMOS triode device for CMFB</a> <small>One of the defining traits of analog CMOS designers is...</small></li></ol></p>
<p><a href="http://feeds.feedburner.com/~a/CircuitDesign?a=xo0knq"><img src="http://feeds.feedburner.com/~a/CircuitDesign?i=xo0knq" border="0"></img></a></p><div class="feedflare">
<a href="http://feeds.feedburner.com/~f/CircuitDesign?a=5bNFO"><img src="http://feeds.feedburner.com/~f/CircuitDesign?i=5bNFO" border="0"></img></a> <a href="http://feeds.feedburner.com/~f/CircuitDesign?a=wJyzO"><img src="http://feeds.feedburner.com/~f/CircuitDesign?i=wJyzO" border="0"></img></a> <a href="http://feeds.feedburner.com/~f/CircuitDesign?a=MBvVo"><img src="http://feeds.feedburner.com/~f/CircuitDesign?i=MBvVo" border="0"></img></a> <a href="http://feeds.feedburner.com/~f/CircuitDesign?a=OVHOo"><img src="http://feeds.feedburner.com/~f/CircuitDesign?i=OVHOo" border="0"></img></a> <a href="http://feeds.feedburner.com/~f/CircuitDesign?a=mjCGO"><img src="http://feeds.feedburner.com/~f/CircuitDesign?i=mjCGO" border="0"></img></a> <a href="http://feeds.feedburner.com/~f/CircuitDesign?a=SehGo"><img src="http://feeds.feedburner.com/~f/CircuitDesign?i=SehGo" border="0"></img></a> <a href="http://feeds.feedburner.com/~f/CircuitDesign?a=TKFvO"><img src="http://feeds.feedburner.com/~f/CircuitDesign?i=TKFvO" border="0"></img></a>
</div><img src="http://feeds.feedburner.com/~r/CircuitDesign/~4/479476370" height="1" width="1"/>]]></content:encoded>
			<wfw:commentRss>http://www.circuitdesign.info/blog/2008/12/mos-diffusion-parasitics/feed/</wfw:commentRss>
		<feedburner:origLink>http://www.circuitdesign.info/blog/2008/12/mos-diffusion-parasitics/</feedburner:origLink></item>
		<item>
		<title>Minimizing leakage for high-performance CMOS circuits</title>
		<link>http://feeds.feedburner.com/~r/CircuitDesign/~3/473213274/</link>
		<comments>http://www.circuitdesign.info/blog/2008/12/minimizing-leakage-for-high-performance-cmos-circuits/#comments</comments>
		<pubDate>Wed, 03 Dec 2008 04:26:53 +0000</pubDate>
		<dc:creator>Poojan Wagh</dc:creator>
		
		<category><![CDATA[Digital Professional]]></category>

		<category><![CDATA[body bias]]></category>

		<category><![CDATA[leakage]]></category>

		<category><![CDATA[regulator]]></category>

		<category><![CDATA[submicron]]></category>

		<guid isPermaLink="false">http://www.circuitdesign.info/blog/2008/12/minimizing-leakage-for-high-performance-cmos-circuits/</guid>
		<description><![CDATA[I was asked a question on how to reduce leakage for digital circuits. I started by detailing process options that effect leakage, each effective both leakage and circuit performance. In this article, I will detail two methods to reduce leakage while maintaining circuit performance. I assume that the circuit at hand requires the highest performance [...]


Related posts:<ol><li><a href='http://www.circuitdesign.info/blog/2008/11/typical-cmos-deviceprocess-options/' rel='bookmark' title='Permanent Link: Typical CMOS device/process options'>Typical CMOS device/process options</a> <small>I received an inquiry on how to reduce leakage. I...</small></li><li><a href='http://www.circuitdesign.info/blog/2008/11/supply-voltage-current-rf-impedance-and-cmos-scaling/' rel='bookmark' title='Permanent Link: Supply voltage, current, RF impedance, and CMOS scaling'>Supply voltage, current, RF impedance, and CMOS scaling</a> <small>Consider the circuit below: Let’s say that you’ve designed the...</small></li><li><a href='http://www.circuitdesign.info/blog/2008/10/a-compact-common-mode-feedback-loop-using-a-pmos-triode-device-for-cmfb/' rel='bookmark' title='Permanent Link: A compact common-mode feedback loop | using a PMOS triode device for CMFB'>A compact common-mode feedback loop | using a PMOS triode device for CMFB</a> <small>One of the defining traits of analog CMOS designers is...</small></li></ol>]]></description>
			<content:encoded><![CDATA[<p>I was asked a question on how to reduce leakage for digital circuits. I started by <a title="Typical CMOS Device/Process Options" href="http://www.circuitdesign.info/blog/2008/11/typical-cmos-deviceprocess-options/" target="_blank">detailing process options that effect leakage</a>, each effective both leakage and circuit performance. In this article, I will detail two methods to reduce leakage while maintaining circuit performance. I assume that the circuit at hand requires the highest performance in some active mode but must greatly reduce its leakage in a standby mode.<span id="more-458"></span></p>
<h2>Supply Switch</h2>
<p>The simplest method to reduce leakage in standby is to provide a switch to supply that opens during standby. Since the sea of digital devices are then disconnected from supply, their gates cannot be at supply and therefore their gate leakage goes away. In this case, I have represented the sea of gates as an inverter, with its supply and ground connections explicitly shown:<br />
<img class="aligncenter" style="0px" src="http://www.circuitdesign.info/blog/wp-content/uploads/2008/12/scan0119-thumb.jpg" border="0" alt="scan0119" width="244" height="159" /></p>
<p>The bigger concern is active operation. The PMOS switch has some finite on-resistance. Current spikes during the transition of the digital circuits will cause voltage spikes on the supply of the digital circuit as Ohmic loss builds through the PMOS switch. In effect, the PMOS switch reduces the pull-up capability of every gate in the digital circuitry:</p>
<p>This transient supply droop can be alleviated by sufficient bypassing. The problem and solution follow identically <a title="Load Capacitance" href="http://www.circuitdesign.info/blog/2008/06/quick-regulator-design-part-1-load-capacitance/" target="_blank">my previous post on supply regulation</a> <span style="color: #808080;">except that in that case of a feedback regulator, the low on-resistance is more frequency-dependent than with the PMOS switch</span>. To keep the static supply droop under control, the PMOS switch should be made adequately wide. Doing so can cause the supply switch to have a size on the order of the entire digital circuit area.</p>
<h2>Reverse Body Bias</h2>
<p>The back-gate or body can also be used to reduce leakage. Essentially, leakage gets reduced when the threshold is increased—decreased (increased in magnitude) for PMOS devices. Biasing the body below the source for NMOS or above the source for PMOS can increase the magnitude of the threshold voltage.</p>
<p>To do so, we allow two connections for the body. I have picked the PMOS case for the body switching because typically, there is one ground available but two supplies (a higher-voltage I/O supply and a lower-voltage core supply):<br />
<a href="http://www.circuitdesign.info/blog/wp-content/uploads/2008/12/scan0118.jpg"><img class="aligncenter" style="0px" src="http://www.circuitdesign.info/blog/wp-content/uploads/2008/12/scan0118-thumb.jpg" border="0" alt="scan0118" width="210" height="244" /></a></p>
<p>When the enable <strong>EN</strong> signal is asserted high, <strong><span style="text-decoration: underline;">EN</span></strong> will be low and therefore turn on the PMOS device that ties the body of the core circuit’s PMOS device to VDDCORE. When <strong>EN</strong> is deasserted low, <strong><span style="text-decoration: underline;">EN</span></strong> will be pulled high and turn off this connection. In its place, the secondary PMOS device will pull the core body connection to VDDIO, effectively increasing the magnitude of the Vt of the core PMOS device, and thus reducing leakage in the inverter.</p>
<p>The main difficulty with the above technique is that it requires a separate connection for the PMOS body. Typically, in standard cell logic, the body is directly connected to supply.</p>
<p>There is also a risk that if these body-connecting PMOS devices have too large of an on-resistance, they can cause latch-up. Care should be taken to ensure that the on-resistances of these deices are low. However, the size of the resulting PMOS devices in this case would still be much less than that required of an equivalent PMOS supply switch.</p>
<p>One of the main benefits of the reverse body bias technique is that it allows for circuits which hold state (static memory cells). <span style="color: #808080;">This is out of my range of experience, but </span>it may also improve the required refresh rates on dynamic memory cells, too—thus slowing down refresh clock rates and therefore greatly reducing power.</p>


<p>Related posts:<ol><li><a href='http://www.circuitdesign.info/blog/2008/11/typical-cmos-deviceprocess-options/' rel='bookmark' title='Permanent Link: Typical CMOS device/process options'>Typical CMOS device/process options</a> <small>I received an inquiry on how to reduce leakage. I...</small></li><li><a href='http://www.circuitdesign.info/blog/2008/11/supply-voltage-current-rf-impedance-and-cmos-scaling/' rel='bookmark' title='Permanent Link: Supply voltage, current, RF impedance, and CMOS scaling'>Supply voltage, current, RF impedance, and CMOS scaling</a> <small>Consider the circuit below: Let’s say that you’ve designed the...</small></li><li><a href='http://www.circuitdesign.info/blog/2008/10/a-compact-common-mode-feedback-loop-using-a-pmos-triode-device-for-cmfb/' rel='bookmark' title='Permanent Link: A compact common-mode feedback loop | using a PMOS triode device for CMFB'>A compact common-mode feedback loop | using a PMOS triode device for CMFB</a> <small>One of the defining traits of analog CMOS designers is...</small></li></ol></p>
<p><a href="http://feeds.feedburner.com/~a/CircuitDesign?a=Ci12HR"><img src="http://feeds.feedburner.com/~a/CircuitDesign?i=Ci12HR" border="0"></img></a></p><div class="feedflare">
<a href="http://feeds.feedburner.com/~f/CircuitDesign?a=lFNaO"><img src="http://feeds.feedburner.com/~f/CircuitDesign?i=lFNaO" border="0"></img></a> <a href="http://feeds.feedburner.com/~f/CircuitDesign?a=tJ0gO"><img src="http://feeds.feedburner.com/~f/CircuitDesign?i=tJ0gO" border="0"></img></a> <a href="http://feeds.feedburner.com/~f/CircuitDesign?a=ABi9o"><img src="http://feeds.feedburner.com/~f/CircuitDesign?i=ABi9o" border="0"></img></a> <a href="http://feeds.feedburner.com/~f/CircuitDesign?a=bg5co"><img src="http://feeds.feedburner.com/~f/CircuitDesign?i=bg5co" border="0"></img></a> <a href="http://feeds.feedburner.com/~f/CircuitDesign?a=zWkqO"><img src="http://feeds.feedburner.com/~f/CircuitDesign?i=zWkqO" border="0"></img></a> <a href="http://feeds.feedburner.com/~f/CircuitDesign?a=ssb0o"><img src="http://feeds.feedburner.com/~f/CircuitDesign?i=ssb0o" border="0"></img></a> <a href="http://feeds.feedburner.com/~f/CircuitDesign?a=uXjLO"><img src="http://feeds.feedburner.com/~f/CircuitDesign?i=uXjLO" border="0"></img></a>
</div><img src="http://feeds.feedburner.com/~r/CircuitDesign/~4/473213274" height="1" width="1"/>]]></content:encoded>
			<wfw:commentRss>http://www.circuitdesign.info/blog/2008/12/minimizing-leakage-for-high-performance-cmos-circuits/feed/</wfw:commentRss>
		<feedburner:origLink>http://www.circuitdesign.info/blog/2008/12/minimizing-leakage-for-high-performance-cmos-circuits/</feedburner:origLink></item>
		<item>
		<title>Typical CMOS device/process options</title>
		<link>http://feeds.feedburner.com/~r/CircuitDesign/~3/469609472/</link>
		<comments>http://www.circuitdesign.info/blog/2008/11/typical-cmos-deviceprocess-options/#comments</comments>
		<pubDate>Sat, 29 Nov 2008 20:14:46 +0000</pubDate>
		<dc:creator>Poojan Wagh</dc:creator>
		
		<category><![CDATA[Digital Professional]]></category>

		<guid isPermaLink="false">http://www.circuitdesign.info/blog/2008/11/typical-cmos-deviceprocess-options/</guid>
		<description><![CDATA[I received an inquiry on how to reduce leakage. I will cover how to do so in a future article. However, before I do, let’s go over some process options that effect leakage.
Core Devices
Typically, foundries offer a few variations of there processes. I will call them general purpose (GP) and low power (LP). They differ [...]


Related posts:<ol><li><a href='http://www.circuitdesign.info/blog/2008/12/minimizing-leakage-for-high-performance-cmos-circuits/' rel='bookmark' title='Permanent Link: Minimizing leakage for high-performance CMOS circuits'>Minimizing leakage for high-performance CMOS circuits</a> <small>I was asked a question on how to reduce leakage...</small></li><li><a href='http://www.circuitdesign.info/blog/2008/11/supply-voltage-current-rf-impedance-and-cmos-scaling/' rel='bookmark' title='Permanent Link: Supply voltage, current, RF impedance, and CMOS scaling'>Supply voltage, current, RF impedance, and CMOS scaling</a> <small>Consider the circuit below: Let’s say that you’ve designed the...</small></li><li><a href='http://www.circuitdesign.info/blog/2008/10/a-compact-common-mode-feedback-loop-using-a-pmos-triode-device-for-cmfb/' rel='bookmark' title='Permanent Link: A compact common-mode feedback loop | using a PMOS triode device for CMFB'>A compact common-mode feedback loop | using a PMOS triode device for CMFB</a> <small>One of the defining traits of analog CMOS designers is...</small></li></ol>]]></description>
			<content:encoded><![CDATA[<p>I received an inquiry on how to reduce leakage. I will cover how to do so in a future article. However, before I do, let’s go over some process options that effect leakage.<span id="more-454"></span></p>
<h2>Core Devices</h2>
<p>Typically, foundries offer a few variations of there processes. I will call them general purpose (GP) and low power (LP). They differ in what I call the core devices, after which a process is usually named—for example, <em>CMOS090</em> (90 nm) or <em>TSMC 0.18μm</em>.</p>
<h3>GP</h3>
<p>The GP represents the state of the art and usually drives large digital IC’s, including general purpose microprocessors and DSP’s. The traits of the GP process are a lower threshold and supply voltage, and possibly smaller effective gate length.</p>
<h3>LP</h3>
<p>The LP is usually a variant of the GP process optimized to reduce leakage (at the expense of speed). The LP option is usually used for highly integrated analog &amp; RF CMOS IC’s, such as radios (RF transceivers), ADC’s, etc. Typically, the LP allows for a slightly higher supply voltage and sometimes has a slightly larger effective gate length. However, the main trait of the LP process is that the threshold is increased a bit from the GP process to allow for lower leakage. <span style="color: #808080;">I’m not entirely sure if the higher supply voltage and gate length are intentional or are a byproduct of the higher threshold.</span></p>
<h2>I/O Devices</h2>
<p>Almost universally, all modern processes offer an “I/O” device. This is essentially a device from a prior process node (1.8 V, 2.5 V, or 3.3 V) with a larger gate length (0.18 um, 0.25 um, or 0.35 um). They are provided from a digital perspective as devices for pad drivers etc. However, they usually form the workhorse of analog/RF IC’s <span style="color: #808080;">especially at baseband</span>.</p>
<h2>Device options</h2>
<p>In both the GP and LP flavors, there are additional device options <span style="color: #808080;">not necessarily universally, but usually</span>:</p>
<ul>
<li>High-Vt: a core device with the threshold increased for lower leakage. <span style="color: #808080;">This is also useful for larger output range on a diff pair—which depends on the input devices’ Vt—but usually an I/O device is even better.</span></li>
<li>Low-Vt: a core device with the threshold decreased for higher performance (at the expense of leakage)</li>
<li>Zero-Vt: a core device with a zero threshold voltage. This is useful for bypass switches and source followers.</li>
</ul>
<p>These devices usually require additional mask steps and therefore incur additional processing costs.</p>
<h2>Leakage</h2>
<p>Basically, to minimize leakage, one should use the device with the highest threshold voltage that gets the job done. In order of preference:</p>
<ol>
<li>I/O Device</li>
<li>High-Vt core device (if it is already available or if the expense makes sense)</li>
<li>Core (medium-Vt) devices</li>
</ol>
<p>Of course, each of these options have the implicit tradeoff of performance/speed at the expense of leakage. What do you do when you want performance during active operation and low leakage during a standby mode? I will detail two methods <a title="Minimizing leakage for high-performance CMOS circuits" href="http://www.circuitdesign.info/blog/2008/12/minimizing-leakage-for-high-performance-cmos-circuits/" target="_self">in a future article</a>.</p>
<p>Consider a free subscription: RSS (via a newsreader such as Google Reader, My Yahoo, Windows Live Mail, IE7, Firefox) or email (delivered to your email inbox).</p>


<p>Related posts:<ol><li><a href='http://www.circuitdesign.info/blog/2008/12/minimizing-leakage-for-high-performance-cmos-circuits/' rel='bookmark' title='Permanent Link: Minimizing leakage for high-performance CMOS circuits'>Minimizing leakage for high-performance CMOS circuits</a> <small>I was asked a question on how to reduce leakage...</small></li><li><a href='http://www.circuitdesign.info/blog/2008/11/supply-voltage-current-rf-impedance-and-cmos-scaling/' rel='bookmark' title='Permanent Link: Supply voltage, current, RF impedance, and CMOS scaling'>Supply voltage, current, RF impedance, and CMOS scaling</a> <small>Consider the circuit below: Let’s say that you’ve designed the...</small></li><li><a href='http://www.circuitdesign.info/blog/2008/10/a-compact-common-mode-feedback-loop-using-a-pmos-triode-device-for-cmfb/' rel='bookmark' title='Permanent Link: A compact common-mode feedback loop | using a PMOS triode device for CMFB'>A compact common-mode feedback loop | using a PMOS triode device for CMFB</a> <small>One of the defining traits of analog CMOS designers is...</small></li></ol></p>
<p><a href="http://feeds.feedburner.com/~a/CircuitDesign?a=LbOxST"><img src="http://feeds.feedburner.com/~a/CircuitDesign?i=LbOxST" border="0"></img></a></p><div class="feedflare">
<a href="http://feeds.feedburner.com/~f/CircuitDesign?a=6SA1N"><img src="http://feeds.feedburner.com/~f/CircuitDesign?i=6SA1N" border="0"></img></a> <a href="http://feeds.feedburner.com/~f/CircuitDesign?a=khV2N"><img src="http://feeds.feedburner.com/~f/CircuitDesign?i=khV2N" border="0"></img></a> <a href="http://feeds.feedburner.com/~f/CircuitDesign?a=RvOAn"><img src="http://feeds.feedburner.com/~f/CircuitDesign?i=RvOAn" border="0"></img></a> <a href="http://feeds.feedburner.com/~f/CircuitDesign?a=R0w9n"><img src="http://feeds.feedburner.com/~f/CircuitDesign?i=R0w9n" border="0"></img></a> <a href="http://feeds.feedburner.com/~f/CircuitDesign?a=GEISN"><img src="http://feeds.feedburner.com/~f/CircuitDesign?i=GEISN" border="0"></img></a> <a href="http://feeds.feedburner.com/~f/CircuitDesign?a=7zCBn"><img src="http://feeds.feedburner.com/~f/CircuitDesign?i=7zCBn" border="0"></img></a> <a href="http://feeds.feedburner.com/~f/CircuitDesign?a=ezisN"><img src="http://feeds.feedburner.com/~f/CircuitDesign?i=ezisN" border="0"></img></a>
</div><img src="http://feeds.feedburner.com/~r/CircuitDesign/~4/469609472" height="1" width="1"/>]]></content:encoded>
			<wfw:commentRss>http://www.circuitdesign.info/blog/2008/11/typical-cmos-deviceprocess-options/feed/</wfw:commentRss>
		<feedburner:origLink>http://www.circuitdesign.info/blog/2008/11/typical-cmos-deviceprocess-options/</feedburner:origLink></item>
		<item>
		<title>Unity STF | A sigma-delta linearization method</title>
		<link>http://feeds.feedburner.com/~r/CircuitDesign/~3/463419628/</link>
		<comments>http://www.circuitdesign.info/blog/2008/11/unity-stf-a-sigma-delta-linearization-method/#comments</comments>
		<pubDate>Mon, 24 Nov 2008 02:57:52 +0000</pubDate>
		<dc:creator>Poojan Wagh</dc:creator>
		
		<category><![CDATA[Analog Professional]]></category>

		<category><![CDATA[continuous time]]></category>

		<category><![CDATA[continuous time sigma-delta]]></category>

		<category><![CDATA[linearity]]></category>

		<category><![CDATA[sigma delta]]></category>

		<guid isPermaLink="false">http://www.circuitdesign.info/blog/2008/11/unity-stf-a-sigma-delta-linearization-method/</guid>
		<description><![CDATA[In a previous post, I discussed the trade-offs in linearity of several continuous-time sigma-delta schemes. In this post, I will describe a method that linearizes the sigma-delta noise-shaping filter (NSF). That is, the scheme presented in this article greatly suppresses the linearity requirements on the noise-shaping filter. This method applies to both discrete-time and continuous-time [...]


Related posts:<ol><li><a href='http://www.circuitdesign.info/blog/2008/11/continuous-time-sigma-delta-adc-noise-shaping-filter-circuit-architectures-2/' rel='bookmark' title='Permanent Link: Continuous time sigma-delta ADC noise shaping filter circuit architectures'>Continuous time sigma-delta ADC noise shaping filter circuit architectures</a> <small>The continuous-time sigma-delta (CTSD) analog-to-digital converter (ADC) is a class...</small></li><li><a href='http://www.circuitdesign.info/blog/2008/08/a-simple-sigma-delta-loop/' rel='bookmark' title='Permanent Link: A simple sigma-delta loop'>A simple sigma-delta loop</a> <small>In my post on Quantization, I noted that quantization noise...</small></li><li><a href='http://www.circuitdesign.info/blog/2008/09/example-simulink-model-scripts/' rel='bookmark' title='Permanent Link: Example Simulink model &amp; scripts for continuous-time sigma-delta ADC'>Example Simulink model &amp; scripts for continuous-time sigma-delta ADC</a> <small>I've put together a 2nd order continuous sigma-delta Simulink model...</small></li></ol>]]></description>
			<content:encoded><![CDATA[<p style="text-align: left;">In a <a title="Continuous time sigma delta ADC noise shaping filter circuit architectures" href="http://www.circuitdesign.info/blog/2008/11/continuous-time-sigma-delta-adc-noise-shaping-filter-circuit-architectures-2/" target="_blank">previous post</a>, I discussed the trade-offs in linearity of several continuous-time sigma-delta schemes. In this post, I will describe a method that linearizes the sigma-delta noise-shaping filter (NSF). That is, the scheme presented in this article greatly suppresses the linearity requirements on the noise-shaping filter. This method applies to both discrete-time and continuous-time sigma-delta ADC’s. However, it is more powerful with continuous-time sigma-delta because it enables <a title="Continuous time sigma delta ADC noise shaping filter circuit architectures" href="http://www.circuitdesign.info/blog/2008/11/continuous-time-sigma-delta-adc-noise-shaping-filter-circuit-architectures-2/" target="_blank">the active-RC configuration</a>.</p>
<p style="text-align: left;"><span id="more-442"></span></p>
<h2 style="text-align: left;">Band-limited STF</h2>
<p style="text-align: left;">Consider the conventional sigma-delta architecture shown below:</p>
<p><a href="http://www.circuitdesign.info/blog/wp-content/uploads/2008/11/scan0103a.jpg"><img class="aligncenter" style="0px" src="http://www.circuitdesign.info/blog/wp-content/uploads/2008/11/scan0103a-thumb.jpg" border="0" alt="scan0103a" width="244" height="93" align="center" /></a></p>
<p style="text-align: left;">I have shown it with one feedback path from the quantized output back to the input. However, the same result holds true if multiple feedback paths are provided.</p>
<p style="text-align: left;">Typically, the quantizer is modeled as an additive noise term N:</p>
<p><a href="http://www.circuitdesign.info/blog/wp-content/uploads/2008/11/scan0103b.jpg"><img class="aligncenter" style="0px" src="http://www.circuitdesign.info/blog/wp-content/uploads/2008/11/scan0103b-thumb.jpg" border="0" alt="scan0103b" width="244" height="79" /></a></p>
<p style="text-align: left;">
<p>The response due to the input X and this additive quantization noise N is:</p>
<div style="text-align: center;">Y = X × H/(1+H) + N × 1/(1+H)</div>
<p style="text-align: left;">Thus, the signal-transfer function (STF) is H/(1+H) and the noise-transfer function (NTF) is 1/(1+H). The signal transfer function to the point Z is also H/(1+H).</p>
<p style="text-align: left;">I informally call this a band-limited STF since the signal-transfer function is band-limited by H: when H is low (there is no gain in the noise-shaping filter), the term H/(1+H) is also low. As a result, H/(1+H) follows approximately the same roll-off characteristics as H:</p>
<p><a href="http://www.circuitdesign.info/blog/wp-content/uploads/2008/11/scan0105.jpg"><img class="aligncenter" style="0px" src="http://www.circuitdesign.info/blog/wp-content/uploads/2008/11/scan0105-thumb.jpg" border="0" alt="scan0105" width="244" height="135" /></a></p>
<p>The noise-shaping filter H operates on the term X – Y which equals:</p>
<div style="text-align: center;">X – Y = –X/(1+H) – N/(1+H)</div>
<p style="text-align: left;">As one can see, this term includes both a signal component [X/(1+H)] and a noise component [N/(1+H)].</p>
<h2 style="text-align: left;">Unity STF</h2>
<p style="text-align: left;">Consider instead what happens when we feed forward a signal term right before the quantizer:</p>
<p><a href="http://www.circuitdesign.info/blog/wp-content/uploads/2008/11/scan0103c.jpg"><img class="aligncenter" style="0px" src="http://www.circuitdesign.info/blog/wp-content/uploads/2008/11/scan0103c-thumb.jpg" border="0" alt="scan0103c" width="244" height="70" /></a></p>
<p>Once again, modeling the quantizer as an additive noise N:</p>
<p><a href="http://www.circuitdesign.info/blog/wp-content/uploads/2008/11/scan0103d.jpg"><img class="aligncenter" style="0px" src="http://www.circuitdesign.info/blog/wp-content/uploads/2008/11/scan0103d-thumb.jpg" border="0" alt="scan0103d" width="244" height="71" /></a></p>
<p>We find that the transfer terms are:</p>
<div style="text-align: center;">Y = X + N×1/(1+H)</div>
<p style="text-align: left;">That is the STF is one for all frequencies (unity)—thus my nomenclature for this topology. The NTF remains unchanged. The STF to the point Z is also one for all frequencies.</p>
<p style="text-align: left;">Let’s now consider what the input to H looks like:</p>
<div style="text-align: center;">X – Y = –N/(1+H)</div>
<p style="text-align: left;">That is, the noise-shaping filter operates on a term that only depends on the additive noise. It is no longer signal dependent (at least not directly).</p>
<p style="text-align: left;">How does this improve the linearity requirements on the noise-shaping filter? Well, since the noise-shaping filter isn’t processing the input signal, it cannot have terms related to the input signal (x<sup>2</sup>, x<sup>3</sup>, etc). Of course, this assumes N is not correlated with the input–N is white.</p>
<p style="text-align: left;">In reality, N will be dependent on the the input X, since N originates from quantization and a strong component of X appears at the quantizer. However, whatever N&#8217;s dependence on the input, it is less than X itself. As a result, the linearity requirements on the noise-shaping filter have been reduced (although not completely eradicated).</p>
<h3 style="text-align: left;">Implementation</h3>
<p style="text-align: left;">One easy way to implement the unity STF structure is with an active-RC. We basically add an extra feedback resistor R2 (mistakenly labeled R1 in parallel with C2 in the picture) to the first stage of the active-RC structure that I <a href="http://www.circuitdesign.info/blog/2008/11/continuous-time-sigma-delta-adc-noise-shaping-filter-circuit-architectures-2/" target="_blank">discussed previously</a>:</p>
<p><a href="http://www.circuitdesign.info/blog/wp-content/uploads/2008/11/scan0101.jpg"><img class="aligncenter" style="0px" src="http://www.circuitdesign.info/blog/wp-content/uploads/2008/11/scan0101-thumb.jpg" border="0" alt="scan0101" width="244" height="120" /></a></p>
<p>This causes not just an integral of the input, but a proportion of the input itself to pass through to the output of the filter.</p>
<h2 style="text-align: left;">Trade-Off’s</h2>
<p style="text-align: left;">The main trade-off of this Unity STF method is that it relieves the requirements on the noise-shaping filter. However, for the quantizer, the requirements are worse.</p>
<p style="text-align: left;">With the band-limited STF, the quantizer saw a signal term with a gain of H/(1+H). With the unity STF method, the signal term at the input of the quantizer is unity. As a result, there is no roll-off and the entire signal (including all out-of-band interference terms) hit the quantizer right at its input. I’ll explain in a future post the exact nature of this problem as it applies to radio receivers.</p>
<p style="text-align: left;">Interested? Consider a free subscription <a title="Free FeedBurner email subscription" href="http://www.feedburner.com/fb/a/emailverifySubmit?feedId=2104282&amp;loc=en_US" target="_blank">by email</a> or <a title="Subscription with a feed reader (My Yahoo, Google, Newsgator, etc.)" href="http://www.circuitdesign.info/blog/feed/" target="_blank">RSS</a>.</p>
<h2 style="text-align: left;">Reference</h2>
<p>This idea (or at least my first encounter with it) appeared in &#8220;Wideband low-distortion delta-sigma ADC topology&#8221; by J. Silva, U. Moon, J. Steensgaard and G.C. Temes. ELECTRONICS LETTERS 7th June 2001 Vol. 37 No. 12. pp 737-738.</p>


<p>Related posts:<ol><li><a href='http://www.circuitdesign.info/blog/2008/11/continuous-time-sigma-delta-adc-noise-shaping-filter-circuit-architectures-2/' rel='bookmark' title='Permanent Link: Continuous time sigma-delta ADC noise shaping filter circuit architectures'>Continuous time sigma-delta ADC noise shaping filter circuit architectures</a> <small>The continuous-time sigma-delta (CTSD) analog-to-digital converter (ADC) is a class...</small></li><li><a href='http://www.circuitdesign.info/blog/2008/08/a-simple-sigma-delta-loop/' rel='bookmark' title='Permanent Link: A simple sigma-delta loop'>A simple sigma-delta loop</a> <small>In my post on Quantization, I noted that quantization noise...</small></li><li><a href='http://www.circuitdesign.info/blog/2008/09/example-simulink-model-scripts/' rel='bookmark' title='Permanent Link: Example Simulink model &amp; scripts for continuous-time sigma-delta ADC'>Example Simulink model &amp; scripts for continuous-time sigma-delta ADC</a> <small>I've put together a 2nd order continuous sigma-delta Simulink model...</small></li></ol></p>
<p><a href="http://feeds.feedburner.com/~a/CircuitDesign?a=qcSOlz"><img src="http://feeds.feedburner.com/~a/CircuitDesign?i=qcSOlz" border="0"></img></a></p><div class="feedflare">
<a href="http://feeds.feedburner.com/~f/CircuitDesign?a=bI1EN"><img src="http://feeds.feedburner.com/~f/CircuitDesign?i=bI1EN" border="0"></img></a> <a href="http://feeds.feedburner.com/~f/CircuitDesign?a=4ziWN"><img src="http://feeds.feedburner.com/~f/CircuitDesign?i=4ziWN" border="0"></img></a> <a href="http://feeds.feedburner.com/~f/CircuitDesign?a=BuJGn"><img src="http://feeds.feedburner.com/~f/CircuitDesign?i=BuJGn" border="0"></img></a> <a href="http://feeds.feedburner.com/~f/CircuitDesign?a=Pq85n"><img src="http://feeds.feedburner.com/~f/CircuitDesign?i=Pq85n" border="0"></img></a> <a href="http://feeds.feedburner.com/~f/CircuitDesign?a=JrINN"><img src="http://feeds.feedburner.com/~f/CircuitDesign?i=JrINN" border="0"></img></a> <a href="http://feeds.feedburner.com/~f/CircuitDesign?a=NVszn"><img src="http://feeds.feedburner.com/~f/CircuitDesign?i=NVszn" border="0"></img></a> <a href="http://feeds.feedburner.com/~f/CircuitDesign?a=Ms4kN"><img src="http://feeds.feedburner.com/~f/CircuitDesign?i=Ms4kN" border="0"></img></a>
</div><img src="http://feeds.feedburner.com/~r/CircuitDesign/~4/463419628" height="1" width="1"/>]]></content:encoded>
			<wfw:commentRss>http://www.circuitdesign.info/blog/2008/11/unity-stf-a-sigma-delta-linearization-method/feed/</wfw:commentRss>
		<feedburner:origLink>http://www.circuitdesign.info/blog/2008/11/unity-stf-a-sigma-delta-linearization-method/</feedburner:origLink></item>
		<item>
		<title>Continuous time sigma-delta ADC noise shaping filter circuit architectures</title>
		<link>http://feeds.feedburner.com/~r/CircuitDesign/~3/457153907/</link>
		<comments>http://www.circuitdesign.info/blog/2008/11/continuous-time-sigma-delta-adc-noise-shaping-filter-circuit-architectures-2/#comments</comments>
		<pubDate>Tue, 18 Nov 2008 13:05:00 +0000</pubDate>
		<dc:creator>Poojan Wagh</dc:creator>
		
		<category><![CDATA[Analog Professional]]></category>

		<category><![CDATA[active RC]]></category>

		<category><![CDATA[ADC]]></category>

		<category><![CDATA[continuous time]]></category>

		<category><![CDATA[Gm-C]]></category>

		<category><![CDATA[linearity]]></category>

		<category><![CDATA[noise shaping filter]]></category>

		<category><![CDATA[sigma delta]]></category>

		<guid isPermaLink="false">http://www.circuitdesign.info/blog/2008/11/continuous-time-sigma-delta-adc-noise-shaping-filter-circuit-architectures-2/</guid>
		<description><![CDATA[The continuous-time sigma-delta (CTSD) analog-to-digital converter (ADC) is a class of sigma-delta analog-to-digital converters that utilize a continuous-time noise-shaping filter (NSF &#124; H(s)). In this post, I analyze a few noise-shaping filter (NSF) architectures that affect highly linear CTSD ADC’s.

The alternative sigma-delta ADC, the discrete-time sigma-delta (DTSD) employs switched-capacitor circuits that require op-amp bandwidths larger [...]


Related posts:<ol><li><a href='http://www.circuitdesign.info/blog/2008/09/example-simulink-model-scripts/' rel='bookmark' title='Permanent Link: Example Simulink model &amp; scripts for continuous-time sigma-delta ADC'>Example Simulink model &amp; scripts for continuous-time sigma-delta ADC</a> <small>I've put together a 2nd order continuous sigma-delta Simulink model...</small></li><li><a href='http://www.circuitdesign.info/blog/2008/11/unity-stf-a-sigma-delta-linearization-method/' rel='bookmark' title='Permanent Link: Unity STF | A sigma-delta linearization method'>Unity STF | A sigma-delta linearization method</a> <small>In a previous post, I discussed the trade-offs in linearity...</small></li><li><a href='http://www.circuitdesign.info/blog/2008/08/a-simple-sigma-delta-loop/' rel='bookmark' title='Permanent Link: A simple sigma-delta loop'>A simple sigma-delta loop</a> <small>In my post on Quantization, I noted that quantization noise...</small></li></ol>]]></description>
			<content:encoded><![CDATA[<p>The continuous-time sigma-delta (CTSD) analog-to-digital converter (ADC) is a class of sigma-delta analog-to-digital converters that utilize a continuous-time noise-shaping filter (NSF | H(s)). In this post, I analyze a few noise-shaping filter (NSF) architectures that affect highly linear CTSD ADC’s.</p>
<p><span id="more-407"></span></p>
<p>The alternative sigma-delta ADC, the discrete-time sigma-delta (DTSD) employs switched-capacitor circuits that require op-amp bandwidths larger than the sampling rate and suffer from kT/C noise. In addition, discrete-time sigma-deltas require anti-alias filtering ahead of the ADC, whereas continuous-time sigma-deltas have built-in anti-aliasing. Specifically, aliasing occurs at the quantizer, which is within the sigma-delta loop (akin to quantization noise) and is therefore rejected by the loop.</p>
<p>The continuous-time sigma-delta loop is illustrated below:</p>
<p style="center;"><a href="http://www.circuitdesign.info/blog/wp-content/uploads/2008/11/scan0098a1.jpg"><img class="aligncenter" style="0px" src="http://www.circuitdesign.info/blog/wp-content/uploads/2008/11/scan0098a-thumb1.jpg" border="0" alt="scan0098a" width="244" height="70" /></a></p>
<p>Note that H(s) is a continuous-time filter (s-domain) and there is a DAC in the feedback path to convert from digital back to analog. The comparator shown is a clocked comparator, producing a digital word Y (N-bit).</p>
<p style="center;">This article will focus on the choice of architectures for H(s). I will assume the following 3rd-order topology for H(s):<br />
<a href="http://www.circuitdesign.info/blog/wp-content/uploads/2008/11/scan0098b1.jpg"><img class="aligncenter" style="0px" src="http://www.circuitdesign.info/blog/wp-content/uploads/2008/11/scan0098b-thumb1.jpg" border="0" alt="scan0098b" width="244" height="110" /></a></p>
<p>A series of integrators are cascaded and then summed (with weightings k1, k2, and k3) to produce the input z to the comparator.  This filter implements
</p>
<p align="center">(K<sub>1</sub>s<sup>2</sup> + K<sub>2</sub>s + K<sub>3</sub>)/s<sup>3</sup></p>
<p>Often times, a noise-transfer zero is desired (to widen the noise-shaped bandwidth); this can be accommodated with the following:</p>
<p style="center;"><a href="http://www.circuitdesign.info/blog/wp-content/uploads/2008/11/scan0098c1.jpg"><img class="aligncenter" style="0px" src="http://www.circuitdesign.info/blog/wp-content/uploads/2008/11/scan0098c-thumb1.jpg" border="0" alt="scan0098c" width="244" height="120" /></a></p>
<p>The feedback term γ/s creates a (resonant) pole in the noise-shaping filter which maps to an imaginary zero in the noise transfer function (NTF).</p>
<p>Typically, the active-RC configuration is used for continuous-time filters that are to be tightly controlled and where high linearity is necessary. The first integrator (for example) is composed of a stage shown below:</p>
<p style="center;"><a href="http://www.circuitdesign.info/blog/wp-content/uploads/2008/11/scan00931.jpg"><img class="aligncenter" style="0px" src="http://www.circuitdesign.info/blog/wp-content/uploads/2008/11/scan0093-thumb1.jpg" border="0" alt="scan0093" width="244" height="122" /></a></p>
<p>The analog input voltage is converted to a current. Likewise, the DAC feedback voltage is converted to a current. These currents are subtracted into the summing junction and integrated on the capacitor C.</p>
<p>Unfortunately, the main disadvantage of this topology is that the op-amp must now source and sink the DAC current pulse. The response of the op-amp creates an inter-symbol interference problem. The integrated current follows the pulse response of the op-amp. However, when three positive pulses are generated from the DAC, their integrated value does not equal the integrated value of a +1, –1, and +1 sequence of pulses:</p>
<p style="center;"><a href="http://www.circuitdesign.info/blog/wp-content/uploads/2008/11/scan0100a.jpg"><img class="aligncenter" style="0px" src="http://www.circuitdesign.info/blog/wp-content/uploads/2008/11/scan0100a-thumb.jpg" border="0" alt="scan0100a" width="244" height="195" /></a>A +1, -1, +1 sequence results in an integrated value of +0.6-0.6+0.6 = 0.6 &#8230;</p>
<p style="center;"><a href="http://www.circuitdesign.info/blog/wp-content/uploads/2008/11/scan0100b.jpg"><img class="aligncenter" style="0px" src="http://www.circuitdesign.info/blog/wp-content/uploads/2008/11/scan0100b-thumb.jpg" border="0" alt="scan0100b" width="244" height="202" /></a>&#8230; whereas a +1, +1, +1 sequence results in an integrated value of +0.6+1.0+1.0 = 2.6</p>
<p>In short, the op-amp has an easier time with the DAC maintains a constant output than when it transitions. As a result, the integrated value is signal-dependent, which means it is nonlinear. <span style="#808080;">This effect is worse when the op-amp slews, but occurs even when the op-amp operates in a linear manner.</span></p>
<p>A popular alternative to the active-RC is the Gm-C architecture:</p>
<p style="center;"><a href="http://www.circuitdesign.info/blog/wp-content/uploads/2008/11/scan00941.jpg"><img class="aligncenter" style="0px" src="http://www.circuitdesign.info/blog/wp-content/uploads/2008/11/scan0094-thumb1.jpg" border="0" alt="scan0094" width="244" height="194" /></a></p>
<p>In this case, a (current-mode) DAC’s output is directly summed with the signal current onto an integrated capacitor (which I thoughtfully forgot to draw in the illustration). This architecture isolates the DAC signal from the analog input signal. Consequently, the transconductor requirements are greatly relaxed; it only needs to tolerate the DAC switching on its output, but does not need to actually process the switching signal from input to output.</p>
<p>The main disadvantage of the Gm-C stage is that it cannot drive a low-impedance. Since any resistive loading will steal charge from the load capacitor, only capacitive stages may be driven by the Gm-C stage. Consequently, once one has chosen a Gm-C first stage, all proceeding stages must then be Gm-C—unless one places a voltage buffer in-between the Gm-C and an active-RC.</p>
<p>In the case of the Gm-C, the weighed sum of the integrator outputs must be handled by a separate stage. Essentially, each of the k1, k2, k3 gains would be a separate transconductor that can get wire-summed (summing current) to produce the output z. However, with the active-RC, separate summing stages are not required. By adding a resistor feedback to the active-RC stages, we can allow each stage to pass through a linear term, thus creating a weighted sum of the integrator outputs:</p>
<p style="center;"><a href="http://www.circuitdesign.info/blog/wp-content/uploads/2008/11/scan00991.jpg"><img class="aligncenter" style="0px" src="http://www.circuitdesign.info/blog/wp-content/uploads/2008/11/scan0099-thumb1.jpg" border="0" alt="scan0099" width="244" height="96" /></a></p>
<p>For your clarity and my sanity, I have excluded the resonant γ term. The overall transfer function is</p>
<p align="center">(1/(sC2R1))×(R3/R2 + 1/(sC3R2))×(R5/R4 + 1/(sC5R4))</p>
<p>Which is of the original form</p>
<p align="center">(K<sub>1</sub>s<sup>2</sup> + K<sub>2</sub>s + K<sub>3</sub>)/s<sup>3</sup></p>
<p>Ideally, one would like the best of both worlds: the ability for the DAC current to bypass the op-amp as in the Gm-C, the voltage-mode output of the active-RC, and the direct weighted sum of the active-RC. It turns out that one can do so by developing a floating DAC that directly sums on the capacitor C1 in the active-RC. To do so, one actually builds two complementary DAC’s that in unison drive each side of the capacitors C1:</p>
<p style="center;"><a href="http://www.circuitdesign.info/blog/wp-content/uploads/2008/11/scan00951.jpg"><img class="aligncenter" style="0px" src="http://www.circuitdesign.info/blog/wp-content/uploads/2008/11/scan0095-thumb1.jpg" border="0" alt="scan0095" width="244" height="178" /></a></p>
<p>Of course, these DAC’s will not exactly match each other. However, the beauty of this configuration is that when the DAC’s do mismatch, the op-amp can source/sink the current. Nonetheless, if the DAC’s match to 40 dB, we have reduced the high-frequency current demands on the op-amp by 40 dB and increased the linearity by 40 dB.</p>
<p>I had initially thought that this DAC summation method was a novel idea. I don’t have a reference for it, but I am informed that it falls into the class of ideas that are so old they are new.</p>
<p>In the future, I will post another trick one can do to the noise-shaping filter (in combination with what I’ve shown here) that linearizes the continuous-time sigma-delta. Consider subscribing via <a title="CircuitDesign.info RSS/Atom feed" href="http://www.circuitdesign.info/blog/feed/" target="_blank">RSS</a> or <a title="email subscription via FeedBurner" href="http://www.feedburner.com/fb/a/emailverifySubmit?feedId=2104282&amp;loc=en_US" target="_blank">email</a>.</p>


<p>Related posts:<ol><li><a href='http://www.circuitdesign.info/blog/2008/09/example-simulink-model-scripts/' rel='bookmark' title='Permanent Link: Example Simulink model &amp; scripts for continuous-time sigma-delta ADC'>Example Simulink model &amp; scripts for continuous-time sigma-delta ADC</a> <small>I've put together a 2nd order continuous sigma-delta Simulink model...</small></li><li><a href='http://www.circuitdesign.info/blog/2008/11/unity-stf-a-sigma-delta-linearization-method/' rel='bookmark' title='Permanent Link: Unity STF | A sigma-delta linearization method'>Unity STF | A sigma-delta linearization method</a> <small>In a previous post, I discussed the trade-offs in linearity...</small></li><li><a href='http://www.circuitdesign.info/blog/2008/08/a-simple-sigma-delta-loop/' rel='bookmark' title='Permanent Link: A simple sigma-delta loop'>A simple sigma-delta loop</a> <small>In my post on Quantization, I noted that quantization noise...</small></li></ol></p>
<p><a href="http://feeds.feedburner.com/~a/CircuitDesign?a=B18zdS"><img src="http://feeds.feedburner.com/~a/CircuitDesign?i=B18zdS" border="0"></img></a></p><div class="feedflare">
<a href="http://feeds.feedburner.com/~f/CircuitDesign?a=K0stN"><img src="http://feeds.feedburner.com/~f/CircuitDesign?i=K0stN" border="0"></img></a> <a href="http://feeds.feedburner.com/~f/CircuitDesign?a=mGbIN"><img src="http://feeds.feedburner.com/~f/CircuitDesign?i=mGbIN" border="0"></img></a> <a href="http://feeds.feedburner.com/~f/CircuitDesign?a=zNbdn"><img src="http://feeds.feedburner.com/~f/CircuitDesign?i=zNbdn" border="0"></img></a> <a href="http://feeds.feedburner.com/~f/CircuitDesign?a=R25Xn"><img src="http://feeds.feedburner.com/~f/CircuitDesign?i=R25Xn" border="0"></img></a> <a href="http://feeds.feedburner.com/~f/CircuitDesign?a=SCkpN"><img src="http://feeds.feedburner.com/~f/CircuitDesign?i=SCkpN" border="0"></img></a> <a href="http://feeds.feedburner.com/~f/CircuitDesign?a=xAmKn"><img src="http://feeds.feedburner.com/~f/CircuitDesign?i=xAmKn" border="0"></img></a> <a href="http://feeds.feedburner.com/~f/CircuitDesign?a=6aniN"><img src="http://feeds.feedburner.com/~f/CircuitDesign?i=6aniN" border="0"></img></a>
</div><img src="http://feeds.feedburner.com/~r/CircuitDesign/~4/457153907" height="1" width="1"/>]]></content:encoded>
			<wfw:commentRss>http://www.circuitdesign.info/blog/2008/11/continuous-time-sigma-delta-adc-noise-shaping-filter-circuit-architectures-2/feed/</wfw:commentRss>
		<feedburner:origLink>http://www.circuitdesign.info/blog/2008/11/continuous-time-sigma-delta-adc-noise-shaping-filter-circuit-architectures-2/</feedburner:origLink></item>
		<item>
		<title>Circuit Simulator Analyses</title>
		<link>http://feeds.feedburner.com/~r/CircuitDesign/~3/452134540/</link>
		<comments>http://www.circuitdesign.info/blog/2008/11/circuit-simulator-analyses/#comments</comments>
		<pubDate>Thu, 13 Nov 2008 19:55:13 +0000</pubDate>
		<dc:creator>Poojan Wagh</dc:creator>
		
		<category><![CDATA[Analog Professional]]></category>

		<category><![CDATA[ac]]></category>

		<category><![CDATA[analysis]]></category>

		<category><![CDATA[dc]]></category>

		<category><![CDATA[harmonic balance]]></category>

		<category><![CDATA[hbnoise]]></category>

		<category><![CDATA[Noise]]></category>

		<category><![CDATA[op]]></category>

		<category><![CDATA[pnoise]]></category>

		<category><![CDATA[pnoisehb]]></category>

		<category><![CDATA[pss]]></category>

		<category><![CDATA[steady]]></category>

		<category><![CDATA[transient]]></category>

		<guid isPermaLink="false">http://www.circuitdesign.info/blog/?p=343</guid>
		<description><![CDATA[I&#8217;ve decided to go through some basics of circuit design. In this post, I&#8217;ll cover the different types of circuit simulator analyses. Most are available in SPICE, Synopsys HSPICE, Cadence Spectre, and Agilent ADS, depending on vendor-specific options.

Executive Summary
For time-invariant blocks, such as:

LNA&#8217;s
RF Amplifiers
Baseband filters
Operation Amplifiers
Linear regulators

Use dc analysis to determine bias points, ac analysis to determine gain, [...]


Related posts:<ol><li><a href='http://www.circuitdesign.info/blog/2008/12/reader-round-up-vol-1/' rel='bookmark' title='Permanent Link: Reader Round-Up (vol 1)'>Reader Round-Up (vol 1)</a> <small>Answers question in I/Q Noise figure, and on how to...</small></li><li><a href='http://www.circuitdesign.info/blog/2008/11/continuous-time-sigma-delta-adc-noise-shaping-filter-circuit-architectures-2/' rel='bookmark' title='Permanent Link: Continuous time sigma-delta ADC noise shaping filter circuit architectures'>Continuous time sigma-delta ADC noise shaping filter circuit architectures</a> <small>The continuous-time sigma-delta (CTSD) analog-to-digital converter (ADC) is a class...</small></li><li><a href='http://www.circuitdesign.info/blog/2008/06/quick-regulator-design-part-2-loop-gain/' rel='bookmark' title='Permanent Link: Quick Regulator Design &ndash; Part 2: Loop Gain'>Quick Regulator Design &ndash; Part 2: Loop Gain</a> <small>In Part 1, I discussed how the regulated supply reacts...</small></li></ol>]]></description>
			<content:encoded><![CDATA[<p>I&#8217;ve decided to go through some basics of circuit design. In this post, I&#8217;ll cover the different types of circuit simulator analyses. Most are available in SPICE, Synopsys HSPICE, Cadence Spectre, and Agilent ADS, depending on vendor-specific options.</p>
<p><span id="more-343"></span></p>
<h2>Executive Summary</h2>
<p>For time-invariant blocks, such as:</p>
<ul>
<li>LNA&#8217;s</li>
<li>RF Amplifiers</li>
<li>Baseband filters</li>
<li>Operation Amplifiers</li>
<li>Linear regulators</li>
</ul>
<p>Use <em>dc</em> analysis to determine bias points, <em>ac</em> analysis to determine gain, <em>noise</em> analysis to measure noise.<br />
Use <em>hb</em> analysis to determine two-tone linearity (IM2, IM3). Use (in order of preference) <em>hb</em>, <em>pss</em>, or <em>transient</em> to determine single-tone linearity (HD2/3/4/5).</p>
<p>In some cases, elevated noise can occur with large inputs. Use (in order of preference) <em>hbnoise</em> or <em>pnoise</em> to measure that.<br />
For blocks with feedback, such as:</p>
<ul>
<li>Linear regulators</li>
<li>Active filters</li>
</ul>
<p>Use <em>stb</em> analysis to simulate loop gain and determine phase margin.</p>
<p>For time-varying blocks, such as:</p>
<ul>
<li>Mixers</li>
<li>Switched-capacitor circuits</li>
</ul>
<p>Use <em>dc</em> analysis to determine bias points, use <em>steady</em> analysis to simulate LO operation, and <em>pac</em> + <em>pnoise</em> to simulate small-signal ac and noise inputs/outputs.<br />
Use <em>hb</em> analysis for single input tone linearity (LO + single input tone) and multi-tone simulation (LO + two or more inputs). Use <em>hbnoise</em> to simulate elevated noise levels due to large inputs (blockers).</p>
<p>You can get an estimate of the dynamic operation from looking at <em>ac</em> analysis with switch set in a desired state. For example, with a switched-mode mixer, I might put a dc source on the LO and look at the gain through the Mixer (from LNA to PMA). I can also do a <em>noise</em> simulation to get an estimate of where the noise is coming from. However, these simulations don&#8217;t include the actual <strong>mixing</strong> effects.</p>
<h2>Taxonomy of systems</h2>
<p>Before we delve into what analysis is best for what problem, we should first consider the classification of systems in general. They can basically be broken down by the following criteria:</p>
<ul>
<li><span style="#808080;">time base: discrete-time (DT) or continuous-time (CT)</span></li>
<li>response dependence: time-variant (TV) or time-invariant (TI)</li>
<li>linearity: linear or nonlinear</li>
</ul>
<p>You probably will encounter systems that as a whole do not fit into each of these categories. However, each system can be broken down into a component (call it a <em>sub-system</em>) that fits in each of the above categories. For example, a sigma-delta DAC generally has a discrete-time modulator and a continous-time reconstruction filter. For brevity, we will simply use the term <em>system</em> rather than <em>sub-system</em>.</p>
<p>The first two categories are basically black-and-white: a system is either discrete-time or continuous-time. Likewise, a system is either time-variant or time-invariant. Linearity, however, is a relative term. All circuits are nonlinear. However, if their nonlinearities (distortion) is low enough, we call them linear.</p>
<p style="#808080;">A circuit is discrete-time if it is triggered by some clock (i.e. it approximates some <strong>difference</strong> equation). Examples of discrete-time circuits are switched-capacitor filters, most sigma-delta modulators, and all digital logic. A circuit is continous-time if it operates continously without being triggered by a clock (i.e. it approximates some <strong>differential</strong> equation). Examples of continuous-time circuits are filters, linear regulators, and all RF circuits (excluding TI&#8217;s Digital Radio Processing).</p>
<p>A circuit is time-invariant if its input-output relationship does not change with time. For example, if I send an input x and get an output y, do I get the same output if delay x by (say) 1 μs? If not, the circuit is time-variant. If so (and if the same holds true for not just a 1 μs delay, but all delays), the circuit is time-invariant. Most circuits you encounter are time-invariant, such as filters, amplifiers, almost all RF circuits. Examples of time-variant circuits are RF mixers (analog multipliers) such as the Gilbert cell and the MOS chopping mixer. <span style="#999999;">I&#8217;ve heard many say that it&#8217;s wierd that we want mixers to be linear, when a mixer itself is a non-linear device. In truth, the ideal mixer <em>is</em> linear. However, in the past, the preferred way of creating a mixer was to sum two signals (an RF input and an LO) and pass them through a non-linear device (a diode for example); the resulting cross-multiplication (through the nonlinearity of the device) would cause a mixing. The ideal mixer, however, is both linear and time-variant (with respect to its RF input/output and baseband output/input, not its LO).</span></p>
<p>A circuit is linear if it obeys the rule that the input α×u<sub>1</sub> + β×u<sub>2</sub> (composed by a weighted sum of any signals u<sub>1</sub> and u<sub>2</sub>) yields an output α×y<sub>1</sub> + β×y<sub>2</sub>. That is, the output is proportional to the input, including sums of different inputs. If I double the input, I should get double the output. I should also be able to sum two different inputs and have the sum of two different outputs come out.</p>
<p align="right"></p>
<h2>Circuit analyses</h2>
<div>So, that taxonomy aside, here are the different analyses. <span style="#999999;">I&#8217;ll admit that most of my experience is with Cadence tools.</span></div>
<h3>op</h3>
<p>An operating point analysis solves KCL in a static condition&#8211;that is all derivatives are zero, and nothing is varying with respect to time. This analysis is useful for determining bias conditions. It is also used as a starting point for <em>ac</em> analysis and for <em>noise</em> analysis. In Spectre, an op analysis is a special case of a dc analysis (you select the &#8220;save operating point information&#8221; during a dc analysis).</p>
<p>This analysis is useful for all circuits. Initial conditions or nodese