我想用51单片机通过fpga和sram通信,向里连读,连写数据。下面是我写的部分程序与仿真图,其中ok为写一次的标志, if((mcu_wr_ns^mcu_rd_ns)&ok) case(wr_rd_nums) default:begin sram_addr_temp_m<=mcu_io; wr_rd_nums<=two; ok<=0; end two:begin sram_addr_temp_l<=mcu_io; wr_rd_nums<=three; ok<=0; end three:begin if(!mcu_rd_ns) mcu_data_temp<=sram_io[15:8]; else sram_data_temp_m<=mcu_io; sram_addr<={sram_addr_temp_m,sram_addr_temp_l}; wr_rd_nums<=four; ok<=0; end four:begin if(!mcu_rd_ns) begin mcu_data_temp<=sram_io[7:0]; wr_rd_nums<=one; end else begin sram_we_ns<=0; sram_data_temp_l<=mcu_io; wr_rd_nums<=wr_rd_nums+2'b01; ok<=0; end 问题是其中的sram_we_ns始终为高,还有sram_add的值也不对,但是four:状态下的ok是好而we却不对。
|