第四讲并行语句精要.pptVIP

  1. 1、本文档共54页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  5. 5、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  6. 6、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  7. 7、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  8. 8、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
第四讲并行语句精要.ppt

VHDL并行语句 并行语句一般处于进程(PROCESS)的外部。 所有并行语句都是并行执行的, 并行语句特点 a. 所有语句的执行是并行的; b. 每条语句的执行和其所在的位置无关; c. 并行语句的输出仅仅依赖于输入,没有其它的限制条件 信号代入语句 并发信号代入语句 条件信号代入语句 选择信号代入语句 WAIT语句 WAIT 无限等待 WAIT ON 敏感信号量变化 WAIT UNTIL 条件满足 WAIT FOR 时间到 WAIT 语句 格式:WAIT ON 信号[,信号] 例: PROCESS BEGIN y=a AND b; WAIT ON a,b; END PROCESS; 该例中的进程与下例中进程相同: 例: PROCESS(a,b) BEGIN y=a AND b; END PROCESS; 注意: 如果PROCESS中已有敏感信号量的说明,那么在进程中就不能再使用WAIT 语句 WAIT UNTIL WAIT UNTIL 直到条件满足 格式: WAIT UNTIL 布尔表达式 当进程执行到该语句时,被挂起;若布尔表达式为真时,进程将被启动。 例: WAIT UNTIL ((x*10)100) WAIT UNTIL WAIT UNTIL 语句有两种表达方式 1、WAIT UNTIL 信号=VALUE; 2、WAIT UNTIL 信号‘EVENT AND 信号=VALUE PROCESS BEGIN WAIT UNTIL CLK’EVENT AND CLK=‘1’; IF(RESET=‘1’) THEN Q=‘0’; ELSE Q=D; END IF ; END PROCESS; WAIT FOR WAIT FOR 等到时间到 格式: WAIT FOR 时间表达式 当进程执行到该语句时,被挂起;等待一定的时间后,进程将被启动. 例: WAIT FOR 20 ns 进程语句(PROCESS)特点 在一个构造体中多个PROCESS语句可以同时并行的执行,该语句有如下特点: 1、可以和其它进程语句同时执行,并可以存取构造体和实体中所定义的信号 2、进程中的所有语句都按照顺序执行 3、为启动进程,在进程中必须包含一个敏感信号表或WAIT语句 4、进程之间的通信是通过信号来实现的 模块语句(BLOCK) BLOCK语句是结构体中积木化设计语言,适用于复杂项目设计。 使用BLOCK语句描述的格式如下: 块标号:BLOCK BEGIN : 并行语句 : END BLOCK 块标号; Generic语句 通过引入一个参数n使得我们设计的加法器更加具有通用性,参数n代表加法器中相加的位数,在VHDL中,这样的参数称为Generic(类属)。 通常定义在实体描述和元件声明中。 定义格式: Generic(参数名 : 数据类型[ := 表达式 ]); 例如:Generic( m : integer:=7); Generic语句示例—N位全加器 Library ieee; Use ieee.std_logic_1164.all; Use ieee.std_logic_unsigned.all; Entity adder is Generic(n:integer:=4); Port(Cin : in std_logic; x,y : in std_logic_vector(n-1 downto 0); sum : out std_logic_vector(n-1 downto 0); Cout : out std_logic); End adder; Architecture a of adder is Signal c: std_logic_vector(0 to n); Component fulladder Port(ci,a,b : in std_logic; s,co : out std_logic); End component; Begin c

文档评论(0)

love + 关注
实名认证
文档贡献者

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

1亿VIP精品文档

相关文档