Intel Quartus Prime数字系统设计权威指南:从数字逻辑、Verilog HDL 到复杂数字系统的实现
上QQ阅读APP看本书,新人免费读10天
设备和账号都新为新人

1.3 开关系统

开关系统是构成数字逻辑最基本的结构,它通过半导体物理器件实现数字逻辑的开关功能。

所谓的开关系统,实际上就是常说的由工作在“0”或者“1”状态下的物理器件所构成的数字电路。典型地,如家里的普通电灯,通过开关的控制,要么闭合(灯亮),要么断开(灯灭)。此外,用于控制强电设备的继电器也是常用的数字器件,要么处于常开状态,要么处于常闭状态。

1.3.1 0和1的概念

数字电路中的信号是一个电路网络,通过这个网络,将一个元器件的输出电压传送到所连接的另一个元器件或者更多其他元器件的输入。与模拟电路中的信号变化具有连续性相比,数字电路中的信号变化是不连续的。在数字电路中,信号的电压取值只有两种情况,即VDD或者GND。VDD表示逻辑高电平,GND表示逻辑低电平。这样,数字电路中用于表示所有的数据的信号只有两个取值状态。只使用两个状态来表示数据的系统,称为二进制系统;具有两个状态的信号称为二进制信号。所有由二进制构成的输入信号,其操作产生二进制的输出结果。电压值的集合{VDD,GND}定义了数字系统中一个信号线的状态,通常表示为{1,0}。其中“1”表示VDD,“0”表示GND。因此,数字系统只能表示两个状态的数据,并且已经给这两个状态分配了数字符号“0”和“1”,于是出现了用二进制数表示数字系统的方法。数字电路中的一个信号线携带着信息的一个二进制数字,也称为比特位(bit)。总线是由多个工作在开关状态下的信号线构成的,因此总线可以包含多个比特位,可以定义一个二进制数。在数字电路中,使用比特表示数据可以让人们在学习数字电路时能够很容易地接受现存的数字和逻辑技术。

下面通过两个典型的开关系统进一步说明0和1的概念。

1.串联开关构成的开关系统

由串联开关构成的开关系统,如图1.4所示。从图中可知,要点亮灯泡X1,要求开关K1和K2同时闭合。如果只闭合K1,而断开K2;或者只闭合K2,而断开K1;或者K1和K2都断开时,均不会点亮灯泡。很明显,这样一个开关系统满足逻辑与的关系。

假设,将开关K1设置为变量A,将其闭合状态表示为“1”,断开状态表示为“0”;将开关K2设置为变量B,将其闭合状态表示为“1”,断开状态表示为“0”;将灯泡的状态设置为变量Y,将灯亮状态表示为“1”,灯灭状态表示为“0”,这个典型的开关系统可以用表1.2表示。

img

图1.4 串联开关构成的开关系统

表1.2 串联开关系统的逻辑关系

img

读者可进入本书配套提供例子的\eda_example\switch_and.ms14路径下,用Multisim 14工具打开该设计,并执行仿真,观察仿真结果。

从表1.2可知,它描述的是一种典型的逻辑与关系。也就是说,当变量AB均为“1”时,变量Y的状态才为“1”;在变量AB的组合为“00”、“01”和“10”的情况下,变量Y的状态均为“0”。

2.并联开关构成的开关系统

由并联开关构成的开关系统,如图1.5所示。从图中可知,要点亮灯泡X1,要求开关K1或K2其中有一个闭合即可。只有K1和K2都断开时,才不会点亮灯泡。很明显,这样一个开关系统满足逻辑或的关系。

假设,将开关K1设置为变量A,将其闭合状态表示为“1”,断开状态表示为“0”;将开关K2设置为变量B,将其闭合状态表示为“1”,断开状态表示为“0”;将灯泡的状态设置为变量Y,将灯亮状态表示为“1”,灯灭状态表示为“0”,这个典型的开关系统可以用表1.3表示。

img

图1.5 并联开关构成的开关系统

表1.3 并联开关系统的逻辑关系

img

