电子技术基础 数字部分(第六版) 康华光第2章逻辑代数与硬件描述语言基础共5节_第1页
电子技术基础 数字部分(第六版) 康华光第2章逻辑代数与硬件描述语言基础共5节_第2页
电子技术基础 数字部分(第六版) 康华光第2章逻辑代数与硬件描述语言基础共5节_第3页
电子技术基础 数字部分(第六版) 康华光第2章逻辑代数与硬件描述语言基础共5节_第4页
电子技术基础 数字部分(第六版) 康华光第2章逻辑代数与硬件描述语言基础共5节_第5页
已阅读5页,还剩59页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、2 .逻辑代数与硬件描述语言基础逻辑代数与硬件描述语言基础2.1 2.1 逻辑代数的基本定理和恒等式逻辑代数的基本定理和恒等式2.2 2.2 逻辑函数表达式的形式逻辑函数表达式的形式2.3 2.3 逻辑函数的代数化简法逻辑函数的代数化简法 2.42.4 逻辑函数的卡诺图化简法逻辑函数的卡诺图化简法2.5 2.5 硬件描述语言硬件描述语言Verilog HDLVerilog HDL基础基础 教学基本要求教学基本要求1 1、熟悉逻辑代数常用基本定律、恒等式熟悉逻辑代数常用基本定律、恒等式和规则。和规则。4 4、熟悉硬件描述语言、熟悉硬件描述语言Verilog HDL2 2、掌握逻辑代数的表示方法;

2、、掌握逻辑代数的表示方法;3 3、掌握逻辑代数的变换和卡诺图化简法;、掌握逻辑代数的变换和卡诺图化简法; 2.1.1 逻辑代数的基本定律和恒等式逻辑代数的基本定律和恒等式2.1 逻辑代数的基本定理和规则逻辑代数的基本定理和规则2.1.2 逻辑代数的基本规则逻辑代数的基本规则2.1 逻辑代数的基本定理和规则逻辑代数的基本定理和规则 逻辑代数又称布尔代数逻辑代数又称布尔代数。它是分析和设计现代数字逻辑电路它是分析和设计现代数字逻辑电路不可缺少的数学工具。逻辑代数有一系列的定律、定理和规则,不可缺少的数学工具。逻辑代数有一系列的定律、定理和规则,用于对表达式进行处理,以完成对逻辑电路的化简、变换、分

3、用于对表达式进行处理,以完成对逻辑电路的化简、变换、分析和设计。析和设计。 逻辑关系指的是事件产生的条件和结果之间的因果关系。在数逻辑关系指的是事件产生的条件和结果之间的因果关系。在数字电路中往往是将事情的条件作为输入信号,而结果用输出信号字电路中往往是将事情的条件作为输入信号,而结果用输出信号表示。条件和结果的两种对立状态分别用逻辑表示。条件和结果的两种对立状态分别用逻辑“1” 和和“0”表示。表示。1 1、基本公式基本公式交换律:交换律: A + B = B + AA B = B A结合律:结合律:A + B + C = (A + B) + C A B C = (A B) C 分配律:分配

4、律:A + BC = ( A + B )( A + C )A ( B + C ) = AB + AC A 1 = AA 0 = 0A + 0 = AA + 1 = 10 0、1 1律:律:A A = 0A + A = 1互补律:互补律:2.2.1.11.1逻辑代数的基本定律和恒等式逻辑代数的基本定律和恒等式重叠律重叠律:A + A = AA A = AAA BAB() ()ABACABCABAAAABA()吸收律吸收律 其它常用恒等式其它常用恒等式 ABACBCAB + ACABACBCDAB + AC反演律反演律(摩根定理摩根定理):AB = A + B A + B = A B2、基本公式的

