《数字逻辑电路与系统设计第三章.ppt》由会员分享,可在线阅读,更多相关《数字逻辑电路与系统设计第三章.ppt(26页珍藏版)》请在三一办公上搜索。
1、第3章 组合逻辑电路,组合逻辑电路:电路在任一时刻的输出状态仅由该时刻的输入信号决定,与电路在此信号输入之前的状态无关.,3.2 组合逻辑电路的分析,分析方法,分析步骤:,(1)根据逻辑电路图,写出输出逻辑函数表达式;,(2)根据逻辑表达式,列出真值表;,(3)由真值表或表达式分析电路功能.,例:分析下图所示逻辑电路,P2=AP1,P3=BP1,P4=CP1,真值表:,逻辑功能:一致电路,3.3 组合逻辑电路设计,一般步骤:,(1)由实际逻辑问题列出真值表;,(2)由真值表写出逻辑表达式;,(3)化简、变换输出逻辑表达式;,(4)画出逻辑图。,例:试用与非门设计一个三变量表决电路,表决规则为少
2、 数服从多数.,解:(1)列真值表,设:由A、B、C表示三个输入变量,F表示表决结果。并设A、B、C为1表示赞成,为0表示反对;F为1表示表决通过,为0 表示不通过。,(2)化简、求最简函数表达式,(3)画出电路图,例:设计一个8421BCD码(表示一位十进制数N)监视器,监视8421BCD码的传输情况。当传输的数N4时,监视器输出为1,否则输出为0.,解:用ABCD表示8421BCD码输入,用F表示输出。列出真值表:,F(A,B,C,D)=A+B,例 设计一个两位二进制数比较器。,解 设被比较的数分别为 A=A1A0,B=B1B0;比较的结果 为:A1A0B1B0时,输出F1=1;A1A0=
3、B1B0时,输 出F2=1;A1A0B1B0时,输出F3=1.,画卡诺图化简:,按F1、F2和F3表达式可方便地用门电路实现比较器的逻辑功能。,3.4 组合逻辑电路中的冒险,前面分析组合逻辑电路时,没有考虑门电路的延迟时间对电路的影响。实际上,由于门电路延迟时间的关系,可能会使逻辑电路产生错误输出。通常把这种现象称为竞争冒险。,产生冒险的原因,以例说明,再举一例,产生冒险的原因之一:电路存在由非门产生的互补信号,且互补信号的状态发生变化时有可能出现冒险现象。,(分析中略去与门和或门的延时),消去冒险的方法,1.发现并消去互补变量,2.增加乘积项,3.输出端并联电容器,如果逻辑电路在较慢速度下工
4、作,为了消去冒险,可以在输出端并联一电容,其容量在420pF之间,该电容和门的输出电阻构成RC低通网络,对窄脉冲起平滑作用。,3.5 可编程逻辑器件和VHDL概述,利用可编程逻辑器件(PLD,Programmable Logic Device)来实现电路的设计,硬件描述语言(HDL,HardwareDescription Language)就是可以描述硬件电路的功能,VHDL是应用最为广泛的国际标准电子设计语言,3.5.1 VHDL基本结构,硬件描述语言的基本格式包括两个要素,输入、输出的定义(即输入、输出说明),对输出如何响应输入的定义(工作原理),对应逻辑符号的描述部分:实体(Entity
5、),对应逻辑关系的说明部分:结构体(Architecture),注意:VHDL 对大小写不敏感,和“”中的内容除外。,Library IEEE;use IEEE.std_logic_1164.all;entity and_gate is port(a,b:IN BIT;y:out BIT);end and_gate;architecture rhl of and_gate isbegin y=a and b;end rhl;,VHDL 语言的基本结构,以二输入端与门为例,该文件名为:and_gate.vhd,VHDL硬件描述语言基础,3.5.2 VHDL中的中间信号,电路模块内部的信号点,不是
6、模块的输入也不是输出,与输入输出端口分开定义,在逻辑功能描述部分定义,仅在一个模块内部有效,1 ENTITY fig2 IS2 PORT(a,b,c:IN BIT;3 y:OUT BIT);END fig2;5 ARCHITECTURE ckt OF fig2 IS6 SIGNAL m:BIT;7 BEGIN8 m=a AND b;9 y=m OR c;10 END ckt;,SIGNAL是关键字,定义m为中间信号,并行赋值语句,3.5.3 VHDL描述逻辑电路的进程形式,进程语句(PROCESS)是VHDL常用的子结构描述语句,以2输入与非门为例:,ARCHITECTURE nand2_l OF nand2 IS8 BEGIN9 PROCESS(a,b)10 VARIABLE tmp:STD_LOGIC_VECTOR(1 DOWNTO 0);11 BEGIN12 tmp:=a13 CASE tmp IS,结构体描述部分,PROCESS(敏感信号表),敏感信号参数a和b,变量定义语句,定义tmp为新的变量,“:=”为变量赋值符号。“&”为并置运算符,条件选择语句,14 WHEN”00”=yyyyy=X;19 END CASE;20 END PROCESS;21 END nand2_l;,输出状态不定,进程结束语句,