001. 画出CMOS反相器的电路原理图。

衬底的连接问题。PMOS衬底接电源,NMOS衬底接地

002. 反相器的速度与哪些因素有关?什么是转换时间(transition time)和传播延迟(propagation delay)?

反相器的速度与哪些因素有关。

(1)  电容(负载电容、自载电容、连线电容)较小,漏端扩散区的面积应尽可能小。输入电容要考虑: (1)Cgs 随栅压而变化(2)密勒效应(3)自举效应

(2)   加大晶体管的尺寸(驱动能力),使晶体管的等效导通电阻(输出电阻)较小。但这同时加大自载电容和负载电容(下一级晶体管的输入电容)。

(3)   提高电源电压,提高电源电压可以降低延时,即用功耗换取性能但超过一定程度后改善有限。电压过高会引起可靠性问题(氧化层击穿、热电子等)。

Transition Time(转换时间):上升时间:从10%Vdd上升到90%Vdd的时间,下降时间L从90%Vdd下降到10%dd的时间。上升时间和下降时间统称为Transition Time,也有定义为20%到80%。

Propagation Delay(传播延时):在输入信号变化到50%Vdd到输出信号变化到50%Vdd之间的时间。

结合fpga的时序报告,介绍一下这些参数在工程实际中有啥用处呢

003. 解释一下Vih,Vil,Vol,Voh,Vt。

Vih:输入电压由高到低变化时,输出电压开始上升且传输特性曲线斜率为-1的点,即图中B点对应的输入电压。(仍能维持输出为逻辑“1”的最大输出电压)

Vil:输入电压由低到高变化时,输出电压开始下降且传输特性曲线斜率为-1的点,即图中A点对应的输入电压。(仍能维持输出为逻辑“0”的最小输出电压)

Voh:定义为最小合格高电平。(维持输出为逻辑“1”的最大输出电压)

Vol:定义为最大合格低电平。(维持输出为逻辑“0”的最大输出电压)

CMOS集成电路内部规定Vol = 0v,Voh = Vdd。

Vt:MOS管的阈值电压

如果输入电平是(Vil+Vih)/2,会有什么问题

输入电压(Vil+Vih)/2接近于0.5Vdd,CMOS反相器的阈值电压也接近于0.5Vdd,这样输出不确定会是高电平还是低电平,输出呈亚稳态!

004.什么是原码,反码,补码,符号-数值码。以4bit为例,给出各自表示的数值范围。

原码:符号位+真值,最高位表示符号位,以4bit为例。

[+3]原 = 0011

[-3]原 = 1011

表示范围:-7到+7

原码中0000和1000都表示0。

反码:正数的反码是它本身,负数的反码将原码除符号位外逐位取反。以4bit为例。

[+3]原 = [0011]原 = [0011]反

[-3]原 = [1011]原 = [1100]反

表示范围:-7到+7

反码中0000和1111都表示0。

补码:正数的补码是它本身,负数的补码将原码除符号位外逐位取反再加1。以4bit为例。

[+3]原 = [0011]原 = [0011]反 = [0011]补

[-3]原 = [1011]原 = [1100]反 = [1101]补

表示范围:-8到+7

补码中0的表示只有一种形式,即0000,1000表示-8。

以上是有符号数,对于无符号数来说都是来表示整数,其原码、反码、补码都是其本身。

更详细解释可参考维基百科。

https://zh.wikipedia.org/wiki/%E6%9C%89%E7%AC%A6%E8%99%9F%E6%95%B8%E8%99%95%E7%90%86

005.十进制转换为二进制编码:

127

-127

127.375

-127.375

十进制数转化为R进制数:整数部分,除R取余法,除到商为0为止。小数部分,乘R取整法,乘到积为0为止。

127 = 0111_1111

-127 = 1111_1111

127.375 = 0111_1111.011

-127.375 = 1111_1111.011

006.画出CMOS三态缓冲器的电路原理图,解释一下高阻态。

  很多东西去搜索还是应该直接用英文,用Google或者Bing国际版,百度真是惨不忍睹。

PMOS衬底接Vdd,CMOS衬底解Gnd,以下为简化,未画衬底。

