第5讲 VHDL基本的语句与基本的设计----顺序语句 EDA课件.pptVIP

第5讲 VHDL基本的语句与基本的设计----顺序语句 EDA课件.ppt

  1. 1、本文档共34页,可阅读全部内容。
  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文档。上传文档
查看更多
第5讲 VHDL基本的语句与基本的设计----顺序语句 EDA课件.ppt

第5讲 VHDL基本语句与基本设计 ----顺序语句;  顺序语句是相对于并行语句而言的,其特点是每一条顺序语句的执行顺序(指仿真执行)与它们的书写顺序基本一致,但其相应的硬件逻辑工作方式未必如此。 顺序语句只能出现在进程(PROCESS)和子程序中。 VHDL有6类基本顺序语句,即赋值语句、转向控制语句、等待语句、子程序调用语句、返回语句和空操作语句。;  §5.1 赋值语句   VHDL设计实体内的数据传递以及对端口界面外部数据的读/写都必须通过赋值语句来实现。赋值语句有两种,即信号赋值语句和变量赋值语句。 变量赋值语句语法格式如下:     变量赋值目标:=赋值源;   下面将通过一个简单的VHDL例子说明变量赋值与信号赋值的区别。;  (1) 单条件非完整性IF语句。其格式如下:   IF 条件语句 THEN      顺序语句;   END IF;;  (2) 单条件完整性IF语句。单条件完整性IF语句的格式如下:   IF 条件语句 THEN    顺序语句1;   ELSE    顺序语句2;   END IF;;  (3) 多重IF嵌套语句。多重IF嵌套语句的格式如下:   IF 条件语句1 THEN      顺序语句1;    IF 条件语句2 THEN      顺序语句2;    ELSE     顺序语句3;    END IF;  ELSE     顺序语句4;  END IF;;  (4) 优先条件列举式IF语句。格式如下:   IF 条件语句1 THEN    顺序语句1;   ELSIF 条件语句2 THEN    顺序语句2;   ELSE    顺序语句3;   END IF;; 2) ?CASE语句    CASE 条件表达式 IS    WHEN 选择值1=顺序语句1;    WHEN 选择值2=顺序语句2;    …    WHEN OTHERS=顺序语句n;    END CASE;;  使用CASE语句需注意以下几点:   (1) 条件句中的选择值必须在表达式的取值范围内。   (2) 除非所有条件句中的选择值能完整覆盖CASE语句中表达式的取值,否则最末一个条件句中的选择???须用“OTHERS”表示。   (3) ?CASE语句中每一条件句的选择只能出现一次,不能有相同选择值的条件语句重复出现。   (4) ?CASE语句执行时必须选中,且只能选中所列条件语句中的一条。 一般来讲,同样的逻辑功能,CASE结构综合后比IF语句消耗更多的芯片资源。;  3) ?LOOP语句   LOOP语句的常用表达方式有简单LOOP语句和FOR_LOOP语句两种。   (1) 简单LOOP语句的语法格式如下:   [LOOP标号:]LOOP    顺序语句   END LOOP[LOOP标号];   这种循环方式是一种最简单的语句形式,它的循环方式需引入其他控制语句,例如EXIT语句后才能确定,“LOOP标号”可省略。例如:   L2:LOOP    a:= a+1;    EXIT L2 WHEN a100;   END LOOP L2;   此程序的循环的结束由EXIT语句确定,即当a100时,结束循环。;(2) ?FOR_LOOP语句的语法格式如下:   [LOOP标号:] FOR 循环变量 IN 循环次数范围 LOOP    顺序语句   END LOOP [LOOP标号]; 关键词“FOR”后面的循环变量是一个临时变量,属于FOR_LOOP语句的局部变量,不需要事先定义,只能在FOR_LOOP语句范围内使用。在FOR_LOOP语句中这个变量只能作为赋值源,不能被赋值,它由FOR_LOOP语句自动定义。 在LOOP循环次数范围规定LOOP语句中的顺序语句被执行的次数。循环变量从循环次数范围的初值开始,每执行完一次顺序语句后递增1,直至达到循环次数范围指定的最大值。例6.31所示的是一个使用FOR_LOOP语句的串行转并行总线的VHDL程序。;  4) ?NEXT语句   NEXT语句主要用在LOOP语句执行中进行有条件的或无条件的转向控制。   (1) 简单NEXT语句仅由“NEXT”关键词构成,当LOOP内的顺序语句执行到NEXT语句时,即刻无条件终止当前的循环,跳回到本次循环LOOP语句处,开始下一次循环。

您可能关注的文档

文档评论(0)

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

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

1亿VIP精品文档

相关文档