Why do I get syntax errors in my Verilog code?
The code:
module RegFile (
input clk,
input [4:0] rs1,
input [4:0] rs2,
input [4:0] wr,
input reg[31:0] wd,
input RegWrite,
output reg[31:0] rd1,
output reg[31:0] rd2);
reg [31:0] file[31:0];
integer i;
initial begin
i=0;
while(i<32)
begin
file[i]=32'b0;
i=i+1;
end
assign rd1=file[rs1];
assign rd2=file[rs2];
always @(posedge clk) begin
if(RegWrite)
file[wr]=wd;
end
always@(file[0])
file[0]=32'b0;
endmodule
Here are the errors:
regfile.v:25: syntax error
regfile.v:27: Syntax in assignment statement l-value.