⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 ch02.d.htm

📁 介绍asci设计的一本书
💻 HTM
字号:
<HTML>

<HEAD>

  <META NAME="GENERATOR" CONTENT="Adobe PageMill 2.0 Mac">

  

  <TITLE> 2.4.4&nbsp;&nbsp;&nbsp;Exclusive-OR Cell</TITLE>

</HEAD><!--#include file="top.html"--><!--#include file="header.html"-->





<P><A NAME="pgfId=8379"></A><HR ALIGN=LEFT></P>



<P><A HREF="CH02.9.htm">Chapter&nbsp;&nbsp;start</A>&nbsp;&nbsp;&nbsp;<A

HREF="CH02.c.htm">Previous&nbsp;&nbsp;page</A>&nbsp;&nbsp;<A HREF="CH02.e.htm">Next&nbsp;&nbsp;page</A></P>



<H2>2.4.4&nbsp;&nbsp;&nbsp;Exclusive-OR Cell</H2>



<P><P CLASS="BodyAfterHead"><A NAME="pgfId=53548"></A>The two-input <B>exclusive-OR</B>

(<B> XOR</B> , EXOR, not-equivalence, ring-OR) function is</P>



<P><P CLASS="EqnNmbrdAlign"><A NAME="pgfId=54093"></A>&nbsp;&nbsp;A1<SPAN CLASS="White">&nbsp;</SPAN><SPAN CLASS="Symbol">

</SPAN> <SPAN CLASS="White">&nbsp;</SPAN>A2<SPAN CLASS="White">&nbsp;</SPAN>=<SPAN CLASS="White">&nbsp;</SPAN>XOR(A1,&nbsp;A2)<SPAN CLASS="White">&nbsp;</SPAN>=<SPAN CLASS="White">&nbsp;</SPAN>A1<SPAN CLASS="White">&nbsp;</SPAN>&middot;<SPAN CLASS="White">&nbsp;</SPAN>A2'<SPAN CLASS="White">&nbsp;</SPAN>+<SPAN CLASS="White">&nbsp;</SPAN>A1'<SPAN CLASS="White">&nbsp;</SPAN>&middot;<SPAN CLASS="White">&nbsp;</SPAN>A2.(2.32)</P>



<P><P CLASS="Body"><A NAME="pgfId=54107"></A>We are now using multiletter

symbols, but there should be no doubt that A1' means anything other than

NOT(A1). We can implement a two-input XOR using a MUX and an inverter as

follows (2 gates):</P>



<P><P CLASS="EqnNmbrdAlign"><A NAME="pgfId=54153"></A>&nbsp;&nbsp;XOR(A1,&nbsp;A2)<SPAN CLASS="White">&nbsp;</SPAN>=<SPAN CLASS="White">&nbsp;</SPAN>MUX[NOT(A1),&nbsp;A1,&nbsp;A2],(2.33)</P>



<P><P CLASS="BodyAfterHead"><A NAME="pgfId=54158"></A>where</P>



<P><P CLASS="EqnNmbrdAlign"><A NAME="pgfId=54179"></A>&nbsp;&nbsp;MUX(A,

B, S)<SPAN CLASS="White">&nbsp;</SPAN>=<SPAN CLASS="White">&nbsp;</SPAN>A<SPAN CLASS="White">&nbsp;</SPAN>&middot;<SPAN CLASS="White">&nbsp;</SPAN>S<SPAN CLASS="White">&nbsp;</SPAN>+<SPAN CLASS="White">&nbsp;</SPAN>B<SPAN CLASS="White">&nbsp;</SPAN>&middot;<SPAN CLASS="White">&nbsp;</SPAN>S<SPAN CLASS="White">&nbsp;</SPAN>'.(2.34)</P>



<P><P CLASS="BodyAfterHead"><A NAME="pgfId=54148"></A>This implementation

only buffers one input and does not buffer the MUX output. We can use inverter

buffers (3.5 gates total) or an inverting MUX so that the XOR cell does

not have any external connections to source/drain diffusions as follows

(3 gates total):</P>



