確保SRL和觸發(fā)器在配置后正確初始化的方法
疑問描述
FPGA 架構(gòu)中的 SRL16 和觸發(fā)器是通過 GWE(全局寫使能)信號來釋放的,該信號允許這些同步元件在配置完成后改變狀態(tài)。GWE 是緊接配置后啟動過程的一部分。
GWE 會為配置時鐘同步釋放 SRL16 和 觸發(fā)器,并且會在該部分產(chǎn)生巨大的歪斜。因此,在同步設(shè)計中會產(chǎn)生兩種類型的行為:
由于 GWE 釋放的同步元件與配置時鐘有關(guān),而與用戶的系統(tǒng)時鐘無關(guān), 因此,觸發(fā)器和 SRL16 會產(chǎn)生時序違規(guī)。
傳遞 GWE 信號表明 SRL16 和觸發(fā)器的釋放時間可能稍有不同,從而導(dǎo)致設(shè)計的某些部分在 其他部分之前啟動。
此問題將不會影響大多數(shù)設(shè)計。如果該設(shè)計符合下列標(biāo)準(zhǔn)之一,則應(yīng)該在設(shè)計中實現(xiàn)此答復(fù)記錄底部的解決方案,以防止此問題的發(fā)生:
此設(shè)計依賴于 對初始化序列元件的同步啟動,并使用 觸發(fā)器和 SRL (這包括使用初始值的推導(dǎo) SRL,檢查映射報告以確定是否在設(shè)計中使用 SRL)。
此設(shè)計依賴于對初始化序列元件的同步啟動,該設(shè)計不會在同步元件啟動后對其進(jìn)行復(fù)位斷言。無法進(jìn)行 SRL 復(fù)位。
下列解決方案詳細(xì)探討了此問題,并提供了相應(yīng)的解決方法,您應(yīng)該使用這些方法來確保設(shè)計中的同步元件與用戶系統(tǒng)時鐘保持同步啟動,從而防止上述兩種行為的發(fā)生。此答復(fù)記錄適用于所有 Xilinx FPGA。
解決方案
您可以使用兩種不同的方法來確保設(shè)計與用戶系統(tǒng)時鐘保持同步啟動。 您應(yīng)該在設(shè)計中使用下列兩種方法之一:
1) 第一種方法是控制時鐘來驅(qū)動設(shè)計。
在啟動后的最初時間里,應(yīng)停止時鐘運行。
當(dāng)從 STARTUP 原語中斷言 EOS 信號后,此時鐘可以與用戶的系統(tǒng)時鐘同步重新 啟動。
控制此時鐘的最佳方法是使用 BUFGCE、BUFR 復(fù)位或 BUFHCE。 請注意,此方法不能用于為 DCM 提供反饋的時鐘。對 DCM 的反饋時鐘執(zhí)行門控管理,可能會造成 DCM 的不可靠操作。
2) 替代的方法是使用可控的單個同步元件的 CE 端口,而不是停止時鐘的運行。
在啟動后的最初時間里,不應(yīng) 啟用 CE 端口。
在從 STARTUP 原語中斷言 EOS 信號后,可以使 CE 引腳與用戶系統(tǒng)時鐘保持同步。
請注意,此技術(shù)更易于受時序和傳送問題的影響。如果在您的設(shè)計中不能使用時鐘停止運行的方法,則僅應(yīng)使用在啟動后同步設(shè)計的方法。同時,請記住,此方法不能與推導(dǎo)邏輯在一起使用,因為無法直接控制推導(dǎo)邏輯的 CE 引腳。
適用于器件
Virtex-4 FX
Virtex-4 LX
Virtex-4 QPro/R
Virtex-4 SX
Virtex-4Q
Virtex-4QV
Virtex-5 FXT
Virtex-5 LX
Virtex-5 LXT
Virtex-5 SXT
Virtex-5 TXT
Virtex-5Q
Virtex-5QV
Virtex-6 CXT
Virtex-6 HXT
Virtex-6 LX
Virtex-6 LXT
Virtex-6 SXT
Virtex-7
Virtex-7 HT
Spartan-6 LX
Spartan-6 LXT
Kintex-7
Artix-7
Spartan-3
Spartan-3 XA
Spartan-3A
Spartan-3A DSP
Spartan-3AN
Spartan-3E
Spartan-II
Spartan-IIE
Virtex
Virtex QPro/R
Virtex-E
Virtex-E QPro
Virtex-II
Virtex-II Pro
Virtex-II Pro X
Virtex-II QPro/R