1.一種針對片上網絡的低功耗、抗串擾的編碼方法,包括如下步驟:
(1)并行輸入數據的每一數據線均以四位為一組編碼,根據組內相鄰數據間翻轉情況分為兩種情況:翻轉次數大于1,則該組數據采用第一、三位或第二、四位取反的方式進行編碼,同時將標志信號Flag置“1”;翻轉次數小于或等于1,則該組數據保持不變,標志信號Flag置“0”;
(2)對編碼后的并行數據進行并串轉換得到低階的并行數據,并將轉換后的并行數據暫存在寄存器模塊中;
(3)通過低階并行數據中依時序相鄰的兩列數據進行按位異或運算,若運算結果出現連續(xù)兩個或更多個“1”,則對其中時序在后的數據自身對應于連續(xù)“1”的連續(xù)若干個數據位進行異或運算,若依然是“1”,則說明相鄰數據線上出現“10”→“01”或“01”→“10”,將串擾標志位Flag_Anticrosstalk置“1”,從而判定存在最壞情況串擾;否則,判定不存在最壞情況串擾,串擾標志位Flag_Anticrosstalk置“0”;
(4)對應于Flag_Anticrosstalk等于“1”的數據位,在依時序相鄰的兩個數據bt-1和bt之間插入屏蔽碼Bt-1,屏蔽碼Bt-1根據公式Bt-1=bt-1⊕bt+bt-1bt計算得到;對應于Flag_Anticrosstalk等于“0”的數據位,在依時序相鄰的兩個數據之間插入數據bt-1或bt,最終所述低階的并行數據與相應的屏蔽碼并行數據依時序間隔排列整合為時序加倍的待發(fā)送數據。
2.根據權利要求1所述的編碼方法,其特征在于:步驟(2)中,采用4:1的比例進行并串轉換。
3.根據權利要求2所述的編碼方法,其特征在于:步驟(1)中所述并行輸入數據為32位數據,即步驟(3)所述低階并行數據為8位數據。
4.根據權利要求1所述的編碼方法,其特征在于:步驟(4)中在依時序相鄰的兩個數據之間插入數據bt-1。
5.對權利要求1至4任一所述編碼方法所得數據進行解碼的方法,包括如下步驟:
(1)通過采樣奇數時鐘觸發(fā)沿的輸入數據去除屏蔽碼并行數據,保留所述低階的并行數據即有效數據;
(2)根據標志信號Flag進行解碼,若Flag等于“1”,則相應地對數據的第一、三位或第二、四位進行取反操作;若標志信號Flag等于“0”,則數據保持不變;
(3)對解碼后的數據進行串并轉換。
6.一種用于實現權利要求1至4任一所述編碼方法的編碼器,其特征在于:包括
低功耗編碼模塊,用于對并行輸入數據進行編碼,輸出編碼后的并行數據和標志信號Flag;
并串轉換模塊,用于將編碼后的并行數據進行并串轉換,得到低階的并行數據;
抑制串擾編碼模塊,用于判斷所述低階的并行數據中是否存在最壞情況串擾,產生相應的屏蔽碼并行數據;
寄存器模塊:用于暫存并串轉換模塊發(fā)來的低階的并行數據,并將抑制串擾編碼模塊提供的屏蔽碼并行數據依時序相應插入低階的并行數據形成待發(fā)送數據;
時鐘分頻模塊,用于向低功耗編碼模塊和并串轉換模塊提供二分頻時鐘。
7.一種用于實現權利要求5所述解碼方法的解碼器,其特征在于:包括
屏蔽碼檢測模塊,用于采樣奇數時鐘觸發(fā)沿的輸入數據去除屏蔽碼并行數據,保留所述低階的并行數據即有效數據;
低功耗解碼模塊:用于根據標志信號Flag對有效數據進行解碼,輸出解碼后的低階并行數據;
串并轉換模塊:用于將解碼后的低階并行數據進行并串轉換,得到所需的并行數據;
時鐘分頻模塊,用于向低功耗解碼模塊和串并轉換模塊提供二分頻時鐘。