
课题名称逻辑代数与硬件描述语言基础目的要求1、掌握逻辑代数常用基本定律、恒等式和规则;2、掌握逻辑代数的变换和卡诺图化简法;3、了解硬件描述语言VerilogHDL。教学内容2.1逻辑代数逻辑代数又称布尔代数。它是分析和设计现代数字逻辑电路不可缺少的数学工具。逻辑代数有一系列的定律、定理和规则,用于对数学表达式进行处理,以完成对逻辑电路的化简、变换、分析和设计。逻辑关系指的是事件产生的条件和结果之间的因果关系。在数字电路中往往是将事情的条件作为输入信号,而结果用输出信号表示。条件和结果的两种对立状态分别用逻辑“1”和“0”表示。一、逻辑代数的基本定律和恒等式0、1律:A+0=AA·0=0A+1=1A-1=A互补律:A+A=1 -A·A=0交换律:A·B=B·AA+B=B+A结合律:A+B+ C=(A+ B)+ CAB-C=(A·B)·C分配律:A(B+C)=AB+ACA+BC=(A+B)(A+C)A+A=AAA=A重叠律:A+A:B=AA·(A+B)A吸收律(A+ B)-(A+C)=A+ BCA+A.B=A+B二、逻辑代数的基本规则1、代入规则在包含变量A逻辑等式中,如果用另一个函数式代入式中所有A的位置,则等式仍然成立。这一规则称为代入规则。例:B (A +C)=BA+BC,用A+D代替A,得
课题名称 逻辑代数与硬件描述语言基础 目的要求 1、掌握逻辑代数常用基本定律、恒等式和规则; 2、掌握逻辑代数的变换和卡诺图化简法; 3、了解硬件描述语言 Verilog HDL。 教学内容 2.1 逻辑代数 逻辑代数又称布尔代数。它是分析和设计现代数字逻辑电路不可缺少的数学 工具。逻辑代数有一系列的定律、定理和规则,用于对数学表达式进行处理,以 完成对逻辑电路的化简、变换、分析和设计。 逻辑关系指的是事件产生的条件和结果之间的因果关系。在数字电路中往往 是将事情的条件作为输入信号,而结果用输出信号表示。条件和结果的两种对立 状态分别用逻辑“1” 和“0”表示。 一、逻辑代数的基本定律和恒等式 二、逻辑代数的基本规则 1、代入规则 在包含变量 A 逻辑等式中,如果用另一个函数式代入式中所有 A 的位置,则 等式仍然成立。这一规则称为代入规则。 例:B (A + C) = BA+BC, 用 A + D 代替 A,得 0、1律: A + 0 = A A + 1 = 1 A · 1 = A A · 0 = 0 互补律: A + A = 1 A · A = 0 交换律: A + B = B + A A · B = B · A 结合律: A + B + C = (A + B) + C A · B · C = (A · B) · C 分配律: A ( B + C ) = AB + AC A + BC = ( A + B )( A + C ) 重叠律: A + A = A A · A = A A A B A B + + = ( ) ( ) A B A C A BC + + + = A+ A B=A A A B A + ( )= 吸收律

