是因为信号拉高的时间太短,拉高之后又把它拉低了,需要仔细看一下信号生成的代码。
错误代码与正确代码##正确代码always @(posedge clk or negedge rst_n)begin if(!rst_n)beginwr_en <= 1'd0;wr_data <= 8'h0;endelse if(state_c == DATASEND && cnt ==0 )beginwr_en <= 1'd1;wr_data <= data_tmp[15:8];endelse if(state_c == DATASEND && cnt ==1 )beginwr_en <= 1'd1;wr_data <= data_tmp[7:0];endelse begin wr_en <= 0;wr_data <= 0;endend##错误代码always @(posedge clk or negedge rst_n)begin if(!rst_n)beginwr_en <= 1'd0;wr_data <= 8'h0;endelse if(state_c == DATASEND && cnt ==0 )beginwr_en <= 1'd1;wr_data <= data_tmp[15:8];endelse if(state_c == DATASEND && cnt ==1 )beginwr_en <= 1'd1;wr_data <= data_tmp[7:0];endelse begin ****重点是这几行end **** wr_en <= 0; ****wr_data <= 0; ****end
放大后看到的