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