Menu Close

Verilog repeat 循环语句

repeat 语句也是一种循环语句,repeat 循环语句执行指定循环数,如果循环计数表达式的值不确定,即为 x 或z 时,那么循环次数按 0 处理。repeat循环用在顺序过程,函数(function)或任务(task)等循环语句中,也是一种可综合的语句,其语法格式如下:


如果只有一条语句,关键字begin,end也可以省略。表达式可以是数值,变量或由运算符组成的表达式,但表达式最终的结果应该为常数。

例1:利用repeat 循环语句实现参数化乘法器


 

Testbench 测试程序


 

Modelsim仿真波形如图1:

图1:

从仿真波形可以看出,利用repeat 配合移位与累加实现乘法运算。

for,forever,while和repeat的异同点:

可综合 可仿真 表达式数量 循环变量调整
for 是 是 3 一般包含在表达式中
forever 否 是 0 没有循环变量
while 是 是 1 执行代码中调整
repeat 是 是 1 固定次数

 

作业:

  1. 比较下面三段程序有何不同:

(1)


 

(2)


 

(3)


 

2. 用repeat语句编写迭代次数为常数的累加器。

 

对应视频:

 

Posted in FPGA, FPGA 教材教案, Quartus II, Verilog, 教材与教案, 集成电路