版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、第7章 组合逻辑电路模块2021年12月16日16时40分1第7章 组合逻辑电路模块 7.1 门电路门电路 7.1.1 二输入与非门电路二输入与非门电路 7.1.2 二输入与或门电路二输入与或门电路 7.1.3 二输入异或门电路二输入异或门电路7.2 编码器、译码器、选择器电路编码器、译码器、选择器电路 7.2.1 8-3线优先编码器设计线优先编码器设计 7.2.2 3-8线译码器线译码器 7.2.3 4选选1数据选择器数据选择器VHDL语言描述语言描述 第7章 组合逻辑电路模块2021年12月16日16时40分27.1 组合逻辑电路设计组合逻辑电路设计 7.1.1 基本门电路基本门电路 基本
2、门电路有与门、或门、非门、与非门、或非门和异或门等,用VHDL语言来描述十分方便。【例【例7.1】2输入与非门电路LIBRARYIEEE;USEIEEE.STD_LOGIC_1167.ALL;ENTITYxx1ISPORT(a,b:INSTD_logic;y:OUTSTD_LOGIC);ENDxx1;ARCHITECTURENAND2PPOFxx1ISBEGINy=aNANDB;ENDNAND2PP; 第7章 组合逻辑电路模块2021年12月16日16时40分3【例【例7.2】2输入或非门LIBRARY ieee;use ieee.std_logic_1167.all;entity nor2
3、isport(a,b:in std_logic; y:out std_logic);end nor2;architecture nor_behave of nor2 isbegin y=a nor b;end nor_behave;【例【例7.3】2输入异或门电路library ieee;use ieee.std_logic_1167.all;entity xor2 is PORT(a,b:IN STD_IOGIC; y:out std_logic);END XOR B;ARCHITECTURE XOR_BEHAVE OF XOR2 ISbegin y=a xor b;END XOR_BEHA
4、VE;第7章 组合逻辑电路模块2021年12月16日16时40分4【例【例7.4】同时实现一个与门、或门、与非门、或非门、异或门及反相器的逻辑同时实现一个与门、或门、与非门、或非门、异或门及反相器的逻辑 LIBRARYIEEE;USEIEEE.STD_LOGIC_1167.ALL;ENTITYGATEISPORT(A,B:INSTD_LOGIC;YAND,YOR,YNAND,YNOR,YNOT,YXOR:OUTSTD_LOGIC);ENDGATE;ARCHITECTUREARTOFGATEISBEGINYAND=AANDB;-与门输出YOR=AORB;-或门输出YNAND=ANANDB;-与非
5、门输出YNOR=ANORB;-或非门输出YNOT=ANOTB;-反相器输出YXOR=AXORB;-异或门输出ENDART;第7章 组合逻辑电路模块2021年12月16日16时40分5 7.2 编码器、译码器、选择器电路编码器、译码器、选择器电路【例7.5】实现74LS138三线-八线译码器(输出低电平有效)。三线-八线译码器74LS138的输出有效电平为低电平,译码器的使能控制输入端g1、g2a、g2b有效时,当3线数据输入端cba=000时,y7.0=11111110(即y0=0);当cba=001时,y7.0=11111101(即y1=0);依此类推。 用VHDL描述的三线-八线译码器74
6、LS138源程序如下:LIBRARYieee;USEieee.std_logic_1167.all;entitydecoder38isport(a,b,c,g1,g2a,g2b:instd_logic;y:outstd_logic_vector(7downto0);enddecoder38;architecturebehave38OFdecoder38issignalindata:std_logic_vector(2downto0);beginindatayyyyyyyyy=XXXXXXXX;endcase;elsey=11111111;endif;endprocess;endbehave38
7、;第7章 组合逻辑电路模块2021年12月16日16时40分6【例【例7.6】分别以分别以4种方法描述一个输出高电平有效的种方法描述一个输出高电平有效的3-8译码器。译码器。 LIBRARYIEEE;USEIEEE.STD_LOGIC_1167.ALL;USEIEEE.STD_LOGIC_UNSIGNED_ALL;ENTITYDECODERISPORT(INP:INSTD_LOGIC_VECTOR(2DOWNTO0);OUTP:OUTBIT_VECTOR(7DOWNTO0);ENDDECODER;方法方法1:使用SLL逻辑运算符ARCHITECTUREART1OFDECODERISBEGINO
8、UTP=00000001SLL(CONV_INTEGER(INP);ENDART1;第7章 组合逻辑电路模块2021年12月16日16时40分7方法方法2:使用PROCESS语句ARCHITECTUREART2OFDECODERISBEGINPROCESS(INP)BEGINOUTP1)OUTP(COVN_INTEGER(INP)=1ENDPROCESS;ENDART2;第7章 组合逻辑电路模块2021年12月16日16时40分8方法方法3:使用WHENELSE语句ARCHITECTUREART3OFDECODERISBEGINOUTP(0)=1WHENINP=000ELSE0;OUTP(1)
9、=1WHENINP=001ELSE0;OUTP(2)=1WHENINP=010ELSE0;OUTP(3)=1WHENINP=011ELSE0;OUTP(4)=1WHENINP=100ELSE0;OUTP(5)=1WHENINP=101ELSE0;OUTP(6)=1WHENINP=110ELSE0;OUTP(7)OUTPOUTPOUTPOUTPOUTPOUTPOUTPOUTPOUTP=XXXXXXXX;ENDCASE;ENDART4;第7章 组合逻辑电路模块2021年12月16日16时40分107.2.3 编码器编码器 1. 8-3线优先编码器线优先编码器8-3线优先编码器,输入信号为A、B、C
10、、D、E、F、G和H,输出信号为OUT0、OUT1和OUT2。输入信号中A的优先级别最低,依次类推,H的优先级别最高。【例【例7.7】用3种方法设计8-3线优先编码器。LIBRARYIEEE;USEIEEE.STD_LOGIC_1167.ALL;ENTITYENCODERISPORT(A,B,C,D,E,F,G,H:INSTD_LOGIC:OUT0,OUT1,OUT2:OUTSTD_LOGIC);ENDENCODER;第7章 组合逻辑电路模块2021年12月16日16时40分11方法方法1:使用条件赋值语句ARCHITECTUREART1OFENCODERISSIGNALOUTS:STD_LO
11、GIC_VECTOR(2DOWNTO0);BEGINOUTS(2DOWNTO0)=111WHENH=1ELSE110WHENG=1ELSE101WHENF=1ELSE100WHENE=1ELSE011WHEND=1ELSE010WHENC=1ELSE001WHENB=1ELSE000WHENA=1ELSEXXX;OUT0=OUTS(0);OUT1=OUTS(1);OUT2=0ANDINPUTS(I)/=1LOOPI:=I-1;ENDLOOP;(OUT2,OUT1,OUT0)=CONV_STD_LOGIC_VECTOR(I,3);ENDPROCESS;ENDART2;第7章 组合逻辑电路模块20
12、21年12月16日16时40分13方法方法3:使用:使用IF语句语句LIBRARYIEEE;USEIEEE.STD_LOGIC_1167.ALL;ENTITYENCODERISPORT(IN1:INSTD_LOGIC_VECTOR(7DOWNTO0);OUT1:OUTSTD_LOGIC_VECTOR(2DOWNTO0);ENDENCODER;ARCHITECTUREART3OFENCODERISBEGINPROCESS(INT1)BEGINIFIN1(7)=1THENOUT1=111;ELSIFIN1(6)=1THENOUT1=110;ELSIFIN1(5)=1THENOUT1=101;ELS
13、IFIN1(4)=1THENOUT1=100;ELSIFIN1(3)=1THENOUT1=011;ELSIFIN1(2)=1THENOUT1=010;ELSIFIN1(1)=1THENOUT1=001;ELSIFIN1(0)=1THENOUT1=000;ELSEOUT1 S S S S S S S S S S S S S S S S S = B0000; END CASE; END PROCESS ;END struc;第7章 组合逻辑电路模块2021年12月16日16时40分177.2.4 数值比较器数值比较器 数值比较器可以比较两个二进制是否相等,下面是一个8位比较器的VHDL描述。有两个
14、8位二进制数,分别是A和B,输出为EQ,当A=B时,EQ=1,否则EQ=0。 【例【例7.9】8位数值比较器的位数值比较器的VHDL描述描述 LIBRARYIEEE;USEIEEE.STD_LOGIC_VECTOR(7DOWNTO0);ENTITYCOMPAREISPORT(A,B:INSTD_LOGIC_VECTOR(7DOWNTO0);EQ:OUTSTD_LOGIC);ENDCOMPARE;ARCHITECTUREARTOFCOMPAREISBEGINEQ=1WHENA=BELSE0;ENDART;第7章 组合逻辑电路模块2021年12月16日16时40分187.2.5 数据选择器数据选择
15、器 4选1选择器用于四路信号的切换。4选1选择器有4个信号输入端INP(0)INP(3),两个信号选择端A、B,一个信号输出端Y。当A、B输入不同的选择信号时,就可以使INP(0)INP(3)中某个相应的输入信号与输出端Y接通。【例7.10】4选1选择器的VHDL描述LIBRARYIEEE;USEIEEE.STD_LOGIC_1167.ALL;ENTITYMUX41ISPORT(INP:INSTD_LOGIC_VECTOR(3DOWNTO0);A,B:INSTD_LOGIC;Y:OUTSTD_LOGIC);ENDMUX41;ARCHITECTUREARTOFMUX41ISSIGNALSEL:S
16、TD_LOGIC_VECTOR(1DOWNTO0);第7章 组合逻辑电路模块2021年12月16日16时40分19BEGINSEL=B&A;PROCESS(INP,SEC)BEGINIF(SEL=00)THENY=INP(0);ELSIF(SEL=01)THENY=INP(1);ELSIF(SEL=11)THENY=INP(2);ELSEY=INP(3);ENDIF;ENDPROCESS;ENDART;第7章 组合逻辑电路模块2021年12月16日16时40分207.2.6 算术运算电路算术运算电路1.加法器加法器【例7.12】半加器LIBRARY IEEE;USE IEEE.STD_
17、LOGIC_1167.ALL;ENTITY half ISPORT (a,b:IN std_LOGIC; s,co:OUT std_LOGIC);END half;ARCHITECTURE half1 OF half ISsignal c,d:std_logic;BEGIN c=a OR b; d=a NAND b; co=NOT d; s=c and d;END half1; 第7章 组合逻辑电路模块2021年12月16日16时40分21【例【例7.13】全加器,由半加器组成,以元件方式调用。LIBRARY ieee;USE ieee.std_logic_1167.all;ENTITY ha
18、lf ISPORT (a, b:IN std_LOGIC; s,co:OUT std_LOGIC);END half;ARCHITECTURE half1 OF half ISsignal c,d:std_logic;BEGIN c=a or b; d=a nand b; co=not d; s=c and d;end half1;LIBRARY ieee;USE ieee.std_logic_1167.all;ENTITY full ISPORT (a,b,cin:IN std_LOGIC; s,co: OUT std_LOGIC);END full;ARCHITECTURE full1 O
19、F full ISCOMPONENT half PORT (a, b:IN std_LOGIC; s,co:OUT std_LOGIC);END COMPONENT;SIGNAL u0_co,u0_s,u1_co:std_logic;BEGIN u0:half port map(a,b,u0_s,u0_co); u1:half port map(u0_s,cin,s,u1_co);co=u0_co or u1_co;end full1;第7章 组合逻辑电路模块2021年12月16日16时40分222. 乘法器乘法器【例【例7.147.14】8位乘法器的设计。 8位乘法器的元件符号如图7.4所示
20、,a7.0和b7.0是被乘数和乘数输入端,q15.0是乘积输出端。8位乘法器源程序如下:LIBRARYIEEE;USEIEEE.STD_LOGIC_1167.ALL;ENTITYmulISPORT(a,b:INintegerrange0to255;q:OUTintegerrange0to65535);ENDmul;ARCHITECTUREoneOFmulISBEGINq=a*b;ENDone;图图7.4 8位乘法器元件符号位乘法器元件符号第7章 组合逻辑电路模块2021年12月16日16时40分23【例【例7.15】对输入操作数A、B作加、减、乘、除运算LIBRARYIEEE;USEIEEE.
21、STD_LOGIC_1167.ALL;USEIEEE.STD_LOGIC_ARITH.ALL;USEIEEE.STD_LOGIC_UNSIGNED.ALL;ENTITYARITHMETICISPORT(A,B:INSTD_LOGIC_VECTOR(3DOWNTO0);Q1:OUTSTD_LOGIC_VECTOR(4DOWNTO0);Q2,Q3:OUTSTD_LOGIC_VECTOR(3DOWNTO0);Q4:OUTSTD_LOGIC_VECTOR(7DOWNTO0);ENDARITHMETIC;ARCHITECTUREARTOFARITHMETICISBEGINPROCESS(A,B)BEGI
22、NQ1=(0&A)+(0&B);-ADDITIONQ2=A-B; -SUBTRACTIONQ3=A/B;-DIVISIONQ4=A*B;-MULTIPLICATIONENDPROCESS;ENDART;第7章 组合逻辑电路模块2021年12月16日16时40分247.2.7 三态门及总线缓冲器三态门及总线缓冲器三态门和总线缓冲器是驱动电路经常用到的器件。1. 三态门电路三态门电路【例【例7.16】三态门电路的三态门电路的VHDL描述描述 LIBRARYIEEE;USEIEEE.STD_LOGIC_1167.ALL;ENTITYTRISTATEISPORT(EN,DIN:INST
23、D_LOGIC;DOUT:OUTSTD_LOGIC);ENDTRISTATE;ARCHITECTUREARTOFTRISTATEISBEGINPROCESS(EN,DIN)BEGINIFEN=1THENDOUT=DIN;ELSEDOUT=Z;ENDIF;ENDPROCESS;ENDART;第7章 组合逻辑电路模块2021年12月16日16时40分252. 单向总线驱动器单向总线驱动器在微型计算机的总线驱动中经常要用单向总线缓冲器,它通常由多个三态门组成,用来驱动地址总线和控制总线。一个8位的单向总线缓冲器如图7.5所示。图7.5单向总线缓冲器DOUT7.0ENDIN7.0ENTRI_BUF8D
24、OUT7.0DIN7.0第7章 组合逻辑电路模块2021年12月16日16时40分26【例【例7.17】单向总线缓冲器的单向总线缓冲器的VHDL描述描述 LIBRARYIEEE;USEIEEE.STD_LOGIC_1167.ALL;ENTITYTR1_BUF8ISPORT(DIN:INSTD_LOGIC_VECTOR(7DOWNTO0);EN:INSTD_LOGIC;DOUNT:OUTSTD_LOGIC_VECTOR(7DOWNTO0);ARCHITECTUREARTOFTR1_BUF8ISBEGINPROCESS(EN,DIN)IF(EN=1)THENDOUT=DIN;ELSEDOUT=ZZZZZZZZ;ENDIF;ENDPROCESS;ENDART;第7章 组合逻辑电路模块2021年12月16日16时40分27 3. 双向总线缓冲器双向总线缓冲器双向总线缓冲器用于数据总线的驱动和缓冲,典型的双向总线缓冲器如图7.6所示。图中的双向总线缓冲器有两个数据输入输出端A和B,一个方向控制端DIR和一个选通端EN。EN=0时双向缓冲器
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 4年个人年终工作总结暨年工作计划
- 2024幼儿园小班保教工作计划范文
- 小学新学期教师教学工作计划
- 临沂大学《新媒体动画艺术》2021-2022学年第一学期期末试卷
- 临沂大学《图形设计基础》2021-2022学年第一学期期末试卷
- 幼儿园园本教研计划模板
- 聊城大学东昌学院《动画速写》2021-2022学年第一学期期末试卷
- 聊城大学《环境艺术概论》2022-2023学年第一学期期末试卷
- 2024下半年度工作计划
- 主题休闲会所项目计划书
- 农业统计课件
- 替班换班登记表
- 26个英文字母手写体示范
- 阿利的红斗篷 完整版课件PPT
- 档案管理台账模版
- 通信线路和管道工程施工组织方案要点
- 四人的剧本杀
- 第31课大象和他的长鼻子
- 1378管理英语3-国家开放大学2022年1月(2021秋)期末考试真题-开放本科
- XYQ3C说明书教学文案
- 电力工程公司安全管理制度完整篇.doc
评论
0/150
提交评论