网站大量收购闲置独家精品文档,联系QQ:2885784924

《电子设计自动化》课件第7章.ppt

  1. 1、本文档共187页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多

7.1组合逻辑电路

7.2时序逻辑电路设计

7.3常用时序逻辑电路的设计

7.4实训

习题

7.1组合逻辑电路

对于组合逻辑电路,电路任何时刻的输出信号仅取决于

当时的输入信号,其输出的值由输入决定。在设计组合逻辑

电路时,在进程中要包括所有的输入信号,以确保每一个信

号的变化都要启动进程。常用的组合逻辑电路有编码器、译

码器、比较器、三态门、加法器等。

7.1.1编码器和译码器

1.优先级8-3编码器

优先级8-3编码器有d7~d0八个输入信号,y2、y1、y0三

个输出信号,各信号高电平有效。其真值表如表7-1所示,逻

辑符号如图7-1所示。

硬件电路中的优先级关系在VHDL语言中可以用IF分支判

断语句或在PROCESS进程语句中设置临时变量来实现。如用IF

语句,多条件的IF语句的条件是有优先级的,最前面的条件的

优先级最高,越往后优先级越低。例7-1是使用IF的分支判断语

句实现优先级8-3编码器的VHDL程序,其利用了进程中语句顺

序执行的特点,由于语句是由上至下执行的,因而后面的赋值

将覆盖前面的赋值。例7-2为使用PROCESS进程语句中变量的

特点实现优先级8-3编码器的VHDL程序。(本章的程序为简单

起见,全部采用小写形式,VHDL程序不区分大小写。)

图7-1优先级8-3编码器逻辑符号

2.3-8译码器

3-8译码器的电路功能与编码器相反,其输入为a2、a1、a0

三个信号,输出为y7~y0八个信号,另外还有三个控制信号g1、

g2a和g2b。其真值表如表7-2所示,逻辑符号如图7-2所示。

图7-23-8译码器逻辑符号

7.1.2多位比较器

多位比较器的真值表如表7-3所示,逻辑符号如图7-3所示。

图7-38位比较器逻辑符号

【例7-4】下面为多位比较器的VHDL源程序,此程序为8

位比较器。

7.1.3三态门

三态门是驱动电路经常用到的器件,其输出有三种状态,

分别为“1”、“0”与“Z”(即高阻状态)。三态门的逻辑符号如

图7-4所示。

图7-4三态门逻辑符号

【例7-5】三态门的VHDL源程序如下:

libraryieee;

useieee.std_logic_1164.all;

entitytriis

port(din,en:instd_logic;

dout:outstd_logic);

endtri;

architecturebehaveoftriis

7.1.4加法器

加法器的结构化设计见6.3.3节,其实也可以调用IEEE库中

的STD_LOGIC_UNSIGNED库进行设计,对两个输入类型为

STD_LOGIC_VECTOR的数直接进行加法运算。

【例7-6】两个4位加法器的VHDL程序如下:

7.2时序逻辑电路设计

对于时序逻辑电路,其任何时刻的输出信号不仅取决于

当时的输入信号,而且还取决于电路原来的工作状态,即与

以前的输入信号及输出信号也有关系。在时序逻辑电路的设

计中,时钟信号比较重要,基本每一个时序逻辑电路都是由

时钟控制的。时序逻辑电路的控制信号还包括两种重要的信

号:同步控制信号与异步控制信号。

7.2.1时钟信号

时序逻辑电路只有在时钟信号的边沿到来时,其状态才发

生改变。因此,时钟信号通常描述时序电路程序执行的条件。

另外,时序逻辑电路总是以时钟进程的形式来进行描述的,其

描述方式一般分两种情况。

1.进程的敏感信号是时钟信号

在这种情况下,时钟信号应作为进程敏感信号,显式地出

现在process语句后面的括号中,例如process(clock_signal)。时

钟信号边沿的到来,将作为时序逻辑电路语句执行的条件。

例7-7程序说明,该进程在时钟信号(clock_signal)发生

变化时被启动,而在时钟边沿的条件得到满足后才真正执

行时序电路所对应的语句。

2.用waiton或waituntil语句控制进程启动

在这种情况下,描述时序电路的进程将没有敏感信号,而

是用waiton或waituntil语句来控制进程的执行,也就是说,

进程通常停留在waiton或waituntil语句上,只有在时钟信号到

来且满足边沿条件时,其余的语句才被执行,如例7-8所示。

在编写上述两个程序时应注意:

(1)无论if语句还是wait语句,在对时钟边沿说明时,一定

要注明是上升沿

文档评论(0)

酱酱 + 关注
实名认证
内容提供者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档