verilog中的while的用法和例子
2012-09-29 09:39
344 查看
while 循环语句实现的是一种“条件循环” ,只有在指定的循环条件为真时才会重复执行
循环体,如果表达式条件在开始不为真(包括假、x 以及 z) ,那么过程语句将永远不会被执
行。while 循环的语法为:
while (循环执行条件表达式) begin
语句块
end
在上述格式中, “循环执行条件表达式”代表了循环体得到继续重复执行时必须满足的
条件,通常是一个逻辑表达式。在每一次执行循环体之前,都需要对这个表达式是否成立进
行判断。 “语句块”代表了被重复执行的部分,可以为单句或多句。
While 语句在执行时,首先判断循环执行条件表达式是否为真,如果真,执行后面的语
句块, 然后再重新判断循环执行条件表达式是否为真, 为真的话, 再执行一遍后面的语句块,
如此不断,直到条件表达式不为真。因此,在执行语句中,必须有改变循环执行条件表达式
的值的语句,否则循环就变成死循环。
module mult_8b_while(
a, b, q
);
parameter bsize = 8;
input [bsize-1 : 0] a, b;
output [2*bsize-1 : 0] q;
reg [2*bsize-1 : 0] q, a_t;
reg [bsize-1 : 0] b_t;
reg [bsize-1 : 0] cnt;
always @(a or b) begin
q = 0;
a_t = a;
b_t = b;
cnt = bsize;
while(cnt > 0) begin
if (b_t[0]) begin
q = q + a_t;
end
else begin
q = q;
end
cnt = cnt - 1;
a_t = a_t << 1;
b_t = b_t >> 1;
end
end
endmodule
循环体,如果表达式条件在开始不为真(包括假、x 以及 z) ,那么过程语句将永远不会被执
行。while 循环的语法为:
while (循环执行条件表达式) begin
语句块
end
在上述格式中, “循环执行条件表达式”代表了循环体得到继续重复执行时必须满足的
条件,通常是一个逻辑表达式。在每一次执行循环体之前,都需要对这个表达式是否成立进
行判断。 “语句块”代表了被重复执行的部分,可以为单句或多句。
While 语句在执行时,首先判断循环执行条件表达式是否为真,如果真,执行后面的语
句块, 然后再重新判断循环执行条件表达式是否为真, 为真的话, 再执行一遍后面的语句块,
如此不断,直到条件表达式不为真。因此,在执行语句中,必须有改变循环执行条件表达式
的值的语句,否则循环就变成死循环。
module mult_8b_while(
a, b, q
);
parameter bsize = 8;
input [bsize-1 : 0] a, b;
output [2*bsize-1 : 0] q;
reg [2*bsize-1 : 0] q, a_t;
reg [bsize-1 : 0] b_t;
reg [bsize-1 : 0] cnt;
always @(a or b) begin
q = 0;
a_t = a;
b_t = b;
cnt = bsize;
while(cnt > 0) begin
if (b_t[0]) begin
q = q + a_t;
end
else begin
q = q;
end
cnt = cnt - 1;
a_t = a_t << 1;
b_t = b_t >> 1;
end
end
endmodule
相关文章推荐
- verilog中的function用法与例子
- verilog中的function用法与例子
- verilog中的function用法与例子
- verilog中的function用法与例子
- verilog中的function用法与例子
- verilog中的function用法与例子
- verilog中的repeat的用法和例子
- 可变参数宏的用法举例--求平均数的例子
- --n,n--在while语句中的用法
- ehcache用法的例子
- 射线的原理用法以及一个利用射线实现简单拾取的小例子
- this关键字的用法和例子
- 宏函数中do{...}while(0)的用法
- Swing中常用的JFrame和JDialog窗体用法的例子
- do{...}while(0)的意义和用法
- 一个例子介绍Ant的用法
- do{} while(0)的用法好处
- Verilog中generate用法
- do{...}while(0)的意义和用法
- shell 脚本-while用法