常用组合逻辑模块三_第1页
常用组合逻辑模块三_第2页
常用组合逻辑模块三_第3页
常用组合逻辑模块三_第4页
常用组合逻辑模块三_第5页
已阅读5页,还剩51页未读 继续免费阅读

下载本文档

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

文档简介

常用组合逻辑模块三第1页/共56页2数据选择器根据需要从多个输入中选择一个送到输出端的逻辑电路称为数据选择器,又称多路器。第2页/共56页3数据选择器4选1数据选择器的输出函数的逻辑表达式为:实现2n选1的数据选择器的逻辑表达式为:第3页/共56页4数据选择器G为选通输入端。第4页/共56页5数据选择器数据选择器的主要用途是根据需要由选择信号控制从多个数据输入中选择一个输出。数据选择器又称为多路复用器(multiplexer),简称MUX。MUX也是大规模可编程逻辑器件的基本单元之一。第5页/共56页6数据选择器1、实现多通道数据传送例:用八选一和四选一MUX实现32选1多路器。常用MSI数据选择器的应用真值表000

00

111000

01

111

000

10

111

000

11

111A4A3A2A1A0

FD0D7D8D15D16D23D24D31第6页/共56页7数据选择器32选1多路器逻辑电路连接图D0D7A2

A1A0GFD0D7A2

A1A0GFD0D7A2

A1A0GFD0D7A2

A1A0GFA1A2A0GD0

D1D2D3

A1A0GFA4A3FD0D7D8D15D16D23D24D3174151⑴74151(2)74151(3)74151(4)74153第7页/共56页8数据选择器2、实现组合逻辑函数

多路器输出表达式:F=miDii=02n-1确定Di方法:代数法、卡诺图法、真值表法逻辑函数标准型:F=miaii=02n-1第8页/共56页9数据选择器例:用四选一多路器实现函数

F(A,B,C)=m(2,3,5,6)代数法:解:选择AB作为选择控制变量F(A,B,C)=ABC+ABC+ABC+ABC=AB(1)+AB(C)+AB(C)D1=1D0=0D2=CD3=C

D0D1D2D3A1A0GF

74153F(A,B,C)AB“1”C“0”第9页/共56页10数据选择器卡诺图法:选择AB作为控制变量BC00A01111001111

10BA101D0D1D2D30BA1011CCD1=1D0=0D2=CD3=C

F(A,B,C)=m(2,3,5,6)第10页/共56页11数据选择器真值表法:ABCF00000010010101111000101111011110

A

B

FD0D1D2D3=0=1=C=C第11页/共56页12数据选择器例:用八选一多路器实现逻辑函数

F(A,B,C)=m(1,2,4,7)=m1D1+m2D2

+m4D4

+m7D7D0=D3=D5=D6=0D1=D2=D4=D7=1F=miDii=02n-1

D0D1D2D3D4D5D6D7A2A1A0GF74151F(A,B,C)ABC“1”第12页/共56页13总结:用数据选择器实现逻辑函数的步骤:①选择MSIMUX芯片型号(若未指定);②选择控制变量;③对应控制变量作K图,并在K图中标注出Di;④若Di是多变量函数,可再用一级MUX实现Di;⑤写出Di的函数表达式。数据选择器第13页/共56页14VHDL介绍VHDL:

VeryHighSpeedIntegratedCircuitHardwareDescriptionLanguage,即超高速集成电路硬件描述语言。 VHDL作为IEEE标准的硬件描述语言和EDA的重要组成部分,经过几十年的发展、应用和完善,以其强大的系统描述能力、规范的程序设计结构、灵活的语言表达风格和多层次的仿真测试手段,在电子设计领域受到了普遍的认同和广泛的接受,成为现代EDA领域的首选硬件设计语言。专家认为,在新世纪中,VHDL与Verilog语言将承担起几乎全部的数字系统设计任务。第14页/共56页VHDL的优点用于设计复杂的、多层次的设计。支持设计库和设计的重复使用与硬件独立,一个设计可用于不同的硬件结构,而且设计时不必了解过多的硬件细节。有丰富的软件支持VHDL的综合和仿真,从而能在设计阶段就能发现设计中的Bug,缩短设计时间,降低成本。VHDL有良好的可读性,容易理解。VHDL介绍第15页/共56页VHDL与计算机语言的区别运行的基础计算机语言是在CPU+RAM构建的平台上运行VHDL设计的结果是由具体的逻辑、触发器组成的数字电路执行方式计算机语言多是以串行的方式执行VHDL在总体上是以并行方式工作验证方式计算机语言主要关注于变量值的变化VHDL要实现严格的时序逻辑关系VHDL介绍第16页/共56页17VHDL介绍结构体(ARCHITECTURE)进程或其它并行结构实体(ENTITY)配置(CONFIGURATION)库、程序包设计实体第17页/共56页库(LIBRARY)——存放预先设计好的程序包和数据的集合体。程序包(PACKAGE)——将已定义的数据类型、元件调用说明及子程序收集在一起,供VHDL设计实体共享和调用,若干个包则形成库。1、库、程序包VHDL介绍库以VHDL源文件的形式存在,主要有IEEE库、STD库、WORK库、ASIC库和用户自定义库五种。第18页/共56页IEEE库包括:STD_LOGIC_1164STD_LOGIC_ARITH——是SYNOPSYS公司加入IEEE库程序包,包括:STD_LOGIC_SIGNED(有符号数)STD_LOGIC_UNSIGNED(无符号数)STD_LOGIC_SMALL_INT(小整型数)VHDL’87版本使用IEEESTD1076-1987语法标准VHDL’93版本使用IEEESTD1076-1993语法标准VHDL介绍第19页/共56页例:LIBRARYIEEE

