这里只讨论数字电路里的双反相器式buffer,模拟运放型的Buffer不懂。

以前学的只记得buffer链用来插在长wire中以减小delay,还有放在大扇出逻辑中形成buffer tree来减小扇出,保证摆幅,减小延迟,也就是保证驱动能力了。

自己有个理解,但是讲起来还是绕,下面是各家的解释:

目录

  • 1.数字电路的输入输出端加buffer的作用是什么?
  • 2.他和反相器的区别在哪啊?
  • 3.增强驱动能力/减少连线负载/降低delay都是如何体现的?
  • 4. 确保信号时序正确
  • 5. 增强驱动能力
    • 什么是带负载能力
    • 提高驱动能力
    • 驱动能力

1.数字电路的输入输出端加buffer的作用是什么?

一般认为有两个主要作用:

  • 一是增大信号驱动能力;
  • 二是做信号时序修整。

增大驱动能力简单理解就是可以让一个数字门后面可以挂更多的负载(扇出)而不至于失真,个人觉得信号恢复也可以算在这里面,就是当前一级信号由于种种原因而无法在电源和地之间满摆幅变化时,通过增大驱动能力来恢复满摆幅工作的能力。
信号时序修整包含了所谓的防止噪声干扰,和增加延时。

2.他和反相器的区别在哪啊?

从结构上说,数字的buffer一般就是偶数个反相器链的级联。从功能上说,buffer的输入和输出是同相的,而反相器自然是反相的。

3.增强驱动能力/减少连线负载/降低delay都是如何体现的?

当数据连线很长时,连线负载电容很大,导致存在很大的延时。此时插入buffer将连线分割成几个连线,每个buffer驱动的负载较小,因此能够有效减少延时,虽然buffer本身也具有延时,但是插buffer减少的连线延时明显大于buffer自身延时就可以采用插buffer的方式。
通过插buffer的方式减少了电路的负载电容,负载电容减少后,同样电压的情况下,对电容充电速度快(上升沿陡峭),同样电容小时存储的电容小,放电所需的时间短(下降沿陡峭)。一句话来说就是: 插buffer的方式减少了电路的负载电容,从而增大了电路驱动能力。

4. 确保信号时序正确

当一条wire很长时,延迟很大(delay正比于长度的平方,设长度为1,delay为1),这时在中间插入buffer,wire delay变为1/4+1/4=1/2,只要buffer delay小于1/2,则buffer的插入可以缩短wire delay​​​。

当一条wire的延迟不大时,如果有hold violation(表现为数据到达过快,需要滞后到达),则插入buffer,利用buffer delay可以修正这个hold violation。

5. 增强驱动能力

什么是带负载能力

带负载能力是指,外接负载器件后,输出的电压或者电流不受影响的能力。比如,如果一个单片机的引脚输出5V的电压信号,如果接上一个负载后,它的5V保持不变,那么,它可以带动这个负载,如果变小,那就说明无法带动这个负载。同样,对于输出电流如果能够满足负载的需要,那就说明带负载能力满足要求。
这就告诉我们,在实际电路分析,首先你要看它的输出端是想稳定输出电流还是想稳定输出电压。

如果是想稳定输出电压,说它带负载能力强,表示其输出电阻比较小,如果是稳定输出电流,说它带负载能力强,表示其输出电阻比较大如果是想稳定输出电压,说它带负载能力强,表示其输出电阻比较小,如果是稳定输出电流,说它带负载能力强,表示其输出电阻比较大。

这得看所谓“buffer”的physical结构。path上插buffer实际上是output“放大”了input的驱动能力,其输入阻抗小,而输出阻抗大,因此概念上等价于:受被驱动单元输入阻抗影响相对小。可以减小电压转换时的transition time,眼图更完备。Buffer 的一个比较著名的模型是 logic effort

提高驱动能力

buffer是一种宽高比很大的mos管,宽高比大意味着电流大,驱动能力高。
在扇出很大的wire中插入buffer可以提高带负载能力,常见于时钟树中。

时钟驱动16个reg时,负载很大,时钟上升很慢,并且时钟摆幅小,此时插入4个buffer。加buffer之前你的时钟直接驱动寄存器或者很多个寄存器。加buffer以后你的时钟只驱动buffer,而你的buffer会去驱动寄存器。时钟buffer本身是输入负载较小,输出驱动能力较强的。而且通常会做成一个时钟buffer网络来驱动设计里面全部的寄存器,并保证整个时钟网络上的信号有很好的transition,以及平衡从时钟源到所有寄存器的insertion delay.寄存器的CK端接在时钟上面, 在时钟上加入buffer是在做时钟树的时候让时钟到每一个寄存器的CK端的SKEW尽可能的小,还有增加驱动的功能。

驱动能力

所谓驱动能力,是指前级电路的输出信号可以使得后级电路有效响应,这个有效的包含两层意思:

  • 第一是前级输出信号能被后级电路识别;
  • 第二是在规定的时间内被后级电路识别。

    不插buffer会发生什么情况?不插buffer会导致驱动能力不够,通常是两种情况
    第一种是输出电流不够,导致信号状态异常,这常常发生在后级电路对输入电流有要求的时候,另一种则是输出电流不够,导致信号上升下降沿太差,这常常发生在后级电路的输入电容较大的情况。
    驱动能力强:摆幅大,上升快
    驱动能力弱:摆幅下,上升慢