图1,三态非门,当~EN为1时,最上面的PMOS和最下面的NMOS管截止,所以输出为高阻态,反之输出为~A,同理可推理出图2,EN高电平有效输出。

图3,三态缓冲门,当~EN为高电平时,最上面的PMOS管截止,输出为高阻态,反之,输出为A。图4一样。

图5,CMOS传输门,双向传输,当C=0,~C=Vdd,两个MOS管都截止,输入和输出之间呈现高阻态,当C=Vdd,~C=0,如果0 <= Vi <= Vdd – Vt(NMOS),NMOS管导通,如果|Vt(PMOS)|<= Vi <= Vdd,PMOS管导通,所以Vi在0到Vdd之间,总有一个MOS管导通,实现传输门。

图6,三态非门,在反相器后面加一个传输门,当~EN为低电平,传输门导通,输出Y = ~A,反之传输门截止,输出高阻态。如果想要EN高电平有效,交换传输门上下端子的反相器即可。

  高阻态:电路的一种输出状态,既不是高电平也不是低电平,如果高阻态再输入下一级电路的话,对下级电路无任何影响,可以理解为断路,不被任何东西所驱动,也不驱动任何东西

007.什么是open-drain output?

  Open-Drain Output漏极开路输出,称为OD门,两个OD门并联可以实现线与功能,输出端外接的上拉电阻提高驱动能力

008.只用2输入mux,实现与,或,非,异或。2输入mux定义为o = s ? a : b;