读者可进入本书配套提供例子的\eda_example\switch_or.ms14路径下,用Multisim 14工具打开该设计,并执行仿真,观察仿真结果。

从表1.3可知,它描述的是一种典型的逻辑或关系。也就是说,当变量AB有一个为“1”时,变量Y的状态就为“1”;只有在变量AB都为“0”的情况下,变量Y的状态才为“0”。

思考与练习1-6:在开关系统中,开关串联构成逻辑________关系;开关并联构成逻辑________关系。

1.3.2 开关系统的优势

与数字电路相比,模拟电路使用的信号的电压值并不限定只取VDD和GND两个不同的值,而是可以取在VDD和GND之间的任何值。许多输入元件,特别是那些用于电传感器的元件(如麦克风、照相机、温度计、压力传感器、运动和接近传感器等),在它们的输出端产生模拟电压。在现代电子设备中,先将模拟信号转换为数字信号,然后进行处理。例如,一个数字语音备忘录,通过使用一个模拟麦克风设备,在内部电路节点将声波转换成电压信号。在数字化处理电路中,模拟-数字转换器(Analog-to-Digital Converter,ADC)将模拟电压信号转换成离散的数字信号。通过对模拟输入信号的采样,ADC可以测量输入电压信号的幅度,然后为这个测量值分配一个对应的二进制数。只要将模拟信号采样点的电压值转换成对应的二进制数,就可以使用数字系统(如DSPs、FPGA和CPU)对其进行处理。

类似地,通过使用数字-模拟转换器(Digital-to-Analog Converter,DAC)就可以将离散的数字信号重新恢复成模拟信号。

模拟信号对噪声非常敏感,并且信号强度随着时间的推移和传输距离的增加会衰减。但是,数字信号对噪声和信号强度衰减的敏感度显著降低。这是因为数字信号为状态“0”和状态“1”定义了两个宽范围电压区域,在这个区域内的任何电压变化都不会改变数字信号的状态。如图1.6所示,一个包含噪声的模拟信号,可以转换为具有稳定状态“0”和“1”的数字信号。对于图1.6给出的包含噪声的模拟信号,如果直接用模拟电路进行处理,处理成本将显著增加。

img

图1.6 对包含噪声的模拟信号进行数字化处理

一句话概括,由于数字信号具有抗干扰能力强和处理方式灵活的显著优势,使得电子系统迈向了数字化时代。

下面通过对图1.7给出的数字电路进行SPICE瞬态分析,来进一步说明数字电路的抗干扰能力。在该电路中,反相器(节点3)输入的信号由方波和正弦波(干扰信号)叠加而成,如图1.8所示。

img

图1.7 数字系统的抗干扰能力分析电路

img

图1.8 节点3的电压波形(反相器输入信号的波形)

读者可进入本书配套提供例子的\eda_example\digtial_add_noise.ms14路径下,用Multisim 14工具打开该设计,并执行仿真,观察仿真结果。

通过观察图1.9给出的节点2的电压波形(反相器输出信号的波形),反相器的输出信号和输入信号(节点1)呈现逻辑取反关系。由于噪声(正弦信号)波动对方波的影响仍然在逻辑“1”和逻辑“0”所允许的电压范围内,所以即使输入到反相器的信号存在波动,也是不影响反相器对输入信号的正确理解的,所以从反相器输出的数字信号状态是正确的。

一旦噪声波动超过了状态“1”和状态“1”规定的电压范围,则反相器对输入信号的理解就会发生错误,使得最终从反相器输出的数字信号状态也发生错误。

img

图1.9 节点4的电压波形(反相器输出信号的波形)

思考与练习1-7:与模拟信号相比,数字信号具有________和________的优点。

思考与练习1-8:为什么说在数字电路中逻辑“1”和逻辑“0”表示两种状态,而不是某个具体的值?

思考与练习1-9:状态“1”和“0”的确定与________密切相关。

1.3.3 晶体管作为开关

