Verilog 99题之001-009
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的更多相关文章
- Leetcode刷题第001天
一.合并两个有序链表 [题目]206. 反转链表 /** * Definition for singly-linked list. * struct ListNode { * int val; * L ...
- 字节跳动Java研发面试99题(含答案):JVM+Spring+MySQL+线程池+锁
JVM的内存结构 根据 JVM 规范,JVM 内存共分为虚拟机栈.堆.方法区.程序计数器.本地方法栈五个部分. 1. Java虚拟机栈:线程私有:每个方法在执行的时候会创建一个栈帧,存储了局部变量表, ...
- ACM刷题常用链接
武汉科技大学 http://acm.wust.edu.cn/ 华中科技大学 http://acm.hust.edu.cn/vjudge/toIndex.action 杭州电子科技大学 http:/ ...
- LeetCode算法题-Find All Numbers Disappeared in an Array(Java实现)
这是悦乐书的第232次更新,第245篇原创 01 看题和准备 今天介绍的是LeetCode算法题中Easy级别的第99题(顺位题号是448).给定一个整数数组,其中1≤a[i]≤n(n =数组的大小) ...
- 1、学习算法和刷题的框架思维——Go版
前情提示:Go语言学习者.本文参考https://labuladong.gitee.io/algo,代码自己参考抒写,若有不妥之处,感谢指正 关于golang算法文章,为了便于下载和整理,都已开源放在 ...
- JMH使用说明
JMH使用说明 一.概述 JMH,即Java Microbenchmark Harness,是专门用于代码微基准测试的工具套件.何谓Micro Benchmark呢?简单的来说就是基于方法层面的基准测 ...
- 用C++实现的数独解题程序 SudokuSolver 2.2 及实例分析
SudokuSolver 2.2 程序实现 根据 用C++实现的数独解题程序 SudokuSolver 2.1 及实例分析 里分析,对 2.1 版做了一些改进和尝试. CQuizDealer 类声明部 ...
- 理解 OpenStack 高可用(HA)(1):OpenStack 高可用和灾备方案 [OpenStack HA and DR]
本系列会分析OpenStack 的高可用性(HA)概念和解决方案: (1)OpenStack 高可用方案概述 (2)Neutron L3 Agent HA - VRRP (虚拟路由冗余协议) (3)N ...
- [SQL入门级] 第一天 SQL初步
SQL语句分为以下三种类型: DML:Data Manipulation Language 数据操纵语言 INSERT UPDATE DELETE SELECT DDL:Data Definition ...
随机推荐
- nginx日志
相关知识可参考文章:nginx日志格式及自定义日志配置 1.查看nginx的log配置 1)vim /etc/nginx/nginx.conf 打开为 user nginx;worker_proces ...
- kali安全工具
http://www.kali.org.cn/ Kali linux下载安装 (27) kali linux是backtrack的最新代号,或者叫新版本的backtrack,欢迎下载使用. 908 / ...
- MySQL 检索数据及提高检索速度的方法
检索数据 mysql> SELECT [DISTINCT] 表名.列名,表名.列名,表名.列名 -- 使用通配符*表示所有列 DISTINCT表示返回不同的值 -> FROM 数据库名.表 ...
- Laravel自定义Api接口全局异常处理
在做API时,需要对一些异常进行全局处理,比如添加用户执行失败时,需要返回错误信息 // 添加用户 www.bcty365.com $result = User::add($user); if(emp ...
- echart 3 数据密集时,断点不显示问题
如上图最开始标识的两点是不显示的,配置处理代码如下(series中配置symbolSize: 1,showAllSymbol: true): myChart.showLoading(); $.get( ...
- msgs no .h file
1.单独编译包,catkin_make --pkg 包名,failed,则 2.进入build下对应的msgs包中,使用make,以及make install,failed,则 3.使用catkin_ ...
- 使用Python完成排序(冒泡、选择、插入法)
class Sort(object): @staticmethod def bubble_sort(ls): lenth = len(ls) if lenth == 0: return [] whil ...
- python中从内部循环直接跳出多层循环
学习循环的时候碰到一道题,需要从内部循环中直接跳出所有循环,想了很久终于想到一种好办法(小白认知) 题目为:使用while循环输出100-50,从大到小,到50时,再循环输出0-50,从小到大. ex ...
- 20170531动手实践MyOD——20155312
实践题目 编写MyOD.java 用java MyOD XXX实现Linux下od -tx -tc XXX的功能 对题目分析如下 od的功能(参考Linux od命令详细介绍及用法实例): od命令用 ...
- Win8.1无法安装更新,提示0x800*****错误的解决方法
Win8.1无法安装更新,提示0x800*****错误的解决方法 注:本教程同样适用于Win10系统 有时候Win8.1某个系统文件的损坏会导致无法安装Windows更新,表现为Windows更新 ...