优化面积的方法
A full adder adds binary numbers and accounts for values carried in as well as out. A one-bit full-adder adds three one-bit numbers, often written as A, B, and Cin; A and B are the operands, and Cin is a bit carried in from the previous less-significant stage.

| Inputs | Outputs | |||
|---|---|---|---|---|
| A | B | Cin | Cout | S |
| 0 | 0 | 0 | 0 | 0 |
| 0 | 0 | 1 | 0 | 1 |
| 0 | 1 | 0 | 0 | 1 |
| 0 | 1 | 1 | 1 | 0 |
| 1 | 0 | 0 | 0 | 1 |
| 1 | 0 | 1 | 1 | 0 |
| 1 | 1 | 0 | 1 | 0 |
| 1 | 1 | 1 | 1 | 1 |
根据真值表直接写表达式

根据表达式直接画晶体管图

在上图中,一个全加器有32个晶体管(6 for inverters,10 for the majority gate 进位,16 for the 3-input XOR gate)
A static complementary CMOS gate is a combination of two networks, called the pull-up network (PUN) and the pull-down network (PDN).

利用逻辑方程直接转变成CMOS电路,进行逻辑变换。


可以看到:
上图的逻辑,静态互补电路输出的Cout和S符合逻辑表达式。
输出Cout和S上,有一个反相器,两个晶体管的栅极连接在一起。我一开始很迷惑为什么需要加反相器,其实是因为静态互补CMOS这种设计方法,比如上图中的Cout表达式,实际是PDN的电路,PUN是取反之后的。为了让Cout为1,需要X为0,需要PDN下拉网络的A*B+Cin(A+B)起作用。反相器不能省,也可以防止噪音。
稍微平移一下也可以画成这样

简单点说:移除输出反相器并交替正负逻辑以将延迟和晶体管数量减少到 24个。拿掉输出端的反相器并不影响电路的功能。拿掉输出端的反相器后形成了像镜像一样的NMOS和PMOS网络。
原理的理解如下
观察到输出Cout端、S端的反相器

第二步理解,全加器是将低位进位输入也代入计算的加法电路,同样输出一个结果位和进位。全加器进位的链接是通过反相器来保证逻辑一致,Carry chain optimisation: using inversion property

如果去掉反相器会发生什么?输出端的Cin和S都会取反。那么怎么在去掉反相器的前提下保证输出端的Cin和S正常输出不会取反呢?——通过取反输入逻辑可以实现!即将“反相单元”从输出端移动到输入端。
如果将“反相单元”从输出端移动到输入端,则可以简化许多电路。不需要让每一级都包含一个反相器,以便其输入和输出具有相同的逻辑极性,当在乎的是面积损耗的时候,允许完全消除这些反相器。

取消了进位反相门,门的PDN和PUN不再是对偶网络,而是巧妙地实现了进位传播/产生/取消功能——当D或者G为高时,(~ Cout)分别被置为VDD或GND。当满足进位条件(P为1时),输入进位(以反相地形式)传播到(~ Cout)。
这些直接对应于电路的上拉结构,只需要将输出反转即可获得所需的结果。
总结:This simplification reduces the number of series transistors and makes the layout more uniform. If you invert your carrychain after each fulladder, you can spare the NOT gate and use an NOR gate -> 2 transistors.
理解Carry Propagation这个进位过程是怎么实现的
用P(进位传播)、G(进位产生)、D-Kill(进位消除)表示全加器进位这个传播过程。


公式推导见上上上个图片。


注:这里的输出是 ~Cout 和 ~Sum ,如果需要得到正的输出Cout和Sum,需要加两个反相器,一共28个transistors。
这样的设计可以平衡PUN和PDN的结构,像对称镜像一样。

传输门TG用于实现电子开关和模拟多路复用器。它通过消除冗余晶体管减少了用于制造不同逻辑门的晶体管数量。最大的特点是它的和与进位输出具有相似的延时。传输晶体管传输门逻辑的使用比互补 CMOS 更节能。
Logic circuits can be constructed with the aid of transmission gates instead of traditional CMOS pull-up and pull-down networks. Such circuits can often be made more compact, which can be an important consideration in silicon implementations.
A transmission gate is an electronic element and good non mechanical relay built with CMOS technology. It is made by parallel combination of nMOS and pMOS transistors with the input at the gate of one transistor © being complementary to the input at the gate of the other.
NMOS的Source端和PMOS的Source端连接到输入端,NMOS的Drain端和PMOS的Drain端连接到输出端。


The XOR gate can also be implemented by the use of Transmission gates with pass transistor logic.

分析TG传输门构建的XOR电路:
XOR真值表对应
| Input | Output | |
|---|---|---|
| A | B | A XOR B |
| 0 | 0 | 0 |
| 0 | 1 | 1 |
| 1 | 0 | 1 |
| 1 | 1 | 0 |
如果我想只用电线和晶体管构建一个逻辑异或门,我必须使用的最少数量的晶体管是多少?
对比CMOS静态互补电路组成的XOR电路(第一个图和第二个图都有22个MOS管),TG传输门构建的XOR电路共用了4个MOS管,共节省了18个MOS管。
2-input AND有6个MOS,2-input OR 有6个MOS,反相器有2个。

按照全加器的逻辑表达式,将其改成含XOR异或门的表达式。

化简过程讲解Full Adder using Transmission Gates (Part 1) | transmission gate logic
uses Transmission Gate to form multiplexers and XORs. using 24 transistors and providing buffered outputs of the proper polarity with equal delay.

这个PPT里写的Pass Transistor Circuit,一样的意思。


分析:将上图分为左右两个部分



6T IMPLEMENTATION AND ANALYSIS OF 6T 1BIT FULL ADDER USING CADENCE VIRTUOSO
Lecture 14: Pass transistors and transmission gates
EE141-Fall 2010 Fall 2010 Digital Integrated Digital Integrated Circuits
镜像 CMOS Static & Dynamic Logic Gates
Comparative Analysis of Different Types of Full Adder Circuits不同类型全加器电路的比较分析
Harvey Mudd College- Introduction to CMOS VLSI Design-adders
Please help me understand how this cmos mirror adder works
1bit Full Adder Cell in IC not working as supposed?
14 TRANSISTOR FULL ADDER CIRCUIT USING 4 TRANSISTOR XOR GATE AND TRANSMISSION GATE
CMOS Static & Dynamic Logic Gates
Power and Delay Comparison in between Different types of Full Adder Circuits