B [(A +D) +C)= B(A +D) + BC =BA + BD + BC代入规则可以扩展所有基本公式或定律的应用范围2、反演规则:对于任意一个逻辑表达式L,若将其中所有的与(·)换成或(+),或(+)换成与(·):原变量换为反变量,反变量换为原变量;将1换成0,0换成1;则得到的结果就是原函数的反函数。例2.1.1试求L=AB+CD+0的非函数。解:按照反演规则,得L =(A+ B)-(C + D)-1 =(A+ B)(C + D)3.对偶规则对于任何逻辑函数式,若将其中的与(·)换成或(+),或(+)换成与(·);并将1换成0,0换成1;那么,所得的新的函数式是L的对偶式,记作L。例:逻辑函数=(A+B)(A+C)的对偶式。解:其对偶式为:L'=AB+AC当某个逻辑恒等式成立时,则该恒等式两侧的对偶式也相等。这就是对偶规则。利用对偶规则,可从已知公式中得到更多的运算公式,例如,吸收律三、逻辑函数的代数法化简1、逻辑函数的最简与-或表达式在若干个逻辑关系相同的与-或表达式中,将其中包含的与项数最少,且每个与项中变量数最少的表达式称为最简与-或表达式。“与-或”表达式L=AC+CD“与非-与非”表达式-AC.CD“或-与”表达式=(A+C)(C+D)“或非一或非”表达式=(A+C)+(C+D)“与-或-非”表达式= AC+CD2、逻辑函数的化简方法化简的主要方法:●公式法(代数法):运用逻辑代数的基本定律和恒等式进行化简的方法·图解法(卡诺图法)例:已知逻辑函数表达式为L=ABD+AB D+ABD+A BCD+ABCD要求:(1)最简的与-或逻辑函数表达式,并画出相应的逻辑图;(2)仅用与非门画出最简表达式的逻辑图。解: L= ABD+AB D+ ABD+AB CD+A BCD&=AB+ABD+ABD= AB+AB(D+D)
代入规则可以扩展所有基本公式或定律的应用范围 2、反演规则: 对于任意一个逻辑表达式 L,若将其中所有的与(• )换成或(+),或(+) 换成与(•);原变量换为反变量,反变量换为原变量;将 1 换成 0,0 换成 1;则 得到的结果就是原函数的反函数。 解:按照反演规则,得 3. 对偶规则 对于任何逻辑函数式,若将其中的与(• )换成或(+),或(+)换成与(•); 并将1换成0,0换成1;那么,所得的新的函数式是L的对偶式,记作 L ‘ 。 例: 逻辑函数 的对偶式。 解:其对偶式为: 当某个逻辑恒等式成立时,则该恒等式两侧的对偶式也相等。这就是对偶规则。 利用对偶规则,可从已知公式中得到更多的运算公式,例如,吸收律 三、逻辑函数的代数法化简 1、逻辑函数的最简与-或表达式 在若干个逻辑关系相同的与-或表达式中,将其中包含的与项数最少,且 每个与项中变量数最少的表达式称为最简与-或表达式。 “与-或” 表达式 “与非-与非”表达式 “或-与”表达式 “或非-或非” 表达式 “与-或-非”表达式 2、逻辑函数的化简方法 化简的主要方法: ⚫ 公式法(代数法):运用逻辑代数的基本定律和恒等式进行化简的方法 ⚫ 图解法(卡诺图法) 例:已知逻辑函数表达式为 L ABD A B D ABD A B CD A BCD = + + + + 要求:(1)最简的与-或逻辑函数表达式,并画出相应的逻辑图; (2)仅用与非门画出最简表达式的逻辑图。 解: L ABD A B D ABD A B CD A BCD = + + + + 例 L = AB +CD + 0 2.1.1 试求 L = (A+ B)(C + D)1 = (A+ B)(C + D) L AB AC = + B [(A +D) +C ] = B(A +D) + BC = BA + BD + BC 的非函数。 L A B A C = + + ( )( ) L = AC +C D = A C C D = ( A+C )(C + D) = ( A+ C )+ (C+D ) = AC + CD =AB+ ABD + ABD = AB+ AB(D+ D) B A L AB A B & & & & &