USEIEEE.STD_LOGIC_1164.ALL描述器件的输入、输出端口数据类型中将要用到的IEEE的标准库中的STD_LOGIC_1164程序包。20VHDL介绍第20页/共56页格式: ENTITY实体名IS [类属参数说明] [端口说明] END实体名;规则:(1)类属参数说明必须放在端口说明之前,用于指定如矢量位数、延迟时间等参数。例如 GENERIC(m:TIME:=1ns); --说明m是一个值为1ns的时间参数则程序语句:tmp1<=d0ANDse1AFTERm; --表示d0ANDse1经1ns延迟后才送到tem1。2、实体(ENTITY)说明21VHDL介绍类属GENERIC参量是一种端口界面常数,常以一种说明的形式放在实体或块结构体前的说明部分,其引导一个参量表,在表中提供时间参数或总线宽度等静态信息。第21页/共56页(2)端口说明是描述器件的外部接口信号的说明,相当于器件的引脚说明。其格式为:PORT(端口名{,端口名}:方向数据类型名;端口名{,端口名}:方向数据类型名);

例如:PORT(a,b:INSTD_LOGIC;

s:INSTD_LOGIC;

y:OUTSTD_LOGIC);VHDL介绍第22页/共56页端口方向包括:IN; --输入,符号:OUT;--输出,符号:INOUT;--双向,符号:BUFFER;--具有读功能的输出,符号:DQBUFFER端口23VHDL介绍第23页/共56页24例:用VHDL语言编写的实体声明:libraryieee;useieee.std_logic_1164.all;entity

or_gate

is

port

(

a:in

bit;

b:

in

bit;

c:

out

bit);endor_gate;上面的实体声明描述了一个或门单元,它有三个引脚a、b、c。给出了三个引脚a、b、c的参数;in和out数据类型是bit。第24页/共56页基本设计单元的实体,用于指明设计基本单元的行为、元件及内部连接关系,即定义设计单元的功能。结构体的结构:ARCHITECTURE结构体名OF实体名IS[说明语句];--为内部信号、常数、数据类型、函数定义BEGIN[功能描述语句]ENDARCHITECTURE结构体名;3、结构体(ARCHITECTURE)25VHDL介绍第25页/共56页例如:或门的结构体ARCHITECTUREor1OFtemp1IS SIGNALy:STD_LOGIC;BEGIN y<=aORb;ENDARCHITECTUREor1;26VHDL介绍第26页/共56页27VHDL介绍4、进程(PROCESS)进程语句属于并行语句,它在VHDL中使用最频繁、最能体现VHDL风格。进程语句格式:[进程标号:]PROCESS[(敏感信号参数表)][IS] [进程说明部分] BEGIN

顺序描述语句

ENDPROCESS[进程标号];第27页/共56页进程语句是并行处理语句,即各个进程是同时处理的,在一个结构体中多个Process语句是同时并发运行的。Process语句的特点:进程结构内部的所有语句都是顺序执行的。多进程之间,是并行执行的,并可访问构造体或实体中所定义的信号。进程的启动是由进程标识符process后的信号敏感表所标明的信号来触发进程的活动,也可以用WAIT语句等待一个触发条件的成立。各进程之间的通信是由信号来传递的。VHDL介绍第28页/共56页例不含信号敏感表的进程语句ARCHITECTUREmultiple_waitOFtestsISSIGNALa,b:bit:=‘0’;BEGINP1:PROCESSBEGINWAITONa;WAITONb;WAITFOR0ns;WAIT;ENDPROCESSp1;ENDACHITECTUREmultiple_wait;VHDL介绍第29页/共56页例含信号敏感表和WAIT语句的错误程序ARCHITECTUREsensitivity_listOFtestsISSIGNALa,b:bit:=‘0’;BEGINp1:PROCESS(a)BEGINWAITONb;WAITFOR0ns;WAIT;ENDPROCESSp1;ENDARCHITECTUREsensitivity_list;VHDL介绍第30页/共56页例利用进程语句设计的半加器ARCHITECTUTEbehavOFhalf_adderISBEGINPadder:PROCESS(a,b)BEGINsum<=aXORbAFTER5ns;carry<=aANDbAFTER5ns;ENDPROCESSPadder;ENDbehav;31VHDL介绍第31页/共56页进程是一个无限循环的硬件行为的描述。当进程执行完最后一个语句时,在敏感信号的触发下,又开始重复执行,这个模块就这样永无修止地工作。但是如果没有敏感信号的变化,这个进程就不会工作。VHDL介绍第32页/共56页把特定的结构体关联(指定给)一个确定的实体,为大型系统的设计提供管理和工程组织。5、配置(CONFIGURATION)33VHDL介绍configuration配置名of实体名

