大家好,又到了每日学习的时间了,今天我们来聊一聊FPGA verilog中的repeat用法与例子。
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
波形:

今天就聊到这里,各位,加油。
-
FPGA
+关注
关注
1655文章
22282浏览量
630071
发布评论请先 登录
如何使用FPGA实现SRIO通信协议
如果将蜂鸟的risc-v移植到其他的fpga中想实现一些外设功能有什么办法?可以不用操作系统直接添加verilog代码吗?
如何利用Verilog HDL在FPGA上实现SRAM的读写测试
FPGA Verilog HDL语法之编译预处理
一文详解Verilog HDL
Verilog中signed和$signed()的用法
数字集成电路 Verilog 熟悉vivado FPGA微电子、电子工程
Verilog例化说明

简谈FPGA verilog中的repeat用法与例子
评论