=AB+AB=AB+AB=AB.AB例:试对逻辑函数表达式L=ABC+ABC进行变换,仅用或非门画出该表达式的逻辑图。解:L=ABC+ABCA+B+C-ABC+ABCB=A+B+C+A+B+C1+B+C=A+B+C+A+B+C2.2逻辑函数的卡诺图化简法一、最小项的定义及其性质1、最小项n个变量X1,X2,…,Xn的最小项是n个因子的乘积,每个变量都以它的原变量或非变量的形式在乘积项中出现,且仅出现一次。一般n个变量的最小项应有2n个。例如,A、B、C三个逻辑变量的最小项有(23=)8个,即ABC、ABC、ABC、ABC、ABC、ABC、ABC、ABC2、最小项的性质对于任意一个最小项,只有一组变量取值使得它的值为1;对于变量的任一组取值,任意两个最小项的乘积为0;对于变量的任一组取值,全体最小项之和为1。3、最小项的编号最小项的表示:通常用mi表示最小项,m表示最小项,下标i为最小项号。二、逻辑函数的最小项表达式逻辑函数的最小项表达式:L(ABC)= ABC + ABC + ABC + ABC为“与或”逻辑表达式;在“与或”式中的每个乘积项都是最小项。L(A. B.C)= AB+ AC例1将化成最小项表达式L(A,B,C)= AB(C +C)+ A(B + B)C= ABC+ ABC+ABC+ ABC= m7+m6+m3+m5
例: 试对逻辑函数表达式 进行变换,仅用或非 门画出该表达式的逻辑图。 解: 2.2 逻辑函数的卡诺图化简法 一、最小项的定义及其性质 1、最小项 n 个变量 X1, X2, ., Xn 的最小项是 n 个因子的乘积,每个变量都以它 的原变量或非变量的形式在乘积项中出现,且仅出现一次。一般 n 个变量的最小 项应有 2n 个。 例如,A、B、C 三个逻辑变量的最小项有(23=)8 个,即 2、最小项的性质 对于任意一个最小项,只有一组变量取值使得它的值为 1; 对于变量的任一组取值,任意两个最小项的乘积为 0; 对于变量的任一组取值,全体最小项之和为 1。 3、最小项的编号 最小项的表示:通常用 mi 表示最小项,m 表示最小项,下标 i 为最小项号。 二、逻辑函数的最小项表达式 逻辑函数的最小项表达式: 为“与或”逻辑表达式; 在“与或”式中的每个乘积项都是最小项。 = m7+m6+m3+m5 L ABC ABC ABC ABC ABC ( ) = + + + 例1 将 L A B C AB AC ( , , ) = + 化成最小项表达式 ABC ABC ABC ABC ABC ABC ABC ABC 、 、 、 、 、 、 、 = AB+ AB = AB+ AB = AB AB L = ABC + ABC L = ABC + ABC = ABC + ABC = A+ B + C + A+ B + C = A+ B + C + A+ B + C B L ≥1 A+ B + C ≥1 ≥ 1 A C A+ B + C ≥1 ≥1 ≥1 L A B C AB C C A B B C ( , , ) ( ) ( ) = + + + = + + + ABC ABC ABC ABC

