7.1.4LOOP语句LOOP语句就是循环语句,它可以使所包含的一组顺序语句被循环执行,其执行次数可由设定的循环参数决定
7.1.4 LOOP语句 LOOP语句就是循环语句, 它可以使所包含的一组顺序语句 被循环执行,其执行次数可由设 定的循环参数决定
LOOP语句(1)单个LOOP语句,其语法格式如下:[LOOP标号:|LOOP顺序语句ENDLOOP[LOOP标号];用法示例如下:如注L2:LOOPEXa := a+1;EXITL2WHENa>10-当a大于10时跳出循环ENDLOOPL2;
LOOP语句 (1)单个LOOP语句,其语法格式 如下: [ LOOP标号:] LOOP 顺序语句 END LOOP [ LOOP标号 ]; 注意:这种循环方式需引入其它控制语句(如 EXIT语句)后才能确定。 用法示例如下: . L2 : LOOP a := a+1; EXIT L2 WHEN a >10 ; - 当a大于10时跳出循环 END LOOP L2;
LOOP语句(2)FORLOOP语句,语法格式如下:[LOOP标号:IFOR循环变量,IN循环次数范围LOOP顺序语句ENDLOOP[LOOP标号]:
LOOP语句 (2)FOR_LOOP语句,语法格式如下: [LOOP标号:] FOR 循环变量,IN 循 环次数范围 LOOP 顺序语句 END LOOP [LOOP标号];
LOOP语句口FOR后的循环变量是一个临时变量,属于LOOP语句的局部变量,不必事先定义。口这个变量只能作为赋值源,不能被赋值,它由LOOP语句自动定义。口使用时要注意在LOOP语句范围内,不要再使用其他与此循环变量同名的标示符。口循环变量从循环范围次数的初值开始,每执行一次顺序语句后递增1,直到达到循环次数范围指定的最大值
LOOP语句 FOR 后的循环变量是一个临时变量,属于 LOOP语句的局部变量,不必事先定义。 这个变量只能作为赋值源,不能被赋值,它由 LOOP语句自动定义。 使用时要注意在 LOOP 语句范围内,不要再 使用其他与此循环变量同名的标示符。 循环变量从循环范围次数的初值开始,每执行 一次顺序语句后递增1,直到达到循环次数范围 指定的最大值
【例7-4】8位奇偶校验LIBRARYIEEE;USEIEEE.STD LOGIC1164.ALL;ENTITYp checkISPORT(a:IN STD LOGIC VECTOR(7DOWNTOO);y : OUT STD LOGIC);ENDp_check;ARCHITECTUREoptOFp_checkISSIGNALtmp: STD LOGIC ;BEGINPROCESS(a)BEGINtmp<='0';FORnINOTO7LOOPtmp<=tmpXORa(n);ENDLOOP;y<= tmp;END PROCESS:END opt;
【例7-4】8位奇偶校验 LIBRARY IEEE; USE IEEE.STD_LOGIC_1164.ALL; ENTITY p_check IS PORT ( a : IN STD_LOGIC_VECTOR (7 DOWNTO 0); y : OUT STD_LOGIC ); END p_check; ARCHITECTURE opt OF p_check IS SIGNAL tmp :STD_LOGIC ; BEGIN PROCESS(a) BEGIN tmp <='0'; FOR n IN 0 TO 7 LOOP tmp <= tmp XOR a(n); END LOOP ; y <= tmp; END PROCESS; END opt;