1、信息与电气工程学院,第二章 逻辑代数与硬件描述语言基础,2.1 逻辑代数,2.2 逻辑函数的卡诺图化简法,2.3 正负逻辑体制,2.4 硬件描述语言Verilog HDL基础,信息与电气工程学院,2.1 逻辑代数基础逻辑代数的基本公式,为分析和设计数字电路提供许多方便。,1. 逻辑代数的基本公式,(1) 变量与常量的关系,0-1律 A0 = 0 A + 1 = 1 自等律 A1 = A A + 0 = A 互补律 AA = 0 A+A = 1,(2) 与普通代数相似的公式,交换律 AB = BA AB = BA 结合律 (AB)C = A(BC) (A + B)+ C = A +(B + C)
2、 分配律 A(B + C) = ABAC A + BC = (A + B)(A + C),证明:A + BC = (A + B)(A + C),信息与电气工程学院,2.1 逻辑代数基础逻辑代数的基本公式,证明:右式 = AA + AC + BA + BC = A + AC + AB + BC= A(1 + AC + AB)+ BC= A + BC = 左式,信息与电气工程学院,2.1 逻辑代数基础逻辑代数的基本公式,(1) 逻辑代数的特殊规律,重叠律 A A = A A + A = A 吸收律 A(A + B) = A A + AB = A 反演律(摩根定律) 还原律(双重否定律),用真值表证
3、明:,证明反演律:,与非=非或 或非=非与,信息与电气工程学院,2.1 逻辑代数基础逻辑代数的基本公式,冗余(多余项)定理,证明:AB +AC + BC = AB +AC + BC(A +A) = AB +AC + ABC +ABC= (AB + ABC) + (AC +ABC) = AB(1+C)+AC (1+B)= AB +AC,两个与项分别包含了一个变量的原变量和反变量,而这两个与项的其余因子构成了第三个与项或为第三个与项的部分因子,则第三个与项是多余的,可以消去,称为冗余定理。,如:AB +AC + BC = AB +AC,信息与电气工程学院,2.1 逻辑代数基础基本规则,逻辑代数的三
4、条基本规则:代入规则、反演规则和对偶规则,(1)代入规则,逻辑代数等式中的某一变量均可用另一个逻辑函数代之,则等式仍成立 。,证:原式左边=AB+(C+D) =AB+A(C+D) =AB+AC+AD原式右边=AB+A(C+D) =AB+AC+AD 所以:左边=右边,优点:基本等式中的某一变量用一逻辑函数代替,扩大了等式的应用范围。,例如:已知等式A(B + E)= AB + AE,若用(C + D)代替E ,则等式仍然成立。,信息与电气工程学院,2.1 逻辑代数基础基本规则,(2) 反演规则,由原函数F 求反函数F (取非)的过程叫反演, 利用摩根定律求反函数F,例如:已知求反F,解:, 反演
5、规则,三变,三变后所得的新的函数式即为F,信息与电气工程学院,2.1 逻辑代数基础基本规则,两不变,(1) 公共非号不变 (2) 原函数运算先后顺序不变(括号乘加),例:,例 :,例 : 解:,例 : 解:,信息与电气工程学院,2.1 逻辑代数基础基本规则,求函数的对偶式F,对函数中的变量:,对偶式F,两不变:(1) 公共非号不变 (2) 原函数运算先后顺序不变,注:求F 时不需要将原变量和反变量互换,(3) 对偶规则,信息与电气工程学院,2.1 逻辑代数基础基本规则,对偶式的意义: 如果两个逻辑函数式相等,则对偶式也相等,只需记忆一半。,A(B+C)=AB+AC,对偶式为,A+BC=(A+B
6、)(A+C),分配律,A (A+B)=A,A+AB=A,吸收律,对偶式为,例如:逻辑函数式A(B+C)=AB+AC和A(A+B)=A,吸收律:在一个与或表达式中,如果一个与项是另一个与项的部分因子,则另一个与项是多余的,可以消去。,信息与电气工程学院,2.1 逻辑代数基础常用公式,逻辑代数的常用公式,两式互为对偶,只证明一个式子即可。 证明:左式 = AB + AB = A(B +B) = A = 右式,(1) AB + AB = A,(A + B)(A +B)= A,(2) A + AB = A;A(A + B) = A (吸收律),证明:A +AB = A(1 + B) = A,(3) A
7、 +AB = A + B;A(A + B) = AB,证明:A +AB = (A + AB) +AB = A + (A +A)B = A + B,信息与电气工程学院,2.1 逻辑代数基础常用公式,(4) AB +AC +BC= AB + AC,推论: AB +AC +BCDE= AB + AC 证明过程见前面的冗余项定理,证明:同理可证明:,(5) 即:,双重否定定律,摩根定律,摩根定律,互补定律,信息与电气工程学院,2.1 逻辑代数基础常用公式,根据异或运算的定义,可证明下列异或运算的公式是正确的: 交换律:A B = B A 结合律:(A B) C = A (B C) 分配律:A(B C)
8、 = AB AC 常量与变量之间的异或运算:A A = 0; A A =1; A 0 = A; A 1 =A,(6) 多变量异或关系:,多变量异或运算中,变量为1的个数为奇数,运算结果为1;多变量异或运算中,变量为1的个数为偶数,运算结果为0,与变量为0的个数无关。,(7) 同或运算:,运算结果与异或运算的结果相反,信息与电气工程学院,2.1 逻辑代数基础逻辑函数的化简,五、逻辑函数的化简,(1)元件少成本低可靠性好; (2)各门输入端少连线少,速度高。,6个3输入与门加一个或门化简成一个二输入的或门,化简,信息与电气工程学院,2.1 逻辑代数基础最简形式,1. 逻辑函数的最简形式,同一逻辑函
9、数可以写成各种不同形式的逻辑表达式。,与或表达式 与非与非表达式 或与非表达式 与或非表达式 与非与表达式 或与表达式 或非或非表达式,信息与电气工程学院,2.1逻辑代数基础 最简形式,例如:同一逻辑表达式的两种不同表达式。,F1=AB+B+AB F2=A+B,显然,F2比F1要简单,实现F2所需要的电子器件要少。,在各种逻辑表达式中,最常用的是与或表达式,本节着重讨论最简与或表达式。,最简与或式应具有,(1) 含的与项最少; (2)与项中含的变量个数最少。,信息与电气工程学院,例1:化简F1。,2.1 逻辑代数基础 化简方法吸收法,2 逻辑函数的代数化简法,利用吸收公式A+AB = A和AB
10、 +AC + BC = AB +AC,消去多余的乘积项。,(1) 吸收法,信息与电气工程学院,例2:化简F1。,2.1 逻辑代数基础 化简方法消去法,利用:A +AB = A + B,消去乘积项中多余的因子,(2) 消去法,例3:化简F2。,信息与电气工程学院,例4:化简F1。,2.1 逻辑代数基础 化简方法并项法,利用公式AB + AB = A将两项合并为一项,(3) 并项法,例5:化简F2。,互补定律,利用,信息与电气工程学院,例6:化简F1。,2.1 逻辑代数基础 化简方法配项法,利用公式A+A = A、A +A=1、AA = 0、AA = 0、AB +AC + BC = AB +AC
11、增设BC项化简。,(4) 配项法,信息与电气工程学院,例1-7:化简F1。,增加冗余项BCD,2.1 逻辑代数基础 化简方法综合运用,运用基本规则和常用公式进行化简,化简法综合运用,再加一个BCD,利用A + AB = A,利用A +AB = A + B,信息与电气工程学院,例1-8:化简逻辑函数F 1= AB + BC +BC + AB 方法1:方法2:,2.1 逻辑代数基础 化简方法综合运用,运用基本规则和常用公式进行化简,化简法综合运用,信息与电气工程学院,2.1 逻辑代数基础 化简方法小结,代数化简的特点 1.逻辑函数化简的结果有时不唯一; 2.不受变量数目的限制;(优点) 3.无一定
12、规律可循,需要熟练运用公式,有时难以判断化简结果是否最简;(缺点),代数化简小结,图形化简法卡诺图化简法,利用卡诺图可以简便、直观地化简函数,容易判断是否得到最简与或表达式,与代数法相比,无需记住大量公式,也不存在化简路径,所以广泛应用于数字逻辑电路的分析和设计中。,第3次作业: 1-10F4、F5、F8 ; 1-11F3; 1-12F3; 1-13。,信息与电气工程学院,2.2 逻辑代数基础 化简方法卡诺图化简法,卡诺图 :将逻辑函数的最小项按一定规则排列起来构成的小方格图。,1.逻辑函数的最小项及最小项表达式,(1) 最小项的定义,所有变量以原变量或反变量的组合形式出现一次且仅出现一次,称
13、这个与项为最小项。,例:二变量A、B 的最小项:三变量A、B、C最小项:n 个变量,有 2n个最小项。,信息与电气工程学院,2.2 逻辑代数基础 化简方法卡诺图化简法,(2) 最小项编码,以变量取值组合为编号。,最小项编号,用mi表示:转换为对应的十进制数的值就是该最小项的编码表示号。,以二变量为例,原变量取值为1,反变量取值为0。,如:三变量:,四变量:,注:提到最小项时,一定要说明变量的数目,否则这一术语将失去意义。,如:ABC对三个变量是最小项,对四变量则不是,信息与电气工程学院,2.2 逻辑代数基础 化简方法卡诺图化简法,(3) 最小项的性质,二变量最小项真值表:,全体最小项的逻辑和
14、即:,每一最小项仅有一组变量取值为一;,取值后任意两最小项之积为0;, n 个变量,有 2n个最小项;,信息与电气工程学院,2.2逻辑代数基础 化简方法卡诺图化简法,2. 最小项表达式,(1)任何一个逻辑函数都可以表示成若干个最小项之和(与或表达式),例:三变量真值表见左,写出其最小项表达式,= m3 + m5 + m6 + m7,F(A、B、C) = m3 (3,5,6,7) 式中:表示连加,3表示3个变量。,信息与电气工程学院,2.2 逻辑代数基础 化简方法卡诺图化简法,(2)任何逻辑函数式可以化为最小项之和表达式,例:将逻辑函数F展开为最小项,解:表示成与或式,补齐变量(利用 ),信息与
15、电气工程学院,2.2 逻辑代数基础 化简方法卡诺图的画法,(1)卡诺图的画法,3. 卡诺图化简逻辑函数,卡诺图的构成,n 变量卡诺图画 2n个小方格,将变量或变量取值标在方格外,但变量排列顺序一定按任意相邻两行或两列仅有一个变量不同。, 二变量卡诺图,二个变量A,B有22 = 4个最小项,分别是: m0=AB,m1=AB,m2=AB,m3 = AB,对应四个小方格,如下图:,信息与电气工程学院,2.2 逻辑代数基础 化简方法卡诺图的画法, 三变量卡诺图,三个变量:A、B、C 最小项数:23=8, 四变量:24 = 16,信息与电气工程学院,2.2 逻辑代数基础 化简方法卡诺图的画法, 五变量
16、25 = 32,信息与电气工程学院,2.2 逻辑代数基础 化简方法卡诺图的画法,(2) 卡诺图的性质, n变量,2n个小方格 。每个小方格放入一个最小项。,相邻性 :两个最小项除一变量取值互补外,其它变量均相同。,(3)用卡诺图化简逻辑函数的步骤和方法,方法:将函数中包含的最小项在卡诺图中填1,没有的项填0,最后得函数卡诺图。,用卡诺图表示逻辑函数,信息与电气工程学院,2.2 逻辑代数基础 化简方法卡诺图的画法,方法:将函数中包含的最小项在卡诺图中填1,没有的项填0,最后得函数卡诺图。,已知函数真值表画卡诺图,函数值为0或1,直接填入对应方格中,信息与电气工程学院,2.2 逻辑代数基础 化简方
17、法圈图原则, 圈卡诺图,圈卡诺图的原则,小方格可重复包围,但每圈一次定要有新方格圈入。,图1,信息与电气工程学院,2.2 逻辑代数基础 化简方法圈图原则,每个包围圈必须是最大圈(才能化最简式)。,图2中F3不是最大圈。F3应包围m1、m3 、 m9、m11四个最小项。,信息与电气工程学院,2.2 逻辑代数基础 化简方法圈图原则, 包围圈应是必要圈而不是多余圈,圈中最小项已被使用过,信息与电气工程学院,2.2 逻辑代数基础 化简方法圈图原则, 所有1值方格均画出包围圈以保证函数值不变,信息与电气工程学院,每个包围圈中最小项合并成一项,由相邻性:被圈两项合并为一项,消去一个变量。被圈四项合并为一项
18、,消去两个变量。被圈八项合并为一项,消去三个变量。被圈十六项合并为一项,消去四个变量。,2.2 逻辑代数基础 化简方法圈图原则, 读卡诺图,各包围圈合并项相加。,总之:2i个相邻最小项合并后,可消去i个变量 。,信息与电气工程学院,2.2 逻辑代数基础 化简方法圈图实例,例1-9:化简,信息与电气工程学院,2.2 逻辑代数基础 化简方法圈图原则,例1-10:化简 化成标准的与-或式,解,用 补最小项,信息与电气工程学院,2.2 逻辑代数基础 化简方法无关项化简,(1)无关项的逻辑函数的定义,4.具有无关项的逻辑函数的化简,无关项,逻辑函数中不会出现的变量取值组合所对应的最小项称无关项(或任意项
19、,约束项)。,例:某电动机设变量 正转 反转 停止A B C,则ABC取值只能是100、010、001,而不能取值的有000、011、101、110、111这些项恒等于0,具有无关项的逻辑函数的表示表示法,F = m( ) + d( ) 最小项 无关项,信息与电气工程学院,2.2 逻辑代数基础 化简方法无关项化简,(2) 具有无关项的逻辑函数的化简,无关项根本不会出现.所以无关项对应的逻辑值可0可1,根据需要定。利用无关项,力争圈尽量大。,例如对: 化简相应方格填1 相应方格填X,信息与电气工程学院,2.3 正负逻辑的逻辑符号的变换 逻辑符号,(1) 正负逻辑的逻辑符号,由前面分析可知,数字电
20、路的两种状态高电平和低电平状态可分别用二进制的0和1表示。形成了两种逻辑体制,正逻辑和负逻辑。,正逻辑,逻辑1表示高电平,逻辑0表示低电平,负逻辑,逻辑0表示高电平,逻辑1表示低电平,混合逻辑,同时采用两种逻辑体制,数字电路中无特殊说明,通常都取正逻辑体制。,信息与电气工程学院,2.3 正负逻辑的逻辑符号的变换 逻辑符号,同一逻辑电路,在不同的逻辑体制下,逻辑功能是完全不同的。,信息与电气工程学院,2.3 正负逻辑的逻辑符号的变换 逻辑变换,(2) 正负逻辑变换,正负逻辑互为对偶关系,可用摩根定理进行转换。,符号等效变换见P37表120,例如:设一个“正”与门:F=AB则: 为负“或”门既将同
21、一个电路的输入输出均取非“1”、“0”将有:正逻辑 负逻辑,信息与电气工程学院,图1-4-1 一条线的两端同时消去小圆圈,2.3 正负逻辑的逻辑符号的变换逻辑变换, 小圆圈为非号,一条线上的两端同时加或减去圈,关系不变,如下图.,(3) 逻辑符号的等效变换应遵循的几个原则, 任一条线一端的圈移到另一端上,其逻辑关系不变,如1-4-2,图1-4-2 一条线上的小圆圈从一端移到另一端,信息与电气工程学院,图1-4-3 一条线的两端同时消去小圆圈,2.3 正负逻辑的逻辑符号的变换逻辑变换, 在输入输出线上一端加上或者消去小圆圈,同时将加圈的门若是与门改成或门,或门则改成与门,逻辑关系不变,如图1-4
22、-3所示.,图1-4-4 或门输入、输出同时取反,&,&,A,B,F, 在输入输出线上一端加上或者消去小圆圈,同时将相应变量取反(即原变量变反变量,反变量变原变量),逻辑关系不变,如图1-4-3所示.,信息与电气工程学院,2.3 逻辑代数基础基本规则,作业: 1-15 F2、F3、 1-19 F3、F7.、F8,信息与电气工程学院,2.4 硬件描述语言Verilog HDL基础,2.4.1 Verilog语言的基本语法规则2.4.2 变量的数据类型2.4.3 Verilog程序的基本结构2.4.4 逻辑功能的仿真与测试,信息与电气工程学院,2.4 硬件描述语言Verilog HDL基础,Wha
23、t is Verilog,Hardware Description Language (HDL) Developed in 1984 Standard: IEEE 1364, Dec 1995,信息与电气工程学院,2.4 硬件描述语言Verilog HDL基础,Application Areas of Verilog,信息与电气工程学院,2.4 硬件描述语言Verilog HDL基础,Verilog HDL vs. VHDL,VHDL “V” is short for Very High Speed Integrated Circuits. Designed for and sponsored
24、 by US Department of Defense. Designed by committee (1981-1985). Syntax based on Ada programming language. Was made an IEEE Standard in 1987. Verilog HDL (VHDL) Was introduced in 1985 by Gateway Design System Corporation, now a part of Cadence Design Systems, Inc.s Systems Division. Was made an IEEE
25、 Standard in 1995 Syntax based on C programming language.,信息与电气工程学院,2.4 硬件描述语言Verilog HDL基础,硬件描述语言HDL(Hardware Description Languag ) 类似于高级程序设计语言.它是一种以文本形式来描述数字系统硬件的结构和行为的语言,用它可以表示逻辑电路图、逻辑表达式,复杂数字逻辑系统所的逻辑功能。HDL是高层次自动化设计的起点和基础.,信息与电气工程学院,2.4 硬件描述语言Verilog HDL基础,逻辑仿真 是指用计算机仿真软件对数字逻辑电路的结构和行为进行预测.仿真器对HDL
26、描述进行解释,以文本形式或时序波形图形式给出电路的输出。在仿真期间如发现设计中存在错误,就再要对HDL描述进行及时的修改。,逻辑综合 是指从HDL描述的数字逻辑电路模型中导出电路基本元件列表以及元件之间的连接关系(常称为门级网表)的过程。类似对高级程序语言设计进行编译产生目标代码的过程.产生门级元件及其连接关系的数据库,根据这个数据库可以制作出集成电路或印刷电路板PCB。,计算机对HDL的处理:,信息与电气工程学院,2.4.1 Verilog语言的基本语法规则,为对数字电路进行描述(常称为建模),Verilog语言规定了一套完整的语法结构。,1间隔符: Verilog 的间隔符主要起分隔文本的
27、作用,可以 使文本错落有致,便于阅读与修改。间隔符包括空格符(b)、TAB 键(t)、换行符(n)及换页符。,2注释符:注释只是为了改善程序的可读性,在编译时不起作用。多行注释符(用于写多行注释): /* - */;单行注释符 :以/开始到行尾结束为注释文字。,信息与电气工程学院,2.4.1 Verilog语言的基本语法规则,为了表示数字逻辑电路的逻辑状态,Verilog语言规定了4种基本的逻辑值。,标识符:给对象(如模块名、电路的输入与输出端口、变量等)取名所用的字符串。以英文字母或下划线开始 如,clk、counter8、_net、bus_A 。 关键词:是Verilog语言本身规定的特殊
28、字符串,用来定义语言的结构。例如,module、endmodule、input、output、wire、reg、and等都是关键词。关键词都是小写,关键词不能作为标识符使用 。,4逻辑值集合,3标识符和关键词,信息与电气工程学院,2.4.1 Verilog语言的基本语法规则,5常量及其表示,实数型常量,Verilog允许用参数定义语句定义一个标识符来代表一个常量,称为符号常量。定义的格式为: parameter 参数名1常量表达式1,参数名2常量表达式, ;如 parameter BIT=1, BYTE=8, PI=3.14;,6字符串:字符串是双撇号内的字符序列,常量,整数型,例如:3b10
29、1、5o37、8he3,8b1001_0011,信息与电气工程学院,2.4.2 变量的数据类型,1.线网类型:是指输出始终根据输入的变化而更新其值的变量,它一般指的是硬件电路中的各种物理连接.,例:wire L; /将上述电路的输出信号L声明为网络型变量wire 7:0 data bus; /声明一个8-bit宽的网络型总线变量,信息与电气工程学院,2.4.2 变量的数据类型,寄存器型变量对应的是具有状态保持作用的电等路元件,如触发器寄存器。寄存器型变量只能在initial或always内部被赋值。,2.寄存器型,4种寄存器类型的变量,例:reg clock;/定义一个1位寄存器变量reg 3
30、:0 counter; /定义一个4位寄存器变量,信息与电气工程学院,2.4.3 Verilog程序的基本结构,2、每个模块先要进行端口的定义,并说明输入(input)和输出(output),然后对模块功能进行描述。,Verilog使用大约100个预定义的关键词定义该语言的结构,1、VerilogHDL程序由模块构成。每个模块的内容都是嵌在关键词module和endmodule两个语句之间。每个模块实现特定的功能。,3、除了endmodule语句外,每个语句后必须有分号。,4、可以用/* - */和/对VerilogHDL程序的任何部分做注释。,信息与电气工程学院,模块定义的一般语法结构如下:
31、,2.4.3 Verilog程序的基本结构,信息与电气工程学院,模块名,数据类型说明,例 用结构描述方式建立门电路Verilog模型,/Gate-level description of simple circuit module mux2to1(a, b, sel, out);input a, b, sel; /定义输入信号output out; /定义输出信号wire selnot, a1, b1 ; /定义内部节点信号数据类型 /下面对电路的逻辑功能进行描述not U1(selnot, sel); and U2(a1, a, selnot);and U3(b1, b, sel);or U4(out, a1, b1); endmodule,2.4.3 Verilog程序的基本结构,信息与电气工程学院,2.3.4 逻辑功能的仿真与测试,逻辑电路的设计块完成后,就要测试这个设计块描述的逻辑功能是否正确。为此必须在输入端口加入测试信号,而从其输出端口检测其结果是否正确,这一过程常称为搭建测试平台。根据仿真软件的不同,搭建测试平台的方法也不同。,