<P><P CLASS="EqnNmbrdAlign"><A NAME="pgfId=56615"></A>&nbsp;&nbsp;XOR(A1,&nbsp;A2)<SPAN CLASS="White">&nbsp;</SPAN>=<SPAN CLASS="White">&nbsp;</SPAN>NOT[MUX(NOT[NOT(A1)],&nbsp;NOT(A1),&nbsp;A2)].(2.35)</P>



<P><P CLASS="Body"><A NAME="pgfId=54279"></A>We can also implement a two-input

XOR using an AOI21 (and a NOR cell), since</P>



<P><P CLASS="EquationAlign"><A NAME="pgfId=54280"></A>&nbsp;&nbsp;XOR(A1,&nbsp;A2)<SPAN CLASS="White">&nbsp;</SPAN>=<SPAN CLASS="White">&nbsp;</SPAN>A1<SPAN CLASS="White">&nbsp;</SPAN>&middot;<SPAN CLASS="White">&nbsp;</SPAN>A2'<SPAN CLASS="White">&nbsp;</SPAN>+<SPAN CLASS="White">&nbsp;</SPAN>A1'<SPAN CLASS="White">&nbsp;</SPAN>&middot;<SPAN CLASS="White">&nbsp;</SPAN>A2<SPAN CLASS="White">&nbsp;</SPAN>=<SPAN CLASS="White">&nbsp;</SPAN>[<SPAN CLASS="White">&nbsp;</SPAN>(A1<SPAN CLASS="White">&nbsp;</SPAN>&middot;<SPAN CLASS="White">&nbsp;</SPAN>A2)<SPAN CLASS="White">&nbsp;</SPAN>+<SPAN CLASS="White">&nbsp;</SPAN>(A1<SPAN CLASS="White">&nbsp;</SPAN>+<SPAN CLASS="White">&nbsp;</SPAN>A2)'

]'</P>



<P><P CLASS="EqnNmbrdAlign"><A NAME="pgfId=197508"></A>&nbsp;&nbsp;=<SPAN CLASS="White">&nbsp;</SPAN>AOI21[A1,

A2, NOR(A1, A2)],(2.36)</P>



<P><P CLASS="BodyAfterHead"><A NAME="pgfId=197509"></A>(2.5 gates). Similarly

we can implement an exclusive-NOR (XNOR, equivalence) logic cell using an

inverting MUX (and two inverters, total 3.5 gates) or an OAI21 logic cell

(and a NAND cell, total 2.5 gates) as follows (using the MUX function of

Eq.&nbsp;2.34):</P>



<P><P CLASS="EquationAlign"><A NAME="pgfId=54094"></A>&nbsp;&nbsp;XNOR(A1,

A2)<SPAN CLASS="White">&nbsp;</SPAN>=<SPAN CLASS="White">&nbsp;</SPAN>A1<SPAN CLASS="White">&nbsp;</SPAN>&middot;<SPAN CLASS="White">&nbsp;</SPAN>A2<SPAN CLASS="White">&nbsp;</SPAN>+<SPAN CLASS="White">&nbsp;</SPAN>NOT(A1)<SPAN CLASS="White">&nbsp;</SPAN>&middot;<SPAN CLASS="White">&nbsp;</SPAN>NOT(A2)</P>



<P><P CLASS="EquationAlign"><A NAME="pgfId=54453"></A>&nbsp;&nbsp;=<SPAN CLASS="White">&nbsp;</SPAN>NOT[NOT[MUX(A1,

NOT (A1), A2]]</P>



<P><P CLASS="EqnNmbrdAlign"><A NAME="pgfId=54458"></A>&nbsp;&nbsp;=<SPAN CLASS="White">&nbsp;</SPAN>OAI21[A1,&nbsp;A2,&nbsp;NAND(A1,&nbsp;A2)](2.37)</P>



<P><HR ALIGN=LEFT></P>



<P><A HREF="CH02.9.htm">Chapter&nbsp;&nbsp;start</A>&nbsp;&nbsp;&nbsp;<A

HREF="CH02.c.htm">Previous&nbsp;&nbsp;page</A>&nbsp;&nbsp;<A HREF="CH02.e.htm">Next&nbsp;&nbsp;page</A>

</BODY>



<!--#include file="Copyright.html"--><!--#include file="footer.html"-->

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -