我是靠谱客的博主 想人陪板凳,最近开发中收集的这篇文章主要介绍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

 

波形:

最后

以上就是想人陪板凳为你收集整理的verilog中的repeat的用法和例子的全部内容,希望文章能够帮你解决verilog中的repeat的用法和例子所遇到的程序开发问题。

如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。

本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
点赞(56)

评论列表共有 0 条评论

立即
投稿
返回
顶部