数字集成电路分析与设计 第六章答案
- 格式:doc
- 大小:150.00 KB
- 文档页数:7
第六章可编程逻辑器件PLD可编程逻辑器件PLD是由用户借助计算机和编程设备对集成电路进行编程,使之具有预定的逻辑功能,成为用户设计的ASIC芯片。
近年来,可编程逻辑器件从芯片密度上、速度上发展相当迅速,已成为集成电路的一个重要分支。
本章要求读者了解PLD器件的工作原理,掌握用可编程逻辑器件设计数字电路的方法。
为掌握使用电子设计自动化和可编程逻辑器件设计电路系统的后续课程打下良好的基础。
第一节基本知识、重点与难点一、基本知识(一)可编程逻辑器件PLD基本结构可编程逻辑器件PLD包括只读存储器ROM、可编程只读存储器PROM、可编程逻辑阵列PLA、可编程阵列逻辑PAL、通用阵列逻辑GAL和可擦写编程逻辑器件EPLD等。
它们的组成和工作原理基本相似,其基本结构由与阵列和或阵列构成。
与阵列用来产生有关与项,或阵列把所有与项构成“与或”形式的逻辑函数。
在数字电路中,任何组合逻辑函数均可表示为与或表达式,因而用“与门-或门”两级电路可实现任何组合电路,又因为任何时序电路是由组合电路加上存储元件(触发器)构成的,因而PLD的“与或”结构对实现数字电路具有普遍意义。
(二)可编程逻辑器件分类1.按编程部位分类PLD有着大致相同的基本结构,根据与阵列和或阵列是否可编程,分为三种基本类型:(1)与阵列固定,或阵列可编程;(2)与或阵列均可编程;(3)与阵列可编程,或阵列固定。
2.按编程方式分类(1)掩膜编程;(2)熔丝与反熔丝编程;(3)紫外线擦除、电可编程;(4)电擦除、电可编程;(5)在系统编程(Isp)。
(三)高密度可编程逻辑器件HDPLD单片高密度可编程逻辑器件HDPLD(High Density Programmable Logic Device)芯片内,可以集成成千上万个等效逻辑门,因此在单片高密度可编程逻辑器件内集成数字电路系统成为可能。
HDPLD器件在结构上仍延续GAL的结构原理,因而还是电擦写、电编程的EPLD 器件。
第六章习题1.使用互补CMOS电路实现逻辑表达式X A B C D E F G=++++。
当反相器的NMOS W/L=2, PMOS (()())W/L=6时输出电阻相同,根据这个确定该网络中各个器件尺寸。
哪一种输入模式将会有最差和最好的上拉和下拉电阻?2.考虑下图,a.下面的CMOS晶体管网络实现的是什么逻辑功能?反相器的NMOS W/L=4, PMOS W/L=8时输出电阻相同,根据这个确定该网络中各个器件尺寸。
b.当输入是什么模式时t和p L H t最差。
最初的输入模pH L式是什么,必须采用哪一种输入才能取得最大传输延时?考虑在内部节点中的电容的影响。
3.CMOS组合逻辑a.下图中的两个电路A和B是否实现同一个逻辑函数?如果是的话,是什么逻辑;如果不是的话,给出两个电路的布尔表达式。
b.这两个电路的输出电阻是否总是相同?分析解释。
c.这两个电路的上升下降时间是否总是相同?分析解释。
4. 使用DCVSL实现F ABC ACD=+。
假设A,B,=+和F A BC ACDC,D和他们的反作为输入是允许的。
要求使用最少的晶体管。
5.一个复杂逻辑门电路如下图所示。
a.写出输出F和G的布尔表达式。
并说明这个电路实现的是什么功能。
b.这个电路属于哪一类电路。
6.分析下图所示电路实现什么功能。
7.使用NMOS传输管逻辑实现F ABC ABC ABC ABC=+++。
设计一个DCVSL门实现同样的功能。
假设A,B,C和他们的反都可以实现。
第五章习题5-1 图题5-1所示为由或非门组成的基本R-S 锁存器。
试分析该电路,即写出它的状态转换表、状态转换方程、状态图、驱动转换表和驱动方程,并画出它的逻辑符号,说明S 、R 是高有效还是低有效。
解:状态转换表:状态转换驱动表5-2 试写出主从式R-S 触发器的状态转换表、状态转换方程、状态图、驱动转换表和驱动方程,注意约束条件。
解:与R-S 锁存器类似,但翻转时刻不同。
5-3 试画出图5.3.1所示D 型锁存器的时序图。
解:G=0时保持,G=1时Q=D 。
图题5-1 或非门组成的基本R-S 锁存器S R状态转换方程:Q n+1Q n+1=S+RQ n状态转换图: S =Q n+1R=Q n+1 状态转换驱动方程: 逻辑符号: 输入高有效 G D Q图题5-3 D 型锁存器的时序图5-4试用各种描述方法描述D锁存器:状态转换表、状态转换方程、时序图、状态转换驱动表、驱动方程和状态转换图。
5-5锁存器与触发器有何异同?5-6试描述主从式RS触发器,即画出其功能转换表,写出状态方程,画出状态表,画出逻辑符号。
5-7试描述JK、D、T和T'触发器的功能,即画出它们的逻辑符号、状态转换表、状态转换图,时序图,状态转换驱动表,写出它们的状态方程。
5-8试分析图5.7.1(a) 所示电路中虚线内电路Q’与输入之间的关系。
5-9试分析图5.7.1(b)所示电路的功能,并画出其功能表。
5-10试用状态方程法完成下列触发器功能转换:JK→D, D→T, T→D, JK→T, JK→T’, D→T’。
解:JK→D:Q n+1=JQ+KQ,D:Q n+1=D=DQ+DQ。
令两个状态方程相等:D=DQ+DQ =JQ+KQ。
对比Q、Q的系数有:J=D,K=D逻辑图略。
5-11试用驱动表法完成下列触发器功能转换:JK→D, D→T, T→D, JK→T, JK→T’, D→T’。
解:略。
5-12用一个T触发器和一个2-1多路选择器构成一个JK触发器。
CH61.芯片电容有几种实现结构?①利用二极管和三极管的结电容;②叉指金属结构;③金属-绝缘体-金属(MIM)结构;④多晶硅/金属-绝缘体-多晶硅结构。
2.采用半导体材料实现电阻要注意哪些问题?精度、温度系数、寄生参数、尺寸、承受功耗以及匹配等方面问题3.画出电阻的高频等效电路。
4.芯片电感有几种实现结构?(1)集总电感集总电感可以有下列两种形式:①匝线圈;②圆形、方形或其他螺旋形多匝线圈;(2)传输线电感5.微波集成电路设计中,场效应晶体管的栅极常常通过一段传输线接偏置电压。
试解释其作用。
阻抗匹配6.微带线传播TEM波的条件是什么?7.在芯片上设计微带线时,如何考虑信号完整性问题?为了保证模型的精确度和信号的完整性,需要对互连线的版图结构加以约束和进行规整。
为了减少信号或电源引起的损耗以及为了减少芯片面积,大多数连线应该尽量短。
应注意微带线的趋肤效应和寄生参数。
在长信号线上,分布电阻电容带来延迟;而在微带线长距离并行或不同层导线交叉时,要考虑相互串扰问题。
8.列出共面波导的特点。
CPW 的优点是:①工艺简单,费用低,因为所有接地线均在上表面而不需接触孔。
②在相邻的CPW 之间有更好的屏蔽,因此有更高的集成度和更小的芯片尺寸。
③比金属孔有更低的接地电感。
④低的阻抗和速度色散。
CPW 的缺点是:①衰减相对高一些,在50 GHz 时,CPW 的衰减是0.5 dB/mm;②由于厚的介质层,导热能力差,不利于大功率放大器的实现。
CH71. 集成电路电路级模拟的标准工具是什么软件, 能进行何种性能分析?集成电路电路级模拟的标准工具是SPICE可以进行:(1)直流工作点分析(2)直流扫描分析(3)小信号传输函数(4)交流特性分析(5)直流或小信号交流灵敏度分析(6)噪声分析(7)瞬态特性分析(8)傅里叶分析(9)失真分析(10)零极点分析2. 写出MOS的SPICE元件输入格式与模型输入格式。
元件输入格式:M<编号> <漏极结点> <栅极结点> <源极结点> <衬底结点> <模型名称> <宽W> <长L> (<插指数M>)例如:M1 out in 0 0 nmos W=1.2u L=1.2u M=2模型输入格式:.Model <模型名称> <模型类型> <模型参数>……例如:.MODEL NMOS NMOS LEVEL=2 LD=0.15U TOX=200.0E-10 VTO=0.74 KP=8.0E-05+NSUB=5.37E+15 GAMMA=0.54 PHI=0.6 U0=656 UEXP=0.157 UCRIT=31444+DELTA=2.34 VMAX=55261 XJ=0.25U LAMBDA=0.037 NFS=1E+12 NEFF=1.001+NSS=1E+11 TPG=1.0 RSH=70.00 PB=0.58+CGDO=4.3E-10 CGSO=4.3E-10 CJ=0.0003 MJ=0.66 CJSW=8.0E-10 MJSW=0.24其中,+为SPICE语法,表示续行。
第六章集成运算放大器习题及答案1、由于 ,集成电路常采用直接耦合,因此低频性能好,但存在 。
2、共模抑制比K CMR 是 ,因此K CMR 越大,表明电路的 。
3、电流源不但可以为差分放大器等放大电路 ,而且可以作为放大电路的 来提高放大电路的电压增益,还可以将差分放大电路双端输出 。
4、一般情况下,差动电路的共模电压放大倍数越大越好,而差模电压放大倍数越小越好。
( )5、在输入信号作用下,偏置电路改变了各放大管的动态电流。
( )6、有源负载可以增大放大电路的输出电流。
( )7、用恒流源取代长尾式差分放大电路中的发射极电阻Re ,将使电路的 ( ) A.差模放大倍数数值增大 B.抑制共模信号能力增强 C.差模输入电阻增大8、在差动电路中,若单端输入的差模输入电压为20V ,则其共模输入电压为( )。
A. 40VB. 20VC. 10VD. 5V 9、电流源的特点是( )。
A 交流电阻小,直流电阻大;B 交流电阻大,直流电阻小; C. 交流电阻大,直流电阻大; D. 交流电阻小,直流电阻小。
10、关于理想运算放大器的错误叙述是( )。
A .输入阻抗为零,输出阻抗也为零;B .输入信号为零时,输出处于零电位;C .频带宽度从零到无穷大;D .开环电压放大倍数无穷大 11、(1)通用型集成运放一般由哪几部分电路组成?每一部分常采用哪种基本电路?对每一部分性能的要求分别是什么?(2)零点漂移产生的原因是什么?抑制零点漂移的方法是什么?12、已知一个集成运放的开环差模增益A id 为100dB ,最大输出电压峰-峰值U opp =±10V,计算差模输入电压u i (即u +-u -)为10μV,0.5mV ,-200μV 时的输出电压u 0。
13、如图所示电路参数理想对称,晶体管的β均为50 ,r bb ′=100Ω,U BEQ = 0.7。
试计算R W 滑动端在中点时VT 1管和VT 2管的发射极静态电流I EQ ,以及动态参数A d 和R i 。
问答:Point out design objects in the figure such as :design, cell, reference, port, pin, net, then write a command to set 5 to net ADesign: topReference: ADD DFFCell: U1 U2Port: A B clk sumPin: A B D QNet: A B SINSet_load 5 [get_nets A]why do we not choose to operate all our digital circuits at these low supply voltages?答:1)不加区分地降低电源电压虽然对减少能耗能正面影响,但它绝对会使门的延时加大2)一旦电源电压和本征电压(阈值电压)变得可比拟,DC特性对器件参数(如晶体管阈值)的变化就变得越来越敏感3)降低电源电压意味着减少信号摆幅。
虽然这通常可以帮助减少系统的内部噪声(如串扰引起的噪声),但它也使设计对并不减少的外部噪声源更加敏感)问道题:1.CMOS静态电路中,上拉网络为什么用PMOS,下拉网络为什么用NMOS管2.什么是亚阈值电流,当减少VT时,V GS =0时的亚阈值电流是增加还是减少?3.什么是速度饱和效应4.CMOS电压越低,功耗就越少?是不是数字电路电源电压越低越好,为什么?5.如何减少门的传输延迟?P2036.CMOS电路中有哪些类型的功耗?7.什么是衬垫偏置效应。
8.gate-to-channel capacitance C GC,包括哪些部分VirSim有哪几类窗口3-6. Given the data in Table 0.1 for a short channel NMOS transistor withV DSAT = 0.6 V and k′=100 µA/V2, calculate V T0, γ, λ, 2|φf|, and W / L:解答:对于短沟道器件:2'min min [()](1)2DGS T DS V WI k V V V V L λ=--+ min min[(),,]GS T DS DSAT V V V V V =-在选择公式的时候,首先要确定工作区域,表格中的所有V DS 均大于V DSA T ,所以不可能工作在线性区域。
【精品】数字集成电路--电路、系统与设计(第二版)课后练习题第六章CMOS组合逻辑门的设计第六章 CMOS组合逻辑门的设计1.为什么CMOS电路逻辑门的输入端和输出端都要连接到电源电压?CMOS电路采用了MOSFET(金属氧化物半导体场效应管)作为开关元件,其中N沟道MOSFET(NMOS)和P沟道MOSFET(PMOS)分别用于实现逻辑门的输入和输出。
NMOS和PMOS都需要连接到电源电压,以使其能够正常工作。
输入端连接到电源电压可以确保信号在逻辑门中正常传递,输出端连接到电源电压可以确保输出信号的正确性和稳定性。
2.为什么在CMOS逻辑门中要使用两个互补的MOSFET?CMOS逻辑门中使用两个互补的MOSFET是为了实现高度抗干扰的逻辑功能。
其中,NMOS和PMOS分别用于实现逻辑门的输入和输出。
NMOS和PMOS的工作原理互补,即当NMOS导通时,PMOS截止,当PMOS导通时,NMOS截止。
这样的设计可以在逻辑门的输出上提供高电平和低电平的稳定性,从而提高逻辑门的抗干扰能力。
3.CMOS逻辑门的输入电压范围是多少?CMOS逻辑门的输入电压范围通常是在0V至电源电压之间,即在低电平和高电平之间。
在CMOS逻辑门中,低电平通常定义为输入电压小于0.3Vdd(电源电压的30%),而高电平通常定义为输入电压大于0.7Vdd(电源电压的70%)。
4.如何设计一个基本的CMOS逻辑门?一个基本的CMOS逻辑门可以由一个NMOS和一个PMOS组成。
其中,NMOS的源极连接到地,栅极连接到逻辑门的输入,漏极连接到PMOS的漏极;PMOS的源极连接到电源电压,栅极连接到逻辑门的输入,漏极连接到输出。
这样的设计可以实现逻辑门的基本功能。
5.如何提高CMOS逻辑门的速度?可以采取以下方法来提高CMOS逻辑门的速度:•减小晶体管的尺寸:缩小晶体管的尺寸可以减小晶体管的电容和电阻,从而提高逻辑门的响应速度。
•优化电源电压:增加电源电压可以提高晶体管的驱动能力,从而加快逻辑门的开关速度。
第六章可编程逻辑器件PLD可编程逻辑器件PLD是由用户借助计算机和编程设备对集成电路进行编程,使之具有预定的逻辑功能,成为用户设计的ASIC芯片。
近年来,可编程逻辑器件从芯片密度上、速度上发展相当迅速,已成为集成电路的一个重要分支。
本章要求读者了解PLD器件的工作原理,掌握用可编程逻辑器件设计数字电路的方法。
为掌握使用电子设计自动化和可编程逻辑器件设计电路系统的后续课程打下良好的基础。
第一节基本知识、重点与难点一、基本知识(一)可编程逻辑器件PLD基本结构可编程逻辑器件PLD包括只读存储器ROM、可编程只读存储器PROM、可编程逻辑阵列PLA、可编程阵列逻辑PAL、通用阵列逻辑GAL和可擦写编程逻辑器件EPLD等。
它们的组成和工作原理基本相似,其基本结构由与阵列和或阵列构成。
与阵列用来产生有关与项,或阵列把所有与项构成“与或”形式的逻辑函数。
在数字电路中,任何组合逻辑函数均可表示为与或表达式,因而用“与门-或门”两级电路可实现任何组合电路,又因为任何时序电路是由组合电路加上存储元件(触发器)构成的,因而PLD的“与或”结构对实现数字电路具有普遍意义。
(二)可编程逻辑器件分类1.按编程部位分类PLD有着大致相同的基本结构,根据与阵列和或阵列是否可编程,分为三种基本类型:(1)与阵列固定,或阵列可编程;(2)与或阵列均可编程;(3)与阵列可编程,或阵列固定。
2.按编程方式分类(1)掩膜编程;(2)熔丝与反熔丝编程;(3)紫外线擦除、电可编程;(4)电擦除、电可编程;(5)在系统编程(Isp)。
(三)高密度可编程逻辑器件HDPLD单片高密度可编程逻辑器件HDPLD(High Density Programmable Logic Device)芯片内,可以集成成千上万个等效逻辑门,因此在单片高密度可编程逻辑器件内集成数字电路系统成为可能。
HDPLD器件在结构上仍延续GAL的结构原理,因而还是电擦写、电编程的EPLD 器件。
第6章习题参考答案1.比拟单总线、多总线构造的性能特点。
答:单总线构造:它是用单一的系统总线连接整个计算机系统的各大功能部件,各大部件之间的所有的信息传送都通过这组总线。
其构造如下图。
单总线的优点是允许I/O设备之间或I/O设备与内存之间直接交换信息,只需CPU分配总线使用权,不需要CPU干预信息的交换。
所以总线资源是由各大功能部件分时共享的。
单总线的缺点是由于全部系统部件都连接在一组总线上,所以总线的负载很重,可能使其吞吐量到达饱和甚至不能胜任的程度。
故多为小型机和微型机采用。
CPU 内存设备接口设备接口…系统总线多总线构造:多总线构造是通过桥、CPU总线、系统总线和高速总线彼此相连,各大部件的信息传送不是只通过系统总线;表达了高速、中速、低速设备连接到不同的总线上同时进展工作,以进步总线的效率和吞吐量,而且处理器构造的变化不影响高速总线。
2.说明总线构造对计算机系统性能的影响。
答:(1)简化了硬件的设计。
从硬件的角度看,面向总线是由总线接口代替了专门的I/O接口,由总线标准给出了传输线和信号的规定,并对存储器、I/O设备和CPU如何挂在总线上都作了详细的规定,所以,面向总线的微型计算机设计只要按照这些规定制作CPU插件、存储器插件以及I/O插件等,将它们连入总线即可工作,而不必考虑总线的详细操作。
(2)简化了系统构造。
整个系统构造明晰,连线少,底板连线可以印刷化。
(3)系统扩大性好。
一是规模扩大,二是功能扩大。
规模扩大仅仅需要多插一些同类型的插件;功能扩大仅仅需要按总线标准设计一些新插件。
插件插入机器的位置往往没有严格的限制。
这就使系统扩大既简单又快速可靠,而且也便于查错。
(4)系统更新性能好。
因为CPU 、存储器、I/O 接口等都是按总线规约挂到总线上的,因此只要总线设计恰当,可以随时随着处理器芯片以及其他有关芯片的进展设计新的插件,新的插件插到底板上对系统进展更新,而这种更新只需更新需要更新的插件,其他插件和底板连线一般不需更改。
P6.1library ieee;use ieee.std_logic_1164.all;use ieee.std_logic_unsigned.all;entity chp6_1 isport(clk:in std_logic;d_out:out std_logic_vector(5 downto 0)); end;architecture bhv of chp6_1 issignal count: std_logic_vector(5 downto 0); signal temp: std_logic_vector(5 downto 0); beginprocess(clk)beginif clk'event and clk='1' thencount<= count+1;if count="100000" then count<="000000";end if;end if;end process;process(clk)beginif clk'event and clk='0' thentemp<=temp+1;if temp="0111111" then temp<="000000"; end if;end if;end process;d_out<=count+temp;end;P6.3solution1library ieee;use ieee.std_logic_1164.all;entity chp6_3 isport(x:in std_Logic_vector(7 downto 1);y:out std_logic_vector(2 downto 0)); end;architecture bhv of chp6_3 isbeginprocess(x)beginif x(7)='1' then y<="111";elsif x(6)='1' then y<="110";elsif x(5)='1' then y<="101";elsif x(4)='1' then y<="100";elsif x(3)='1' then y<="011";elsif x(2)='1' then y<="010";elsif x(1)='1' then y<="001";else y<="000";end if;end process;end;solution2library ieee;use ieee.std_logic_1164.all;entity chp6_3_2 isgeneric(n:integer:=3);port(x:in std_logic_vector(2**n-1 downto 0);y:out integer range 0 to 2**n-1); end;architecture bhv of chp6_3_2 isbeginprocess(x)variable temp:integer range 0 to 2**n-1; beginfor i in x'range loopif x(i)='1' thentemp:=i;exit;end if;end loop;y<=temp;end process;end;P6.4library ieee;use ieee.std_logic_1164.all;use ieee.std_logic_unsigned.all;entity chp6_4 isgeneric (n:integer:=8);port(clk:in std_logic;clk_out:out std_logic);end;architecture bhv of chp6_4 issignal rst:std_logic;signal temp:std_logic_vector(2 downto 0); beginprocess(clk,rst)beginif rst='1' thentemp<="000";elsif clk'event and clk='1' thentemp<=temp+1;end if;end process;rst<='1' when temp="111" else'0';clk_out<=temp(2);end;P6.5library ieee;use ieee.std_logic_1164.all;use ieee.std_logic_unsigned.all;entity chp6_5 isgeneric (n:integer:=7);port(clk:in std_logic;clk_out:out std_logic);end;architecture bhv of chp6_5 issignal temp:std_logic_vector(2 downto 0); signal cout:std_logic;beginprocess(clk)beginif clk'event and clk='1' thentemp<=temp+1;if temp="110" then temp<="000";end if;end if;end process;cout<='1' when temp="110" else'0';clk_out<=cout;end;P6.6library ieee;use ieee.std_logic_1164.all;use ieee.std_logic_unsigned.all;use ieee.std_logic_arith.all;entity chp6_6 isport(clk,start,stop,reset:in std_logic;dig1,dig2,dig3:out std_logic_vector(3 downto 0)); end;architecture bhv of chp6_6 issignal sec1:integer range 0 to 10;signal sec2:integer range 0 to 6;signal min:integer range 0 to 10;beginprocess(clk,start, stop,reset)variable count1:integer range 0 to 10;variable count2:integer range 0 to 6;variable count3:integer range 0 to 10;beginif reset='1' thencount1:=0;count2:=0;count3:=0;elsif clk'event and clk='1' thenif start='1' and stop='0' thencount1:=count1+1;if count1=10 thencount1:=0;count2:=count2+1;if count2=6 thencount2:=0;count3:=count3+1;if count3=10 thencount3:=0;end if;end if;end if;end if;end if;sec1<=count1;sec2<=count2;min<=count3;end process;dig1<=conv_std_logic_vector(sec1,4);dig2<=conv_std_logic_vector(sec2,4);dig3<=conv_std_logic_vector(min,4);end;P6.8use ieee.std_logic_1164.all;entity chp6_8 isgeneric(n:integer:=8);port(input:in std_logic_vector(n-1 downto 0);output:out std_logic);end;architecture bhv of chp6_8 isbeginprocess(input)variable temp:std_logic_vector(n-1 downto 0); begintemp(0):=input(0);for i in 1 to n-1 looptemp(i):=input(i) xor temp(i-1);end loop;output<=temp(n-1);end process;end;P6.9library ieee;use ieee.std_logic_1164.all;use ieee.std_logic_unsigned.all;entity chp6_9 isgeneric(n:integer:=4);port(input:std_logic_vector(n-1 downto 0);output:out integer range 0 to n);end;architecture bhv of chp6_9 isbeginprocess(input)variable temp:integer range 0 to n;begintemp:=0;for i in 0 to n-1 loopif input(i)='1' thentemp:=temp+1;end if;end loop;output<=temp;end process;end;P6.10use ieee.std_logic_1164.all;entity chp6_10 isgeneric(n:integer :=8);port(din:in integer range 0 to n-1;dout:out std_logic_vector(n-1 downto 0));end;architecture bhv of chp6_10 isbeginprocess(din)beginfor i in 0 to n-1 loopif din=i then dout<=(i=>'1', others=>'0');end if;end loop;end process;end;P6.16library ieee;use ieee.std_logic_1164.all;entity chp6_16 isgeneric (n:integer:=8);port(a,b:in std_logic_vector(n-1 downto 0);cin:in std_logic;s:out std_logic_vector(n-1 downto 0);cout:out std_logic);end;architecture bhv of chp6_16 issignal carry:std_logic_vector(n downto 0);beginprocess(a,b,cin,carry)begincarry(0)<=cin;for i in 0 to n-1 loops(i)<=a(i) xor b(i) xor carry(i);carry(i+1)<=(a(i) and b(i)) or (a(i) and carry(i)) or (b(i) and carry(i));end loop;cout<=carry(n);end process;end;说明:本次答案均为课上讨论过的,P6.11-P6.15均可参考第五章答案,可以利用对应语句将其放入进程中。
6.2 试作出101序列检测器得状态图,该同步电路由一根输入线X ,一根输出线Z ,对应与输入序列的101的最后一个“1”,输出Z=1。
其余情况下输出为“0”。
(1) 101序列可以重叠,例如:X :010101101 Z :000101001 (2) 101序列不可以重叠,如:X :010******* Z :0001000010 解:1)S 0:起始状态,或收到101序列后重新开始检测。
S 1:收到序列起始位“1”。
S 2:收到序列前2位“10”。
10101…X/Z0/01/0X/Z11…100…2)10101…X/Z0/0X/Z11…100…6.3对下列原始状态表进行化简:(a)解:1)列隐含表:A B CDC B ×A B CD C B ×AD BC ××(a)(b)2)进行关联比较 所有的等价类为:AD ,BC 。
最大等价类为:AD ,BC ,重新命名为a,b 。
3)列最小化状态表为:a/1b/0bb/0a/0aX=1X=0N(t)/Z(t)S(t)(b)N (t )/Z (t )S (t )X=0 X=1A B/0 H/0B E/0 C/1C D/0 F/0D G/0 A/1E A/0 H/0F E/1 B/1G C/0 F/0H G/1 D/1解:1)画隐含表:2)进行关联比较:AC,BD,EG ,HF,之间互为等价隐含条件,所以分别等价。
重新命名为: a, b, e, h 3)列最小化状态表:N (t )/Z (t ) S (t )X=0 X=1a b/0 h/0b e/0 a/1 e a/0 h/0 h e/1 b/1试分析题图6.6电路,画出状态转移图并说明有无自启动性。
解:激励方程:J1=K1=1;J2=Q1n⎯Q3n,K2=Q1nJ2=Q1n Q2n,K2=Q1n状态方程:Q1n+1=⎯Q1n·CP↓Q2n+1=[Q1n⎯Q3n⎯Q2n+⎯Q1n Q2n]·CP↓Q3n+1=[Q1n Q2n⎯Q3n+⎯Q1n Q3n]·CP↓状态转移表:序号Q3Q2Q10 1 2 3 4 5 000 001 010 011 100 101偏离状态110Æ111111Æ000状态转移图状态转移图:Q3Q2Q1偏离态能够进入有效循环,因此该电路具有自启动性。
第六章部分习题参考答案 P240 2题解 : (1) 驱动方程:112111223331;n n nnnJ K J K Q Q J Q Q K Q ======(2) 状态转移方程:121212121113313313n n n n n n n n nn n n n n nQ Q Q Q Q Q Q Q Q Q Q Q Q Q Q +++==⋅+⋅=+(3)(4)(5) 功能说明:经分析可知,该电路为六进制计数器,每六个CP 脉冲循环一次。
两个偏离状态在CP 脉冲的作用下可以自动进入有效循环序列,故该电路具有自启动功能。
5题解:(1)驱动方程和输出方程:11212121211221;nnnnnnnnnJ K J K Q A F AQ Q AQ Q AQ Q AQ Q ====⊕=⋅=+⋅(2)状态转移方程: 121212111()n nn n n n n Q Q Q Q A Q Q A Q ++==⊕+⊕⋅(3)状态转移表:(4) 状态转移图:(5)功能说明:<1> A=0 时,该电路是二进制加法计数器;A=1 时,该电路是二进制减法计数器。
<2> 由状态转移表可以看出,AQ 2Q 1全为0或全为1时,电路输出为1,其余情况输出全为0。
所以,可以由A 及输出F 的状态判断 触发器的状态是否均为1或均为0。
P245 28题解: 第一个计数器的计数状态是从1001到1111,共7个状态;第二个计数器的计数状态是从0111到1111,共9个状态。
而第二个计数器是当第一个计数器有进位输出时才获得一次计数机会,所以该计数器的总计数值为7*9 = 63,即计数器的分频比为1/63,即计数模值为63 。
31题解:S 0 = 0011; S M-1=1001;产生置位信号的状态是1001。
则该计数器的计数循环状态是从0011到1001,共计7个状态,所以是7进制计数器。
32.解:当M=1时,计数循环状态是从0100到1001,共6个状态,并由1001产生置位信号,所以M=1时为6进制计数器。
第6章二极管与外围器件【习题答案】1.在标准CMOS集成电路制造工艺下,二极管主要包括(衬底二极管)和(阱二极管)两种。
2.请画出标准CMOS工艺的环状结构二极管的版图示意图。
答:图环状结构衬底二极管示意图图环状结构阱二极管示意图3.请解释衬底二极管和阱二极管在集成电路中作用的区别。
答:衬底二极管与阱二极管制作的方法不同,二者的作用也不相同。
以CMOS P型衬底N阱工艺为例,由于P型衬底必须接电路的最低电位,才能保证整个芯片上电路的正常工作,因此衬底二极管只能应用于ESD保护中输入到负电源的保护通路。
而阱二极管制作在N阱里,对于N阱工艺,N阱可以接最高电位,也可不接最高电位。
如果接最高电位,将形成ESD保护中的输入到正电源的保护通路。
如果不接最高电位,则可将其应用于一般电路中。
4.请分析静电放电对MOS集成电路的损坏。
答:当一高电势的带电体接触到电路的外引脚时,静电放电(ESD)现象就会发生。
由于MOS器件的栅极下面存在二氧化硅层,所以具有极高的绝缘电阻。
当在栅极发生静电放电而栅极又处于浮置状态时,静电感应的电荷无法很快地泄放掉,而该氧化层又非常薄,静电感应电荷使得栅极与衬底之间会产生非常高的电场,一旦该电场强度超过栅极氧化层的击穿电压,则会发生栅极击穿导致MOS器件损坏。
栅极氧化层被击穿后,栅极与沟道之间的电阻变得很低,而且栅极失去了对沟道电流的控制,MOS管失效了。
MOS器件遭受静电放电后产生的破坏除了栅极击穿外,还包括PN结击穿。
MOS管的源和漏与衬底之间依靠PN结来隔离,如果静电放电发生在源或漏的PN结处,无论PN结是正偏还是反偏,一旦PN结流过很大的电流,PN结就可能烧毁,造成源或漏与衬底的短路,MOS管失效。
5. 请画出静电放电保护电路示意图,并解释其工作原理。
答:图利用二极管和电阻构成的静电放电保护电路该静电放电保护电路的工作原理是利用二极管的正向导通、反向截止将输入电压的幅度控制在一定的范围内,从而避免高电压对内部电路的损害。
6.20 指出用一块或多块74x138或74x139二进制译码器以及与非门,如何构建下面每个单输出或多输出的逻辑功能(提示:每个实现等效于一个最小项之和)。
解:a )∑=Z Y X F ,,)7,4,2(b )∑∏==C B A C B A F ,,,,)2,1,0()7,6,5,4,3(c) ∑=D C B A F ,,,)12,10,2,0(或d) ∑=Z Y X W F ,,,)14,12,10,8,5,4,3,2(e) ∑=Y X W F ,,)5,4,2,0( ∑=Y X W G ,,)6,3,2,1(f) ∑=C B A F ,,)6,2( ∑=E D C G ,,)3,2,0(6.21 图X5-21电路有什么可怕的错误?提出消除这个错误的方法。
解:该电路中两个2-4译码器同时使能,会导致2个3态门同时导通,出现逻辑电平冲突。
为解决这一问题,在EN_L 至1G (或2G )的线路上加一个反相器,使两路门不可能同时导通。
6.29 二进制加法器的和的第3个数位S 2为输入x 0、x 1、x 2、y 0、y 1、y 2的函数,试写出它的代数表达式:假设c 0=0,不要试图“乘开”或最小化表达式。
解:00000001)(y x c y x y x c ⋅=⋅++⋅=001111111112)()(y x y x y x c y x y x c ⋅⋅++⋅=⋅++⋅= ))((001111222222y x y x y x y x c y x s ⋅⋅++⋅⊕⊕=⊕⊕=6.38 假设要求设计一种新的组件:优化的十进制译码器,它只有十进制输入组合。
与取消6个输出的4-16译码器相比,怎样使这样的译码器价格降至最低?写出价格最低译码器的全部10个输出的逻辑等式。
假设输入和输出高电平有效且没有使能输入。
⋅⋅'C==1ABC=3⋅'Y⋅B⋅'2AY'Y'⋅'⋅'D⋅'AB⋅'CD=CY⋅'0AB⋅=Y'C6A⋅C=7⋅Y⋅BBY'C⋅'BA5A=⋅4A=Y⋅'⋅CBY⋅D98A=ADY'⋅=6.52 画出一个电路的逻辑图,该电路采用74x148判定优先级,要求8个输入I0~I7为高电平有效,I7的优先级最高。
第六章习题6-1 略。
6-2 此时相当于触发器在前级Q的上沿翻转,所以是减法计数器。
6-3 异步可逆计数器。
UP/DOWN=0时,加法计数;UP/DOWN=1时,减法计数6-4该电路为异步置位法任意模计数器,置位状态为4(M-1),所以该计数器的模M=5计数器;时序图略。
有效状态循环:0、1、2、3、7、0;4,6为过渡状态,其次态为7;5的次态为6。
由于由状态011(M-2)到100(M-1)时,Q1、Q0由1变0,所以这两个Q端上会出现毛刺。
6-5 用4位T’触发器;因用复位法,故用状态1010清0(R=Q3Q1)。
有效状态循环为0~9;10、11、14、15均为过渡状态,其次态均为0;12的次态是13,13的次态是14;毛刺出现在Q1上。
6-6用4位T’触发器;因用置位法,故用状态1001置位(S=Q3Q1Q0)。
有效状态循环为0~8,15;9、13为过渡状态,其次态均为15;10→11→12→13→15,14→15;无毛刺。
6-7用4位T’触发器;因用置位法,故用状态1101置位(S=Q3Q2Q1Q0)。
有效状态循环为0~12,15;13为过渡状态,其次态为15;14→15;毛刺出现在Q0上。
6-8~6-11 略。
6-12 电路由T触发器组成;CP i=CP,T0=1,T1=Q0,T2=Q1Q0,所以它是同步二进制减法计数器。
时序图略。
6-13 该题未要求是同步还是异步计数器,可以两种都做,也可以只做一种。
异步:先将JK转换为T’,即令J=K=1;同步:先将JK转换为T,即令J=K=T;M=8,需要3个触发器;异步可逆、同步可逆,参见图6.39;6-14 异步计数器电路简单,速度慢;同步计数器则相反。
6-15可能产生毛刺,也可能不产生。
如果产生毛刺,则它(们)出现在由M-2到M-1时由1变0的Q A、Q D端上和/或由M-2到M-1时由0变1的Q B、Q C端上。
6-16 先分别将‘290接为8421和5421计数器,再分别用M=7(Q D Q C Q B Q A =0111)8421和(Q A Q D Q C Q B=1010)5421复位即可,应特别注意高低位的顺序。
CHAPTER 6P6.1. The on-resistance of a unit-sized NMOS device.LINEAR | SATURATIONOn-resistance of a unit-sized NMOS device051015202500.20.40.60.811.2V DSR D SThe average on-resistance is approximately 15kΩ. The expression for the average resistance value between DD V and 2DDV .()()()()()()()()222,,22,2223344V DD DSV DS DD DDDD DDV DDDS DD DS D satD satV V V V V I V I I ON DD ON ON DD GS T CN N DDD sat sat ox GS T R V R R V V VE L V I Wv C V V +++===-+==-P6.2. Since the signal must go around the ring twice for one oscillation, the period is :()()()()()()()()()()()()()()331531517301012.51021100.32727.5103100.3173ps TOT PLH PHL P LOAD N LOAD P N W EQP EQN g eff P N P N t N t t N R C R C N R R C W L L N R R C C W W W W --=+=+=+⎛⎫=+++ ⎪⎝⎭⎛⎫=⨯+⨯+ ⎪⎝⎭=⨯⨯=115.77GHz 173TOTf t ps=== Independent of inverter size.P6.3. SPICE.P6.4. The self-capacitance in these cases are the capacitances that will make the transition from0 to DD V or vice versa.a. In this case, all the internal nodes will be charged so the self-capacitance is :()2233313SELF eff eff C C W W W W W C W =++++=b. In this case, all the internal nodes but the one above the bottom NMOS transistor will be charged:()223310SELF eff eff C C W W W W C W =+++=c. If we assume a worst-case scenario, this node will be charged up to DD V from 0.()2233313SELF eff eff C C W W W W W C W =++++=d. The node above the bottom-most NMOS transistor has already been discharged.()223310SELF eff eff C C W W W W C W =+++=P6.5. SPICEP6.6. For optimum sizing given four inverters.()()()()()()()()()()()()44332214111111120012005.8911200203.895.891203.8934.645.89134.64 5.895.8915.8915.8945.890.525.5OUT NPE LE FO SE LE C C SE LE C C SE LE C C SE LE C C SE D LE FO P SE P =⨯=====⨯===⨯===⨯===⨯====⨯+=+=+=∏∑∑For the number of devices for optimum delay:log log log log log log12005.11log log 4N N SE SE PE SE PE N SE PEPE N SE =======Setting 5N =gives:()()()()()()()()5544332215114.1211200290.634.121290.6370.394.12170.3917.054.12117.05 4.124.1214.1214.1244.120.518.5OUT N SE LE C C SE LE C C SE LE C C SE LE C C SE LE C C SE D LE FO P SE P ===⨯===⨯===⨯===⨯===⨯====⨯+=+=+=∑∑P6.7. Solution for NAND3For the first NAND3, LE=5W/3W=5/3. For the second NAND3, the delay is not the same asthe basic inverter. So use the more general formula:310/25/33nand W R LE WR⨯== Same as the first case.a.For equal rise and fall time, we double the sizes of the transistors which leads to:313LE==b.For the pseudo-NMOS, we must first calculate the currents, which are different forpull-up and pull-down in the case of a pseudo-NMOS.For the case of the pull-up, only the PMOS is charging the output, for equal delays,we double the size of the PMOS and NMOS to obtain:23LE=P6.9.a.53 LE=b.53 LE=c.82,33 R FLE LE==d.4,23R FLE LE==P6.10.a.813RLE st gate =b.523FLE nd gate =()()()()()()()()()()()()()()45343433221411451110002222336.8711000145.656.87145.6535.366.8735.36 6.876.871 6.8716.8746.870.51 1.50.5OUT NN N PE LE FO SE LE C C SE LE C C SE LE C C SE LE C C SE D SE P SE P ⎛⎫⎛⎫=⨯== ⎪⎪⎝⎭⎝⎭===⨯===⨯===⨯===⨯====+=+=++++∏∑∑31=P6.12.()()()()()()()()()()()()()()()6345434332211546410001777833311.5510001173.2111.55173.2112511.5525411.5511.55111.551111.55OUT N N PE LE FO BE SE LE C BE C SE LE C BE C SE LE C BE C SE LE C BE C SE D SE P ⎛⎫⎛⎫⎛⎫=⨯⨯== ⎪⎪⎪⎝⎭⎝⎭⎝⎭===⨯⨯===⨯⨯===⨯⨯===⨯⨯====+∏()()41411.550.51 1.5251.2N SE P =+=++++=∑∑()()()()()()()()()()()635735445712(2)(4)800066730333314.6800011095.814.610951175.114.64512(4175.1500)533533OUT PE LE FO BE SE LE C BE C SE LE C BE C SE PE LE FO BE SE ⎛⎫⎛⎫⎛⎫=⨯⨯== ⎪⎪⎪⎝⎭⎝⎭⎝⎭===⨯⨯===⨯⨯===⎛⎫⎛⎫=⨯⨯=⨯+= ⎪⎪⎝⎭⎝⎭==∏∏()()()()()()()()()()()5343322151117.4712001114.317.54114.32317.517.5117.51117.53(17.5)214.60.51 1.5 2.25288.9NN N LE C BE C SE LE C BE C SE LE C BE C SE D SE P SE P =⨯⨯===⎛⎫⎪⨯⨯⎝⎭===⨯⨯====+=+=++++++=∑∑To minimize the delay, a estimate of the number of needed stages can be performed :log log 6637049.610log log 4SE PE N SE =∴===≈ The additional stages can be implemented as inverters attached at the input.P6.14. Consider the following situations :C LV inC LV outOutput high-to-low Output low-to-highIn the first case, the output is making a transition from high to low. The next inverter (not shown) has the PMOS in the cutoff region and the NMOS in the linear region. In these regions, the input capacitance of the next gate can be computed as follows:PMOS: C GP =C g x 2W x (1/2) NMOS: C GN =C g x WFor the output low-to-high transition, we have the PMOS linear and the NMOS cutoff: PMOS: C GP =C g x 2W NMOS: C GN =C g x W (1/2)Clearly, the second case has a larger total capacitance and hence a larger effective C g .P6.15. For this problem we examine ramp inputs as compared to step inputs. In both cases below,the transistors being driven enter the linear region and experience larger gate capacitances than the step input case. Therefore, C g is always larger for ramp inputs.C LC LV outpositive-going input ramp negative-going input rampV V DDP6.16. The FO4 delay for 0.18um is approximately 75ps. For 0.13um it is 55ps. Therefore, theconstant for the equation is roughly 420ps/um.。