与:out = (a == 1'b0)? 1'b0: ((b == 1'b0)? 1'b0: 1'b1);

改进版:out = (a == 1'b1)? b: 1'b0;

或:out = (a == 1'b1)? 1'b1: ((b == 1'b1)? 1'b1: 1'b0);

改进版:out = (a == 1'b0)? b: 1'b1;

非:out = (a == 1'b1)? 1'b0: 1'b1;

异或:out = (a == 1'b1)? ((b == 1'b1)? 1'b0: 1'b1) : ((b == 1'b0)? 1'b0: 1'b1);

009.相同面积的cmos与非门和或非门哪个更快?

   数集学的不够深刻,需要慢慢体会。

  电子迁移率是空穴的2.5倍(在硅基CMOS工艺中),运算就是用这些大大小小的MOS管驱动后一级的负载电容,翻转速度和负载大小一级前级驱动能力相关。为了上升延迟和下降延迟相同,PMOS需要做成NMOS两倍多大小。

  载流子的迁移率,对PMOS而言,载流子是空穴;对NMOS而言,载流子是电子。

  PMOS采用空穴导电,NMOS采用电子导电,由于PMOS的载流子的迁移率比NMOS的迁移率小,所以,同样尺寸条件下,PMOS的充电时间要大于NMOS的充电时间长,在互补CMOS电路中,与非门是PMOS管并联,NMOS管串联,而或非门正好相反,所以,同样尺寸条件下,与非门的速度快,所以,在互补CMOS电路中,优先选择与非门。

转载请注明出处:NingHeChuan(宁河川)

个人微信订阅号:硅农

如果你想及时收到个人撰写的博文推送,可以扫描左边二维码(或者长按识别二维码)关注个人微信订阅号

知乎ID:NingHeChuan

微博ID:NingHeChuan

原文地址:https://www.cnblogs.com/ninghechuan/p/9938802.html

Verilog 99题之001-009的更多相关文章

  1. Leetcode刷题第001天

    一.合并两个有序链表 [题目]206. 反转链表 /** * Definition for singly-linked list. * struct ListNode { * int val; * L ...

  2. 字节跳动Java研发面试99题(含答案):JVM+Spring+MySQL+线程池+锁

    JVM的内存结构 根据 JVM 规范,JVM 内存共分为虚拟机栈.堆.方法区.程序计数器.本地方法栈五个部分. 1. Java虚拟机栈:线程私有:每个方法在执行的时候会创建一个栈帧,存储了局部变量表, ...

  3. ACM刷题常用链接

    武汉科技大学  http://acm.wust.edu.cn/ 华中科技大学 http://acm.hust.edu.cn/vjudge/toIndex.action 杭州电子科技大学  http:/ ...

  4. LeetCode算法题-Find All Numbers Disappeared in an Array(Java实现)

    这是悦乐书的第232次更新,第245篇原创 01 看题和准备 今天介绍的是LeetCode算法题中Easy级别的第99题(顺位题号是448).给定一个整数数组,其中1≤a[i]≤n(n =数组的大小) ...

  5. 1、学习算法和刷题的框架思维——Go版

    前情提示:Go语言学习者.本文参考https://labuladong.gitee.io/algo,代码自己参考抒写,若有不妥之处,感谢指正 关于golang算法文章,为了便于下载和整理,都已开源放在 ...

  6. JMH使用说明

    JMH使用说明 一.概述 JMH,即Java Microbenchmark Harness,是专门用于代码微基准测试的工具套件.何谓Micro Benchmark呢?简单的来说就是基于方法层面的基准测 ...

  7. 用C++实现的数独解题程序 SudokuSolver 2.2 及实例分析

    SudokuSolver 2.2 程序实现 根据 用C++实现的数独解题程序 SudokuSolver 2.1 及实例分析 里分析,对 2.1 版做了一些改进和尝试. CQuizDealer 类声明部 ...

  8. 理解 OpenStack 高可用(HA)(1):OpenStack 高可用和灾备方案 [OpenStack HA and DR]

    本系列会分析OpenStack 的高可用性(HA)概念和解决方案: (1)OpenStack 高可用方案概述 (2)Neutron L3 Agent HA - VRRP (虚拟路由冗余协议) (3)N ...

  9. [SQL入门级] 第一天 SQL初步

    SQL语句分为以下三种类型: DML:Data Manipulation Language 数据操纵语言 INSERT UPDATE DELETE SELECT DDL:Data Definition ...

随机推荐

  1. (转)OOP(面向对象编程)的几大原则

    文章转载自:http://blog.csdn.net/anders_zhuo/article/details/8949566 设计模式遵循的一般原则: 1.开-闭原则(Open-Closed Prin ...

  2. Python 官方文件

    7.2. 文件读写 函数 open() 返回 文件对象,通常的用法需要两个参数:open(filename, mode). >>> f = open('workfile', 'w') ...

  3. GTK图形控件中的rc文件使用心得

    转载自: 1.http://blog.csdn.net/saintwinona/article/details/6972754 2. (1).GTK 主题指南 1.Widgets         GT ...

  4. Windows 下 Phpstrom 配置git使用

    首先先去下载 git 下载链接 https://git-scm.com/download/winphpstrom 配置git    链接  http://jingyan.baidu.com/artic ...

  5. ES6 中 let and const

    let 和 const 命令 let 命令 基本用法 ES6 新增了let命令,用来声明变量.它的用法类似于var,但是所声明的变量,只在let命令所在的代码块内有效. { let a = 10; v ...

  6. WIN8配置IIS8.0+PHP+Mysql+Zend

    第一步 开启WIN8的IIS 8.0  控制面板 → 程序与功能 → 启用或关闭WINDOWS功能 按照上面勾选 确定即可 成功安装完毕 打开  http://localhost/ 或者 http:/ ...

  7. SQL语句的三大类

    数据定义语言(DDL Data Defination Language):用于创建和定义数据库对象,并且将对这些对象的定义保存到数据库字典中,通过DDL语句可以创建数据库对象.修改数据库对象.删除数据 ...

  8. Spring ApplicationContext(八)事件监听机制

    Spring ApplicationContext(八)事件监听机制 本节则重点关注的是 Spring 的事件监听机制,主要是第 8 步:多播器注册:第 10 步:事件注册. public void ...

  9. [Hbase]Hbase知识大全

    HBase简介 是一个构建在HDFS上的分布式列存储系统:HBase是基于Google BigTable模型开发的,典型的key/value系统:HBase是Apache Hadoop生态系统中的重要 ...

  10. spring converter-message 规则

    spring 判断返回值使用哪个 converter 时,会执行两次converter 循环.. 第一次会根据 返回类型(converter的support方法) 和 mediaType 遍历所有co ...