您的位置:首页 > 其它

verilog中的repeat的用法和例子

2012-09-29 09:15 1871 查看
repeat 循环语句执行指定循环数,如果循环计数表达式的值不确定,即为 x 或z 时,那

么循环次数按 0 处理。repeat 循环语句的语法为

repeat(循环次数表达式) begin

语句块;

end

其中, “循环次数表达式”用于指定循环次数,可以是一个整数、变量或者数值表达式。

如果是变量或者数值表达式,其数值只在第一次循环时得到计算,从而得以事先确定循环次

数; “语句块”为重复执行的循环体。

在可综合设计中, “循环次数表达式”必须在程序编译过程中保持不变。下面给出一个

module mult_8b_repeat(

a, b, q , a_t1

);

parameter bsize = 8;

input [bsize-1 : 0] a, b;

output [2*bsize-1 : 0] q;

output

reg [2*bsize-1 : 0] a_t1;

reg [2*bsize-1 : 0] q, a_t;

reg [bsize-1 : 0] b_t;

always @(a or b) begin

q = 0;

a_t = a;

//a_t1 = {{bsize[0]},a};

b_t = b;

repeat(bsize) begin

if (b_t[0]) begin

q = q + a_t;

end

else begin

q = q;

end

a_t = a_t << 1;

b_t = b_t >> 1;

end

end

endmodule

波形:

内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: