学习进程语句与流程控制语句.pptVIP

  1. 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  4. 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  5. 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  6. 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  7. 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
情境3 学习使用流程控制语句 设计时序电路 构造体结构图 进程语句 VHDL中最重要的语句,具有并行和顺序行为的双重性 进程和进程语句之间是并行关系 进程内部是一组连续执行的顺序语句 进程语句与构造体中的其余部分进行信息交流是靠信号完成的 进程语句 进程语句 基本格式: [进程名称:] PROCESS(敏感信号1,敏感信号2,……) 〈说明区〉 BEGIN 〈顺序语句〉 END PROCESS [进程名称]; 进程语句举例 LIBRARY ieee; USE ieee.std_logic_1164.all; ENTITY if_case IS PORT ( a, b, c, d : IN Std_Logic; sel : IN Std_Logic_Vector(1 downto 0); y, z : OUT Std_Logic); END if_case; ARCHITECTURE logic OF if_case IS BEGIN if_label: PROCESS(a, b, c, d, sel) BEGIN IF sel=00 THEN y = a; ELSIF sel=01 THEN y = b; ELSIF sel=10 THEN y = c; ELSE y = d; END IF; END PROCESS if_label; 信号敏感表 进程赖以启动的敏感表。对于表中列出的任何信号的改变,都将启动进程,执行进程内相应顺序语句 一些VHDL综合器,综合后,对应进程的硬件系统对进程中的所有输入的信号都是敏感的,不论在源程序的进程中是否把所有的输入信号都列入敏感表中 为了使软件仿真与综合后的硬件仿真对应起来,应当将进程中的所有输入信号都列入敏感表中 敏感表举例 latchlabel: PROCESS (oe) BEGIN IF oe=‘1’ THEN y = a; END IF; END PROCESS if_label; 敏感表举例 latchlabel: PROCESS (a) BEGIN IF oe=‘1’ THEN y = a; END IF; END PROCESS if_label; 顺序语句 每一条顺序语句的执行(指仿真执行)顺序是与它们的书写顺序基本一致的 顺序语句只能出现在进程(Process) 、函数(Funcation)和过程(Procedure)中 顺序语句包括:赋值语句、流程控制语句、等待语句、子程序调用语句、返回语句、空操作语句 顺序赋值语句举例 ARCHITECTURE reg1 OF reg1 IS SIGNAL a, b : BIT; BEGIN PROCESS (clk) BEGIN IF clkevent and clk=1’ THEN a = d; b = a; q = b; END IF; END PROCESS; END reg1; 顺序赋值语句举例 ENTITY reg1 IS PORT ( d, clk : in BIT; q : out BIT); END reg1; ARCHITECTURE reg1 OF reg1 IS SIGNAL a, b : BIT; BEGIN PROCESS (clk) BEGIN IF clkevent and clk=1‘ THEN a = d; b = a; END IF; END PROCESS; q = b; END reg1; 顺序赋值语句举例 ENTITY reg1 IS PORT ( d, clk : in BIT; q : out BIT); END reg1; ARCHITECTURE reg1 OF reg1 IS BEGIN PROCESS (clk) VARIABLE a, b : BIT; BEGIN IF clkevent and clk=1‘ THEN a := d; b := a; q = b; END IF; END PROCESS; END reg1; 在时序电路中的变量赋值 变量在IF语句中被赋值,以用来表示随时钟的变化,不会产生触发器 变量只代表临时存储,不反映实际硬件 变量可用在表示一数据立即变化的表达式中,然后再将变量的值赋给信号 IF_THEN_ELSE语句 ——流程控制语句(1) 至少应有一个条件句,条件句必须由布尔表达式构成。 根据条件句产生的判断结果TRUE或FALSE,有条件地选择执行其后的顺序语句。 IF_THEN_ELSE语句举例 mux4_1: PROCESS (a, b, c, d, s) BEGIN I

文档评论(0)

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

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

1亿VIP精品文档

相关文档