碰到问题了。一大堆问题,不知道怎么问起。
项目不复杂,Cyclone4C6,跑250MHz,综合之后,资源利用率不到10%,Timequest 检查,Fmax达315MHz。跑起来应该没问题。
加SignalTag,再综合,Timequest检查,Fmax 达275MHz,timing看来应该是没问题。
但是实际上,Timequest的波形显示,抓的数据有问题。无法证实是不是timequest抓数据的时候引入的问题。
例如:
always @ (posedge clk_250m or negedge RSTN) begin
if (~RSTN) begin
data_out <= 16'h0;
end else begin
data_out <= cnt[0] ? data_A : ( cnt[2] ? data_B : data_out );
end
end
上面几个变量,cnt,data_A, data_B 都是被 clk_250m 同步过的。而timequest的时钟,正是这个clk_250m。
Timequest 抓到的结果,有时候data_out既不是data_A, 也不是data_B,而是由某些bit变掉了。
不期望有谁能很深入帮我解决,但是如果能有一些让我受到启发的建议,我会很感谢。 |