- 1、本文档共47页,可阅读全部内容。
- 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
第6章 顺序代码(2014版)
第6章 顺序代码
VHDL本质上是一种并发执行的代码,但是出于设计同步时序电
路的需要,需要使用一些能够顺序执行的语句块,包括:
PROCESS、FUNCTION、PROCEDURE。 这些语句块之间仍然是并发
执行的,但内部是顺序执行的,称为顺序代码,又称行为描述代
码。
使用顺序代码不但可以实现时序逻辑,还可以实现组合逻辑。
1
6.1、进程(process )
进程(process )内部的语句是一种顺序描述语句,其内
部经常包括if,wait,case或loop语句。
特点:
1、进程与进程,或其它并发语句之间的并发性;
2、进程内部的顺序性;
3、要么使用敏感信号列表(sensitivity list ),要么使
用wait语句,二者不可同时使用。
4、进程必须包含在主代码段中,当敏感信号列表中的某个
信号发生变化,或者wait语句的条件满足时,process内部
的代码就顺序执行一次;
2
语法结构:
[标记:] process [( 敏感信号表)]
[variable name: type[range][:=初始值]]
可选, begin
对临时连线的
增强代码可读性, { 顺序描述语句} 赋值,不可综
命名规则:非关键字
合
end process [标记] ;
3
•敏感信号表:进程内要读取的所有敏感信号(包括端口)的
列表。每一个敏感信号的变化,都将启动进程。
格式:
信号名称 {,信号名称}
•注意:若电路模块对某输入信号不 “敏感”,则该输入信号
不必放入敏感信号列表中。
•如同步时序电路中只对clk和rst这两个输入信号敏感,而
对data,addr等输入信号不敏感,则敏感信号列表中只需放
入clk和rst即可;
•在纯组合逻辑电路中,电路模块对任意一个输入信号都是
敏感的,所以如果要使用process来实现一段组合逻辑,则
必须将所有的输入信号都放入敏感信号列表中。 4
在使用顺序代码实现一个同步时序电路
时,必须对某些信号边沿的跳变进行监
视(典型的是时钟信号clock的上升沿或
下降沿 )
通常使用EVENT来监视一个信号是否发生
了边沿跳变
通常在process中使用敏感信号clk来实
现同步时序电路。
5
例1:带有异步复位端的D触发器
功能描述: 时序逻辑电路的基本单元
rst
data_in q • 当输入的时钟信号为上升沿时,输
出信号q等于当前输入值;
clk
•异步复位端rst (reset ):rst=‘1’时
q=‘0
文档评论(0)