存储器电路设计学习记录之 buffer提高驱动能力/带负载能力相关推荐

  1. 存储器电路设计学习记录之 版图验证DRC LVS LPE 及后仿扫盲

    目录 版图设计步骤 版图设计方法分类 版图设计完成后的验证工作 1.设计规则检查 (DRC) 2.版图与电路图一致性检查 (LVS) 3.电学规则检查(ERC) 4.版图寄生参数提取 (LPE) 功能 ...

  2. 模拟CMOS集成电路设计学习记录1

    做模拟IC的人都必须知道模拟界的三大圣经:一是拉扎维的<模拟CMOS集成电路设计>:二是艾伦的<CMOS模拟集成电路设计>:三是格雷的<模拟集成电路分析与设计>.虽 ...

  3. 怎么深入学习计算机,深入提高编程能力

    笔者最近在学习计算机的过程中,好像遇到了瓶颈. 学了很多东西,但感觉都不是很精通,也不知道怎么深入下去,很焦虑很迷茫. 学了操作系统,学了计算机网络,学了数据结构与算法,深入学习了C语言,学了Pyth ...

  4. 一种提高单片机i/o口驱动能力的方法

    一.简述问题 当你用单片驱动发光二极管的时,你还感觉不到P0.P1口的区别.(10-20mA之间,其中P0驱动能力最强,但对于驱动直流电机依然很弱,其结果就是电机不转).那么有什么办法提高驱动能力吗? ...

  5. 电压电流的驱动能力分析以及计算方法

    (文章为笔者学习过程中看到的,感觉帮助较大,分享出来希望能帮助到大家) 在电子电路中为什么有的地方电压会被拉低2,驱动能力是什么意思,如何提高驱动能力? 在很多资料上看到说驱动能力不够是因为提供的电流 ...

  6. 《嵌入式存储器架构、电路与应用》----学习记录(一)

    前言 本书系统介绍嵌入式存储器在架构.电路和应用方面的技术进展,包括SRAM.eDRAM.eFlash和近几年兴起的阻变型存储器,并着重介绍我国研究人员在嵌入式存储器方面的研究工作. 第1章 绪论 1 ...

  7. 王爽 16 位汇编语言学习记录

    以下为汇编学习记录,内容全部出自王爽的16位<汇编语言>,如有错误,可直接去查看原书. 汇编语言   机器语言是机器指令集的集合,机器指令是一列二进制数字,计算机将其翻译成高低电平,从而使 ...

  8. 链路追踪译文学习记录(Dapper!!!非原创!!!学习记录)

    #Dapper(阅读翻译论文的学习记录) ##摘要 环境:在复杂的大规模分布式系统中,一个系统多个模块,每个模块可能由不同的团队,语言,横跨多个数据中心的几千台服务器上. 这种环境要求一种可以帮助理解 ...

  9. CVPR2019| 百度17篇CVPR论文学习记录(包含:无人驾驶、神经网络、GAN、无监督学习、目标检测)

    首先感谢现在网上资源丰富,能够获得很多人的总结,结合自身实际进行了学习记录. 并着重标注了其中关键核心 目录 1)Taking A Closer Look at Domain Shift: Categ ...

  10. linux个人学习记录

    linux学习记录 资料: Linux 黑马程序员_bilibili AcWing Linux基础课 可能是东半球最全面易懂的 Tmux 使用教程! Shell 教程 | 菜鸟教程 (runoob.c ...

最新文章

  1. 8天后,有份独家小程序数据分析报告重磅来袭
  2. mac os x java_Mac OS X和多个Java版本
  3. AVPlayer 之avcore模块
  4. C++ Primer 5th笔记(chap 14 重载运算和类型转换)下标运算符[]
  5. 机器学习之线性回归 (Python SKLearn)
  6. java default parameter_Java Parameter.DefaultBounds方法代码示例
  7. 巨型机是一种什么的超级计算机,这个世界其实是一个超级计算机
  8. c#计算 坐标点与坐标点之间的距离
  9. Ubuntu下搜狗输入法突然无法输入中文
  10. c# oldb连接_(转)C#连接OleDBConnection数据库的操作
  11. java 及时编译_Java 面试-即时编译( JIT )
  12. 关于Yaffs2在u-boot中的支持
  13. 电脑软件上的按钮原来是这样来的:按钮组件
  14. AcWing 1762. 牛的洗牌(暴力)
  15. 使用tp5.1写api接口的流程
  16. VMware上Ubuntu联网(NAT方式)
  17. Nginx反向代理域名映射
  18. NOIP2014P4 子矩阵 题解
  19. RHEL5.5下载地址及安装序列号
  20. java实列方法和静态方法_静态方法,类方法和实例方法

热门文章

  1. codeforces GYM 101431B (后缀数据结构)
  2. Visual Studio远程调试程序
  3. cdh6 添加新主机后,出现 Error sending messages to firehose
  4. anisotropy texture filtering
  5. PyTorch 深度学习:60分钟快速入门
  6. ⭐⭐⭐【DFS+理解题意】找出直系亲属
  7. Codeforces1457 C. Bouncing Ball(思维+dp)
  8. python一维数组转置_Python 矩阵转置的几种方法小结
  9. Codeforces Round #831 (Div. 1 + Div. 2) problem C
  10. V831——PWM驱动舵机