{新}2012燕山大学 VHDL上课课件.ppt

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)

1亿VIP精品文档

相关文档