7 系列 — FRAME_ECCE2 端口描述與功能性
7 系列 FPGA 幀 ECC 邏輯可檢查配置幀數(shù)據(jù)的單位或雙位錯誤。它可使用基于幀數(shù)據(jù)( BitGen 生成)計算的 13 位漢明碼校驗值。
在讀回過程中,幀 ECC 邏輯可計算使用所有幀位(包括 ECC 位)的綜合值。如果位沒有改變,還是最初設(shè)定的值,那 SYNDROME[12:0] 都是零。如果一個位發(fā)生改變,包括所有 ECC 位,那該位的位置則由 SYNDROME[11:0] 表明。如果兩個位發(fā)生改變,則 SYNDROME[12] 為 0,其余位都為非零。如果改變的位數(shù)超過了兩位,SYNDROME[12:0] 則為不確定。
如果一個位或兩個位發(fā)生改變,則可斷言模塊的錯誤輸出。要使用幀 ECC 邏輯,F(xiàn)RAME_ECC _VIRTEX6 原語在用戶設(shè)計中就必須實例化,而且必須通過 SelectMAP、JTAG 或 ICAP 接口執(zhí)行讀回。
在每個讀回幀的末端,可針對讀回時鐘(CCLK、TCK 或 ICAP_CLK)的一個周期斷言 syndrome_valid 信號。讀回一個幀所需的周期數(shù)不是固定的,隨所用接口的不同而不同。修復(fù)已經(jīng)發(fā)生改變的位需要一個用戶設(shè)計。FRAME_ECCE2 邏輯不修復(fù)改變的位。設(shè)計必須能夠存儲至少一個幀的數(shù)據(jù),要么就必須能夠取回原始數(shù)據(jù)幀,以便重新加載。
最簡單的操作為:
1. 通過 ICAP 讀出一個幀,并存在模塊的 RAM 中。讀取每個幀時,生成幀地址。
2. 如果一個錯誤由 FRAME_ECC 模塊的錯誤輸出表明,讀回就會停止,并將保存 SYNDROME 值。
3. 如果 SYNDROME[12] 為 0,而 SYNDROME[11:0] 為非零,則必須恢復(fù)整個幀。 如果 SYNDROME[12] 為 1,SYNDROME[11:0] 可用于定位所保存幀的錯誤位。
4. 修復(fù)的幀隨后將寫回第 1 步生成的幀地址中。
5. 讀回隨后會在下一個幀地址上恢復(fù)。
引腳名稱 | 類型 | 說明 |
---|---|---|
SYNDROMEVALID | 輸出 | 幀 ECC 綜合有效脈沖。每個幀激活的一個周期。用于為 ERROR 和 SYNDROME[12:0] 采樣。 |
ECCERROR | 輸出 | 在 SYNDROMEVALID 激活時,該輸出可表明一個幀錯誤是否已經(jīng)檢查:
|
SYNDROME[12:0] | 輸出 |
SYNDROMEVALID 激活時,該輸出可反映幀錯誤情況:
|
CRCERROR | 輸出 | RBCRC 錯誤。請查看 (UG470) 的第 8 章:讀回 CRC |
FAR[25:0] | 輸出 | 幀地址寄存器值。
|
SYNWORD[6:0] | 輸出 | 輸出錯誤的字地址。
|
SYNBIT[4:0] | 輸出 | 錯誤的位地址。
|
ECCERRORSINGLE | 輸出 | 表明已檢查的單位幀 ECC 錯誤 |
對于 SSIT 器件,F(xiàn)RAME_ECCE2 提供在所有 SLR 上。用戶應(yīng)布局并使用該組件檢查每個 SLR 上的 ECC。
如果設(shè)計中只包含一個單 FRAME_ECC,而且沒有布局,它將在主 SLR 中布局。