今、32ビット単一マイクロ・プロセッサをVerilogで作成しているのですが、
命令メモリの所がどうしてもコンパイルできません。下記のプログラムで、assign文のところで、エラーが出ます。
どこが間違っているのでしょうか?
・Data_mem
module data_mem(read_data,data_addr,read_data2,mem_write,mem_read,clk,mem_addr,
mem_data,rst,result);
parameter size = 32;

input[31:0] read_data2, mem_data ;
input[3:0] data_addr, mem_addr;
input mem_write,clk,rst,mem_read;
output[31:0] read_data,result;

reg[31:0] data_memory[0:size-1];

always@(negedge clk)
if(rst)        data_memory[mem_addr]<=mem_data;
else if(mem_write) data_memory[mem_addr]<=read_data2;

assign read_data=(mem_read)? data_memory[data_addr]:32’bz;
assign result =(~rst)& data_memory[mem_addr] :32’bz;
endmodule