前面介绍的开关系统,通过机械开关控制。很明显,使用机械开关控制灵活性差,而且系统的切换速度很低,开关的工作寿命也十分有限。因此,人们就使用半导体物理器件作为电子开关来取代前面提到的机械开关,用于对开关系统进行控制。与机械开关不一样的是,半导体物理器件的导通和截止是靠外面施加的电压进行控制的。用于现代数字电路的晶体管开关称为金属氧化物半导体场效应晶体管(Metal Oxide Semiconductor Field Effect Transistor,MOSFET)。如图1.10所示,MOSFET是三端口元器件。当在第三个端口(栅极)施加合适的逻辑电平时可以在两个端口(源极和漏极)之间流经电流。在最简单的FET模型中,源极和漏极之间的电阻是一个栅-源电压的函数,即栅极电压越高,这个电阻就越小,因此就可以流过更大的电流。当用在模拟电路(比如音频放大器)时,栅-源电压值可以取GND和VDD之间的任何值。但是,在数字电路中,栅-源电压值只能是VDD或GND(当然,当栅极电压从VDD变化到GND或从GND变化到VDD时,必须假定电压在VDD和GND之间)。此处,假设状态变化的过程非常快,忽略栅极电压在这段时间的FET特性。

在一个简单的数字电路模型中,可以将MOSFET当作一个可控地断开(截止)或者闭合(导通)的电子开关。如图1.10所示,根据不同的物理结构,FET包含两种类型,即nFET和pFET。

1.nFET

当栅极电压为VDD时,源极和漏极导通,即闭合;当栅极电压为GND时,源极和漏极断开,即截止。

img

图1.10 nFET和pFET的特性与等效开关

2.pFET

当栅极电压为GND时,源极和漏极导通,即闭合;当栅极电压为VDD时,源极和漏极断开,即截止。

单个的FET经常用作独立的电子可控开关。例如,对于一个nFET,如果电源接到源极,负载(如发动机、灯、或其他的应用中的电子元件)接到漏极。在该应用中,nFET可以打开或者关闭开关。当栅极接入GND时,导通负载元件;而栅极接入VDD时,断开负载元件。典型地,导通一个FET只需要一个很小的电压(几伏特的量级),即使这个FET正在切换的是一个大电压和大电流。用于这种目的的单个FET通常是巨大的设备。

在数字电路中,FET也可以充当有用的逻辑功能,如逻辑与、逻辑或和逻辑非等。在这种应用中,几个非常小的FET组成一个简单的小硅片(或硅芯片),然后用金属导线将它们连接在一起。典型地,这些微小的FET所占用的空间小于1×10-7m2。因此,一个硅芯片的一端可以是几毫米,一个单芯片上可以集成数百万的FET。当所有的电路元件整合集成到同一块硅片上时,将这种形式构成的电路称为集成电路。

1.3.4 半导体物理器件

大多数的FET使用半导体硅制造,如图1.11(a)所示,在制造过程中,植入离子的硅片在这个区域的导电性能更好,用作FET的源极和漏极区域,这些区域通常称作扩散区。接下来,如图1.5(b)所示,在这些扩散区的中间创建一个绝缘层,并且在这个绝缘材料的上面“生长”另一个导体。

这个“被生长”的导体(一般用硅)形成了栅极,如图1.11(c)和图1.11(d)所示,位于栅极之下、扩散区之间的区域称为沟道。最后,用导线连接源极、漏极和栅极,于是这个FET就可以连接到一个大的电路中了。生产晶体管需要几个处理过程,包括高温、精确的物理布局和各种材料。

img

图1.11 FET的制造工艺

实际上,FET的基本工作原理非常直观,接下来仅对nFET最基本的应用进行介绍。pFET的工作原理与之完全相似,但是必须将电压颠倒过来。

