1 概述
在Verilog HDL中存在着4种类型的循环语句,用来控制执行语句的执行次数。
(1)forever:连续的执行语句;
(2)repaet:连续执行一条语句N次;
(3)while:执行一条语句直到某个条件不满足。如果一开始条件即不满足(为假),则语句一次也不能被执行。
(4)for通过以下3个步骤来决定语句的循环执行:
a)先给控制循环次数的变量赋初值;
b)判定控制循环的表达式的值,如果为假则跳出循环语句,如果为真则执行指定的语句后,转到第3步;
c)执行一条赋值语句来修正控制循环变量次数的变量的值,然后返回第2步。
2 forever语句
forever语句的格式如下:
forever 语句;
或
forever begin 多余语句 end
forever循环语句常用语产生周期性的波形,作为仿真测试信号。它与always语句不同之处在于它不能独立卸载程序中,而必须卸载initial块中。
3 repeat语句
repeat语句的格式如下:
repeat(表达式)语句;
或
repaet(表达式) begin 多余语句 end
在repaet语句中,其表达式通常为常量表达式。下面的例子中使用repeat循环语句及加法和移位操作来实现一个乘法器。
3 while语句
while语句的格式如下:
while(表达式) 语句
或
while(表达式) begin 多余语句 end
4 for语句
for语句的一般形式为:
for(表打死1;表达式2;表达式3)语句
它的执行过程为:
(1)先求解表达式1;
(2)再求解表达式2,若其值为真(非0),则执行for语句中指定的内嵌语句,然后执行下面的第三步;若为假(0),则结束循环,转到第(5)步;
(3)若表达式2为真,在执行指定的语句后,求解表达式3;
(4)转回第(2)步继续执行;
(5)执行for语句下面的语句。
for语句最简单的应用形式是很容易理解的,其形式如下:
for(循环变零赋初值;循环结束条件;循环变量增值)
执行语句
for循环语句实际上相当于采用while循环语句,并建立以下的循环结构:
begin
循环变量赋初值;
while(循环结束条件)
begin
执行语句
循环变量增值
end
end
这样对于需要8条语句才能完成的一个循环控制,for循环语句只需两条即可。
518

被折叠的 条评论
为什么被折叠?



