EDA技术与VHDL设计(西电版)第5章VHDL基本语句

EDA技术与VHDL设计(西电版)第5章VHDL基本语句

ID:43231349

大小:5.91 MB

页数:219页

时间:2019-10-05

EDA技术与VHDL设计(西电版)第5章VHDL基本语句_第1页
EDA技术与VHDL设计(西电版)第5章VHDL基本语句_第2页
EDA技术与VHDL设计(西电版)第5章VHDL基本语句_第3页
EDA技术与VHDL设计(西电版)第5章VHDL基本语句_第4页
EDA技术与VHDL设计(西电版)第5章VHDL基本语句_第5页
资源描述:

《EDA技术与VHDL设计(西电版)第5章VHDL基本语句》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库

1、第5章VHDL基本语句5.1并行语句5.2顺序语句5.3常用语句的比较5.4组合逻辑电路的设计5.5时序逻辑电路的设计5.1并行语句VHDL中既具有并行语句(如元件例化语句),也具有顺序语句(如IF语句)。不同的语句使用在不同的地方。对于VHDL设计者来说,重要的是要知道哪些语句结构中需要使用并行语句,哪些语句结构中需要使用顺序语句。可以简单地概括为:结构体中除进程(PROCESS)、函数(FUNCTION)和过程(PROCEDURE)结构内部以外的其他VHDL代码都是并行语句,如图5-1所示。需要注意的是,信号赋值语句既可以出现在进程中,也可以出现在结构体的并行语句部分,只是

2、运行的含义不同(参考4.2.3节)。图5-1结构体中的语句使用示例5.1.1并行语句的特点并行语句是硬件描述语言的一大特点,它与C语言等计算机高级程序设计语言最大的不同是:并行语句在结构体中的执行是并行的,不会因为书写顺序的前后而产生执行顺序的先后。例5-1和例5-2结构体内都含有3条相同的并行语句,它们体现了在不同的描述顺序下,仍然能够综合出一致的电路结构,如图5-2所示。图5-2例5-1和例5-2综合后电路结构【例5-1】【例5-2】正如图5-2的硬件电路图所表明的,只有当信号a或者b的值改变后才能执行赋值语句“x<=aANDb;”,即信号a或b的值改变之前信号x的值不会发

3、生变化。同样,信号x的值改变之前,y的值也不会发生变化;信号c或y的值改变之前,z的值也不会发生变化。由此可以看出,VHDL代码的执行是由事件控制的,这就意味着并行VHDL语句可以按任意顺序书写,其设计的功能不变。   例5-3再次显示了并行语句的特点,L13~L15这3条语句对应生成了3个加法器(见图5-3),即3个加法器同时在进行加法操作,没有顺序关系,而不是一个加法器顺序执行3条加法操作指令。VHDL代码最终实现的是具体的硬件电路,而不是在CPU中的逐条指令执行,这是VHDL语言相对于传统软件语言的不同。【例5-3】图5-3例5-3综合后电路结构在一个结构体内部,可以有一

4、种或是几种类型的并行语句。并行语句之间通过信号进行信息的传递。图5-4所示是结构体中并行语句的结构示意图,从图中可以看到,VHDL支持的并行语句主要有进程语句、元件例化语句(包括类属参数传递映射语句)、并行信号赋值语句、生成语句、并行过程(或函数)调用语句以及块语句。下面分别讲述每一种语句的结构和应用。图5-4并行语句结构示意图5.1.2进程语句在一个结构体内可以有一个或多个进程,不同进程的地位是相同的。进程间的执行是并行的、独立的,由各自敏感信号的变化触发。一个进程有两个状态:等待状态和执行状态。在等待状态下,当任一敏感信号发生变化时,进程立即启动进入执行状态。当进程顺序执行

5、到ENDPROCESS语句时,重新进入等待状态,等待下一次敏感信号的改变。进程语句内部结构由一系列顺序语句构成,能够很好地体现VHDL语言的行为描述能力。进程语句的语法格式已在3.5.3节中讲述,这里不再赘述。VHDL中的进程有两种类型:组合进程和时序进程。组合进程用于设计组合逻辑电路,时序进程用于设计引入了触发器的时序逻辑电路。   在组合进程中,所有输入信号必须都包含到敏感信号参数表中,包括赋值符号“<=”右边的所有信号以及IF语句、CASE语句的判断表达式中的所有信号。如果有一个信号没有包含在敏感信号参数表中,则当这个被忽略的信号变化时,该进程不会被激活,输出信号也不会得

6、到新的赋值。时序进程又可分为同步和异步两类。同步进程只对时钟信号敏感,即仅在时钟的边沿启动;异步进程除了对时钟信号敏感外,还对影响异步行为的输入信号敏感,即该输入信号的变化也能启动进程。例5-4显示了一个带有异步复位信号reset的D触发器。当信号reset取值为“1”时,输出q立即被复位为“0”,而不管此时是否有时钟信号clk的上升沿到来,即信号reset的变化也能够启动进程。当信号reset取值为“0”时,如果有时钟信号的上升沿到来,则输出q被赋值为d,仿真结果如图5-5所示。【例5-4】图5-5例5-4异步复位D触发器时序仿真波形例5-5是同步时序进程,只有时钟信号的上升

7、沿到来时才能启动进程,即使信号reset发生改变(从“0”变化到“1”)也不能启动进程。例5-5的仿真结果见图5-6。可以看到,当复位信号reset从“0”变为“1”时,由于此时并无时钟信号clk的上升沿到来,所以进程仍处于等待状态,输出q维持原值。当clk上升沿到来后,进程被启动,此时再判断信号reset的取值,如果为“1”,则输入q被复位为“0”。【例5-5】图5-6例5-5同步复位D触发器时序仿真波形电路系统有时既需要利用到时钟信号的上升沿又需要利用到下降沿,即在两个边沿时刻都需要处理

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

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

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