Zm(7, 6, 3, 5)三、用卡诺图表示逻辑函数1、卡诺图的引出卡诺图:将n变量的全部最小项都用小方块表示,并使具有逻辑相邻的最小项在几何位置上也相邻地排列起来,这样,所得到的图形叫Ⅱ变量的卡诺图。逻辑相邻的最小项:如果两个最小项只有一个变量互为反变量,那么,就称这两个最小项在逻辑上相邻。2、卡诺图的特点:各小方格对应于各变量不同的组合,而且上下左右在几何上相邻的方格内只有一个因子有差别,这个重要特点成为卡诺图化简逻辑函数的主要依据。3.已知逻辑函数画卡诺图当逻辑函数为最小项表达式时,在卡诺图中找出和表达式中最小项对应的小方格填上1,其余的小方格填上0(有时也可用空格表示),就可以得到相应的卡诺图。任何逻辑函数都等于其卡诺图中为1的方格所对应的最小项之和。例:画出逻辑函数L(A,B,C,D)=m(0,1,2,3,4,8,10,11,14,15)的卡诺图CCD00011110AB110011010100110101111110011四、用卡诺图化简逻辑函数1、化简的依据2、化简的步骤(1)将逻辑函数写成最小项表达式(2)按最小项表达式填卡诺图,凡式中包含了的最小项,其对应方格填1,其余方格填0。(3)合并最小项,即将相邻的1方格圈成一组(包围圈),每一组含2n个方格:对应每个包围圈写成一个新的乘积项。本书中包围圈用虚线框表示。(4)将所有包围圈对应的乘积项相加。画包围圈时应遵循的原则:(1)包围圈内的方格数一定是2n个,且包围圈必须呈矩形。(2)循环相邻特性包括上下底相邻,左右边相邻和四角相邻。(3)同一方格可以被不同的包围圈重复包围多次,但新增的包围圈中一定要有原有包围圈未曾包围的方格。(4)一个包围圈的方格数要尽可能多,包围圈的数目要可能少。CP001ABm0011110111mia11.0
三、用卡诺图表示逻辑函数 1、卡诺图的引出 卡诺图:将 n 变量的全部最小项都用小方块表示,并使具有逻辑相邻的最小 项在几何位置上也相邻地排列起来,这样,所得到的图形叫 n 变量的卡诺图。 逻辑相邻的最小项:如果两个最小项只有一个变量互为反变量,那么,就称 这两个最小项在逻辑上相邻。 2、卡诺图的特点: 各小方格对应于各变量不同的组合,而且上下左右在几何上相邻的方格内只 有一个因子有差别,这个重要特点成为卡诺图化简逻辑函数的主要依据。 3. 已知逻辑函数画卡诺图 当逻辑函数为最小项表达式时,在卡诺图中找出和表达式中最小项对应的小 方格填上 1,其余的小方格填上 0(有时也可用空格表示),就可以得到相应的卡 诺图。任何逻辑函数都等于其卡诺图中为 1 的方格所对应的最小项之和。 例:画出逻辑函数 L(A, B, C, D)= m(0, 1, 2, 3, 4, 8, 10, 11, 14, 15)的 卡诺图 四、用卡诺图化简逻辑函数 1、化简的依据 2、化简的步骤 (1) 将逻辑函数写成最小项表达式 (2) 按最小项表达式填卡诺图,凡式中包含了的最小项,其对应方格填 1,其 余方格填 0。 (3) 合并最小项,即将相邻的 1 方格圈成一组(包围圈),每一组含 2n 个方格, 对应每个包围圈写成一个新的乘积项。本书中包围圈用虚线框表示。 (4) 将所有包围圈对应的乘积项相加。 ⚫ 画包围圈时应遵循的原则: (1)包围圈内的方格数一定是 2n 个,且包围圈必须呈矩形。 (2)循环相邻特性包括上下底相邻,左右边相邻和四角相邻。 (3)同一方格可以被不同的包围圈重复包围多次,但新增的包围圈中一定要有 原有包围圈未曾包围的方格。 (4) 一个包围圈的方格数要尽可能多,包围圈的数目要可能少。 =m , , (7, 6 3 5) 1 1 1 1 1 0 0 0 0 0 1 1 1 0 1 1 00 01 11 10 CD 00 01 11 10 AB L m0 m1 m3 m2 m4 m5 m7 m6 m12 m13 m15 m14 m8 m9 m11 m10 00 01 11 10 AB CD 00 01 11 10

