200928718 六、發明說明: 【發明所屬之技術領域] 本發明係有關於一種糾錯碼之編碼/解碼演算法電路 驗證技術’更詳而言之,係.關於用以對載入糾錯碼之編碼/ 解碼演算法之可程式邏輯模組執行驗證之驗證系統及方 法0 【先前技術】
由於糾錯碼(Error Checking and Correcting code; ECC 〇 code)之編碼/解碼演算法不僅可發現錯誤,亦可糾正錯 誤’故’目前業界已將㈣碼之編碼/解碼演算法電路廣泛 應用於例如祠服器、工作站、以及高階桌上型電腦等電子 裝置中,以使電子裝置在運行時更趨於安全、穩定。 產如虽產如驗證該糾錯碼之編碼/解碼演算法是否存 在錯誤(bug)、是否達到設計要求(例如實現多I元糾錯之 要求)等’該糾錯碼之編碼/解褐演算法電路本身的驗 φ 顯得尤為重要。 現有之驗證方法彡為軟體顯測試或實機職,而益 論哪種測試,均係針對多個不同之驗證(咖帅賀 料’以全碰證的方式對同-個糾錯碼之料/解碼淨算法 電路之糾錯功能進行驗證,而軟體模擬測試針對單個^ 資料’需要透過該糾錯碼之編碼/解碼演管^ ,路對驗證資料執行檢查與糾錯產生之指令的接收:与 :轉譯等姆驟,而每一步騾基本上會消 』 期,而且對同-個糾錯碼之編碼/解料算法電路的驗證^ 111039 4 200928718 囊括的驗證資料數量不止單一個,因 證資料所花費的時門如$威丄 守较馭5且所有驅 往往會出現遺漏】=:=:對^ 測試不全面、且耗時之弊端。、&成/函盍率不佳、 所述,如何提出一種可 、 之糾錯碼之編碼/解碼演算法 ^之種種=失 前虽欲解決之技術問題。驗4統及方法,實為目 【發明内容】 碼之編瑪It技術之缺點’本發明在於提供—種糾錯 間,並提升電路驗證系統及方法’以縮短驗證時 之編碼/解碼演=電:重自我測試功能之糾錯碼 糾錯瑪之編碼/解碼演管法^路驗=法,以檢測本發明之 證結果的有效性。# 馭迅糸統是否出錯,確保驗 統係應用於—=之、4錯。碼之編碼/解碼演算法電路驗證系 之編碼/解瑪存早=之㈣處縣置中’該糾錯碼 暫存區;處理模組,係連接該第=弟-暫存區’第二 並預切存有至少,區㈣第二暫存區, 令時將所選定之驗^ 於接收到驗證執行指 暫存區,·可貝料分別寫入該第-暫存區及該第二 模組,用以戟组’係連接該第-暫存區與該處理 模組依據所、’·曰石’·’、之編碼/解碼演算法,該可程式邏輯 h疋之驗證資料產生同位元(pa刪’以將該同 111039 200928718 位元寫入該第—暫存 法之特性及電路邊界據該糾錯狀編碼/解喝演算 料取_存於該第二暫存區==資該錯誤資 ❹ 一暫存區中之錯誤資料I中之同位元’對儲存於該第 正作業以產生經修正之t偵測’俾依據侦測結果進行修 一暫存區、It第二暫广F广’以及比對权組,係連接該第 於該第-暫存區的經二3=理模組’用以比對儲存 驗證資料是否相同貝儲存於該第二暫存區之 演算法正確,若不相同,則^代表該糾錯碼之編石馬/解碼 法錯誤,以由該__=^=^解喝演算 行後續處理。 奵、、。果發达至該處理模組進 電路驗證系統復包括連H ^之糾錯碼之編碼/解碼演算法 理模組進行訊息溝通模組且提供使用者與該處 驗證啟動單元,係提 二,該人機介面至少包括: 且將該驗雙執^入二吏者觸發以產生驗證執行指令, 以提供使用者輪入該系 ^且,輸入早凡’係用 該處理模組;以及輪出單元,2資料以及該驗證資料至 之錯誤資料位元資訊以及其它該處理模組輸出 出儲存至該儲存單元。 、€有關之貝訊亚予以輸 本發明復提供—# Μ Μ 證方法,且該糾錯碼之編碼編碼/解碼演算法電路驗 於-具有儲存單元之f料處理^异法電路驗證方法應用 、 衣置中’該糾錯碼之編碼/ 111039 6 200928718 證方法步驟包括:⑴預先儲存至少-驗 該第二暫存區令時清空該第—暫存區以及 料;(3)啟動載Λ1)所餘存之資料中選定—驗證資 輯模細,以依據^解碼演算*之該可程式邏 證資料與該同位元^=料產生同位元;(4)將該驗 寫入至該第二—暫存區’亚將該驗證資料 Ο 法之特性及電路二— 資料取代儲存於該第一以f產生錯> 貝枓,並將該錯誤 邏輯模組依據儲存於證資料;(6)令該可程式 -暫存區之錯誤資料執㈣二=之同位元對儲存於該第 作業以產生經修正之資料;、⑺比測结果進行修正 鼻法正確之m進=仙’右相同,則提供演 (10); (8)清空該第— ·"’右不相同’則進至步驟 φ 儲㈣料中是否有下—個:證=c)判斷所 —個驗證資料,益返回、右疋’則選定該下 以及(10)提供演算法錯 )右否,則結束該驗證過程; 息輸出並將錯誤資“元將該演算法錯誤之訊 ,較佳_,:=::元。 存-系統自我測試資科 上括.(】-】)預先錯 :證執行指令時,提供—系統二測(1-2)於接收 選擇執行系統自我測試作業 〜早’以供使用者 資料寫入至該第一暫存區:及該第我測試 仔&,0-4)比對該 111039 200928718 第一暫存區以及該第二 相同,若相同,則進Γ步驟子=之^統自我測試資料是否 錯碼之編碼/解碼演瞀 ),右不相同,則提供該糾 結束該驗證過程;、^以%路驗證系統錯誤之提示訊息,並 暫存區之資料。 1 ·5)清空該第—暫存1以及該第二 於本發明之糾钭 ❹ ❿ 及方法中,並不解碼演算法電路驗證系統 算法皆可套用於本^ ^法進行限定,任何糾錯演碼 雜可程式邏輯t趾 切_組係可例如為複 ΓΡΤ η、々 π 、 〇mplex Programmable Logic Device; ”私式化避輯閘陣列(Field-Programmable Gate Α17;ΡΡ(}Α)^心—可為任-可編歡處理單元, 以達驗證系統及方法上變更的高性。 口此本u係結合戴人至可程式邏輯模組之該糾錯 碼之編碼/解碼演算法雷 結合驗證线,執^執行驗證作# ’以硬體與軟體相 的時間。此外相提高,可㈣節約驗證所需 針對糾錯碼之編物莫,可編程的之優勢’可以隨時 性進行驗歸料之㈣及電料界條件特 限時間内達到最高_叫蓋率。 在有 【實施方式】 Λ下係藉由特定性的具體實例說明本發明之實 式,熟悉此技藝之人士邳山 η&方 瞭解本發日狀其他書關μ时輕易地 月 > 閱第1圖,係顯示本發明之糾錯碼之編碼/解碼演 8 111039 200928718 算法電路驗證系統之基本架構方塊示 發明之驗證系統丨應用於一 ^圖如圖所示,本 中,其中,該資料處理裝置2且::腦之資料處理裝置2 元3,用以儲存與驗證相關之資二之儲存單 訊等,而本發明之驗證系統j J如錯块貢料位元資 存區u、第二暫存區12 ,人機介面10、第一暫 14、以及比對模組15,各單_式%輯模組13、處理模組 Ο 第1圖所示,以下即對即fisit介面之聯結關係如 該人機介㈣係心糾進行詳細的說明。 行訊息溝通,具體而言,該人=用者與該處理模組Μ進 μ ;|面10係至少包含驗證啟 動早兀100輸入早元101、以及輪 驗證啟動單元100传帛5Λ 此八日^供使用者觸發並產生驗證執行 :t= 處理模組14;該輪入單元㈣用以提 供使用 +者輪入糸統自我測試資料以及至少-驗證資料至該 處理板組14’其中,該驗證資料係依據該糾錯碼之編碼/ ❹ 解碼演异法。之特性及電路邊界條件特性之設計要求而設置 者u輸出單元102係用以提供該處理模組i 4將錯誤資料 位兀Η況以及其他與驗證相關的資訊傳送並儲存至該儲存 單元3。 該可程式邏輯模組13係用以透過可程式化方式载入 該糾錯碼之編碼/解碼演算法電路。較佳地,該可程式邏輯 模組13係可例如為複雜可程式邏輯裝置(c〇mplex Programmable Logic Device; CPLD)、可程式化邏輯閘陣 列(Field-Programmable Gate Array; FPGA)或其他可程式化 9 111039 200928718 裝置。 該處理模組14係用以接收該輸入單元101所輸入之 該系統自我測試資料以及各該驗證資料並予以儲存,且於 —接收到該驗證啟動單元100所輸出之驗證執行指令時,則 自所儲存之資料中選定一驗證資料,且使該可程式邏輯模 組13中之編碼演算法電路依據所給定之驗證資料(未編碼 資料)產生同位元,並將含有該同位元之驗證資料(已編 碼資料)以及未含有該錯誤修正位元的驗證資料(未編碼 ❿資料)分別寫入該第一暫存區11以及第二暫存區12,並 依據該糾錯碼之編碼/解碼演算法之特性及電路邊界條件 特性產生錯誤資料以取代該第一暫存區11中儲存之已編 碼驗證資料,之後,令該可程式邏輯模組13中之解碼演算 法電路依據該第一暫存區11中之同位元,對該第一暫存區 11中之錯誤資料執行錯誤偵測與修正作業。較佳地,該處 理模組14可為任一可編程之處理單元,以達驗證系統及方 _ 法上變更的高度彈性。 ❹ 該比對模組15係用以比對該第一暫存區11中已修正 之錯誤資料與該第二暫存區12中之驗證資料是否相同,若 是,則產生資料相同之訊息予該處理模組14,以供該處理 模組14提供該糾錯碼之編碼/解碼演算法電路可正常修正 所選定之錯誤資料之提示訊息,並進入該處理模組14内所 儲存之下一個驗證資料之選定與驗證作業,當所有驗證資 料均驗證完畢,則結束該驗證過程’若否’則產生_育料不 相同之訊息予該處理模組14,以供該處理模組14提供該 10 111039 200928718 糾錯碼之編碼/解碼演算法t路纽修蓉、 之提示訊息,同時,遷過該處理模組 錯誤資剩 !存區中的位址資訊(即錯誤資料位元資;;'J料在第-早兀102輸出並存於該儲存單元3, 過該輪出 Ο 糾錯碼之編碼/解碼演算法電路,同時Ί、讀Μ修正該 ^所儲存之下一個驗證資料之選定與^^理模組 驗證資料均驗證完畢,則結束該驗證過=作業,當所有 另外》亥處理模組1 4復於 所輸出之驗證執行指令時,提供一==啟〜10。 供選擇是否執行系統自我測試作孝系C選單,以 於:於驗證執行前奸檢測本”自動,作業之 暫存區&可程式邏辑二 比對杈組15工 13、處理裰知, 後續驗證妹果的1正常’確認無硬體故障後,=4和 ❹ 業則分別Cl性與有效性。若執行:么能確保 至該第;”八單元1。1給定之系試作 模組】5比^以及該第二暫存區】試資料 統自我娜試^ 1存區11以及該第二暫存巴=比對 出並、科,最後將比對結杲、# 1 區12中之系 號C單元3,且C元]〇2輪 結果的有效性能確保透過本發明之驗證 行太=過上述糾錯碼之編碼/解^ 订本…糾錯碼之編碼/解以:電:驗證系統, 电路驗證方法之操 111039 200928718 作流程係如第2A及2B圖所示。請同時參閱第1圖,本發 明之糾錯碼之編碼/解碼演算法電路驗證方法係應用於如 第1圖所示之具有第一與第二暫存區以及可程式邏輯模組 之糾錯碼之編碼/解碼演算法電路驗證系統中,且該糾錯碼 之編碼/解碼演算法電路驗證系統應用於一具有儲存單元 之資料處理裝置中。 首先進行步驟S100,預先儲存一系統自我測試資料以 及至少一驗證資料,其中,該驗證資料係依據該糾錯碼之 ©編碼/解碼演算法之特性及電路邊界條件特性之設計要求 而設置者,以涵蓋該糾錯碼之編碼/解碼演算法電路可糾正 之所有位元數,俾進一步驗證該糾錯碼之編碼/解碼演算法 電路是否可達成設計要求,如此,則可相應提升測試涵蓋 率。接著進行步驟S101。 於步驟S101中,於接收驗證執行指令時,提供一系 統自我測試選單,以供選擇是否執行系統自我測試作業, 若選擇系統自我測試作業則進至步驟S114,否則,進至步 ❹ 驟 S102 。 於步驟S102中,清空該第一以及第二暫存區中之資 料。接著進行步驟S103。 於步驟S103中,自所儲存之資料中選定一驗證資料。 於一實施例中,係可依該驗證資料位元的位元數按從小到 大或從大到小的次序自動選定,但不以此為限,亦可由使 用者隨機選定。接著進行步驟S104。 於步驟S104中,啟動該可程式邏輯模組之編碼演算 12 111039 200928718 法電路,依據所選定之驗證資料產生同位元。接著進行步 驟 S105 。 於步驟S105中,寫入含有該同位元之驗證資料(已 編碼資料至該第一暫存區,並寫入未含有該同位元之驗 證資料(未編碼資料)至該第二暫存區。接著進行步驟 S106。 於步驟S106中,依據該糾錯碼之編碼/解碼演算法之 特性及電路邊界條件特性產生錯誤資料以取代該第一暫存 ©區中之驗證資料,於一實例中,係採用打亂該第一暫存區 中之驗證資料各位元之次序以產生該錯誤資料,但不以此 為限,亦可透過改變該驗證資料中某一個或某些個位元之 數值而產生該錯誤資料。接著進行步驟S107。 於步驟S107中,啟動該可程式邏輯模組之解碼演算 法電路,依據該第一暫存區中之同位元,對該第一暫存區 中之錯誤資料執行錯誤偵測與修正作業。接著進行步驟 • S108。 φ 於步驟S108中,比對該第一暫存區中已修正之錯誤 資料與該第二暫存區中之驗證資料是否相同,若是,則進 至步驟S109,若否,則進至步驟S113。 於步驟S109中,提供該糾錯碼之編碼/解碼演算法電 路可正常修正所選定之錯誤資料之提示訊息。接著進行步 驟 S110 。 於步驟S110中,清空該第一以及第二暫存區中之資 料。接著進行步驟S111。 13 111039 200928718 於步驟Sill中,判斷所儲存之資料中是否有下一個 驗證資料,若是,則進至步驟S112,若否,則表示所有驗 證資料均已驗證完畢,此時,則結束該驗證過程。 ..... 於步驟S112中,選定該下一個驗證資料,並返回至 步驟S104。 於步驟S113中,提供一該糾錯碼之編碼/解碼演算法 電路無法修正所選定之錯誤資料之提示訊息,且輸出並儲 存錯誤資料位元資訊至該儲存單元,以供後續據以修正該 ❹糾錯碼之編碼/解碼演算法電路,俾於該演算法電路量產前 及時發現設計缺陷,避免於該演算法電路量產後造成更大 的損失。接著返回步驟S110。 於步驟S114中,分別寫入該系統自我測試資料至第 一暫存區以及第二暫存區。接著進行步驟S115。 於步驟S115中,比對該第一暫存區以及該第二暫存 區中之系統自我測試資料是否相同,若是,則進至步驟 S102,若否,則進至步驟S116。 於步驟S116中,提供該糾錯碼之編碼/解碼演算法電 路驗證系統錯誤之提示訊息,並結束該驗證過程,如此, 以供後續據以修正該糾錯碼之編碼/解碼演算法電路驗證 系統,俾確保透過本發明之糾錯碼之編碼/解碼演算法電路 驗證系統及方法得到之驗證結果的有效性。 綜上所述,本發明提供一種糾錯碼之編碼/解碼演算法 電路驗證系統及方法,採用的是硬體與軟體的結合,在執 行速度上較習知之純軟體模擬測試或實機測試更快,可大 14 111039 200928718 幅縮短驗證所需的時間,而且,因本發明測試驗證資料的 速度快,在有限的產品開發時間内,可以測試大量的驗證 資料,此外,因本發明係預先儲存驗證所需之所有驗證資 料,故,在實際驗證過程中,可避免發生某些驗證資料被 遺漏之情事發生,進而提升測試涵蓋率。 上述實施例僅例示性說明本發明之原理及其功效,而 非用於限制本發明。任何熟習此項技藝之人士均可在不違 背本發明之精神及範疇下,對上述實施例進行修飾與改 ❹變。因此,本發明之權利保護範圍,應如後述之申請專利 範圍所列。 【圖式簡單說明】 第1圖係顯示本發明之糾錯碼之編碼/解碼演算法電 路驗證系統之基本架構方塊示意圖;以及 第2A及2B圖係顯示本發明之糾錯碼之編碼/解碼演 算法電路驗證方法之操作流程示意圖。 〇 【主要元件符號說明】 I 糾錯碼之編碼/解碼演算法電路驗證系統 10 人機介面 100 驗證啟動單元 101 輸入單元 102 輸出單元 II 第一暫存區 12 第二暫存區 13 可程式邏輯模組 15 111039 200928718 14 處理模組 15 比對模組 2 資料處理裝置 3 儲存單元- S100〜S116 步驟