5、证明基本公式的证明列出等式、右边的函数值的真值表列出等式、右边的函数值的真值表( (真值表证明法真值表证明法) )100 1 1100 1 0111 0 100+0=001 0 0A+ABA BA A B0+1=11+0=11+0=1A+B例例 证明证明BABAA例例:试化简下列逻辑函数试化简下列逻辑函数L L= =(A + B)(A + B)(分配律BBABABAAL) , 0( 0AAAAABABAB)0( AABABAB)( ) 1(CBAACABAAB)1 ,1( 1AAAABB 2.1.2 逻辑代数的基本规则逻辑代数的基本规则 1.1.代入规则代入规则 : 在包含变量在包含变量A逻辑

6、等式中,如果用另一逻辑等式中,如果用另一个函数式代入式中所有个函数式代入式中所有A的位置,则等式仍然成立。这一规的位置,则等式仍然成立。这一规则称为代入规则。则称为代入规则。例例:B (A + C) = BA+BC,用用A + D代替代替A A,得得B (A +D) +C = B(A +D) + BC = BA + BD + BC代入规则可以扩展所有基本公式或定律的应用范围代入规则可以扩展所有基本公式或定律的应用范围对于任意一个逻辑表达式对于任意一个逻辑表达式L,若将其中所有的与(,若将其中所有的与( )换成)换成或(或(+),或(),或(+)换成与()换成与();原变量换为反变量,反变);原

7、变量换为反变量,反变量换为原变量;将量换为原变量;将1换成换成0,0换成换成1;则得到的结果就是原;则得到的结果就是原函数的反函数。函数的反函数。2. 2. 反演规则:反演规则:)(1)(DCBADCB)(AL 0 CDBAL例例2.1.1 试求试求 的非函数的非函数解:按照反演规则,得解:按照反演规则,得 LABAC 对于任何逻辑函数式,若将其中的与(对于任何逻辑函数式,若将其中的与( )换成或()换成或(+),或(),或(+)换成与(换成与();并将);并将1换成换成0,0换成换成1;那么,所得的新的函数式就;那么,所得的新的函数式就是是L的对偶式,记作的对偶式,记作 。 L()()LAB

8、 A C例例: 逻辑函数逻辑函数 的对偶式为的对偶式为3. 3. 对偶规则:对偶规则:当某个逻辑恒等式成立时,则该恒等式两侧的对偶式也相等。当某个逻辑恒等式成立时,则该恒等式两侧的对偶式也相等。这就是对偶规则。利用对偶规则,可从已知公式中得到更多的这就是对偶规则。利用对偶规则,可从已知公式中得到更多的运算公式,例如,吸收律运算公式,例如,吸收律2.2 逻辑函数表达式的形式逻辑函数表达式的形式2.2.2 最小项与最小项表达式最小项与最小项表达式2.2.1 逻辑函数表达式的形式逻辑函数表达式的形式2.2.3 最大项与最大项表达式最大项与最大项表达式2.2 逻辑函数表达式的形式逻辑函数表达式的形式1

9、、与、与-或或表达式表达式2.2.1逻辑函数表达式的基本形式逻辑函数表达式的基本形式 若干与项进行或逻辑运算构成的表达式。由与运算若干与项进行或逻辑运算构成的表达式。由与运算符符和或和或运算符连接起来。运算符连接起来。LA CC D2、或、或-与与表达式表达式 若干或项进行与逻辑运算构成的表达式。由或运算若干或项进行与逻辑运算构成的表达式。由或运算符符和与和与运算符连接起来。运算符连接起来。 () ()LACBC D通常表达式为混合形式通常表达式为混合形式经过变换可转换为上述两种基本形式经过变换可转换为上述两种基本形式()()LA B CB CA B CB Cn个变量个变量X1, X2, ,

10、Xn的最小项是的最小项是n个因子的乘积,每个变量个因子的乘积,每个变量都以它的原变量或非变量的形式在乘积项中出现,且仅出都以它的原变量或非变量的形式在乘积项中出现,且仅出现一次。一般现一次。一般n个变量的最小项应有个变量的最小项应有2n个。个。 BAACBA、 、A(B+C)等则不是最小项。等则不是最小项。例如,例如,A、B、C三个逻辑变量的最小项有(三个逻辑变量的最小项有(23)8个,即个,即 CBACBACBABCACBACBACABABC、1. 最小项的定义和性质最小项的定义和性质2.2 .2 最小项与最小项表达式最小项与最小项表达式l全体最小项之和为全体最小项之和为1 1。l对于任意一

11、个最小项,只有一组变量取值使得它的值为对于任意一个最小项,只有一组变量取值使得它的值为1 1;l任意两个最小项的乘积为任意两个最小项的乘积为0 0;CBABCACBACBACBACABABCCBAABC0 00 00 01 10 00 00 00 00 00 00 00 00 01 10 01 10 00 00 00 00 00 00 01 10 00 00 01 10 00 00 00 00 01 10 00 00 00 00 00 01 10 00 00 00 01 11 10 00 00 01 10 00 00 00 01 10 01 10 00 00 00 00 01 10 00 01

12、 11 10 00 00 00 00 00 00 01 10 01 11 11 10 00 00 00 00 00 00 01 1三个变量的所有最小项的真值表三个变量的所有最小项的真值表 2、最小项的性质最小项的性质 3、最小项的编号最小项的编号 三个变量的所有最小项的真值表三个变量的所有最小项的真值表 m0m1m2m3m4m5m6m7最小项的表示:通常用最小项的表示:通常用mi表示最小项,表示最小项,m 表示最小项表示最小项, ,下标下标i为为最小项号。最小项号。 ABC0 00 00 01 10 00 00 00 00 00 00 00 00 01 10 01 10 00 00 00 00

13、 00 00 01 10 00 00 01 10 00 00 00 00 01 10 00 00 00 00 00 01 10 00 00 00 01 11 10 00 00 01 10 00 00 00 01 10 01 10 00 00 00 00 01 10 00 01 11 10 00 00 00 00 00 00 01 10 01 11 11 10 00 00 00 00 00 00 01 1CBABCACBACBACBACABABCCBA 2. 最小项表达式最小项表达式 ( ,)()()L A B CAB CCA BB Cl 为为“与或与或”逻辑表达式;逻辑表达式; l 在在“与或

14、与或”式中的每个乘积项都是最小项。式中的每个乘积项都是最小项。例例1 1 将将( , ,)L A B CABAC化成最小项表达式化成最小项表达式ABCABCABCABC= m7m6m3m5 (7, 6 3 5)m, ,由若干最小项相或构成的表达式,也称为标准与由若干最小项相或构成的表达式,也称为标准与- -或式。或式。( , ,)()L A B CABABC AB 例例2 将将 化成最小项表达式化成最小项表达式 a.去掉非号去掉非号()()L A,B,CABABCAB()AB AB CAB()()AB AB CABb.去括号去括号ABCABCAB()ABCABCAB CCABCABCABCAB

15、C3576(3,5,6,7)mmmmmn个变量个变量X1, X2, , Xn的最大项是的最大项是n个因子或相,每个变量个因子或相,每个变量都以它的原变量或非变量的形式在或项中出现,且仅出都以它的原变量或非变量的形式在或项中出现,且仅出现一次。一般现一次。一般n个变量的最大项应有个变量的最大项应有2n个。个。 1. 最大项的定义和性质最大项的定义和性质2.2.2 最大项与最大项表达式最大项与最大项表达式例如,例如,A、B、C三个逻辑变量的最大项有(三个逻辑变量的最大项有(23)8个,即个,即 、)( )( )( )(CBACBACBACBA)( )( )( )(CBACBACBACBA、1. 最

16、大项的定义和性质最大项的定义和性质最大项的表示:通常用最大项的表示:通常用Mi表示最大项,表示最大项,M 表示最大项表示最大项, ,下标下标i为最大项号。为最大项号。 l全体最大项之积为全体最大项之积为0 0。l对于任意一个最大项,只有一组变量取值使得它的值为对于任意一个最大项,只有一组变量取值使得它的值为0 0;l任意两个最大项的之和为任意两个最大项的之和为1 1;最大项的性质:最大项的性质:2. 最小项和最大项的关系最小项和最大项的关系两者之间为互补关系:两者之间为互补关系: mi = Mi ,或者,或者Mi = mi 例例: 逻辑电路的真值表如右,写出最小项和最大项表达式。逻辑电路的真值

17、表如右,写出最小项和最大项表达式。最小项表达式:最小项表达式:将将L L1 1的各个最小项的各个最小项相加相加 A B CL00000010 0100 0111 m31000 1011 m51101 m61110 356( , ,)= (3,5,6)L A B CmmmmA B CA B CA B C最大项表达式:最大项表达式:将将L L0 0的各个最大项的各个最大项相乘相乘 01247( ,) = (0,1,2,4,7)A B CLMMMMMM()() () ()()ABCABCABCABCABC2.3 逻辑函数的代数化简法逻辑函数的代数化简法2.3.2 逻辑函数的代数化简法逻辑函数的代数化

18、简法2.3.1 逻辑函数的最简形式逻辑函数的最简形式 2.3 逻辑函数的代数法化简逻辑函数的代数法化简化简的目的:降低电路实现的成本,以较少的门实现电路。化简的目的:降低电路实现的成本,以较少的门实现电路。 A B A B L L (a a)标准积之和的电路)标准积之和的电路 (b b)成本最低的电路成本最低的电路 图(图(a a)和图()和图(b b)的电路逻辑功能相同,但图)的电路逻辑功能相同,但图 (b b)电)电路简单可靠性高,成本低。路简单可靠性高,成本低。“或或-与与”表达式表达式“与非与非-与非与非”表达式表达式 “与与- -或或- -非非”表达式表达式“或非或非或非或非” 表达

19、表达式式“与与- -或或” 表达式表达式 2.3.1 逻辑函数的最简形式逻辑函数的最简形式 DCACL DC A C = )DC)(CA( )C+D()CA( DCCA 逻辑函数有不同形式,如与逻辑函数有不同形式,如与- -或表达式、与非或表达式、与非- -与非表达式、与非表达式、或或- -与表达式、或非与表达式、或非- -或非表达式以及与或非表达式以及与- -或或- -非表达式等。非表达式等。 将其中包含的与项数最少,且每个与项中变量数最少的将其中包含的与项数最少,且每个与项中变量数最少的与与- -或表达式称为最简与或表达式称为最简与- -或表达式。或表达式。1、逻辑函数的化简、逻辑函数的化

20、简 化简的主要方法:化简的主要方法:公式法(代数法)公式法(代数法)图解法(卡诺图法)图解法(卡诺图法)代数化简法:代数化简法: 运用逻辑代数的基本定律和恒等式进行化简的方法。运用逻辑代数的基本定律和恒等式进行化简的方法。 1AA并项法并项法: : CBA CBAL BA)CC(BA 2.3.2 逻辑函数的代数化简法逻辑函数的代数化简法1 AAABBA 吸收法:吸收法: A + AB = A 消去法消去法: BABAA CABAB CAB 配项法配项法: CA=AB BAFEBCDABAL )(CBAAB)( CBCAABL A+AB=A+BCBCAABL CBAACAAB)( CBACABC

21、A=AB )()(BCACACABAB 通常在一片集成电路芯片中只有一种门电路,为了减少通常在一片集成电路芯片中只有一种门电路,为了减少门电路的种类,需要对逻辑函数表达式进行变换。门电路的种类,需要对逻辑函数表达式进行变换。 2、逻辑函数形式的变化、逻辑函数形式的变化(1)求最简的与)求最简的与-或式,并画出相应的逻辑图;或式,并画出相应的逻辑图;(2)画出仅用与非门实现的电路。)画出仅用与非门实现的电路。解:解:)CC(DBADBA)DD(ABL DBADBA=AB )(DDBAAB BAAB BAAB BAAB B A L AB BA (b) CDBADCBAABDDBADABL 例:已知

22、例:已知 A B (a) A B 2.4 逻辑函数的卡诺图化简法逻辑函数的卡诺图化简法2.4.2 用卡诺图化简逻辑函数用卡诺图化简逻辑函数2.4.1 用卡诺图表示逻辑函数用卡诺图表示逻辑函数1.逻辑代数与普通代数的公式易混淆,化简过程要求对所逻辑代数与普通代数的公式易混淆,化简过程要求对所有公式熟练掌握;有公式熟练掌握;2.代数法化简无一套完善的方法可循,它依赖于人的经验代数法化简无一套完善的方法可循,它依赖于人的经验和灵活性;和灵活性;3.用这种化简方法技巧强,较难掌握。特别是对代数化简用这种化简方法技巧强,较难掌握。特别是对代数化简后得到的逻辑表达式是否是最简式判断有一定困难。后得到的逻辑

23、表达式是否是最简式判断有一定困难。卡诺图法可以比较简便地得到最简的逻辑表达式。卡诺图法可以比较简便地得到最简的逻辑表达式。代数法化简在使用中遇到的困难:代数法化简在使用中遇到的困难:2.2.3 用卡诺图表示逻辑函数用卡诺图表示逻辑函数1、卡诺图的引出卡诺图的引出卡诺图:将卡诺图:将n变量的全部最小项都用小方块表示,并使具有变量的全部最小项都用小方块表示,并使具有逻辑相邻的最小项在几何位置上也相邻地排列起来,这样逻辑相邻的最小项在几何位置上也相邻地排列起来,这样, ,所得到的图形叫所得到的图形叫n变量的卡诺图。变量的卡诺图。逻辑相邻的最小项:如果两个最小项只有一个变量互为反变逻辑相邻的最小项:如

24、果两个最小项只有一个变量互为反变量,那么,就称这两个最小项在逻辑上相邻。量,那么,就称这两个最小项在逻辑上相邻。如最小项如最小项m6=ABC、与与m7 =ABC 在逻辑上相在逻辑上相邻邻m7m6AB10100100011110 m0 m1 m2 m3 m4 m5 m6 m7 m12 m13 m14 m15 m8 m9 m10 m110001111000011110ABCD三变量卡诺图三变量卡诺图四变量卡诺图四变量卡诺图BABABAAB两变量卡诺图两变量卡诺图m0m1m2m3ACCCBABCACBABCACBACBACBAABCCAB m0 m1 m2 m3 m4 m5 m6 m7ADBB2、卡

25、诺图的特点卡诺图的特点:各小方格对应于各变量不同的组合,而且上下各小方格对应于各变量不同的组合,而且上下左右在几何上相邻的方格内只有一个因子有差别,这个重要特左右在几何上相邻的方格内只有一个因子有差别,这个重要特点成为卡诺图化简逻辑函数的主要依据点成为卡诺图化简逻辑函数的主要依据。 3. 已知逻辑函数画卡诺图已知逻辑函数画卡诺图当逻辑函数为最小项表达式时,在卡诺图中找出和表达式中当逻辑函数为最小项表达式时,在卡诺图中找出和表达式中最小项对应的小方格填上最小项对应的小方格填上1,其余的小方格填上,其余的小方格填上0(有时也可(有时也可用空格表示),就可以得到相应的卡诺图。任何逻辑函数都用空格表示

26、),就可以得到相应的卡诺图。任何逻辑函数都等于其卡诺图中为等于其卡诺图中为1的方格所对应的最小项之和。的方格所对应的最小项之和。例例1:画出逻辑函数:画出逻辑函数L(A, B, C, D)= m(0, 1, 2, 3, 4, 8, 10, 11, 14, 15)的卡诺图的卡诺图 1 1 1 1 1 0 0 0 0 0 1 1 1 0 1 1 10 11 01 00 CD 00 01 11 10 AB L ( ,)()()()L A B C DABCD ABCD ABCD()()ABCDABCDLABCDABCDABCDABCDABCD例例2 画出下式的卡诺图画出下式的卡诺图 10 11 01

27、00 CD 00 01 11 10 AB L 0 00 00 00 00 0 1 1 1 1 1 1 1 1 1 1 1 解解1. 1. 将逻辑函数化为最小项表达式将逻辑函数化为最小项表达式2. 2. 填写卡诺图填写卡诺图 ),(m15131060 2.4.2 用卡诺图化简逻辑函数用卡诺图化简逻辑函数 1、化简的依据、化简的依据DABDADBA DBACDBADCBA BDABCDADCBA m0 m1 m3 m2 m4 m5 m7 m6 m12 m13 m15 m14 m8 m9 m11 m10 AB CD 00 01 11 10 00 01 11 10 ADABDDBA DADDA 2、化

28、简的步骤、化简的步骤用卡诺图化简逻辑函数的步骤如下:用卡诺图化简逻辑函数的步骤如下:(4) 将所有包围圈对应的乘积项相加。将所有包围圈对应的乘积项相加。(1) 将逻辑函数写成最小项表达式将逻辑函数写成最小项表达式(2) 按最小项表达式填卡诺图,凡式中包含了的最小项,按最小项表达式填卡诺图,凡式中包含了的最小项,其对应方格填其对应方格填1,其余方格填,其余方格填0。(3) 合并最小项,即将相邻的合并最小项,即将相邻的1方格圈成一组方格圈成一组(包围圈包围圈),每一组含每一组含2n个方格,对应每个包围圈写成一个新的乘积个方格,对应每个包围圈写成一个新的乘积项。本书中包围圈用虚线框表示。项。本书中包

29、围圈用虚线框表示。画包围圈时应遵循的原则:画包围圈时应遵循的原则: (1 1)包围圈内的方格数一定是)包围圈内的方格数一定是2n个,且包围圈必须呈矩形。个,且包围圈必须呈矩形。(2)循环相邻特性包括上下底相邻,左右边相邻和四角相邻。循环相邻特性包括上下底相邻,左右边相邻和四角相邻。(3)同一方格可以被不同的包围圈重复包围多次,但新增同一方格可以被不同的包围圈重复包围多次,但新增的包围圈中一定要有原有包围圈未曾包围的方格。的包围圈中一定要有原有包围圈未曾包围的方格。(4) 一个包围圈的方格数要尽可能多一个包围圈的方格数要尽可能多, ,包围圈的数目要可能少。包围圈的数目要可能少。 m0 m1 m3

