2012燕山大学 VHDL上课课件--精.ppt

  1. 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
VHDL的描述语句之顺序语句-7 5. CASE语句 CASE 表达式 IS WHEN 选择值1 = 顺序语句1; …… WHEN 选择值n = 顺序语句n; END CASE; 当执行到CASE语句时,先计算表达式的值,然后看表达式的值满足WHEN后边的哪个选择值,程序将执行相对应的顺序语句 VHDL的描述语句之顺序语句-8 选择值的4种形式: WHEN 值 = 顺序处理语句; WHEN 值1∣值2∣……∣值n = 顺序处理语句; WHEN 值 TO 值 = 顺序处理语句; WHEN 值 DOWNTO 值 = 顺序处理语句; WHEN OTHERS = 顺序处理语句; 注:选择值不能重叠; 选择值必须覆盖表达式的所有可能值 VHDL的描述语句之顺序语句-9 ARCHITECTURE mm OF nn IS SIGNAL value : INTEGER RANGE 0 TO 15; BEGIN PROCESS (value) BEGIN CASE value IS WHEN 0 = z1 = 1; WHEN 1∣3 = z2 = 1; WHEN 4 TO 7∣2 = z3 = 1; WHEN OTHERS = z4 = 1; END CASE; END PROCESS; ENF mm; VHDL的描述语句之顺序语句-10 6. LOOP语句 循环语句,用于实现重复的操作(重复地 执行顺序语句) 两种形式: FOR…LOOP、 WHILE …LOOP VHDL的描述语句之顺序语句-11 FOR…LOOP [标号:] FOR 循环变量 IN 范围 LOOP   顺序处理语句; END LOOP [标号]; * 循环变量不必事先定义,自动加1或减1 * 范围——循环变量范围。两种方式: 小值 TO 大值、大值 DOWNTO 小值 * 循环从循环变量范围的初值开始,每执行完一 次顺序语句后自动加1或减1,直至循环变量的值超过循环变量范围,程序才跳出循环 VHDL的描述语句之顺序语句-12 例1: SIGNAL a, b : BIT_VECTOR(1 TO 3); 进程或子程序中: FOR i IN 1 TO 3 LOOP a(i) = b(i); END LOOP; 结果: a(1) = b(1); a(2) = b(2); a(3) = b(3); VHDL的描述语句之顺序语句-13 WHILE …LOOP [标号:] WHILE 条件 LOOP     顺序处理语句; END LOOP [标号]; * 条件为布尔表达式,返回值TRUE或FALSE * 如果条件求值为“真”,则封闭的语句就执行一次。然后条件重新求值,当迭代仍为“真”,循环则重复执行,否则,跳出循环 VHDL的描述语句之顺序语句-14 例: 进程中 i := 1; sum := 0; sbcd: WHILE ( i 10) LOOP sum := i + sum; i := i +1; END LOOP sbcd; VHDL的描述语句之顺序语句-15 7. NEXT语句 ? LOOP语句的控制语句 停止本次循环,转入下一次循环 a) NEXT; 无条件结束本次循环,回到本LOOP的起始位置,执行下一次循环 b) NEXT LOOP 标号; 结束本次循环后,跳转到指定循环标号的LOOP语句处,执行下一次循环 c) NEXT LOOP 标号 WHEN 条件; 当条件表达式为“TRUE”时,执行NEXT语句 VHDL的描述语句之顺序语句-16 8. EXIT语句 LOOP语句的

文档评论(0)

kehan123 + 关注
实名认证
内容提供者

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

1亿VIP精品文档

相关文档