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