




版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
第七章组合逻辑电路设计第1页,课件共50页,创作于2023年2月定义:任一时刻的输出仅仅取决于当时的输入,与电路原来的状态无关,这样的数字电路叫做组合逻辑电路。常用组合逻辑电路有以下几种:
概述1、各种基本门电路(与门、或门、非门、异或门…)2、多选器(二选一、四选一、八选一、…)3、编码器4、译码器5、奇偶校验器6、三态门7、缓冲器第2页,课件共50页,创作于2023年2月用自下至上的设计方法设计一个三人表决器第一步,选择逻辑元、器件。我们选择与非门。第二步,进行电路设计。列真值表画卡诺图化简并写出逻辑函数表达式画逻辑电路图第3页,课件共50页,创作于2023年2月组合逻辑电路设计方法(补充)设计步骤:(1)建立描述逻辑问题的真值表①分析题目所给的条件②找出问题的条件与目的及因果关系③确定输入、输出变量④列出真值表(2)由真值表写出逻辑函数表达式;(如:用最小项积之和的形式)(3)对输出逻辑函数进行化简(4)画出逻辑电路图
第4页,课件共50页,创作于2023年2月基本的门电路包括有“与”门、“或”门、“非”门、“与非”门、“或非”门、“异或”门等等,它门是构成逻辑电路的基础。7.1简单门电路第5页,课件共50页,创作于2023年2月设计实例1:2输入“与非”门电路设计aby输入输出aby001011101110&第6页,课件共50页,创作于2023年2月设计方案1:LIBRARYieee;USEieee.std_logic_1164.all;ENTITYnand2_1IS PORT(a,b:INSTD_LOGIC; y:OUTSTD_LOGIC);ENDENTITYnand2_1;ARCHITECTUREnandOFnand2_1ISBEGINy<=aNANDb;ENDARCHITECTUREnand;此设计方案,描述很简洁,接近于2输入与非门的行为描述,易于阅读。NAND是逻辑运算符“与非”。第7页,课件共50页,创作于2023年2月LIBRARYieee;USEieee.std_logic_1164.all;USEieee.std_logic_unsigned.all;ENTITYnand2_2ISPORT(a,b :INSTD_LOGIC; y :OUTSTD_LOGIC);ENDENTITYnand2_2;ARCHITECTUREnandOFnand2_2ISBEGINPROCESS(a,b)ISVARIABLEcomb:STD_LOGIC_VECTOR(1DOWNTO0);BEGINcomb:=a&b;CASEcombISWHEN"00"=>y<='1';WHEN"01"=>y<='1';WHEN"10"=>y<='1';WHEN"11"=>y<=‘0';WHENOTHER=>y<=‘X';ENDCASE;ENDPROCESS;ENDARCHITECTUREnand;
设计方案2:此设计方案,以2输入与非门的真值表为依据来编写的,罗列了2输入与非门的每种输入状态及其对应的输出结果。CASE语句从许多不同的语句的序列中选择其中之一执行。case表达式iswhen分支条件=>顺序处理语句;when分支条件=>顺序处理语句;when分支条件=>顺序处理语句;endcase;┇并置运算符“&”用于位的连接,构成了两位长度位矢量第8页,课件共50页,创作于2023年2月课堂练习请用VHDL设计一个三输入与非门。第9页,课件共50页,创作于2023年2月LIBRARYIEEE;USEIEEE.STD_LOGIC_1164.ALL;ENTITYNAND3ISPORT(A,B,C:INSTD_LOGIC;Q:OUTSTD_LOGIC);ENDENTITYtest1;ARCHITECTURENANDOFNAND3ISBEGINQ<=not(AandBandC);ENDARCHITECTUREtest1;第10页,课件共50页,创作于2023年2月在数字系统中,译码器的功能是将一种数码变换成另一种数码。译码器的输出状态是其输入变量各种组合的结果。译码器的输出既可以用于驱动或控制系统其他部分,也可驱动显示器,实现数字、符号的显示。码器是一种组合电路,工作状态的改变无需依赖时序脉冲。译码器可分为数码译码和显示译码两大类。7.2译码器第11页,课件共50页,创作于2023年2月3-8译码器设计3个二进制输入端A0、A1、A2,8个译码输出端Y0-Y7。对输入值进行译码,就可以确定哪个输出端为有效电平,从而达到译码目的。G1、G2A、G2B是3个选通输入端,只有在G1=1,G2A=0,G2B=0时,译码器正常译码,否则Y0-Y7均为高电平。第12页,课件共50页,创作于2023年2月
输入输出G1
G2A
G2B
A2
A1
A0
Y0
Y1
Y2
Y3
Y4
Y5
Y6
Y7
×1××××11111111××1×××111111110×××××1111111110000001111111100001101111111000101101111110001111101111100100111101111001011111101110011011111101100111111111103线—8线译码器74138真值表
第13页,课件共50页,创作于2023年2月
按数据流描述方式编写的3线—8线译码器74138LIBRARYIEEE;USEIEEE.STD_LOGIC_1164.ALL;ENTITYdecoder138ISPORT(G1,G2A,G2B:INSTD_LOGIC;A:INSTD_LOGIC_VECTOR(2DOWNTO0);Y:OUTSTD_LOGIC_VECTOR(7DOWNTO0));ENDENTITYdecoder138;ARCHITECTUREdataflowOFdecoder138ISBEGINPROCESS(G1,G2A,G2B,A)ISBEGINIF(G1='1'ANDG2A='0'ANDG2B='0')THEN第14页,课件共50页,创作于2023年2月
CASEAISWHEN"000"=>Y<="11111110";WHEN"001"=>Y<="11111101";WHEN"010"=>Y<="11111011";WHEN"011"=>Y<="11110111";WHEN"100"=>Y<="11101111";WHEN"101"=>Y<="11011111";WHEN"110"=>Y<="10111111";WHENOTHERS=>Y<="01111111";ENDCASE;ELSEY<="11111111";ENDIF;ENDPROCESS;ENDARCHITECTUREdataflow;case表达式iswhen分支条件=>顺序处理语句;when分支条件=>顺序处理语句;when分支条件=>顺序处理语句;endcase;┇第15页,课件共50页,创作于2023年2月7.2编码器
用一组二进制代码按一定规则表示给定字母、数字、符号等信息的方法称为编码,能够实现这种编码功能的逻辑电路称为编码器。第16页,课件共50页,创作于2023年2月输入输出I0
I1
I2
I3I4
I5I6I7
A2
A1
A0
10000000000010000000010010000001000010000011000010001000000010010100000010110000000011118线—3线编码器真值表
A2=I4+I5+I6+I7A1=I2+I3+I6+I7A0=I1+I3+I5+I7
逻辑表达式:第17页,课件共50页,创作于2023年2月例:采用行为描述方式的8线—3线编码器VHDL源代码
(依据逻辑表达式)LIBRARYIEEE;USEIEEE.STD_LOGIC_1164.ALL;ENTITYcoder83_v1ISPORT(I0,I1,I2,I3,I4,I5,I6,I7:INSTD_LOGIC;A0,A1,A2:OUTSTD_LOGIC);ENDENTITYcoder83_v1;ARCHITECTUREbehaveOFcoder83_v1ISBEGINA2<=I4ORI5ORI6ORI7;A1<=I2ORI3ORI6ORI7;A0<=I1ORI3ORI5ORI7;ENDARCHITECTUREbehave;第18页,课件共50页,创作于2023年2月例:采用数据流描述方式的8线—3线编码器VHDL源代码(依据真值表)LIBRARYIEEE;USEIEEE.STD_LOGIC_1164.ALL;ENTITYcoder83_v2ISPORT(I:INSTD_LOGIC_VECTOR(7DOWNTO0);A:OUTSTD_LOGIC_VECTOR(2DOWNTO0));ENDENTITYcoder83_v2;ARCHITECTUREdataflowOFcoder83_v2ISBEGINPROCESS(I)ISBEGIN第19页,课件共50页,创作于2023年2月CASEIISWHEN"10000000"=>A<="111";WHEN"01000000"=>A<="110";WHEN"00100000"=>A<="101";WHEN"00010000"=>A<="100";WHEN"00001000"=>A<="011";WHEN"00000100"=>A<="010";WHEN"00000010"=>A<="001";WHENOTHERS=>A<="000";ENDCASE;ENDPROCESS;ENDARCHITECTUREdataflow;第20页,课件共50页,创作于2023年2月优先编码器优先编码器常用于中断的优先控制。当其某一个输入有效时,就可以输出一个对应的3位二进制码。另外,当同时有几个输入有效时,将输出优先级最高的那个输入所对应的二进制码。第21页,课件共50页,创作于2023年2月低电平有效input(0)优先级最高,input(1)优先级次之,如此类推,input(7)优先级最低第22页,课件共50页,创作于2023年2月LIBRARYIEEE;USEIEEE.STD_LOGIC_1164.ALL;ENTITYpriorityencoderISPORT(input:INSTD_LOGIC_VECTOR(7DOWNTO0);y:OUTSTD_LOGIC_VECTOR(2DOWNTO0));ENDENTITYpriorityencoder;ARCHITECTURErtlOFpriorityencoderIS
BEGINPROCESS(input)ISBEGINIF(input(0)=‘0’)THENy<=“111”;ELSIF(input(1)=‘0’)THEN
y<=“110”;按行为数据流方式编写优先编码器的VHDL源代码如下:方法:利用if多选择语句自顶向下的优先特性input(0)优先级最高,input(1)优先级次之,如此类推,input(7)优先级最低第23页,课件共50页,创作于2023年2月
ELSIF(input(2)=‘0’)THEN
y<=“101”;
ELSIF(input(3)=‘0’)THEN
y<=“100”;
ELSIF(input(4)=‘0’)THEN
y<=“011”;
ELSIF(input(5)=‘0’)THEN
y<=“010”;
ELSIF(input(6)=‘0’)THEN
y<=“001”;ELSE
y<=“000”;ENDIF;ENDPROCESS;ENDARCHITECTURErtl;利用IF多选择语句,自顶向下的优先特性。第24页,课件共50页,创作于2023年2月注意:采用数据流编写优先编码器时,因为VHDL语言目前还不能描述任意项,即下面的语句形式是非法的:WHEN“0XXXXXXX”=>A<=“000”;因此不能用CASE语句来描述74148,而采用IF语句对74148进行了逻辑描述。第25页,课件共50页,创作于2023年2月7.3选择器在多路数据传送过程中,能够根据需要将其中任意一路选出来的电路,叫做数据选择器,也称多路选择器或多路开关。
第26页,课件共50页,创作于2023年2月8选1数据选择器设计YbD7D71110D6D60110D5D51010D4D40010D3D31100D2D20100D1D11000D0D0000010XXX1A0A1A2GY地址选择使能输出输入741518选1数据选择器真值表
第27页,课件共50页,创作于2023年2月参考74151的真值表,采用IF语句结构编写的VHDL源代码如下:LIBRARYIEEE;USEIEEE.STD_LOGIC_1164.ALL;ENTITYmux8ISPORT(A:INSTD_LOGIC_VECTOR(2DOWNTO0);D0,D1,D2,D3,D4,D5,D6,D7:INSTD_LOGIC;G:INSTD_LOGIC;Y:OUTSTD_LOGIC;YB:OUTSTD_LOGIC);ENDENTITYmux8;ARCHITECTUREdataflowOFmux8ISBEGINPROCESS(A,D0,D1,D2,D3,D4,D5,D6,D7,G)IS用IF语句设计8选1选择器第28页,课件共50页,创作于2023年2月BEGINIF(G='1')THENY<='0';YB<='1';ELSIF(G='0'ANDA="000")THENY<=D0;YB<=NOTD0;
ELSIF(G='0'ANDA="001")THENY<=D1;YB<=NOTD1; ELSIF(G='0'ANDA="010")THENY<=D2;YB<=NOTD2;
ELSIF(G='0'ANDA="011")THENY<=D3;YB<=NOTD3;用IF语句设计8选1选择器(续)多选择控制的IF语句格式:
IF
条件
THEN
顺序处理语句;
ELSIF
条件
THEN
顺序处理语句;
┄
ELSIF
条件
THEN
顺序处理语句;
ELSE
顺序处理语句;
END
IF;第29页,课件共50页,创作于2023年2月
ELSIF(G='0'ANDA="100")THENY<=D4;YB<=NOTD4;
ELSIF(G='0'ANDA="101")THENY<=D5;YB<=NOTD5;ELSIF(G='0'ANDA="110")THENY<=D6;YB<=NOTD6;ELSEY<=D7;YB<=NOTD7;ENDIF;ENDPROCESS;ENDARCHITECTUREdataflow;用IF语句设计8选1选择器(续)第30页,课件共50页,创作于2023年2月参考74151的真值表,采用CASE语句结构编写的VHDL源代码如下LIBRARYIEEE;USEIEEE.STD_LOGIC_1164.ALL;ENTITYmux8ISPORT(A2,A1,A0:INSTD_LOGIC;D0,D1,D2,D3,D4,D5,D6,D7:INSTD_LOGIC;G:INSTD_LOGIC;Y:OUTSTD_LOGIC;YB:OUTSTD_LOGIC);ENDENTITYmux8;ARCHITECTUREdataflowOFmux8ISSIGNALcomb:STD_LOGIC_VECTOR(3DOWNTO0);BEGINcomb<=G&A2&A1&A0;用CASE语句设计8选1选择器并置运算符“&”用于位的连接,构成了四位长度位矢量第31页,课件共50页,创作于2023年2月PROCESS(comb,D0,D1,D2,D3,D4,D5,D6,D7,G)ISBEGINCASEcombISWHEN"0000"=>Y<=D0;YB<=NOTD0;WHEN"0001"=>Y<=D1;YB<=NOTD1;
WHEN"0010"=>Y<=D2; YB<=NOTD2;WHEN"0011"=>Y<=D3; YB<=NOTD3; WHEN"0100"=>Y<=D4; YB<=NOTD4;WHEN"0101"=>Y<=D5; YB<=NOTD5;用CASE语句设计8选1选择器(续)Case语句使用注意:1)分支条件的值必须在表达式的取值范围内。2)两个分支条件不能重叠。3)CASE语句执行时必须选中,且只能选中一个分支条件。4)如果没有others分支条件存在,则分支条件必须覆盖表达式所有可能的值。std_logc,std_logic_vector数据类型要特别注意使用others分支条件。第32页,课件共50页,创作于2023年2月WHEN"0110"=>Y<=D6; YB<=NOTD6;WHEN"0111"=>Y<=D7; YB<=NOTD7;WHENOTHERS=>Y<='0'; YB<='1';ENDCASE;ENDPROCESS;ENDARCHITECTUREdataflow;用CASE语句设计8选1选择器(续)第33页,课件共50页,创作于2023年2月其中:A和B是两个相加的8位二进制数;Cin是低位进位位;S是A、B相加之和;Co是A、B相加之后的进位位。7.4加法器
加法器是数字电路中的基本运算单元,下例是直接利用VHDL运算符“+”实现加法运算的8位加法器源代码。第34页,课件共50页,创作于2023年2月输入输出CIABSCO0000000110010100110110010101011100111111全加器真值表第35页,课件共50页,创作于2023年2月LIBRARYIEEE;USEIEEE.STD_LOGIC_1164.ALL;USEIEEE.STD_LOGIC_UNSIGNED.ALL;ENTITYadder8ISPORT(A:INSTD_LOGIC_VECTOR(7DOWNTO0);B:INSTD_LOGIC_VECTOR(7DOWNTO0);Cin:INSTD_LOGIC;Co:OUTSTD_LOGIC;S:OUTSTD_LOGIC_VECTOR(7DOWNTO0));ENDENTITYadder8;声明了IEEE库中的包集合STD_LOGIC_UNSIGNED,才能对STD_LOGIC_VECTOR类型数据进行加减运算把两位输入A,B分别定义成8位二进制数,输出S也定义成8位二进制数,低位进位和高位进位定义为1位逻辑位
带进位的8位加法器设计第36页,课件共50页,创作于2023年2月ARCHITECTUREbehaveOFadder8ISSIGNALSint:STD_LOGIC_VECTOR(8DOWNTO0);SIGNALAA,BB:STD_LOGIC_VECTOR(8DOWNTO0);BEGINAA<='0'&A(7DOWNTO0);BB<='0'&B(7DOWNTO0);Sint<=AA+BB+Cin;S(7DOWNTO0)<=Sint(7DOWNTO0);Co<=Si
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 儿童康复医学课件
- Unit 4教学设计 2024-2025学年人教版八年级英语上册
- 奥巴马大选营销案例分析
- 建筑设计院与建筑师劳动合同
- 2025带保证人的土地使用权转让版合同
- 2025天猫店铺转让合同样本下载
- 房屋租赁合同签订要点与规避风险指南
- 2025合同范本-设备租赁合同
- 新版二手房屋买卖合同范本
- 茶叶合作合同范本
- 钢厂供销合同协议
- 小学教学科学试题及答案
- 集团物业后勤管理制度
- 锅炉安装安全管理制度
- 企业中层管理培训课件
- 贵州省2025年4月高三年级适应性考试英语试卷(含答案)
- 山东省济南市2025年3月高三模拟考试英语试题及答案
- 报价单模板完
- 风电场工程勘察设计收费标准
- 可燃气体报警系统安装记录
- 项目管理人员安全教育课件
评论
0/150
提交评论