例:用卡诺图法化简下列逻辑函数L(A,B,C,D)=Zm (0, 2, 5,7,8,10,13,15)五、含无关项的逻辑函数及其化简1、什么叫无关项:在真值表内对应于变量的某些取值下,函数的值可以是任意的,或者这些变量的取值根本不会出现,这些变量取值所对应的最小项称为无关项或任意项。在含有无关项逻辑函数的卡诺图化简中,它的值可以取0或取1,具体取什么值,可以根据使函数尽量得到简化而定。例:要求设计一个逻辑电路,能够判断一位十进制数是奇数还是偶数,当十进制数为奇数时,电路输出为1,当十进制数为偶数时,电路输出为0。解:(1)列出真值表(2)画出卡诺图(3)卡诺图化简
例 :用卡诺图法化简下列逻辑函数 五、含无关项的逻辑函数及其化简 1、什么叫无关项: 在真值表内对应于变量的某些取值下,函数的值可以是任意的,或者这些变 量的取值根本不会出现,这些变量取值所对应的最小项称为无关项或任意项。 在含有无关项逻辑函数的卡诺图化简中,它的值可以取 0 或取 1,具体取什 么值,可以根据使函数尽量得到简化而定。 例: 要求设计一个逻辑电路,能够判断一位十进制数是奇数还是偶数,当十进制 数为奇数时,电路输出为 1,当十进制数为偶数时,电路输出为 0。 解: (1)列出真值表 (2)画出卡诺图 (3) 卡诺图化简 L( A,B,C,D ) = m (0,2,5,7,8,10,13,15)

LABCD000001000100010100110010010101001101011101000-110011010x0×××1X1011x01×|×D1001x1101+L=D1110X1111x2.3硬件描述语言VerilogHDL基础硬件描述语言HDL(HardwareDescriptionLanguag)类似于高级程序设计语言.它是一种以文本形式来描述数字系统硬件的结构和行为的语言,用它可以表示逻辑电路图、逻辑表达式,复杂数字逻辑系统所的逻辑功能。HDL是高层次自动化设计的起点和基础.·计算机对HDL的处理逻辑仿真是指用计算机仿真软件对数字逻辑电路的结构和行为进行预测.仿真器对HDL描述进行解释,以文本形式或时序波形图形式给出电路的输出。在仿真期间如发现设计中存在错误,就再要对HDL描述进行及时的修改
2.3 硬件描述语言 Verilog HDL 基础 硬件描述语言 HDL(Hardware Description Languag )类似于高级程序设计语 言.它是一种以文本形式来描述数字系统硬件的结构和行为的语言,用它可以表示 逻辑电路图、逻辑表达式,复杂数字逻辑系统所的逻辑功能。HDL 是高层次自 动化设计的起点和基础. ⚫ 计算机对 HDL 的处理 逻辑仿真 是指用计算机仿真软件对数字逻辑电路的结构和行为进行预测.仿真 器对 HDL 描述进行解释,以文本形式或时序波形图形式给出电路的输出。在仿 真期间如发现设计中存在错误,就再要对 HDL 描述进行及时的修改。 1111 1110 1101 1001 1011 1010 1001 1 1000 0 0111 1 0110 0 0101 1 0100 0 0011 1 0010 0 0001 1 0000 0 ABCD L 0 1 1 0 0 1 1 0 × × × × 0 1 × × L C D A B L D=