30、 m2 m4 m5 m7 m6 m12 m13 m15 m14 m8 m9 m11 m10 00 01 11 10 AB CD 00 01 11 10 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 DBBDL BD 例例 :用卡诺图法化简下列逻辑函数用卡诺图法化简下列逻辑函数(2)画包围圈合并最小项,得最简与)画包围圈合并最小项,得最简与-或表达式或表达式 解:解:(1) 由由L 画出卡诺图画出卡诺图 m)D,C,B,A(L(0,2,5,7,8,10,13,15) L C

31、1 0 0 1 0 1 1 0 0 1 1 0 1 0 0 1 D A B DB 1 1 1 00 AB L 01 10 11 CD 11 00 00 01 10 011 1 11 1 1 111111 10( , , ,)(03,5 7,811,1315)L A B C DmLDCBB例例: : 用卡诺图化简用卡诺图化简 1 1 1 00 AB L 01 10 11 CD 11 00 00 01 10 011 1 11 1 1 111111 10CD圈圈0LBCDLDCB圈圈13、具有无关项的化简具有无关项的化简(1 1)什么叫无关项:)什么叫无关项: 在真值表内对应于变量的某些取值下,函数

32、的值可以是任在真值表内对应于变量的某些取值下,函数的值可以是任意的,或者这些变量的取值根本不会出现,这些变量取值所意的,或者这些变量的取值根本不会出现,这些变量取值所对应的最小项称为无关项或任意项。对应的最小项称为无关项或任意项。 在含有无关项逻辑函数的卡诺图化简中,它的值可以取在含有无关项逻辑函数的卡诺图化简中,它的值可以取0 0或或取取1 1,具体取什么值,可以根据使函数尽量得到简化而定。,具体取什么值,可以根据使函数尽量得到简化而定。例例: 要求设计一个逻辑电路,能够判断一位十要求设计一个逻辑电路,能够判断一位十进制数是奇数还是偶数,当十进制数为奇数进制数是奇数还是偶数,当十进制数为奇数

33、时,电路输出为时,电路输出为1,当十进制数为偶数时,电,当十进制数为偶数时,电路输出为路输出为0。 1111 1110 1101 1100 1011 101011001010001011100110101010010010011000101000100000LABCD解解:(1)列出真值表列出真值表(2)画出卡诺图画出卡诺图 0 1 1 0 0 1 1 0 0 1 L C D A B (3) 卡诺图化简卡诺图化简 D DL 2.5.1 Verilog语言的基本语法规则语言的基本语法规则 2.5.2 变量的数据类型变量的数据类型 2.5.3 运算符及其优先级运算符及其优先级 2.5.4 Veri

34、log内部的基本门级元件内部的基本门级元件 2.5.5 Verilog程序的基本结构程序的基本结构 2.5.6 逻辑功能的仿真与测试逻辑功能的仿真与测试2.5 硬件描述语言硬件描述语言Verilog HDL基础基础硬件描述语言硬件描述语言HDL(Hardware Description Languag )类似于高级程序设计语言类似于高级程序设计语言. .它是一种以文本形式来描它是一种以文本形式来描述数字系统硬件的结构和行为的语言述数字系统硬件的结构和行为的语言, ,用它可以表示用它可以表示逻辑电路图、逻辑表达式,复杂数字逻辑系统完成的逻辑电路图、逻辑表达式,复杂数字逻辑系统完成的逻辑功能。逻辑

