第三讲VHDL并发语句.pptVIP

  1. 1、本文档共19页,可阅读全部内容。
  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文档。上传文档
查看更多
第三讲VHDL并发语句.ppt

* 河海大学常州校区 第三讲 VHDL并发语句 */ 23 * 第三讲 VHDL并发语句 3.1 并行信号赋值语句 3.2 进程语句 3.3 块语句 3.4 元件例化语句 3.5 生成语句 并行语句所在位置: ARCHITECTURE 结构体名 OF 实体名 IS 说明语句 BEGIN 并行语句 END ARCHITECTURE 结构体名 3.1 并行信号赋值语句 1. 简单信号赋值语句 赋值目标 ?= 表达式 ARCHITECTURE curt OF bc1 IS SIGNAL s1, e, f, g, h : STD_LOGIC ; BEGIN output1 = a AND b ; output2 = c + d ; g = e OR f ; h = e XOR f ; s1 = g ; END ARCHITECTURE curt; 2. 条件信号赋值语句 赋值目标 = 表达式 WHEN 赋值条件 ELSE 表达式 WHEN 赋值条件 ELSE ... 表达式 ; 【例】 ENTITY mux IS PORT ( a,b,c : IN BIT ; p1,p2 : IN BIT ; z : OUT BIT ); END; ARCHITECTURE behv OF mux IS BEGIN z = a WHEN p1 = 1 ELSE b WHEN p2 = 1 ELSE c ; END; 3. 选择信号赋值语句 WITH 选择表达式 SELECT 赋值目标信号 =表达式 WHEN 选择值 表达式 WHEN 选择值 ... 表达式 WHEN 选择值; ... WITH selt SELECT muxout = a WHEN 0|1 , b WHEN 2 TO 5 , c WHEN 6 , d WHEN 7 , Z WHEN OTHERS ; ... 3.2 进程语句 进程(PROCESS)语句是最具VHDL语言特色的语句。因为它提供了一种用算法(顺序语句)描述硬件行为的方法。 进程语句是VHDL程序中使用最频繁和最能体现VHDL语言特点的一种语句,其原因大概是由于它的并行和顺序行为的双重性,以及其行为描述风格的特殊性。 语句格式: [进程标号:]PROCESS[(敏感信号参数表)][IS] [进程说明部分] BEGIN 顺序描述语句 END PROCESS[进程标号]; (2) 顺序描述语句部分可分为赋值语句、进程启动语句、子程序调用语句、顺序描述语句和进程跳出语句等。 PROCESS 组成: (1) 进程说明部分主要定义一些局部量,可包括数据类型、常数、属性、子程序等。注意:在进程说明部分中不允许定义信号和共享变量。 (3) 敏感信号参数表列出用于启动本进程的信号名。 (1) 同一结构体中的进程之间是并行运行的,但同一进程中的逻辑描述语句则是顺序运行的。 进程设计要点: (2) 进程的激活必须由敏感信号表中定义的任一敏感信号的变化来启动。 (3) 结构体中多个进程能并行同步运行的原因是进程之间的通信是通过传递信号和共享变量值来实现的。 (4) 进程是重要的建模工具。 3.3 块语句结构(BLOCK) 语句格式: 块标号 : BLOCK [(块保护表达式)] 接口说明 类属说明 BEGIN 并行语句 END BLOCK 块标号 ; 【例】 Half_Adder : Block Begin Sum = A Xor B; Carry = A and B; End Block Half_Adder; Half_Subtractor: Block Begin Difference = A Xor B; Borrow = Not A and B; End Block Half_Subtractor; 3.4 元件例化语句 语句格式: COMPONENT 元件名 IS GENERIC (类属表); -- 元件定义语句 PORT (端口名表); END COMPONENT 文件名

文档评论(0)

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

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

版权声明书
用户编号:5212202040000002

1亿VIP精品文档

相关文档