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

描述

       大家好,又到了每日学习的时间了,今天我们来聊一聊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

        波形:
       F

       
       今天就聊到这里,各位,加油。


打开APP阅读更多精彩内容
声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉
  • 相关推荐
  • F

全部0条评论

快来发表一下你的评论吧 !

×
20
完善资料,
赚取积分