35、功能。HDL是高层次自动化设计的起点和基础是高层次自动化设计的起点和基础.2.5 硬件描述语言硬件描述语言Verilog HDL基础基础计算机对计算机对HDL的处理的处理: :逻辑综合逻辑综合 是指从是指从HDL描述的数字逻辑电路模型中导出电路基描述的数字逻辑电路模型中导出电路基本元件列表以及元件之间的连接关系(常称为门级网表)的过本元件列表以及元件之间的连接关系(常称为门级网表)的过程。类似对高级程序语言设计进行编译产生目标代码的过程程。类似对高级程序语言设计进行编译产生目标代码的过程. .产产生门级元件及其连接关系的数据库,根据这个数据库可以制作生门级元件及其连接关系的数据库,根据这个数据

36、库可以制作出集成电路或印刷电路板出集成电路或印刷电路板PCB。逻辑仿真逻辑仿真 是指用计算机仿真软件对数字逻辑电路的结构和行为是指用计算机仿真软件对数字逻辑电路的结构和行为进行预测进行预测. .仿真器对仿真器对HDL描述进行解释,以文本形式或时序波形描述进行解释,以文本形式或时序波形图形式给出电路的输出。在仿真期间如发现设计中存在错误,就图形式给出电路的输出。在仿真期间如发现设计中存在错误,就再要对再要对HDL描述进行及时的修改。描述进行及时的修改。2.5.1 Verilog语言的基本语法规则语言的基本语法规则 为对数字电路进行描述(常称为建模),为对数字电路进行描述(常称为建模),Veril