如图1.12所示,一个nFET的源极和漏极扩散区都植入带负电荷的粒子。当一个nFET用于逻辑电路时,它的源极接到GND;于是,nFET的源极像GND节点一样,拥有丰富的带负电荷的粒子。如果nFET的栅极电压和源极电压一样(如GND),那么栅极上存在的带负电荷的粒子立刻排斥栅极下面来自带沟道区域的带负电荷的粒子(注意,在半导体(如硅)中,正负电荷的粒子是可以移动的,在带电粒子形成的电场影响下,移动半导体晶格)。正电荷聚集在栅极下面,形成两个反向的正-负结(称为pn结)。这些pn结阻止任何一个方向的电流流过。如果栅极上的电压上升超过源级电压,并且超过了阈值电压(或Vth,大于或者等于0.5V)时,正电荷开始在栅极聚集,并且立即排斥栅极下沟道区域的正电荷。负电荷聚集在栅极下面,在栅极下面及源极和漏极扩散区域之间形成一个连续的导电区域。当栅极电压达到VDD时,形成一个大的导电沟道,并且nFET处于强导通状态。

img

图1.12 nFET的打开与关闭

如图1.13所示,用于逻辑电路中的nFET,把其源极接到GND,栅极接到VDD,就可以使它导通(闭合);而对于pFET,将其源极接到VDD,栅极接到GND,就可以使它导通(闭合)。

img

图1.13 逻辑电路中的nFET和pFET

根据上述原理可知,源极接VDD时,不会强行打开nFET。所以,很少将nFET的源极连接到VDD。类似地,源极接到GND时,也不能很好地打开pFET。所以,很少将pFET的源极接到GND。

这就是常说的nFET传输强0和弱1,而pFET传输强1和弱0。

1.3.5 半导体逻辑电路

只要掌握了FET的工作原理,就可以使用它构建基本的逻辑电路来实现所要求的逻辑功能。这些逻辑电路将一个或多个逻辑输入信号进行组合,然后产生满足逻辑功能要求的输出信号。下面将讨论实现最基本逻辑功能(如逻辑与、逻辑或和逻辑非)的电路。

当构建一个FET电路用来实现逻辑关系时,必须注意下面的4个基本规则。

(1)pFET的源极必须连接到VDD,nFET的源极必须连接到GND。

(2)电路输出必须通过一个pFET连接到VDD,且其必须通过一个nFET连接到GND(例如,电路输出永远不能悬空)。

(3)逻辑电路的输出绝不能同时连接到VDD和GND(决不能将逻辑电路的输出短路)。

(4)逻辑电路使用最少数量的FET。

遵循这4个原则,构造一个两输入的逻辑与关系电路。但是,首先要注意在如图1.14所示的电路中,当且仅当两个输入AB都连接VDD时,输出(标记为Y)才连接到GND,也就是Q1Q2同时导通,这个逻辑关系可以描述如下:

AB都连接到逻辑高电平(Logic High Voltage,LHV),即VDD时,Y的输出为逻辑低电平(Logic Low Voltage,LLV)。

在如图1.15所示的电路中,构造一个两输入的逻辑或关系电路。只要A或者B有一个连接到VDD时,输出(标记为Y)就会连接到GND,也就是Q3Q4中至少有一个FET是导通的,这个逻辑关系可以描述如下:

A或者B连接逻辑高电平(Logic High Voltage,LHV),即VDD时,Y的输出为逻辑低电平(Logic Low Voltage,LLV)。

图1.16给出了使用FET的串联和并联结构所构成的组合逻辑电路。从图中可知,这个电路遵循上4个基本规则,即pFET只连接到VDD,nFET只连接到地,输出总是连接到VDD或连接到GND,但绝不同时连接到VDD和GND,以及使用最少数量的FET。如表1.4所示,下面对这个逻辑门电路输入和输出电平之间的关系进行简要分析。

img

图1.14 串联FET

img

图1.15 并联FET

img

图1.16 FET组合构成的逻辑门电路

(1)当AB都连接到VDD时,Q1Q2同时导通,而Q3Q4同时截止。因此,Y的输出为GND。

(2)当A连接到GND和B连接到VDD时,Q3Q2同时导通,而Q1Q4同时截止。因此,Y的输出为VDD。

(3)当A连接到VDD和B连接到GND时,Q1Q4同时导通,而Q2Q3同时截止。因此,Y的输出为VDD。

