电子设计自动化第7章常用数字电路设计

电子设计自动化第7章常用数字电路设计

ID:43231030

大小:1.49 MB

页数:187页

时间:2019-10-05

电子设计自动化第7章常用数字电路设计_第1页
电子设计自动化第7章常用数字电路设计_第2页
电子设计自动化第7章常用数字电路设计_第3页
电子设计自动化第7章常用数字电路设计_第4页
电子设计自动化第7章常用数字电路设计_第5页
资源描述:

《电子设计自动化第7章常用数字电路设计》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库

1、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分支判断语句或

2、在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三个信号,输出为

3、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.1.4加法器加法器的结构化设计见6.3.3节,其实也可以调用IEEE库中的STD_LOGIC_UNSIGNE

4、D库进行设计,对两个输入类型为STD_LOGIC_VECTOR的数直接进行加法运算。【例7-6】两个4位加法器的VHDL程序如下:7.2时序逻辑电路设计对于时序逻辑电路,其任何时刻的输出信号不仅取决于当时的输入信号,而且还取决于电路原来的工作状态,即与以前的输入信号及输出信号也有关系。在时序逻辑电路的设计中,时钟信号比较重要,基本每一个时序逻辑电路都是由时钟控制的。时序逻辑电路的控制信号还包括两种重要的信号:同步控制信号与异步控制信号。7.2.1时钟信号时序逻辑电路只有在时钟信号的边沿到来时,其状态才发生改变。因此,时钟信号通常描述时序电路程序执行的条件。另外,时序逻辑电路总是

5、以时钟进程的形式来进行描述的,其描述方式一般分两种情况。1.进程的敏感信号是时钟信号在这种情况下,时钟信号应作为进程敏感信号,显式地出现在process语句后面的括号中,例如process(clock_signal)。时钟信号边沿的到来,将作为时序逻辑电路语句执行的条件。例7-7程序说明,该进程在时钟信号(clock_signal)发生变化时被启动,而在时钟边沿的条件得到满足后才真正执行时序电路所对应的语句。2.用waiton或waituntil语句控制进程启动在这种情况下,描述时序电路的进程将没有敏感信号,而是用waiton或waituntil语句来控制进程的执行,也就是说,

6、进程通常停留在waiton或waituntil语句上,只有在时钟信号到来且满足边沿条件时,其余的语句才被执行,如例7-8所示。在编写上述两个程序时应注意:(1)无论if语句还是wait语句,在对时钟边沿说明时,一定要注明是上升沿还是下降没(前沿还是后沿),光说明是边沿是不行的。(2)当时钟信号作为进程的敏感信号时,在敏感信号列表中不能出现一个以上的时钟信号;除时钟信号以外,像复位信号等是可以和时钟一起出现在敏感信号表中的。(3) wait语句只能放在进程的最前面或者最后面。3.时钟边沿的描述为了描述时钟边沿,一定要指定是上升沿还是下降沿,这一点可以用时钟信号的属性描述来实现。也

7、就是说,通过确定时钟信号的值是从“0”到“1”变化,还是从“1”到“0”变化,由此得知是时钟脉冲信号的上升沿还是下降沿。1)时钟脉冲的上升沿描述   时钟脉冲上升沿波形与时钟信号属性的描述关系如图7-5所示。   从图中可以看到,时钟信号起始值为“0”,故其属性值clk’last_value=‘0’;其上升沿的到来表示发生了一个事件,故用clk’event表示;上升沿以后,时钟信号的值为“1”,故其当前属性值为clk=‘1’。这样,表示上升沿到来的条件可写为ifclk’eventandclk

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。