37、og语言规定语言规定了一套完整的语法结构。了一套完整的语法结构。1间隔符间隔符: Verilog 的间隔符主要起分隔文本的作用,可以的间隔符主要起分隔文本的作用,可以使文本错落有致,便于阅读与修改。使文本错落有致,便于阅读与修改。间隔符包括空格符(间隔符包括空格符(bb)、)、TAB 键(键(tt)、换行符()、换行符(nn)及)及换页符。换页符。2注释符注释符: :注释只是为了改善程序的可读性注释只是为了改善程序的可读性, ,在编译时不起作用。在编译时不起作用。多行注释符多行注释符( (用于写多行注释用于写多行注释): /): /* * - - * */ /;单行注释符单行注释符 : :以以

38、/开始到行尾结束为注释文字。开始到行尾结束为注释文字。为了表示数字逻辑电路的逻辑状态,为了表示数字逻辑电路的逻辑状态,Verilog语言规定了语言规定了4 4种基本的逻辑值。种基本的逻辑值。 0逻辑逻辑0、逻辑假、逻辑假 1逻辑逻辑1、逻辑真、逻辑真 x或或X不确定的值(未知状态)不确定的值(未知状态) z或或Z高阻态高阻态标识符标识符: :给对象(如模块名、电路的输入与输出端口、变量等)给对象(如模块名、电路的输入与输出端口、变量等)取名所用的字符串。以英文字母或下划线开始取名所用的字符串。以英文字母或下划线开始如如,clk、counter8、_net、bus_A 。关键词关键词: :是是V

