您好,欢迎访问三七文档
当前位置:首页 > 电子/通信 > 综合/其它 > 逻辑电路及verilogHDL简介
第2章逻辑电路及VerilogHDL简介目录2.1基本逻辑门和常用逻辑门2.2用VerilogHDL实现基本的逻辑操作2.3原理图输入法逻辑电路设计2.4三种风格的VerilogHDL描述2.5常用的组合电路及其设计2.6时序电路的设计方法算术运算和逻辑运算•算术运算:当二进制数表示不同大小的数值时,数值与数值之间可以进行加、减、乘、除等运算,称算术运算。•逻辑运算:当二进制数表示不同状态的代码时,代码与代码之间的运算是一种逻辑因果关系的运算,有与、或、非三种,称逻辑运算。•这两种运算有本质的不同。算术运算—加法1001+0111000102.1基本逻辑门和常用逻辑门•基本逻辑运算有逻辑与、逻辑或和逻辑非。实现这三种逻辑运算的电路,称作基本逻辑门。1.逻辑代数的三种基本运算模型⑴逻辑与(乘)运算只有决定一件事情的全部条件具备之后,结果才能发生,这种因果关系为“逻辑与”或“逻辑乘”。逻辑与(乘)运算逻辑与的逻辑关系表达式写成Y=A·B“·”表示“与运算”或“逻辑乘”,读作“与”或“乘”,可省略不读。与逻辑功能可记成:“有0出0,全1出1”与运算规则:0·0=0;0·1=0;1·0=0;1·1=1A·0=0;A·1=A;0·A=0;1·A=A逻辑符号AB00011011Y0001真值表AB(a)YYAB(b)YAB&(c)(2)逻辑或(加)运算逻辑或的逻辑关系表达式Y=A+B“+”表示“或运算”或“逻辑加”,读作“或”或“加”。或逻辑功能:“有1出1,全0出0”。或运算规则:0+0=0;0+1=1;1+0=1;1+1=1A+0=A;A+1=1;A+A=A。AB00011011Y0111真值表逻辑或(加)运算二进制运算和逻辑代数的区别:二进制运算中的加法、乘法有进位问题,1+1=10;但逻辑代数研究的是“0”、“1”两种逻辑状态的逻辑加、逻辑乘、逻辑非,是一种逻辑运算,所以1+1=1,1+1+···+1=1。逻辑符号ABY(c)≥1ABY(a)+ABY(b)逻辑运算—或1001+01111111(3)逻辑非运算逻辑非的逻辑表达式写成“ˉ”表示“非运算”或“逻辑非”,读作“非”。非运算的运算规则:逻辑符号AY1001AA0AA1AAA01Y10真值表AY1(c)AY(a)AY(b)基本逻辑门2.1.2基本逻辑符号2.复合逻辑运算•与、或、非为三种基本逻辑运算。•实际逻辑问题要比与、或、非复杂得多,但都可以用简单的与、或、非逻辑组合来实现。从而构成复合逻辑。•复合逻辑常见的有与非、或非、异或、同(或)运算等。(1)与非门与非运算的逻辑结论:有0出1,全1出0。ABY(2)或非门或非运算的逻辑结论:有1出0,全0出1。BAY(3)异或门逻辑关系是:相异出1;相同出0。逻辑结论:AB时,Y=1;A=B时,Y=0。BABABAY(4)同或门异或运算和同或运算互为反函数即A⊙B=A⊕B逻辑关系:相同出1;相异出0。逻辑结论:A=B时Y=1;AB时Y=0。复合逻辑运算ABF&ABF≥1≥1FABCD&ABFABF=1=ABFABFFABCDABFABFABFBAFCDABFBABABAFBABAF=A⊙B逻辑符号如下图,其中第一行为IEEE84国际标准符号;第二行为惯用符号;第三行为IEEE91国际标准符号。ABFABF++FABCDABFABF⊙ABFABFFABCDABFABFABFABFFABCDABFABF公理3:公理4:公理5:3.逻辑代数的运算规则一.基本公理公理1:设A为逻辑变量,若A≠0,则A=1;若A≠l,则A=0。公理2:000;111111;000。010;101。100;011。1001二.基本定律4、互补律:01AAAA3、重叠律:AAAAAA5、还原律:AA分别令A=0及A=1代入这些公式,即可证明它们的正确性。1、0-1律:00A11A2、自等律:A1AA0A(20)6、交换律7、结合律8、分配律A+B=B+AA•B=B•AA+(B+C)=(A+B)+C=(A+C)+BA•(B•C)=(A•B)•CA(B+C)=A•B+A•CA+B•C=(A+B)(A+C)普通代数不适用!三、德摩根定理(反演律)(21)(DeMorgan)证明:真值表法、穷举法推广到多变量:CBACBACBACBA说明:两个(或两个以上)变量的与非(或非)运算等于两个(或两个以上)变量的非或(非与)运算。BABA1BABA2用真值表证明摩根定理成立(22)A·B=A+BA+B=A·BAB00011011Y1=A·BY2=A+B11101110相等√逻辑代数的基本公式AA100A0AAAAAABBAABAA)(AA)()(CBACBAACABCBA)(BABA01AA011A1AAAAAABBAAABA)()(CBACBA))((CABABCABABA10AA01AA0AAABBA)()(CBACBAACABCBA)(BABAABAA1=A⊙B=自等律说明公式求反律反演律分配律结合律还原律吸收律交换律重叠律互补律0—1律(24)四种表示方法逻辑函数式(逻辑表示式,逻辑代数式)逻辑电路图:卡诺图n2n个输入变量种组合。真值表:将逻辑函数输入变量取值的不同组合与所对应的输出变量值用列表的方式一一对应列出的表格。BABAY4.逻辑函数的表示方法010100110100011110CAB卡诺图表述方式找出那些使函数值为1的变量取值组合,变量值为1的写成原变量,为0的写成反变量,这样对应于使函数值为1的每一个组合就可以写出一个乘积项,把这些乘积项加起来,可以得到函数的原函数的标准与或式。把函数值为0的对应乘积项相加,则得反函数。5.逻辑函数表达式与真值表的相互转换(1)由真值表求对应的逻辑函数表达式例:写出表决逻辑的原函数和反函数的标准与或式。解:ABCCABCBABCAFCBACBACBACBAF00010111000001010011100101110111FABC表决逻辑真值表(2)由函数式写真值表将输入变量的各种组合一一代入函数式中计算输出变量值,全部完成后得到真值表。01010101C00110011B00001111Y=A+BC+ABCA011···01111例如:Y=A+BC+ABC,求它的真值表。6.逻辑代数化简法同一个逻辑函数可以有多种表达形式,一种形式的表达式,对应一种电路,尽管它们的形式不同,但实现的逻辑功能相同,所以在实现某种函数的电路时,重要的是如何处理函数,以尽量少的单元电路、以及电路类型来达到目的。化简的意义:电路简单使用已有器件化简的方法:代数化简法(公式法)卡诺图化简法一般说来,表达式越简单,实现起来逻辑电路也越简单。默认最简形式为最简与或式,即用最少的与门和或门来实现函数。与或表达式最简,由它转换得来的表达式,一般来说也就最简。最简与或式:乘积项的项数最少。每个乘积项中变量个数最少。将n个输入变量的全部最小项用小方块阵列图表示,并且将逻辑相邻的最小项放在相邻的几何位置上,所得到的阵列图就是n变量的卡诺图。卡诺图的每一个方块(最小项)代表一种输入组合,并且把对应的输入组合注明在阵列图的上方和左方。卡诺图化简法一、与或表达式的卡诺图表示0001111000011110CDABDCBAACDCBADCBADCBADCBADCBADCBADCBADCBADCBAABCDCDBADCBADCBADABCDCBADB最小项卡诺图的画法①画正方形或矩形,图形中分割出2n个小方格,n为变量的个数,每个最小项对应一个小方格。②变量取值按循环码排列(GrayCode),其特点是相邻两个编码只有一位状态不同。变量卡诺图形象地表达了变量各个最小项之间在逻辑上的相邻性。0001111001BCACBACBACABCBACBABCAABCCBAAACCBBC说明:⑴2个或以上变量,按循环码规则排列;⑵每个小方格对应一个最小项;⑶相邻方格的最小项,具有逻辑相邻性,即有一个变量互为反变量;⑷具有逻辑相邻性的方格有:相接——几何相邻的方格;相对——上下两边、左右两边的方格;相重——多变量卡诺图,以对称轴相折叠,重在一齐的方格。逻辑相邻的最小项可以消去互补变量mom1m2m3m6m7m4m50100011110CAB三变量卡诺图逻辑相邻举例0001111001BCACBACBACABCBACBABCAABCCBA相接相对0001111001BCACBACBACABCBACBABCAABCCBA四变量卡诺图逻辑相邻举例相接相对相对0001111000011110CDABDCBADCBADCBADCBADCBADCBADCBADCBADCBADCBAABCDCDBADCBADCBADABCDCBA由真值表填卡诺图ABCF00000011010001111001101111001110mom1m2m3m6m7m4m50100011110CAB0100011110CAB对应最小项填1其余补0011011000001111001BCAmom1m3m2m4m5m7m60001111001BCA11110000(37)二、卡诺图法化简步骤(一)布阵(画法规则)(二)填项(用卡诺图表示逻辑函数)(三)勾圈化简(用卡诺图化简)三步曲(一)布阵(画法规则):1.N=2n格(n5):最小项2.循环码编排循环邻接上下封闭布阵(38)ABCD0001111000011110ABDCm0m1m3m2m4m5m7m6m8m9m11m10m12m13m15m14高位低位(39)(二)填项:用卡诺图表示逻辑函数填F=1的项1.最小项直接填入;2.刷项(填公因子所包含的项);3.按(m0,m15)编号填入。按F=1的与或式填项方法(40)例1:BADCBABDABDBA)D,C,B,A(F1ABCD0001111000011110ABDC1直接填入)CC(1公因子:BDA有重复“1”者,只填一个“1”。(41)ABCD0001111000011110ABDC1111公因子:BD有重复“1”者,只填一个“1”。刷项:填公因子包含的项例1:BADCBABDABDBA)D,C,B,A(F1(42)ABCD0001111000011110ABDC111111111111有重复“1”者,只填一个“1”。刷项:填公因子包含的项例1:BADCBABDABDBA)D,C,B,A(F1(43)ABCD0001111000011110ABDC111111111111F=1的项全部填完以后,填项结束;不填者自动为“0”。例1:BADCBABDABDBA)D,C,B,A(F1(44)(三)勾圈化简:1.尽量勾大,2i个格消i个变量(in);3.每个圈至少有一个独立格;4.圈必须覆盖所有的“1”,即不能遗漏取值为“1”的小方块。勾圈原则得到最简与或式。2.“1”可以重复利用;(45)ABCD0001111000011110ABDC111111111111D保留公因子:消取值不同的变量:1AAB保留公因子:DB)D,C,B,A(F1合理重叠(“1”可以重复使用)。例1:BADCBABDABDBA)D,C,B,A(F1(46)也可以取F=0的项化简:ABCD00011110000111101111111111110000DB)D,C,B,A(F1DBDB)D,C,B,A(F1组合逻辑电路时序逻辑电路功能:输出只取决于当前的输入逻辑电路组成:门电路(不存在记忆元件)功能:输出取决于当前的输入原来的状态组成:组合电路记忆元件7.组合
本文标题:逻辑电路及verilogHDL简介
链接地址:https://www.777doc.com/doc-2008339 .html