码农知识堂 - 1000bd
  •   Python
  •   PHP
  •   JS/TS
  •   JAVA
  •   C/C++
  •   C#
  •   GO
  •   Kotlin
  •   Swift
  • 如何缩减layout电路面积?减少晶体管的数量——以全加器为例【VLSI】


    如何缩减layout电路面积?减少晶体管的数量——以全加器为例【VLSI】

    • What is Full adder ?
    • 全加器的设计方法
    • 1. 32T 原始表达式不经过化简的电路图
    • 2. 28个晶体管 最基本的静态互补CMOS电路的全加器
      • 静态互补CMOS
        • 静态互补CMOS的优势与劣势
      • 28T 电路图
      • 28T的棒状图Stick Diagram
    • 3. 24个晶体管 镜像CMOS加法器(mirror full adder)设计
      • 怎么实现的镜像电路?
        • 理解: Carry Propagation
      • 24T Mirror full adder 电路图
      • 24T 的棒状图Stick Diagram - Mirror full adder
    • 4. 24个晶体管 TG传输晶体管逻辑门Transmission Gate
        • 传输晶体管逻辑门(Transmission Gate)
          • Transmission Gate as a CMOS Bilateral Switch
          • TG的棒状图Stick Diagram
          • TG传输门用来构建XOR电路
          • TG传输门实现 2:1 多路复用器
      • 24T TG 全加器
    • 5.6个晶体管的 PTL传输晶体管逻辑 Pass Transistor Logic
      • Pass Transistor Logic 传输晶体管逻辑
        • PTC实现XOR逻辑只需要2个MOS管
        • 全加器的pass transistor 简化过程
      • 6T 的电路图
    • Reference

    前言:
    How to reduce the number of transistors to reduce circuit area? – Take the Binary Full Adder as an example

    优化面积的方法

    1. 减少晶体管的数量
    2. 改变gate matrix的布局

    What is Full adder ?

    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.

    在这里插入图片描述

    • 全加器的真值表:
    InputsOutputs
    ABCinCoutS
    00000
    00101
    01001
    01110
    10001
    10110
    11010
    11111

    全加器的设计方法

    1. 32T 原始表达式不经过化简的电路图

    根据真值表直接写表达式

    在这里插入图片描述
    根据表达式直接画晶体管图

    在这里插入图片描述
    在上图中,一个全加器有32个晶体管(6 for inverters,10 for the majority gate 进位,16 for the 3-input XOR gate)

    2. 28个晶体管 最基本的静态互补CMOS电路的全加器

    静态互补CMOS

    A static complementary CMOS gate is a combination of two networks, called the pull-up network (PUN) and the pull-down network (PDN).
    在这里插入图片描述

    静态互补CMOS的优势与劣势

    1. Advantages of static CMOS
    • Low static power
    • Robust
    • Supported by most synthesis & back-end tools
    1. “Disadvantages” of static CMOS
    • For N inputs, requires (at least) 2N transistors
    • PUN can be area consuming
    • Same function is computed twice

    28T 电路图

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

    在这里插入图片描述
    在这里插入图片描述

    可以看到:

    1. 上图的逻辑,静态互补电路输出的Cout和S符合逻辑表达式。

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

    28T的棒状图Stick Diagram

    稍微平移一下也可以画成这样

    在这里插入图片描述

    3. 24个晶体管 镜像CMOS加法器(mirror full adder)设计

    怎么实现的镜像电路?

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

    • Mirror adder : remove the output inverters and alternate positive and negative logic to reduce delay and transistor count to 24. The PMOS network is identical to the NMOS network rather than being the conduction complement.

    原理的理解如下

    1. 观察到输出Cout端、S端的反相器
      在这里插入图片描述

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

    3. 如果去掉反相器会发生什么?输出端的Cin和S都会取反。那么怎么在去掉反相器的前提下保证输出端的Cin和S正常输出不会取反呢?——通过取反输入逻辑可以实现!即将“反相单元”从输出端移动到输入端。

    4. 如果将“反相单元”从输出端移动到输入端,则可以简化许多电路。不需要让每一级都包含一个反相器,以便其输入和输出具有相同的逻辑极性,当在乎的是面积损耗的时候,允许完全消除这些反相器。
      在这里插入图片描述

    5. 取消了进位反相门,门的PDN和PUN不再是对偶网络,而是巧妙地实现了进位传播/产生/取消功能——当D或者G为高时,(~ Cout)分别被置为VDD或GND。当满足进位条件(P为1时),输入进位(以反相地形式)传播到(~ Cout)。

    6. 这些直接对应于电路的上拉结构,只需要将输出反转即可获得所需的结果。

    总结: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

    理解Carry Propagation这个进位过程是怎么实现的
    用P(进位传播)、G(进位产生)、D-Kill(进位消除)表示全加器进位这个传播过程。
    在这里插入图片描述

    • Generate function: The generate signal G occurs when a C output is generated internally within the adder. G = A . B
    • Propagate function: When the propagate signal P is true then Cin is passed to C when Cin is true. P = A + B; but we can also use P = A ⨁ \bigoplus ⨁(异或)B since it shows the same behaviour and also can be used to generate the sum term.

    在这里插入图片描述

    24T Mirror full adder 电路图

    公式推导见上上上个图片。
    在这里插入图片描述

    24T 的棒状图Stick Diagram - Mirror full adder

    在这里插入图片描述

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

    4. 24个晶体管 TG传输晶体管逻辑门Transmission Gate

    传输门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.

    传输晶体管逻辑门(Transmission Gate)

    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端连接到输出端。
    在这里插入图片描述

    Transmission Gate as a CMOS Bilateral Switch
    1. 什么是CMOS Switch?
      MOS管技术使用 NMOS 和 PMOS 器件来执行逻辑开关功能,从而允许数字计算机或逻辑电路控制这些模拟开关的操作。NMOS 和 PMOS 晶体管都被制造到同一个门电路中的 CMOS 器件可以通过(关闭条件)或阻止(打开条件)模拟或数字信号,具体取决于控制它的数字逻辑电平。
    2. 什么是TG双向开关?
      允许双向信号或数据传输的固态开关类型称为传输门或TG。
    3. 它将选择性地阻止或传递从输入到输出的信号电平。
      When control signal C is high i.e. VDD, both transistor are on and provides a low resistance path between A and B. On the other hand, when C is low both are turned off and provide high impedance path between A and B.
    TG的棒状图Stick Diagram

    在这里插入图片描述

    TG传输门用来构建XOR电路

    The XOR gate can also be implemented by the use of Transmission gates with pass transistor logic.
    在这里插入图片描述
    分析TG传输门构建的XOR电路:

    1. 把上图看作两部分:左边是一个特殊的反相器,不过他的正电压是由A控制,负电压是由 A ‾ \overline{A} A控制。右边是一个传输门构成的CMOS开关,TG传输门的开关由 A ‾ \overline{A} A控制:当 A ‾ \overline{A} A为1的时候传输门打开。
    2. 当A为1时:先看右半面,由于 A ‾ \overline{A} A = 0 所以传输门关闭,不管B输入什么输出都为高阻态;左半面表现为一个标准的 CMOS 反相器 (其中 A 是 VCC, A ‾ \overline{A} A是GND)。所以我们可以推断出Y= B ‾ \overline{B} B。
    3. 当A为0时:先看右半面,由于 A ‾ \overline{A} A = 1 所以传输门打开,可以推断出Y=B;再看左半面,反相器的PMOS部分接的GND,NMOS部分接的VDD,所以两个MOS管都偏置关闭了,反相器一直均不工作。

    XOR真值表对应

    InputOutput
    ABA XOR B
    000
    011
    101
    110

    如果我想只用电线和晶体管构建一个逻辑异或门,我必须使用的最少数量的晶体管是多少?

    对比CMOS静态互补电路组成的XOR电路(第一个图和第二个图都有22个MOS管),TG传输门构建的XOR电路共用了4个MOS管,共节省了18个MOS管。
    2-input AND有6个MOS,2-input OR 有6个MOS,反相器有2个。
    在这里插入图片描述

    TG传输门实现 2:1 多路复用器

    24T TG 全加器

    按照全加器的逻辑表达式,将其改成含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.
    在这里插入图片描述

    5.6个晶体管的 PTL传输晶体管逻辑 Pass Transistor Logic

    Pass Transistor Logic 传输晶体管逻辑

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

    在这里插入图片描述

    PTC实现XOR逻辑只需要2个MOS管

    在这里插入图片描述

    Pass-Transistor-Logic-XOR

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

    • 当B为1时,先看左半部分, B ‾ \overline{B} B = 0 ,所以左半部分一直输出高阻态。再看右半部分,B = 1,所以右半部分输出随输入 A ‾ \overline{A} A 而正比变化。当A=1时, A ‾ \overline{A} A=0,F为0、当A =0时, A ‾ \overline{A} A=1,F为1。
    • 当B为0时,先看左半部分, B ‾ \overline{B} B = 1 ,所以左半部分输出随输入A而正比变化。再看右半部分,B = 0,所以右半部分一直输出高阻态。当A=1时,F为1,当A =0时,F为0。
      再把上图简化一下,因为输入带着负号
      在这里插入图片描述

    全加器的pass transistor 简化过程

    在这里插入图片描述

    6T 的电路图

    在这里插入图片描述

    6T IMPLEMENTATION AND ANALYSIS OF 6T 1BIT FULL ADDER USING CADENCE VIRTUOSO

    Reference

    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?

    Mirror Adder

    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

  • 相关阅读:
    数据库sql题,lc免费,
    十六进制字符串转Python代码(utf-8字符串转十六进制字符串)
    Linux bash脚本编程学习
    【CS61A】学习笔记
    C++ Reference: Standard C++ Library reference: C Library: cwchar: wcspbrk
    Dapr v1.9.0 版本已发布
    R语言dplyr包group_by函数和summarise_at函数计算dataframe计算不同分组的计数个数和均值、使用%>%符号将多个函数串起来
    协议定制 + Json序列化反序列化
    “触”手可及的视听新体验 ——触觉反馈生态、标准及新进展
    数据结构全集介绍
  • 原文地址:https://blog.csdn.net/qq_43858116/article/details/127957134
  • 最新文章
  • 攻防演习之三天拿下官网站群
    数据安全治理学习——前期安全规划和安全管理体系建设
    企业安全 | 企业内一次钓鱼演练准备过程
    内网渗透测试 | Kerberos协议及其部分攻击手法
    0day的产生 | 不懂代码的"代码审计"
    安装scrcpy-client模块av模块异常,环境问题解决方案
    leetcode hot100【LeetCode 279. 完全平方数】java实现
    OpenWrt下安装Mosquitto
    AnatoMask论文汇总
    【AI日记】24.11.01 LangChain、openai api和github copilot
  • 热门文章
  • 十款代码表白小特效 一个比一个浪漫 赶紧收藏起来吧!!!
    奉劝各位学弟学妹们,该打造你的技术影响力了!
    五年了,我在 CSDN 的两个一百万。
    Java俄罗斯方块,老程序员花了一个周末,连接中学年代!
    面试官都震惊,你这网络基础可以啊!
    你真的会用百度吗?我不信 — 那些不为人知的搜索引擎语法
    心情不好的时候,用 Python 画棵樱花树送给自己吧
    通宵一晚做出来的一款类似CS的第一人称射击游戏Demo!原来做游戏也不是很难,连憨憨学妹都学会了!
    13 万字 C 语言从入门到精通保姆级教程2021 年版
    10行代码集2000张美女图,Python爬虫120例,再上征途
Copyright © 2022 侵权请联系2656653265@qq.com    京ICP备2022015340号-1
正则表达式工具 cron表达式工具 密码生成工具

京公网安备 11010502049817号