39、erilog语言本身规定的特殊字符串,用来定义语言语言本身规定的特殊字符串,用来定义语言的结构。例如,的结构。例如,module、endmodule、input、output、wire、reg、and等都是关键词。等都是关键词。关键词都是小写,关键词都是小写,关键词不能作为标关键词不能作为标识符使用识符使用 。4逻辑值集合逻辑值集合3标识符和关键词标识符和关键词5常量及其表示常量及其表示实数型常量实数型常量十进制记数法十进制记数法 如:如: 0.10.1、2.02.0、5.675.67科学记数法科学记数法 如如: : 23_5.1e2、5E4 23510.0、 0.0005Verilog允许用

40、参数定义语句定义一个标识符来代表一个常量,称允许用参数定义语句定义一个标识符来代表一个常量,称为符号常量。定义的格式为:为符号常量。定义的格式为:parameter 参数名参数名1 1常量表达式常量表达式1 1,参数名,参数名2 2常量表达式常量表达式2 2,;如如 parameter BIT=1, BYTE=8, PI=3.14;6字符串字符串: :字符串是双撇号内的字符序列字符串是双撇号内的字符序列常量常量十进制数的形式的表示方法十进制数的形式的表示方法: :表示有符号表示有符号常量常量例如:例如:3030、2 2带基数的形式的表示方法带基数的形式的表示方法: : 表示表示常量常量格式为:

41、格式为: 整数型整数型例如:例如:3b101、5o37、8he3,8b1001_0011 2.5.2 变量的数据类型变量的数据类型1 1线网类型线网类型: :是指输出始终根据输入的变化而更新其值的是指输出始终根据输入的变化而更新其值的变量变量, ,它一般指的是硬件电路中的各种物理连接它一般指的是硬件电路中的各种物理连接. . 例例:wire L; / /将上述电路的输出信号将上述电路的输出信号L L声明为网络型变量声明为网络型变量 wire 7:0 data bus; / /声明一个声明一个8-bit8-bit宽的网络型总线变量宽的网络型总线变量常用的网络类型由关键词常用的网络类型由关键词wi

42、re定义定义wire型变量的定义格式如下:型变量的定义格式如下:wire n-1:0 n-1:0 变量名变量名1 1,变量名,变量名2 2,变量名,变量名n;变量宽度变量宽度例例: :网络型变量网络型变量L的值由与门的驱动信号的值由与门的驱动信号a a和和b b所决定,即所决定,即La&b。a、b的值发的值发生变化,线网生变化,线网L L的值会立即跟着变化。的值会立即跟着变化。 a b L 寄存器型变量对应的是具有状态保持作用的电等路元件寄存器型变量对应的是具有状态保持作用的电等路元件, ,如触如触发器寄存器。寄存器型变量只能在发器寄存器。寄存器型变量只能在initial或或alway

