《电子技术基础华中科大课件第四章第5节解析优秀PPT.ppt》由会员分享,可在线阅读,更多相关《电子技术基础华中科大课件第四章第5节解析优秀PPT.ppt(48页珍藏版)》请在taowenge.com淘文阁网|工程机械CAD图纸|机械工程制图|CAD装配图下载|SolidWorks_CaTia_CAD_UG_PROE_设计图分享下载上搜索。
1、一、数字电路的发展与可编程器件的出现一、数字电路的发展与可编程器件的出现概概 述述集成度:集成度:高效、低耗、高精度、高稳定、智能化。高效、低耗、高精度、高稳定、智能化。VLSICLSICSSICMSIC4.5 组合可编程逻辑器件组合可编程逻辑器件专用型:专用型:ASIC(Application Specific Integratel Circuit)逻辑功能逻辑功能:通用型:通用型:54/74系列、系列、74HC系列、系列、74HCT系列等系列等随系统规模扩大:随系统规模扩大:焊点多,可靠性下降焊点多,可靠性下降功耗增加、成本升高功耗增加、成本升高占用空间扩大占用空间扩大要承担设计风险、要承
2、担设计风险、周期长、成本高周期长、成本高可编程器件可编程器件 (PLD:Programmable Logic Device)系统设计师们希望自己设计系统设计师们希望自己设计 ASIC ASIC芯片,缩短设计周期,芯片,缩短设计周期,能在实验室设计好后,立即投入实际应用。能在实验室设计好后,立即投入实际应用。VLSIC二、二、PLD的发展态势的发展态势n向低电压和低功耗方向发展,向低电压和低功耗方向发展,5V 3.3V 2.5V 1.8V 更低更低n向高集成度、高速度方向发展向高集成度、高速度方向发展 集成度已达到集成度已达到400万门以上万门以上n向数、模混合可编程方向发展向数、模混合可编程方
3、向发展n向内嵌多种功能模块向内嵌多种功能模块方向发展方向发展 RAM,ROM,DSP,CPU等等PROMPLAPALGAL低密度可编程逻辑器件低密度可编程逻辑器件(LDPLD)EPLDCPLDFPGA高密度可编程逻辑器件高密度可编程逻辑器件(HDPLD)可编程逻辑器件可编程逻辑器件(PLD)1、按集成密度划分为、按集成密度划分为三、可编程逻辑器件的分类三、可编程逻辑器件的分类4.5.1 PLD的结构、表示方法的结构、表示方法与门与门阵列阵列或门或门阵列阵列乘积项乘积项和项和项PLD主体主体输入输入电路电路输入信号输入信号互补互补输入输入输出输出电路电路输出函数输出函数反馈输入信号反馈输入信号
4、可由或阵列干脆输出,构成组合输出;可由或阵列干脆输出,构成组合输出;通过寄存器输出,构成时序方式输出。通过寄存器输出,构成时序方式输出。1、PLD的基本结构的基本结构与门与门阵列阵列或门或门阵列阵列乘积项乘积项和项和项互补互补输入输入2.2.PLD的的逻辑符号表示方法逻辑符号表示方法(1)(1)连接的方式连接的方式(2)(2)基本门电路的表示方式基本门电路的表示方式F1=ABC与门与门或门或门A B C DF1 AB C&L AB C1L DF1=A+B+C+D 三态输出缓冲器三态输出缓冲器输出恒等于输出恒等于0 0的与门的与门输出为输出为1 1的与门的与门输入缓冲器输入缓冲器(3)(3)编程
5、连接技术编程连接技术 PLD表示的与门表示的与门熔丝工艺的与门原理图熔丝工艺的与门原理图L=ABCVCC+(5V)R 3kW L D1 D2 D3 A B C 高电平高电平A、B、C有一个输入低电平有一个输入低电平0VA、B、C三个都输入高电平三个都输入高电平+5V5V0V5V低电平低电平5V5V5VL=ABC L VCC A B C D L VCC A B C D L=AB连接连接连接连接连接连接断开断开A、B、C 中有一个为中有一个为0A、B、C 都为都为1输出为输出为0;输出为输出为1。L=AC断开断开连接连接连接连接断开断开L=ABCXX器件的开关状态不同器件的开关状态不同,电路实现逻
6、辑函数也就不同电路实现逻辑函数也就不同1 0 11 1 1(4)(4)浮浮栅栅MOS管开关管开关用不同的浮栅用不同的浮栅MOS管连接的管连接的PLD,编程信息的擦除方法,编程信息的擦除方法也不同。也不同。SIMOS管连接的管连接的PLD,接受紫外光照射擦除;,接受紫外光照射擦除;Flotox MOS管和快闪叠栅管和快闪叠栅MOS管,接受电擦除方法。管,接受电擦除方法。浮浮栅栅MOS管管叠栅注入叠栅注入MOS(SIMOS)管管浮栅隧道氧化层浮栅隧道氧化层MOS(Flotox MOS)管管快闪快闪(Flash)叠栅叠栅MOS管管 当浮栅上带有负电荷时,使得当浮栅上带有负电荷时,使得MOS管的开启电
7、压变高,假管的开启电压变高,假如给限制栅加上如给限制栅加上VT1限制电压,限制电压,MOS管仍处于截止状态。管仍处于截止状态。当浮栅上没有电荷时,给控制栅加上大于当浮栅上没有电荷时,给控制栅加上大于VT1的控制电压的控制电压,MOS管导通。管导通。a.叠栅注入叠栅注入MOS(SIMOS)管管 25V25VGND5V5VGND iD VT1 VT2 vGS 浮栅无电子 O 编程前 iD VT1 VT2 vGS 浮栅无电子 浮栅有电子 O 编程前 编程后 5V5VGND5V5VGND导通导通截止截止若要擦除,可用紫外线或若要擦除,可用紫外线或X X射线,距管子射线,距管子2 2厘米处照射厘米处照射
8、15-2015-20分钟。分钟。L=BC连接连接连接连接断开断开断开断开连接连接连接连接断开断开断开断开1 1 1 1浮栅延长区与漏区浮栅延长区与漏区N+之间的之间的交叠处有一个厚度约为交叠处有一个厚度约为80A(埃埃)的薄绝缘层的薄绝缘层遂道区。遂道区。当遂道区的电场强度大到确当遂道区的电场强度大到确定程度,使漏区与浮栅间出定程度,使漏区与浮栅间出现导电遂道,形成电流将浮现导电遂道,形成电流将浮栅电荷泄放掉。栅电荷泄放掉。遂道遂道MOS管管是用电擦除的,是用电擦除的,擦除速度快。擦除速度快。b.浮栅隧道氧化层浮栅隧道氧化层MOS(Flotox MOS)管管 结构特点结构特点:1.闪速存储器存
9、储单元闪速存储器存储单元MOS管的源极管的源极N+区大于漏极区大于漏极N+区,而区,而SIMOS管的源极管的源极N+区和漏极区和漏极N+区是对称的;区是对称的;2.浮栅到浮栅到P型衬底间的氧化型衬底间的氧化绝缘层比绝缘层比SIMOS管的更薄。管的更薄。c.快闪快闪叠栅叠栅MOS管开关管开关(Flash Memory)(自学)(自学)特点:结构简洁、集成度高、特点:结构简洁、集成度高、编程牢靠、擦除快捷。编程牢靠、擦除快捷。PLD中的三种与、或阵列中的三种与、或阵列与阵列、或阵列与阵列、或阵列均可编程均可编程(PLA)与阵列固定,或阵与阵列固定,或阵列可编程列可编程(PROM)与阵列可编程,或与
10、阵列可编程,或阵列固定阵列固定(PAL和和GAL等等)三种与、或阵列有什么应用特点?三种与、或阵列有什么应用特点?输出函数为最小输出函数为最小项表达式项表达式输出函数的乘积项数不输出函数的乘积项数不行变每个乘积项所含变行变每个乘积项所含变量数可变量数可变输出函数的乘积项数可变输出函数的乘积项数可变每每个个乘积项所含变量数可变乘积项所含变量数可变4.5.2 组合逻辑电路的组合逻辑电路的 PLD 实现实现 例例1 1 由由PLA构成的逻辑电路如图所构成的逻辑电路如图所示,试写出该电路的逻辑表达式,示,试写出该电路的逻辑表达式,并确定其逻辑功能并确定其逻辑功能。写出该电路的逻辑表达式:写出该电路的逻
11、辑表达式:AnBnCnAnBnAnCnBnCn全加器全加器AnBnCnAnBnCnAnBnCn试写出该电路的逻辑表达式。试写出该电路的逻辑表达式。4.6 用用VerilogHDL描述组合逻辑电路描述组合逻辑电路用用VerilogHDL描述组合逻辑电路有三种不同抽象级描述组合逻辑电路有三种不同抽象级别:组合逻辑电路的门级描述、组合逻辑电路的数别:组合逻辑电路的门级描述、组合逻辑电路的数据流描述、组合逻辑电路的行为级描述。据流描述、组合逻辑电路的行为级描述。VerilogHDL描述的电路就是该电路的描述的电路就是该电路的VerilogHDL模模型。型。行为描述方式:行为描述方式:一般使用下述语句描
12、述,可以对组合、时序逻辑电路建模。一般使用下述语句描述,可以对组合、时序逻辑电路建模。1)initial 语句语句 2)always 语句语句数据流描述方式:数据流描述方式:一般使用一般使用assign语句描述,主要用于对组合逻辑电路建模。语句描述,主要用于对组合逻辑电路建模。门级描述:门级描述:一般使用一般使用Primitive(内部元件)、自定义的下层模块对电(内部元件)、自定义的下层模块对电路描述。主要用于层次化设计中。路描述。主要用于层次化设计中。基本门级元件模型基本门级元件模型 元件符号元件符号功能说明功能说明元件符号元件符号功能说明功能说明andand多输入端的与门多输入端的与门n
13、andnand多输入端的与非门多输入端的与非门oror多输入端的或门多输入端的或门nornor多输入端的或非门多输入端的或非门xorxor多输入端的异或门多输入端的异或门xnorxnor多输入端的异或非门多输入端的异或非门bufbuf多输出端的缓冲器多输出端的缓冲器notnot多输出端的反相器多输出端的反相器bufif1bufif1控制信号高电平有效的三态缓控制信号高电平有效的三态缓冲器冲器notif1notif1控制信号高电平有效的控制信号高电平有效的三态反相器三态反相器bufif0bufif0控制信号低电平有效的三态缓控制信号低电平有效的三态缓冲器冲器notif0notif0控制信号低电平
14、有效的控制信号低电平有效的三态反相器三态反相器多输入门多输入门多输出门多输出门三态门三态门4.6.1 组合逻辑电路的门级建模组合逻辑电路的门级建模门级建模门级建模:将逻辑电路图用将逻辑电路图用HDL规定的文本语言表示出来。规定的文本语言表示出来。Verilog Verilog 基本门级元件基本门级元件基本门级元件基本门级元件 and n-input AND gate nand n-input NAND gate or n-input OR gate nor n-input NOR gate xor n-input exclusive OR gate xnor n-input exclusive
15、 NOR gate buf n-output buffer not n-output inverter bufif0 tri-state buffer;Io enable bufif1 tri-state buffer;hi enable notif0 tri-state inverter;Io enable notif1 tri-state inverter;hi enable1 1、多输入门、多输入门只允许有一个输出,但可以有多个输入。只允许有一个输出,但可以有多个输入。and A1(out,in1,in2,in3););输输入入2xxx1zxxx1xxx01111 11 11 10 0z
16、x x1 10 0 输入输入1 1nandnand nand真值表真值表X-不确定状态不确定状态Z-高阻态高阻态 and真值表真值表x0zx0 xx1010 00 00 00 00z zX X1 10 0 输入输入1 1and输输入入2xxxxx调用名调用名XX1XZXX1XX11111XX100ZX10输入输入1or输输入入2 or真值表真值表输输入入2XXXXZXXXXXXX011XX X1 10 00 0ZX X1 10 0输入输入1 1xorxorxor真值表真值表2 2、多输出门、多输出门允许有多个输出,但只有一个输入。允许有多个输出,但只有一个输入。not N1(out1,out2
17、,in););xx10zx10输输 入入buf输输 出出 buf真值表真值表 输输 出出xx01zx10输输 入入notnot真值表真值表 buf B1(out1,out2,in););out1inout2outNout1inout2outNbufif1真值表真值表xxxzzxxxzx1/z1/z1z10/z0/z0z0zx10控制输入控制输入bufif1数数据据输输入入xxxzzxxxzx0/z0/z0z11/z1/z10zzx10控制输入控制输入notif1数数据据输输入入notif1真值表真值表3、三态门、三态门有一个输出、一个数据输入和一个输入限制。有一个输出、一个数据输入和一个输入限
18、制。假如输入限制信号无效,则三态门的输出为高阻态假如输入限制信号无效,则三态门的输出为高阻态z。4、设计举例、设计举例/Gate-level description of a 2-to-4-line decoder module _2to4decoder(A1,A0,E,Y);input A,B,E;output 3:0Y;wire A1not,A0not,Enot;not n1(A1not,A1),n2(A0not,A0),n3(Enot,E);nand n4(Y0,A1not,A0not,Enot),n5(Y1,A1not,A0,Enot),n6(Y2,A1,A0not,Enot),n7(
19、Y3,A1,A0,Enot);endmodule 试用试用Verilog语言语言的门级的门级元件描述元件描述2线线-4线译码器线译码器.说明说明部分部分功能功能描述描述例例2 用用Verilog的门级元件进行的门级元件进行描述由三态门构成的描述由三态门构成的2选选1数据选数据选择器择器。/Gate-level description of a 2-to-1-line multiplexer module _2to1muxtri(A,B,SEL,L);input A,B,SEL output L;tri L;bufif1(L,B,SEL);bufif0(L,A,SEL);endmodule 5、
20、分层次的电路设计方法简介、分层次的电路设计方法简介 4位全加器的层次结构框图位全加器的层次结构框图分层次的电路设计分层次的电路设计:在电路设计中,将两个或多个模块组在电路设计中,将两个或多个模块组合起来描述电路逻辑功能的设计方法。合起来描述电路逻辑功能的设计方法。设计方法:设计方法:自顶向下和自底向上两种常用的设计方法自顶向下和自底向上两种常用的设计方法module halfadder(S,C,A,B);input A,B;output S,C;/Instantiate primitive gates xor(S,A,B);and(C,A,B);endmodule/Gate-level hie
21、rarchical description of 4-bit adder/Description of half adder/Description of 1-bit full addermodule fulladder(S,CO,A,B,CI);input A,B,CI;output S,CO;wire S1,D1,D2;/内部节点信号内部节点信号/Instantiate the halfadder halfadder HA1(S1,D1,A,B);halfadder HA2(S,D2,S1,CI);or g1(CO,D2,D1);endmoduleD1S1D2/Description of
22、 4-bit full addermodule _4bit_adder(S,C3,A,B,C_1);input 3:0 A,B;input C_1;output 3:0 S;output C3;wire C0,C1,C2;/内部进位信号内部进位信号/Instantiate the fulladder fulladder FA0(S0,C0,A0,B0,C_1),FA1(S1,C1,A1,B1,C0),FA2(S2,C2,A2,B2,C1),FA3(S3,C3,A3,B3,C2);endmodule 4.6.2 组合逻辑电路的数据流建模组合逻辑电路的数据流建模数据流建模能在较高的抽象级别描述电路
23、的数据流建模能在较高的抽象级别描述电路的逻辑功能。通过逻辑综合软件,能够自动地逻辑功能。通过逻辑综合软件,能够自动地将数据流描述转换成为门级电路。将数据流描述转换成为门级电路。Verilog HDL的运算符的运算符根据条件表达根据条件表达式是否成立,式是否成立,选择表达式选择表达式?:条件条件运算符运算符(三(三目运算符)目运算符)将多个操作数将多个操作数拼接成为一个拼接成为一个操作数操作数,位拼接运算位拼接运算符符右移右移左移左移=!=关系运算关系运算符符(双目运(双目运算符)算符)二进制加二进制加二进制减二进制减二进制乘二进制乘二进制除二进制除求模求模+-*/%算术运算算术运算符符(双目运
24、(双目运算符)算符)功能说明功能说明符号符号类型类型功能说明功能说明符号符号类型类型只对一个只对一个操作数进行运算,操作数进行运算,运算结果为运算结果为1位。位。对两个操作数进行对两个操作数进行运算运算两个操作数按对应位进行两个操作数按对应位进行相应的逻辑运算相应的逻辑运算对单个操作数的各位进行对单个操作数的各位进行相应运算,最终相应运算,最终的运算结果是的运算结果是1位。位。位位运算符与缩位运算的比较运算符与缩位运算的比较 A:4b1010、B:4b1111,AB=1010 AB=0101A|B=1111 A&B=1010A=0101B=0000 位运算位运算A=1B=1A=0B=0|A=1
25、|B=0&A=1&B=1&A=1&0&1&0=0 缩位运算缩位运算对同一个操作数的重复拼接还可以双重大括号构成的运算符对同一个操作数的重复拼接还可以双重大括号构成的运算符例如例如4A=4b1111,2A,2B,C=8b11101000。作用是将两个或多个信号的某些位拼接起来成为一个新的操作数,作用是将两个或多个信号的某些位拼接起来成为一个新的操作数,进行运算操作。进行运算操作。位拼接运算符位拼接运算符设设A=1b1,B=2b10,C=2b00则则B,C4b1000A,B1,C03b110A,B,C,3b101=8b11000101。一般用法:一般用法:condition_expr?expr1:
26、expr2;条件运算符条件运算符是三目运算符,运算时依据条件表达式的值选择表达式。是三目运算符,运算时依据条件表达式的值选择表达式。首先计算第一个操作数首先计算第一个操作数condition_expr的值,假如结果为逻辑的值,假如结果为逻辑1,则选择其次个操作数则选择其次个操作数expr1的值作为结果返回,结果为逻辑的值作为结果返回,结果为逻辑0,选择第三个操作数选择第三个操作数expr2的值作为结果返回。的值作为结果返回。运算符的优先级运算符的优先级!*/%+-=!=!=&|&|?:最低优先级最低优先级最高优先级最高优先级2、数据流建模举例、数据流建模举例连续赋值语句的执行过程是:只要逻辑表
27、达式右边变量连续赋值语句的执行过程是:只要逻辑表达式右边变量的逻辑值发生变更,则等式右边表达式的值会马上被计算的逻辑值发生变更,则等式右边表达式的值会马上被计算出来并赋给左边的变量。出来并赋给左边的变量。留意,在留意,在assign语句中,左边变量的数据类型必需是语句中,左边变量的数据类型必需是wire型。型。数据流建模运用的基本语句是连续赋值语句数据流建模运用的基本语句是连续赋值语句assign,该语,该语句用于对句用于对wire型变量进行赋值,型变量进行赋值,它由关键词它由关键词assign起先,后面跟着由操作数和运算符组成的起先,后面跟着由操作数和运算符组成的逻辑表达式。逻辑表达式。2选
28、选1数据选择器的连续赋值描述是:数据选择器的连续赋值描述是:wire A,B,SEL,L;/声明声明4个连线型变量个连线型变量assign L=(A&SEL)|(B&SEL);/连续赋值连续赋值/Dataflow description of a 2-to-4-line decoder,module decoder_df(A1,A0,E,Y);input A1,A0,E;output 3:0 Y;assign Y0=(A1&A0&E);assign Y1=(A1&A0&E);assign Y2=(A1&A0&E);assign Y3=(A1&A0&E);endmodule /Dataflow
29、description of 2-to-1-line multiplexermodule mux2x1_df(A,B,SEL,L);input A,B,SEL;output L;assign L=SEL?A:B;endmodule 用条件运算符描述了一个用条件运算符描述了一个2选选1的数据选择器。的数据选择器。在连续赋值语句中,假如在连续赋值语句中,假如SEL1,则输出,则输出LA;否则;否则LB。4.6.3 4.6.3 组合逻辑电路的行为级建模组合逻辑电路的行为级建模 行为级建模就是描述数字逻辑电路的功能和算法。行为级建模就是描述数字逻辑电路的功能和算法。一般运用一般运用always结构,后
30、面跟着一系列过程赋值语句,结构,后面跟着一系列过程赋值语句,给给reg类型的变量赋值。类型的变量赋值。if(condition_expr1)true_statement1;else if(condition_expr2)true_statement2;else if(condition_expr3)true_statement3;else default_statement;1、条件语句(、条件语句(if语句)语句)条件语句就是依据推断条件是否成立,确定下一步的运算。条件语句就是依据推断条件是否成立,确定下一步的运算。if(condition_expr)true_statement;if(co
31、ndition_expr)true_statement;else fale_ statement;Verilog语言中有语言中有3种形式的种形式的if语句:语句:if后面的条件表达式一般为逻辑表达式或关系表达式。执行后面的条件表达式一般为逻辑表达式或关系表达式。执行if语句时,首先计算表达式的值,若结果为语句时,首先计算表达式的值,若结果为0、x或或z,按,按“假假”处理;若结果为处理;若结果为1,按,按“真真”处理,并执行相应的语句。处理,并执行相应的语句。是一种多分支条件选择语句,一般形式如下:是一种多分支条件选择语句,一般形式如下:case(case_expr)item_expr1:statement1;item_expr2:statement2;default:default_statement;/default语句可以省略语句可以省略2、多路分支语句(、多路分支语句(case语句)语句)