(4)当A连接到GND和B连接到GND时,Q3Q4。同时导通,而Q1Q2同时截止。因此,Y的输出为VDD。

为了更直观地体现图1.16所示电路所要表示的逻辑关系,规定输入电平为VDD时表示逻辑“1”,输入电平为GND时表示逻辑“0”,并且用同样的规则定义输出信号电平的逻辑关系,如表1.5所示,发现该电路表示的是逻辑与非关系,因此将该电路称为逻辑与非电路。

表1.4 门电路的输入和输出电平

img

表1.5 门电路输入和输出的逻辑关系

img

在数字逻辑中,表示一个逻辑门电路输入和输出关系的表格称为真值表。

将nFET和pFET进行组合构成实现不同逻辑关系的电路,如图1.17所示。图中,每个逻辑电路由上面的pFET和下面的nFET构成,它们实现互补关系。当pFET表示逻辑或关系时,nFET表示逻辑与关系,显示出互补特性的FET电路也称为互补金属氧化物半导体(Complementary Metal Oxide Semiconductor,CMOS)电路。迄今为止,在数字和计算机电路中,CMOS电路占有统治地位。MOS名字是指以前的半导体工艺,门的材料是由金属构成的,门下面的绝缘体由硅氧化物构成。这些基本的逻辑电路是构成数字和计算机电路的基础。

img

图1.17 5个基本逻辑电路

图1.17中,INVERTER表示逻辑非关系,NAND表示逻辑与非关系,NOR表示逻辑或非关系,AND表示逻辑与关系,OR表示逻辑或关系。

当在原理图中绘制这些电路时,使用如图1.18所示的符号,而不是FET电路符号。这是由于直接使用FET符号绘制逻辑电路会显得冗长乏味,而且对整个逻辑电路的分析来说显得很不方便。

img

图1.18 原理图中基本的逻辑电路符号

图1.18中,INVERTER表示逻辑非关系,NAND表示逻辑与非关系,NOR表示逻辑或非关系,AND表示逻辑与关系,OR表示逻辑或关系。

在图1.18中,不同逻辑关系的符号特点如下所示。

(1)一个符号的逻辑输入端是一直角、输出端是一个光滑的曲线时表示逻辑与关系。

(2)逻辑输入端是曲线边且指向输出端的符号表示逻辑或关系。

(3)输入端的小圆圈表示输入信号必须是逻辑低电平时,才能产生所表示逻辑功能的输出。

(4)输出端的小圆圈表示逻辑功能的结果产生一个逻辑低电平输出信号。输出端没有小圆圈时,表示逻辑功能产生一个逻辑高电平输出信号。

(5)输入端没有小圆圈表示输入信号必须是逻辑高电平,这样才能实现所需要表示的功能。

如图1.18所示,除逻辑非关系外,其他的每一个逻辑关系符号都有两种表现形式。上面的是基本逻辑符号,下面的是共轭符号。共轭符号交换逻辑与关系和逻辑或关系的符号形状,并且改变输入端和输出端的逻辑电平。很明显,使用后面介绍的德·摩根定理就可以验证它们之间的等效性。

思考与练习1-10:根据图1.17,说明实现下面的逻辑关系需要的晶体管个数。

INV ERTER________,NAND________,NOR________,AND________,OR________。

思考与练习1-11:根据图1.17实现一个与非关系,并说明直接使用逻辑与非门电路和使用逻辑与电路串联逻辑非电路有何不同(提示:直接使用逻辑与门电路只使用4个晶体管,而使用逻辑与电路串联逻辑非电路会使用6+2=8个晶体管。一方面会增加逻辑与非电路的实现成本;另一方面由于使用晶体管的数量增加,这会显著降低电路的性能)。

思考与练习1-12:分析图1.19~图1.23给出的FET电路结构,填写表1.6~表1.10(注意表中FET的状态填写导通/截止),并说明每个电路所实现的逻辑关系。

img

图1.19 晶体管构成逻辑电路(1)

表1.6 电路实现的逻辑关系(1)