逻辑综合是指从HDL描述的数字逻辑电路模型中导出电路基本元件列表以及元件之间的连接关系(常称为门级网表)的过程。类似对高级程序语言设计进行编译产生目标代码的过程.产生门级元件及其连接关系的数据库,根据这个数据库可以制作出集成电路或印刷电路板PCB。一、Verilog语言的基本语法规则1.间隔符Verilog的间隔符主要起分隔文本的作用,可以使文本错落有致,便于阅读与修改。间隔符包括空格符(Ib)、TAB键(It)、换行符(In)及换页符。2.注释符注释只是为了改善程序的可读性,在编译时不起作用。多行注释符(用于写多行注释):/*--*/;单行注释符:以//开始到行尾结束为注释文字。3.标识符和关键词标识符:给对象(如模块名、电路的输入与输出端口、变量等)取名所用的字符串。以英文字母或下划线开始如,clk、counter8、_net、bus_A。关键词:是Verilog语言本身规定的特殊字符串,用来定义语言的结构。例如,module、endmodule、input、output、wire、reg、and等都是关键词。关键词都是小写,关键词不能作为标识符使用。4.逻辑值集合为了表示数字逻辑电路的逻辑状态,Verilog语言规定了4种基本的逻辑值二、变量的数据类型1、线网类型是指输出始终根据输入的变化而更新其值的变量,它一般指的是硬件电路中的各种物理连接2、寄存器型寄存器型变量对应的是具有状态保持作用的电等路元件如触发器寄存器。寄存器型变量只能在initial或always内部被赋值。三、Verilog程序的基本结构Verilog使用大约100个预定义的关键词定义该语言的结构1、VerilogHDL程序由模块构成。每个模块的内容都是嵌在关键词module和endmodule两个语句之间。每个模块实现特定的功能。2、每个模块先要进行端口的定义,并说明输入(input)和输出(output),然后对模块功能进行描述。3、除了endmodule语句外,每个语句后必须有分号。4、可以用/*---*/和/l...对VerilogHDL程序的任何部分做注释。四、逻辑功能的仿真与测试逻辑电路的设计块完成后,就要测试这个设计块描述的逻辑功能是否正确。为此必须在输入端口加入测试信号,而从其输出端口检测其结果是否正确,这一过程常称为搭建测试平台。根据仿真软件的不同,搭建测试平台的方法也不同。本章小结·逻辑代数的基本规则和基本定律;·逻辑代数的化简法:公式法和卡诺图法;·硬件描述语言的基础知识
逻辑综合 是指从 HDL 描述的数字逻辑电路模型中导出电路基本元件列表以及 元件之间的连接关系(常称为门级网表)的过程。类似对高级程序语言设计进行 编译产生目标代码的过程.产生门级元件及其连接关系的数据库,根据这个数据 库可以制作出集成电路或印刷电路板 PCB。 一、Verilog 语言的基本语法规则 1.间隔符 Verilog 的间隔符主要起分隔文本的作用,可以使文本错落有致,便于阅读 与修改。间隔符包括空格符(\b)、TAB 键(\t)、换行符(\n)及换页符。 2.注释符 注释只是为了改善程序的可读性,在编译时不起作用。多行注释符(用于写 多行注释): /* - */;单行注释符 :以//开始到行尾结束为注释文字。 3.标识符和关键词 标识符:给对象(如模块名、电路的输入与输出端口、变量等)取名所用的字 符串。以英文字母或下划线开始如,clk、counter8、_net、bus_A 。关键词:是 Verilog 语言本身规定的特殊字符串,用来定义语言的结构。例如,module、endmodule、 input、output、wire、reg、and 等都是关键词。关键词都是小写,关键词不能作为 标识符使用 。 4.逻辑值集合 为了表示数字逻辑电路的逻辑状态,Verilog 语言规定了 4 种基本的逻辑值 二、 变量的数据类型 1、线网类型 是指输出始终根据输入的变化而更新其值的变量,它一般指的是硬件电路中 的各种物理连接. 2、寄存器型 寄存器型变量对应的是具有状态保持作用的电等路元件,如触发器寄存器。 寄存器型变量只能在 initial 或 always 内部被赋值。 三、Verilog 程序的基本结构 Verilog 使用大约 100 个预定义的关键词定义该语言的结构 1、 VerilogHDL 程序由模块构成。每个模块的内容都是嵌在关键词 module 和 endmodule 两个语句之间。每个模块实现特定的功能。 2、每个模块先要进行端口的定义,并说明输入(input)和输出(output),然后对模 块功能进行描述。 3、除了 endmodule 语句外,每个语句后必须有分号。 4、可以用/* - */和//.对 VerilogHDL 程序的任何部分做注释。 四、逻辑功能的仿真与测试 逻辑电路的设计块完成后,就要测试这个设计块描述的逻辑功能是否正确。 为此必须在输入端口加入测试信号,而从其输出端口检测其结果是否正确,这一 过程常称为搭建测试平台。根据仿真软件的不同,搭建测试平台的方法也不同。 本章小结 ⚫ 逻辑代数的基本规则和基本定律; ⚫ 逻辑代数的化简法:公式法和卡诺图法; ⚫ 硬件描述语言的基础知识