一般这样的寄存器初始化都在复位时候:
always@(poesdge clk or negedge N_rst)
begin
if(!N_rst)
begin
lut[ 1 ]< = 8'd52;
lut[ 2 ] <= 8'd1;
……
end
else
……
end
有一个系统任务可以支持初始化一个寄存器阵列的.好像是$readmemb (寄存器组名,初始化文件名).这个系统任务本身的资料建议你去看一下夏宇文的书,而产生的效果则跟你用的芯片所对应的开发软件有关,比如说用于初始化的数据文件应该保存在什么地方,是否需要加后缀名等等.
你的定义和赋值冲突了,你既然定义了reg型,就不能用assign语句对其赋值,assign只能为wire型参数进行赋值
要是你准备按assign赋值,就把最上头的定义改成wire [7:0] mem [15:1];
要么就改下面的assign为always
放在ALWAYS里面赋值。REG型不能用ASSIGN。