数字集成电路设计之CMOS
数字集成电路设计理论
1、基本的理论结构
现在主流的集成电路器件还是CMOS,所以理论的结构还是基于CMOS。CMOS有N和P两种MOS组合组合在一起。CMOS最简单的器件就是反相器。然后是标准的逻辑门(与门和或门),标准单元是采用w/L=2:1的PMOS和NMOS组成的与非门和或非门。然后,就可以实现所有的数字逻辑。当然,在实际的应用中,还有一些其他的重要结构,但是这三个单元是基本。
2、重要部分
逻辑门:
构建一个逻辑门,需要确定输入和输出,然后使用NMOS拓扑和PMOS拓扑构成逻辑门。这里由于NMOS和PMOS的连接关系一般采用对偶关系(串联对并联,并联对串联),所以只需要采用一个拓扑就可以得到逻辑门所实现的功能。以NMOS为例:串联为与,并联是或,最后的输出加非即可。其他的多输入模型也是基于这个来设计的。
传输特性:
前面提到,串联为与,并联为或。这是基于开关器件来说的。在实际的MOS器件时,串联的结构是具有延时的。例如A和B两个输入,A在B上面,也就是A靠近输出。在A=0,B=0时,F输出高电压。在A高时,NMOS-A的作用为电阻,可以较快地下降;而当B高时,NMOS-B的作用相当于电阻,NMOS-A相当于加了一个下拉电阻,需要更长的时间导通。也就是A=1,B=0->1的延时要比B=1,A=0->1的延时要小。这里区分了与门的两扇入的区别。
这个延时,最直接的结果就是限制了输入的数量。如果扇入过多,延时将增加到不可接受。而且可能出现最上面的MOS栅压大于电源电压而失效。一般输入数小于等于4最好。
对于输入更多的器件,可以采用单元电路组合的方法实现。这种实现方法的延时将转化为多路径,其中最慢的路径就是电路的速度。这里的分析就是要考虑逻辑努力。
逻辑努力:
计算逻辑努力有软件可以仿真,而对于估算来说,使用反相器模型会比较好理解。
一般的设计,MOS的W/L的值是确定的。所以对于一个反相器而言,延时也是一定的。理想的反相器的总延时Di=tp0(1+fi),而我们使用的一般是Di=tp0(p+gi hi)。
这里tp0的作用相当于一个单位延时,和长度的m是一个概念。P则是输入电容的延时,用于输入延时的描述,在空载时就是这个电路的延时。而g则是等效反相器个数,也就是逻辑努力。h则是Cout/Cin,也就是扇出。显然扇出越大,所能容纳的级数越大,延时越大。下面说一下这几个参数的计算:
g,将串联的宽长比除以串联个数,并联不变,相加除以2就是分母,分子就是总和除以2;简单理解就是串联延时增大,体现为分母减小修正。这里一般使用2:1的反相器为标准。
P,与输入个数成正比。
BG:就是连接输出的下一级的个数与g的乘积。一般是同样的输出级,不同的应该要区分写。这里直接相乘就是分别写的缩写。
h:就是Cout/Cin,可以理解为最小延时。
这里就比较奇怪,为什么其他支路会影响分析的干路。个人理解是其他支路的输入电阻与输出电容构成的RC分路会提高延时。具体的原理可能用到模电的分析,这里就不做讨论了。
这就是逻辑努力的基本概念,可以试着分析一下各个输入的延时,理解每一个逻辑电路的延时的概念。
延时优化:
从前面的分析可以看出,一个路径的延时的最小就是h(忽略单位),但是前面提到了一级内部不能加入过多的扇入。所以,多少级的结构合适呢?Fi=Bi*Gi*Hi,这就是每一级延时的乘积。根据数学原理,要使总的延时(也就是每一级的延时之和)最小,等比分布是最小的。
这里使用了一个重要的关系式:h1*h2*……*hi=Cout/Cin,理解为Hi的1~i乘积等于Cout/Cin,当然也可以根据每一级的F,B,G得到每一级的H。
这里理解起来还是比较复杂的。
主要的区分点是每一级的参数还是总的参数。
小结:
后面的内容就是CMOS的改进。一些基于其他的NMOS和PMOS的组合方法可以实现一些特定的功能,这里由于时间关系就不多说,后面有时间再补充。
3、实验部分
实验部分就是绘制版图,在别的部分有过介绍,这里不再赘述。在使用cadence工具中找到过。
数字集成电路设计之CMOS的更多相关文章
- 数字集成电路设计-8-一个简单sobel图像边缘检测加速器的设计,实现,仿真与综合
引言 图像视频处理等多媒体领域是FPGA应用的最主要的方面之一,边缘检测是图像处理和计算机视觉中的基本问题,所以也是最常用的,随着数据量的不断增加以及对实时性的要求,一般软件已经不能满足实际需要,这时 ...
- 数字集成电路设计-14-DPI
引言 在进行IC验证时,尤其是规模较大的时候,单纯用Verilog和SV来构建testbench.可能会稍显吃力. 在这样的情况下,使用C或者C++等软件语言往往会大大加快验证速度,提高验证效率. P ...
- VerilogHDL概述与数字IC设计流程学习笔记
一.HDL的概念和特征 HDL,Hard Discrimination Language的缩写,翻译过来就是硬件描述语言.那么什么是硬件描述语言呢?为什么不叫硬件设计语言呢?硬件描述语言,顾名思义就是 ...
- 数字IC前后端设计中的时序收敛(六)--Max Fanout违反
本文转自:自己的微信公众号<数字集成电路设计及EDA教程>(二维码见博文底部) 里面主要讲解数字IC前端.后端.DFT.低功耗设计以及验证等相关知识,并且讲解了其中用到的各种EDA工具的教 ...
- 数字IC前后端设计中的时序收敛(五)--Max Transition违反的修复方法
本文转自:自己的微信公众号<数字集成电路设计及EDA教程> 里面主要讲解数字IC前端.后端.DFT.低功耗设计以及验证等相关知识,并且讲解了其中用到的各种EDA工具的教程. 考虑到微信公众 ...
- 数字IC前后端设计中的时序收敛(四)--Max Capacitance违反的修复方法
本文转自:自己的微信公众号<数字集成电路设计及EDA教程> 里面主要讲解数字IC前端.后端.DFT.低功耗设计以及验证等相关知识,并且讲解了其中用到的各种EDA工具的教程. 考虑到微信公众 ...
- 数字IC前后端设计中的时序收敛(三)--Hold违反的修复方法
本文转自:自己的微信公众号<数字集成电路设计及EDA教程>(二维码见博文底部) 里面主要讲解数字IC前端.后端.DFT.低功耗设计以及验证等相关知识,并且讲解了其中用到的各种EDA工具的教 ...
- 数字IC前后端设计中的时序收敛(二)--Setup违反的修复方法
本文转自:自己的微信公众号<数字集成电路设计及EDA教程> 里面主要讲解数字IC前端.后端.DFT.低功耗设计以及验证等相关知识,并且讲解了其中用到的各种EDA工具的教程. 考虑到微信公众 ...
- 数字IC前后端设计中的时序收敛(一)前言
本文转自:自己的微信公众号<数字集成电路设计及EDA教程> 里面主要讲解数字IC前端.后端.DFT.低功耗设计以及验证等相关知识,并且讲解了其中用到的各种EDA工具的教程. 为了纪念,同时 ...
- 数字IC设计工程师的知识结构
刚毕业的时候,我年少轻狂,以为自己已经可以独当一面,庙堂之上所学已经足以应付业界需要.然而在后来的工作过程中,我认识了很多牛人,也从他们身上学到了很多,从中总结了一个IC设计工程师需要具备的知识架构, ...
随机推荐
- windows网络流量监控
NPCap 官网 https://nmap.org/npcap/ 这是抓包必须先安装的工具,具体的原因可以看 https://github.com/buger/goreplay/wiki/Runnin ...
- 通过weblogic发布服务器某个文件夹
介绍 客户有一台老服务器,上面安装的是weblogic,现在有个需求是需要将服务器下面某个文件夹下的文件都发布出来供某前端直接访问.之前都是直接利用tomcat的webapps目录直接发布即可,搜索了 ...
- Oracle system identifier already exists specify another SID
问题说明 Centos7重装Oracle,使用DBCA重新创建实例test的时候报错,中文意思是: Oracle系统标识符(SID)"test"已存在,请指定另一个SID. 问题原 ...
- https://editor.csdn.net/md/?articleId=131348876
前言 前面搭建了基础环境,在使用统信UOS系统的相关行业也是不能上网的,但是可以传递压缩包,为了很好的方便相关从业人员工作,特将此种方式流程分享出来.(与国产银河麒麟不同) 本篇文章的重点就是离 ...
- 硬件开发笔记(八): 硬件开发基本流程,制作一个USB转RS232的模块(七):创建基础DIP元器件(晶振)封装并关联原理图元器件
前言 有了原理图,可以设计硬件PCB,在设计PCB之间还有一个协同优先动作,就是映射封装,原理图库的元器件我们是自己设计的.为了更好的表述封装设计过程,本文描述了创建晶振封装(DIP),将原理图的 ...
- Apache Hudi 在 vivo 湖仓一体的落地实践
作者:vivo 互联网大数据团队 - Xu Yu 在增效降本的大背景下,vivo大数据基础团队引入Hudi组件为公司业务部门湖仓加速的场景进行赋能.主要应用在流批同源.实时链路优化及宽表拼接等业务场景 ...
- 八: Mysql配置文件的使用
# Mysql配置文件的使用 1. 配置文件格式 与在命令行中指定启动选项不同的是,配置文件中的启动选项被划分为若干个组,丽个组有一个组名, 用中括号 [ ]扩起来,像这样: 像这个配置文件里就定义了 ...
- WPF --- 重写圆角DataGrid样式
引言 因要符合UI设计, 需要一个圆角的 DataGrid 样式,其需要一个,所以需要重写DataGrid的样式, 代码 具体样式代码如下: <ResourceDictionary xmlns= ...
- 谈谈Java的特点和优点以及选择Java的原因
如果面试官问你:请你说说Java的特点和优点,为什么要选择Java?你该怎么回答? 得分点 Java的特点 Java与C++的区别 Java的优点 标准回答 Java是一门非常纯粹的面向对象的编程 ...
- 4- 信号量& 互斥量
信号量,计数值 问题: 还是那个AB任务互斥调度的问题,B等A执行完毕的过程中,判断标志位会耗费CPU资源 利用信号量,当没有信号的时候,不参与调度 计数信号量(不能用来传输数据) static S ...