isfor选配结构体名

endfor;end配置名;配置:从某个实体的多种结构体描述方式中选择特定的一个。第33页/共56页34VHDL语言的基本语句顺序语句(SequentialStatements)并行语句(ConcurrentStatements)VHDL介绍第34页/共56页顺序语句特征:顺序语句只能出现在进程或子程序、块中顺序语句描述的系统行为有时序流、控制流、条件分支和迭代算法等顺序语句用于定义进程、子程序等的算法顺序语句的功能操作有算术、逻辑运算,信号、变量的赋值,子程序调用等VHDL介绍第35页/共56页顺序语句·WAIT语句;·断言语句;·信号代入语句;·变量赋值语句;·

IF语句;·

CASE语句;·

LOOP语句;·

NEXT语句;·

EXIT语句;·过程调用语句;·

NULL语句。VHDL介绍第36页/共56页并行语句进程语句并发信号代入语句条件信号代入语句选择信号代入语句并发过程调用语句块语句并行断言语句Generate-生成语句元件例化语句VHDL介绍第37页/共56页38VHDL介绍libraryieee;--使用的库useieee.std_logic_1164.all;--使用的包

entityand_entis--名为and_ent的实体

port(a,b:instd_logic;--输入信号为a,by:outstd_logic);--输出信号为yendand_ent;architectureand_strofand_entis--实体and_ent的结构体,该结构体名称为and_strbeginy<=aandb;--逻辑表达式

endand_str;例:用VHDL描述2输入端与门电路。第38页/共56页LIBRARYIEEE;USEIEEE.STD

LOGIC

1164.ALLENTITYor1ISPORT( a,b:INSTD_LOGIC;

y:OUTSTD

LOGIC);ENDor1;ARCHITECTUREexample1OFor1ISBEGIN y<=aORb;ENDexample1;39用VHDL描述基本逻辑器件【例】两输入端或门的描述第39页/共56页LIBRARYIEEE;USEIEEE.STD_LOGIC_1164.ALL;ENTITYh_adderISPORT(a,b:INSTD_LOGIC; so,co:OUTSTD_LOGIC);ENDh_adder;ARCHITECTUREexample2OFh_adderISBEGIN so<=aXORb; co<=aANDb;ENDexample2;absoco40用VHDL描述基本逻辑器件【例】半加器的描述第40页/共56页LIBRARYIEEE;USEIEEE.STD

LOGIC

1164.ALLENTITYmux21ISPORT(a,b:INSTD

LOGIC;

s:INSTD

LOGIC;

y:OUTSTD

LOGIC);ENDmux21;ARCHITECTUREexample3OFmux21ISBEGIN y<=aWHENs=’0’

ELSE b;ENDARCHITECTUREexample3;absy41用VHDL描述基本逻辑器件【例】2选1数据选择器的描述第41页/共56页42用VHDL描述基本逻辑器件例:四选一电路LIBRARYIEEE;USEIEEE.STD_LOGIC_1164.ALL;ENTITYmux4ISPORT(input:INSTD_LOGIC_VECTOR(3DOWNTO0);sel:INSTD_LOGIC_VECTOR(1DOWNTO0);y:OUTSTD_LOGIC);ENDmux4;ARCHITECTURErtlOFmux4IS BEGINPROCESS(input,sel)BEGINIF(sel=″00″)THEN y<=input(0);ELSIF(sel=″01″)THEN y<=input(1);ELSIF(sel="10")THEN y<=input(2);ELSE y<=input(3);ENDIF;ENDPROCESS;ENDrtl;第42页/共56页组合逻辑电路的竞争与冒险竞争(Race)

由于电路中各个信号通过的路径不同,当加到某个门电路的两个信号同时向相反方向变化时:(1)变化时间有微小差异。(2)信号边沿变化时间存在差异。这就是组合电路的竞争现象。43第43页/共56页组合逻辑电路的竞争与冒险冒险由于存在竞争,使电路的输出出现瞬间的逻辑错误称为冒险。工程上也称为毛刺。ABF“0”想理ABF&44第44页/共56页组合逻辑电

温馨提示

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

评论

0/150

提交评论