43、s内部被赋值。内部被赋值。2、寄存器类型寄存器类型寄存器类型寄存器类型功能说明功能说明reg常用的寄存器型变量常用的寄存器型变量integer32位带符号的整数型变量位带符号的整数型变量real64位带符号的实数型变量,位带符号的实数型变量,time64位无符号的时间变量位无符号的时间变量4种种寄存器类型的变量寄存器类型的变量例:例: reg clock;/定义一个定义一个1位寄存器变量位寄存器变量 reg 3:0 counter; /定义一个定义一个4位位寄存器变量寄存器变量抽象描述抽象描述, ,不对应具不对应具体硬件体硬件1. 运算符运算符2.5.3 运算符及其优先级运算符及其优先级类型类

44、型符号符号功能说明功能说明类型类型符号符号功能说明功能说明算术运算符算术运算符+-*/二进制加二进制加二进制减二进制减2的补码的补码二进制乘二进制乘二进制除二进制除关系运算符关系运算符(双目运算符)(双目运算符)= 关系关系 =等于等于= !=缩位缩位& & | |逻辑逻辑&|条件条件?:最低优先级最低优先级一般用法:一般用法:condition_expr?expr1:expr2;条件运算符条件运算符是三目运算符,运算时根据条件表达式的值选择表达式。是三目运算符,运算时根据条件表达式的值选择表达式。首先计算第一个操作数首先计算第一个操作数condition_expr的值

45、,如果结果为逻辑的值,如果结果为逻辑1,则选择第二个操作数则选择第二个操作数expr1的值作为结果返回,结果为逻辑的值作为结果返回,结果为逻辑0,选择第三个操作数选择第三个操作数expr2的值作为结果返回。的值作为结果返回。基本门级元件模型基本门级元件模型 元件符号元件符号功能说明功能说明元件符号元件符号功能说明功能说明andand多输入端的与门多输入端的与门nandnand多输入端的与非门多输入端的与非门oror多输入端的或门多输入端的或门nornor多输入端的或非门多输入端的或非门xorxor多输入端的异或门多输入端的异或门xnorxnor多输入端的异或非门多输入端的异或非门bufbuf多

46、输出端的缓冲器多输出端的缓冲器notnot多输出端的反相器多输出端的反相器bufif1bufif1控制信号高电平有效的三态缓冲控制信号高电平有效的三态缓冲器器notif1notif1控制信号高电平有效的控制信号高电平有效的三态反相器三态反相器bufif0bufif0控制信号低电平有效的三态缓冲控制信号低电平有效的三态缓冲器器notif0notif0控制信号低电平有效的控制信号低电平有效的三态反相器三态反相器多输入门多输入门多输出门多输出门三态门三态门2.5.4 Verilog内部的基本门级元件内部的基本门级元件门级建模门级建模:将逻辑电路图用将逻辑电路图用HDL规定的文本语言表示出来。规定的文

47、本语言表示出来。1 1、多输入门、多输入门只允许有一个输出,但可以有多个输入。只允许有一个输出,但可以有多个输入。 and A1(out,in1,in2,in3);); X- 不确定状态不确定状态Z- 高阻态高阻态 and真值表真值表x0zx0 xx10100000zX10 输入输入1and输输入入2xxxxx调用名调用名XX1XZXX1XX11111XX100ZX10输入输入1or输输入入2 or真值表真值表输输入入2XXXXZXXXXXXX011XX X1 10 00 0ZX X1 10 0输入输入1 1xorxorxor真值表真值表2 2、多输出门、多输出门允许有多个输出,但只有一个输入

48、。允许有多个输出,但只有一个输入。 not N1(out1,out2,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、三态门、三态门有一个输

49、出、一个数据输入和一个输入控制。有一个输出、一个数据输入和一个输入控制。如果输入控制信号无效,则三态门的输出为高阻态如果输入控制信号无效,则三态门的输出为高阻态z。 图图 4.6.3 三态门元件模型三态门元件模型 (a)bufif1 (b)notif1 (a) (b) in out ctrl in out ctrl 2、每个模块先要进行端口的定义,并说明输入每个模块先要进行端口的定义,并说明输入(input)和输出和输出(output),然后对模块功能进行描述。然后对模块功能进行描述。2.5.5 Verilog程序的基本结构程序的基本结构 模块是模块是Verilog描述电路的基本单元。对数字电路建模时,描述电路的基本单元。对数字电路建模时,用一个或多个模块。不同模块之间通过端口进行连接。用一个或多个模块。不同模块之间通过端口进行连接。1、每个模块以关键词

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论