系统Verilog:在编译时n未知的情况下连接n次n次

时间:2017-06-08 03:15:08

标签: concatenation system-verilog

  

我正在尝试连接0" n"时间,但编译时我不知道。

     

" N"使用一些取决于随机输入(temp_i)的计算来计算。

    string s=temp_i;
      int n,d_zero;
   int i=0; 
    int l=s.len()*8;//l=24
     int k=447-l;
     int T=0;
     if(k<0)
       k=512+k;

     do
     begin
      d[i]=l%2;
      i++;             
     end while(l>0);

     T=l+1+k+d.size();
     n=T/512;
  

这&#34; n&#34;零个数必须与输入连接。类似的东西:

    temp_out={temp_i,n'{1'b0}} 

但是我得到了像这样连接的语法错误。

有人可以帮我解决这个问题吗?还有其他方法我可以做到这一点吗?

1 个答案:

答案 0 :(得分:1)

通过将“n”声明为localparam来实现它。

    localparam n;

和temp_out为

  temp_out={temp_i,{n{1'b0}}};