数字逻辑组合逻辑电路.pptx
《数字逻辑组合逻辑电路.pptx》由会员分享,可在线阅读,更多相关《数字逻辑组合逻辑电路.pptx(111页珍藏版)》请在得力文库 - 分享文档赚钱的网站上搜索。
1、1本章重点本章重点 组合逻辑电路的分析方法和设计方法;常用组合逻辑电路的电路结构和逻辑功能;编码器、译码器、数据选择器的应用;基于Verilog HDL的组合逻辑电路设计方法。第1页/共111页25.1 概述概述 5.1.1 组合逻辑电路的结构和特点5.1.2 组合逻辑电路的分析方法5.1.3 组合逻辑电路的设计方法内容概要第2页/共111页35.1.1 组合逻辑电路的结构和特点组合逻辑电路的结构和特点按照逻辑功能的不同特点,数字电路分为两大类:组合逻辑电路和时序逻辑电路v组合逻辑电路的特点w由逻辑门电路组成w没有反馈电路和存储电路w当时的输出仅由当时的输入决定速度快v组合逻辑电路是将逻辑门以
2、一定的方式组合在一起,使其具有一定逻辑功能的数字电路。v它是一种无记忆电路任一时刻的输出信号仅取决于该时刻的输入信号,而与信号作用前电路原来所处的状态无关。X0X1Xi-1Y0Y1Yj-1组合逻辑电路组合逻辑电路第3页/共111页4组合逻辑电路的表述方法组合逻辑电路的表述方法组合逻辑电路可以用逻辑函数表达式、真值表、卡诺图、逻辑图及波形图分析和表述逻辑函数表达式一般为与或式,但形式不唯一,通过变换可实现用不同门电路组成逻辑图;一定程度上可以直接用于自动设计(如HDL)的描述真值表直观反映变量取值与函数值之间的关系,具有唯一性,有利于自动设计(如HDL)的描述卡诺图过去化简逻辑函数的主要工具,现
3、在几乎已不使用逻辑图直观表示变量之间的逻辑关系,一个逻辑函数表达式可以用不同的逻辑图实现;一般只适于简单电路的描述波形图直观表示输入与输出信号的波形,通过分析波形可以得到真值表第4页/共111页5时序逻辑电路时序逻辑电路如果某逻辑电路任一时刻的输出信号不仅取决于当时的输入信号,而且还取决于电路原来的状态,则称为时序逻辑电路。时序逻辑电路的特点由组合逻辑电路和存储电路两部分组成。具有“记忆”功能任一时刻的输出信号不仅取决于该时刻的输入信号,而且还取决于电路原来的状态,即还与以前的输入有关。X0X1Xi-1Y0Y1Yj-1组合逻辑电路组合逻辑电路存储电路存储电路Q0Ql-1Z0Zk-1第5页/共1
4、11页65.1.2 组合逻辑电路的分析方法组合逻辑电路的分析方法 组合逻辑电路的分析根据给定的组合逻辑电路,通过分析确定其逻辑功能【例例5.1】分析下图电路分析下图电路AB&Y&A BY0 0 00 111 011 10电路功能:电路功能:异或电路异或电路逻辑图逻辑图逻辑表达式逻辑表达式真值表真值表电路功能电路功能化简第6页/共111页75.1.3 组合逻辑电路的设计方法组合逻辑电路的设计方法组合逻辑电路的手工设计方法逻辑抽象确定输入、输出变量,列出真值表写出逻辑函数表达式根据真值表写出逻辑函数的标准表达式逻辑化简用公式化简法或卡诺图化简法化简为最简逻辑函数表达式绘逻辑图根据最简逻辑函数表达式
5、画出原理图逻逻辑辑问问题题逻逻辑辑抽抽象象逻辑表逻辑表达式达式逻辑化简逻辑化简v 组合逻辑电路的设计根据给定的功能要求,采用某种设计方法,得到满足功能要求、且最简单的组合逻辑电路。逻辑图逻辑图第7页/共111页8组合逻辑电路的自动设计方法组合逻辑电路的自动设计方法 基于HDL和EDA工具的组合逻辑电路的设计方法逻辑抽象确定输入、输出变量,列出真值表(复杂系统也可不写出真值表,而直接用HDL的系统级描述方式)HDL编程如用case语句、if-else语句,assign语句写出逻辑表达式根据真值表写出逻辑函数的标准表达式逻逻辑辑问问题题逻逻辑辑抽抽象象HDL编程编程逻辑函数逻辑函数表达式表达式逻辑
6、图逻辑图设设计计输输入入设设计计仿仿真真编编程程下下载载(1)(2)v 有3种途径(1)逻辑抽象HDL编程(系统级描述,如用case语句或if-else语句)(2)逻辑抽象写出逻辑函数表达式HDL编程(算法级描述,assign语句)(3)逻辑抽象写出逻辑函数表达式绘逻辑图(适于简单电路)(3)第8页/共111页9组合逻辑电路的设计方法举例组合逻辑电路的设计方法举例分析余3BCD码由每个8421BCD码加上3得到,直接列出真值表10101111不会在输入端出现,作为约束项(输入变量取值组合不允许出现或不会出现,或者出现与否对输出没有影响,这些取值组合代表的最小项称为约束项)处理,对应输出用x表示
7、【例例5.2】8421BCD码转换为余码转换为余3BCD码的码的码转换器的设计码转换器的设计码码转转换换器器A3A2A1A0B3B2B1B08421BCD余余3BCDA3 A2 A1 A0B3 B2 B1 B0000000110001010000100101001101100100011101011000011010010111101010001011100111001010 xxxx1011xxxx1100 xxxx1101xxxx1110 xxxx1111xxxx 第9页/共111页10HDL编程编程module bcd8421(A,B);input3:0 A;output3:0B;reg
8、3:0 B;always(A)begin case(A)0:B=3;1:B=4;2:B=5;3:B=6;4:B=7;5:B=8;6:B=9;7:B=10;8:B=11;9:B=12;default:B=4hx;endcase endendmodulemodule bcd8421_1(A,B);input3:0 A;output3:0B;reg3:0B;always(A)begin if(A Group”命令,在“Group”窗口中为这组信号命名(如D),设置进制。v也可以用“GroupingUngroup”命令将总线信号展开为单个的节点第75页/共111页用数据选择器设计组合逻辑电路的方法用数
9、据选择器设计组合逻辑电路的方法(1)逻辑抽象u确定输入、输出变量;u定义逻辑状态的含义;u列出真值表。(2)写出逻辑函数表达式u根据真值表写出逻辑函数的标准表达式(3)选定数据选择器器件u若函数有M个输入变量,选择的数据选择器有n位地址输入,则应取Mn+1,以M=n+1时器件的利用最充分可以少用一个地址输入u例如有4个输入变量,可以选择具有3位地址输入的数据选择器(8选1数据选择器),3个输入变量接数据选择器的3位地址输入端,1个输入变量接数据输入端(4)确定输入变量与地址输入端和数据输入端的对应关系u将逻辑函数式化为最小项之和的形式,并与数据选择器输出的逻辑函数式对照比较,确定输入变量与地址
10、输入端和数据输入端的对应关系(5)画出逻辑电路图u根据(4)进行连线,数据选择器的输出端即所设计的逻辑函数76第76页/共111页数据选择器的应用实例数据选择器的应用实例【例5.8】人的血型有A、B、AB、O 等4种。输血时输血者的血型与受血者的血型必须符合下图中用箭头指示的授受关系。试用数据选择器设计一个逻辑电路,判断输血者与受血者的血型是否符合上述规定。BABOABOBAAv提示:可以用两个逻辑变量的4种取值表示输血者的血型;用另外两个逻辑变量的4种取值表示受血者的血型。77第77页/共111页设计思路设计思路解:u确定输入、输出变量,定义逻辑状态的含义u输入变量:以MN的4种状态组合表示
11、输血者的4种血型,并以PQ的4种状态组合表示受血者的4种血型。u输出变量:用Z表示判断结果,Z=0表示符合题目要求,Z=1表示不符合要求。MN(00)(11)(10)(01)OABBAABABOPQ(00)(11)(10)(01)输入信号状态定义78第78页/共111页真值表和输出的逻辑函数表达式真值表和输出的逻辑函数表达式0101100101010101001100110 00 00 00 00 10 10 10 1ZP QM N1101000001010101001100111 01 01 01 01 11 11 11 1ZP QM N列出表示Z与 M、N、P、Q之间逻辑关系的真值表79第
12、79页/共111页逻辑函数与数据选择器的输出对照比较逻辑函数与数据选择器的输出对照比较u取8选1数据选择器74xx151实现上式的逻辑函数u已知8选1数据选择器的输出为u将Z变换成与Y对应的形式80v3个输入变量M、N、P接数据选择器的3位地址输入A2、A1、A0,1个输入变量Q接数据输入。第80页/共111页81电路连接图电路连接图令数据选择器的输入为 思考:如果本例采用HDL实现,应该怎样描述?哪种方法更简单?第81页/共111页825.2.5 数值比较器数值比较器数值比较器是一种关系运算电路,它可以对两个二进制数或二-十进制编码的数进行比较,得出大于、小于和相等的结果。分为“等值”比较器
13、和“量值”比较器,“等值”比较器只检验两个数是否相等;“量值”比较器不但检验两个数是否相等,而且还要检验两个数中哪个为大。1、1位数值比较器位数值比较器1&ABFABFA=BFAB真值表真值表0010FABA BFABFA=BFABCOMPAB用来比较两个一位二进制数大小的电路。第82页/共111页834位数值比较器(位数值比较器(7485)2、4位数值比较器(位数值比较器(7485)IABIA=BIABFABFA=BFABA3A2A1A0B3B2B1B0COMP7485(1)逻辑符号)逻辑符号1 0 0 0 0 11 0 0 0 0 11 0 0 0 0 11 0 0 0 0 1a b c
14、X X XX X XX X XX X XX X XX X XX X X X X Xa b cXXXXXXA0B0A0B1A1B2A2B3A3B3 则AB;若A3B3 则AB3B0,则低位片的输出FAB、FA=B、FAB为100,即高位片的级联输入IAB、IA=B、IAB为100,由功能表的最后一行可以得出,高位片的输出FAB、FA=B、FAB也为100,即AB;同理,若A3A0B3B0,则可推出AB;若A3A0=B3B0,则可推出A=B。100100第85页/共111页86数值比较器(数值比较器(7485)的)的HDL设计设计可以方便地用HDL设计多位数值比较器,而不必用扩展的方法采用if-e
15、lse语句信号定义A3A0和B3B0:两个4位二进制数输入信号;ALBI(即IAB):A大于B输入信号;ALBO(即FAB):A大于B输出信号。第86页/共111页877485的的Verilog HDL源程序源程序module CT7485(A3,A2,A1,A0,B3,B2,B1,B0,ALBI,AEBI,AGBI,ALBO,AEBO,AGBO);inputA3,A2,A1,A0,B3,B2,B1,B0,ALBI,AEBI,AGBI;outputALBO,AEBO,AGBO;regALBO,AEBO,AGBO;wire3:0A_SIGNAL,B_SIGNAL;assignA_SIGNAL=A
16、3,A2,A1,A0;/拼接成拼接成4位位wire型向量型向量 assignB_SIGNAL=B3,B2,B1,B0;/拼接成拼接成4位位wire型向量型向量 always begin if(A_SIGNAL B_SIGNAL)begin ALBO=0;AEBO=0;AGBO=1;end else if(A_SIGNAL B_SIGNAL)begin ALBO=1;AEBO=0;AGBO=0;end else/if(A_SIGNAL=B_SIGNAL)可省略可省略 begin ALBO=ALBI;AEBO=AEBI;AGBO=AGBI;end endendmodule第87页/共111页88C
17、T7485.V的时序仿真波形的时序仿真波形v为便于编辑输入波形,对于成组的信号(如A3、A2、A1、A0)可以先将其组合为一个总线信号,再赋值w先在波形编辑器中将信号A3、A2、A1、A0按从上至下的顺序排列(不能弄反!);w再选中这4个信号,单击右键,在快捷菜单中选择Group;w在Group窗口中键入Group name为“A”,选择Radix为“Hexadecimal”,单击OK。竞争-冒险第88页/共111页895.2.6 奇偶校验器奇偶校验器在数据传输过程中由于信道的干扰,或者在数据记录过程中由于外界的干扰,可能导致传输来的数据或记录的数据与原始数据不完全相同,即数据中的某一位或某几
18、位出现了差错。通过检测原始数据和接收数据中包含“1”的个数是奇数还是偶数,可以初步判断接收到的数据是否有错如果原始数据包含奇数个“1”,而接收数据包含偶数个“1”,则一定有错!奇偶校验就是检测数据中包含“1”的个数是奇数还是偶数。奇偶校验器是采用“奇偶校验”方法来检查数据传输后和数码记录中是否存在错误的一种逻辑电路。广泛用于计算机的内存储器以及磁盘和磁带之类的外部设备中;在通信中也常用到。第89页/共111页904位奇偶校验器位奇偶校验器1、4位奇偶校验器位奇偶校验器2k+1ABCDFODFEV0 11 01 00 11 00 10 11 01 00 10 11 00 11 01 00 10
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 数字逻辑 组合逻辑电路 数字 逻辑 组合 逻辑电路
限制150内