img
img

图1.20 晶体管构成逻辑电路(2)

img

图1.21 晶体管构成逻辑电路(3)

img

图1.22 晶体管构成逻辑电路(4)

img

图1.23 晶体管构成逻辑电路(5)

表1.7 电路实现的逻辑关系(2)

img

表1.8 电路实现的逻辑关系(3)

img

表1.9 电路实现的逻辑关系(4)

img

表1.10 电路实现的逻辑关系(5)

img

1.3.6 逻辑电路符号

数字逻辑电路可以使用若干专用逻辑芯片(如74系列芯片)构建,也可使用可编程逻辑器件(Programmable Logic Device,PLD)构建。前者是基于电路板级的数字系统设计的,后者是基于芯片极的系统设计的。本节将不考虑逻辑电路的具体实现方式,只使用逻辑电路符号来表示逻辑关系。

通过使用逻辑门符号,可以很容易地描述由任何逻辑等式所确定的逻辑电路原理。逻辑输入表示连接到逻辑门的信号。在构建逻辑电路的原理图时,需要确定驱动最终输出信号的逻辑操作(逻辑门),当然也需要明确驱动逻辑电路内部节点的逻辑操作。如果在逻辑等式中需要明确表示逻辑操作的顺序,那么可以在逻辑表达式中通过使用括号实现这一目的。例如,对于逻辑等式“F=A·B+C·B”,图1.24(a)给出的设计使用或门驱动输出信号F,两个与门驱动或门的输入;图1.24(b)给出的设计使用一个三输入的与门驱动F,其中的两个输入直接来自逻辑变量AB,另一个逻辑输入来自变量BC经过逻辑或门后的输出。如果没有使用圆括号,默认优先级由高到低依次按下面顺序排列:与非/与、异或、或非/或,取反。通常地,如果先画输出门,那么由逻辑表达式很容易绘制出电路。

img

图1.24 逻辑等式“F=A·B+C·B”的两种不同表示方式

在逻辑等式中,反相器用来表示在驱动一个逻辑门之前输入信号必须取反。例如,逻辑表达式:

img

在数字逻辑中,逻辑表达式使用符号“·”表示逻辑与关系,使用符号“+”表示逻辑或关系。

在逻辑信号A输入到一个两输入与门之前加上一个非门,逻辑等式也可表示对逻辑功能输出取反。在这种情况下,可以使用一个非门,或使用前面介绍的电路符号表示一个反相的输出(如前面介绍的输出有一个小圆圈的符号)。

如图1.25所示,从原理图去理解逻辑表达式比较直观。驱动输出信号的逻辑门定义了主要的逻辑操作,并且决定了组合等式中其他项的方法。

如图1.26所示,反相器(或者是输出一有个小圆圈的逻辑门)表示要求取反的信号或功能,其作为“下游”门的输出。如图1.27所示,一个逻辑门的输入端添加有一个小圆圈可以认为信号在进入这个门之前取反。

img

图1.25 img的两种不同实现方式

img

图1.26 img

img

图1.27 img

两个“背靠背”的信号取反表示相互抵消。这就是说,如果对一个信号取反,然后在任何使用到这个信号的位置又对该信号再次取反,那么这个电路和同时去掉这两个取反的电路等效。如图1.28所示,两个电路具有等效的逻辑功能,图1.28(b)的电路是简化了的电路,去掉了图1.28(a)信号C上的两个非门,并且在内部节点通过增加取反使所实现的逻辑电路更高效。所以,一个包含4个晶体管的与非门可以用来代替包含6个晶体管的与/或门。

img

图1.28 F=A·B+C·B

思考与练习1-13:请根据下面给出的逻辑表达式画出真值表,并画出其门电路的实现结构。

(1)img

(2)img

(3)img

思考与练习1-14:如图1.29所示,分别写出下面逻辑电路所实现的逻辑表达式。

思考与练习1-15:如图1.30所示,请分别说明下面电路所使用晶体管的数量。

img

图1.29 不同的逻辑电路

img

图1.30 不同的逻辑电路