如何给Verilog中的数组初始化赋值?

如题所述

一般的综合如果不在意上电时的值,编译器会向着面积最小的方向综合,那样综合后信号的初始值是不确定的。
module  test(
input  wire  rst_n  //  Reset, Active Low
,input  wire  clk
//
//  Add other inputs and outputs here
//
);
integer k;
parameter  n = 10;  // set the value of n here
reg  signed  [20:0]  e[0:n-1];
always @(posedge clk or negedge rst_n)  begin
if(~rst_n)  begin
for(k=0;k<n;k=k+1)  e[k] <= 21'h0;  // set initial value of matrix to all zero here
end
else  begin
//  change the value of e here normally
end
end

endmodule

1、概述:

字符串定义 只定义不分配内存空间,不做任何操作;字符串初始化 两种方式直接等号赋值,用new初始化,直接等号赋值放入内存池,其它变量也可以引用;new初始化分配内存空间,不可引用;字符串赋值为null 初始化了,并且有了引用,但是没有指向任何内存空间;

2、详解:

String s;和String s=null;和String s="a";有什么区别?第一个只是定义了一个String类型变量s,并没有给它赋初值,在Java中,默认在使用一个变量的时候必须赋予它初值(降低风险)。第二个和第三个都定义了String类型变量s,并赋予它初值,只不过第二个赋予的值为null(空)罢了主要要理解的是String s; s为一个引用~~它不是对象

温馨提示:答案为网友推荐,仅供参考
相似回答