是的。如果在存取和第二個 CS 中的行之間,晶片選取變更的存取區已開啟,則可以進行背對背讀取存取,則有可能發生匯流排爭執。以下為可能發生爭執的情況,其中 ACT = 啟動和 RD = 讀取:
DDR 端
ACT A
RD A
ACT B
RD B
RD A
本端
在 CS1 中讀取 A 行
在 CS2 中讀取 B 行
在 CS1 中讀取 A 行
控制器確認,第二個讀取為行 A 時,行已開啟。因此,不需要任何 ACT。以下是顯示讀取資料從記憶體返回FPGA時隨附讀取資料的 dqs 訊號的圖表(在 RD A 立即關注 RD B 的點上)。
因此可能會遺失 CS2 的讀取。解決方案是插入 NOP,如下所示:
DDR 端
ACT A
RD A
ACT B
RD B
否
RD A
本端
在 CS1 中讀取 A 行
在 CS2 中讀取 B 行
nop (取消 1 週期的要求)
在 CS1 中讀取 A 行
對於 v1.2.0 的 Altera DDR SDRAM 控制器核心,這必須由使用者來完成。對於 v2.0 的核心,這將會自動完成,讓使用者變得透明。