亚洲免费av电影一区二区三区,日韩爱爱视频,51精品视频一区二区三区,91视频爱爱,日韩欧美在线播放视频,中文字幕少妇AV,亚洲电影中文字幕,久久久久亚洲av成人网址,久久综合视频网站,国产在线不卡免费播放

        ?

        基于CRC算法的Rom Bist設計

        2014-04-29 06:05:19鄭曉亮戴瀾
        電子世界 2014年15期

        鄭曉亮 戴瀾

        【摘要】存儲器內置自測試是嵌入式存儲器測試的一種極為重要的方法,本文以ROM測試作為研究的對象。而CRC碼(循環(huán)校驗碼)是一種在實際通信中應用很廣泛的差錯控制編碼,具有很強的檢錯能力,可以很好的完成Rom內容的校驗測試。本文把CRC串行運算方法作為依據,連續(xù)完成8bit串行運算作為一個單元,實現了8bitCRC并行運算,并通過邏輯推理和運算,給出了Verilog HDL語言的邏輯表達式。最后,基于CRC算法提出了一種Rom測試的設計方案。

        【關鍵詞】CRC;ROM;BIST;Verilog HDL

        引言?

        隨著soc技術的不斷發(fā)展,嵌入式存儲器所占的面積也已經超過了60%以上。因為存儲器的單元排列非常緊密,導致產生的故障類型多種多樣,并且嵌入式存儲器比邏輯模塊具有更高的復雜度和更多的共用信號,所以產生故障的可能性就更高。這種趨勢不但增加軟硬件協同設計的難度,而且在芯片的成品率控制和故障檢測方面也引發(fā)了新的技術難題。快速而高效地對存儲器測試,是批量存儲器測試的一個重要課題[1]。

        內建自測試已被認為是用于嵌入式存儲器測試的一種極為重要的方法。存儲器內置自測試(BIST)是 SoC 設計中用來測試嵌入式存儲器的標準技術,它以合理的面積開銷來對單個嵌入式存儲器進行徹底的測試[2][3]。內建自測試即芯片內部自行測試,是可測性的一種實現方式。

        論文對ROM測試的方法進行研究,以CRC-CCITT校驗算法作為基礎,用CRC校驗的方式完成ROM內容的校驗,并設計RomBist電路。

        1.CRC校驗算法

        循環(huán)校驗碼(CRC碼),是數據通信領域中最常用的一種差錯校驗碼,其特征是信息字段和校驗字段的長度可以任意選定。CRC校驗碼的基本思想是利用線性編碼理論,在發(fā)送方根據要傳送的k位二進制碼序列,以一定的規(guī)則產生一個校驗用的監(jiān)督碼(既CRC碼)r位,并附在信息后邊,構成一個新的二進制碼序列數共(k+r)位,最后發(fā)送出去。在接收端,則根據信息碼和CRC碼之間所遵循的規(guī)則進行檢驗,以確定傳送中是否出錯。下表列出了一些常見于標準的CRC多項式[4][5][6]。

        表1 常見標準CRC

        名稱 生成多項式 簡記式 應用舉例

        CRC-4 X4+X1+1 3 ITU G 704

        CRC-12 X12+X11+X3+X+1

        CRC-16 X16+X15+X+1 8005 IBM SDLC

        CRC-CCITT X16+X12+X5+1 1021 ISO HDLC, ITU X.25, V.34/V.41/V.42, PPP-FCS

        CRC-32 X32+X26+X23+…+X2+X+1 04C11DB7 ZIP, RAR, IEEE 802 LAN/FDDI, IEEE 1394, PPP- FCS

        CRC-32C X32+X28+X27+…+X8+X6+1 1EDC6F41 SCTP

        2.8位并行CRC算法

        CRC-CCITT算法的多項式為X^16+X^12+X^5+1,計算CRC實際上是將數據通過線性反饋移位寄存器,所有數據移入后CRC寄存器的值即為16位CRC。原理如下圖所示,其中C15-C0為線性反饋移位寄存器R15-R0的初始值,數據按位移入CRC線性移位寄存器,CRC移位寄存器的依次右移一位,移出位C0與新移入的數據D0異或作為R15寄存器的新值,C11、C0與D0異或的值作為R10寄存器的新值,C4、C0與D0異或的值作為R3寄存器的新值,依次類推完成CRC運算(見圖1)。

        ROM存儲器是按照byte操作,每次讀取1byte數據(8bit數據),需要把上述串行移位運算轉化為并行運算,相當于一次并行運算就得到了串行移位運算時需要8bit移位所得的結果。每個時鐘完成8bit數據的CRC值計算,下一個8bit數據到來時,把上一個8bit數據的CRC值C15-C0作為初值,繼續(xù)完成并行CRC計算,即每次處理1byte),如表1所示。

        串并行運算推移圖中,Ri為CRC移位寄存器(R0為低位),Ci為CRC移位寄存器的初值(C0為低位),Di為輸入數據(D0為低位),Xi=Di^Ci,同一欄中數據的關系是異或??傻帽?——8位并行計算的CRC16邏輯關系式。

        表2 8位并行計算的CRC16邏輯關系式

        R0=C8^X4^X0 R8=X0^X5^X1

        R1=C9^X5^X1 R9=X1^X6^X2

        R2=C10^X6^X2 R10=X2^X7^X3

        R3=C11^X0^X7^X3 R11=X3

        R4=C12^X1 R12=X4^X0

        R5=C13^X2 R13=X5^X1

        R6=C14^X3 R14=X6^X2

        R7=C15^X4^X0 R15=X7^X3

        3.Verilog HDL邏輯表達式

        使用Verilog HDL硬件描述語言實現上述算法,設:

        crc_low[7:0]為低8位移位寄存器R7~R0;

        crc_high[7:0]為高8位移位寄存器R15~R8;

        t_rom_d[7:0]為8位輸入數據D7~D0。

        crc_cal[7:0]為8位中間變量寄存器[7]。

        由8位并行CRC16邏輯關系式可知,寄存器中的值為Xi和Ci的組合,首先,利用Xi<=Di^Ci的關系,得出X7~X0。

        crc_cal[7:0]<=crc_low[7:0]^t_rom_d[7:0];

        crc_cal[7:0] X7 X6 X5 X4 X3 X2 X1 X0

        其次,根據R15~R12,R10~R7,R3~R0可知,Xi^X(i+4)成對出現。

        crc_cal[7:4]<=crc_cal[7:4]^crc_cal[3:0]

        crc_cal[7:0] X7^X3 X6^X2 X5^X1 X4^X0 X3 X2 X1 X0

        可以推導出crc_low[7:0]和crc_high[7:0]的表達式,如下所示。

        crc_low[7:4]<=crc_high[7:4]^crc_cal[4:1];

        crc_low[3]<=crc_high[3]^crc_cal[0]^crc_cal[7];

        crc_low[2:0]<=crc_high[2:0]^crc_cal[6:4];

        crc_high[7:3] <= crc_cal[7:3];

        crc_high[2:0]<=crc_cal[2:0]^crc_cal[7:5];

        4.Rom Bist設計

        只讀存儲器ROM(Read only Memory)。只讀存儲器是能對其存儲的內容讀出,而不能對其重新寫入的存儲器。這種存儲器一旦存入了原始信息后,在程序執(zhí)行過程中,只能將內部信息讀出,而不能隨意重新寫入新的信息去改變原始信息。因此,通常用它存放固定不變的程序、常數以及漢字字庫,甚至用于操作系統的固化。芯片電源掉電后,存儲器數據不丟失。存儲器中的數據在wafer制造時利用光刻工藝掩膜(mask)進行編程,一旦制造完成,其內容不能被改變。

        圖2 Rom Bist 結構圖

        芯片收到ROM測試命令后,接收外部輸入16位數據Date[15:0]作為CRC校驗的標準值。TE_RomBist信號被置為1,ROMbist開始工作,Done信號置為0,Fail信號置為1,產生ROM的地址、片選信號和讀寫使能信號,讀取ROM內容進行CRC校驗運算,CRC寄存器初始值為16hFFFF,ROM中所有數據校驗運算完畢后,使用運算結果crc_low和crc_high,與標準值進行對比,把Done信號置為1,表示測試結束,對比成功,Fail置為0,通過ROM測試,對比不成功,Fail信號置為1,測試失敗。

        5.結論

        論文通過對CRC校驗算法的研究,完了串行CRC校驗到并行CRC校驗的轉化,使用Verilog HDL硬件描述語言完成了算法的實現,得到了CRC校驗算法的邏輯表達式,可以在一個時鐘周期完成8bit CRC并行運算。并給出了一種RomBist電路的方案,實現了基于CRC校驗算法的RomBist設計。

        參考文獻

        [1]徐金榮.基于BIST的嵌入式存儲器可測性設計研究[D].北京交通大學碩士學位論文,2008:12-25.

        [2]姚俊.基于BIST的嵌入式存儲器可測性設計算法研究[D].哈爾濱工程大學碩士學位論文,2007:13-21

        [3]李文琦.高性能MemoryBIST設計實例[D].上海交通大學碩士學位論文,2007:3-5.

        [4]朱榮華.一種CRC 并行計算原理及實現方法[J].電子學報,1999,27(4):143-145.

        [5]李永忠.通用并行CRC 計算原理及其硬件實現方法[J].西北民族學院學報:自然科學版,2002,23(1):33-37.

        [6]黃維超,劉橋,黃初華.基于Verilog的CRC并行實現[J].微計算機信息,2009,25(10):112-113.

        [7]夏寧聞.Verilog數字系統設計教程(第二版)[M].北京:北京航空航大人學出版社,2008:26-49.

        亚洲人妻av综合久久| 久久久精品人妻一区亚美研究所| 国产精品自产拍在线观看免费| 久久久久久久人妻无码中文字幕爆| 亚洲丁香婷婷综合久久小说 | 精品国产一区二区三区久久狼| 久久99精品久久久66| av大片网站在线观看| 久久天天躁夜夜躁狠狠85麻豆 | 国产高清不卡在线视频| 日本最新一区二区三区视频观看| 粗大猛烈进出高潮视频| 久久亚洲私人国产精品| 亚洲另类激情专区小说婷婷久| 久久av少妇亚洲精品| 男人吃奶摸下挵进去啪啪软件| 亚洲自拍偷拍一区二区三区 | 蜜桃视频在线观看免费亚洲| 亚洲中文字幕在线第二页| 国产欧美日韩专区| 亚洲中文字幕高清视频| 久久国产精品婷婷激情| 国产精品www夜色视频| 亚洲成在人线久久综合| 女人一级特黄大片国产精品 | 乱码午夜-极品国产内射| 亚洲国产成人久久综合三区| 澳门精品一区二区三区| 国产欧美va欧美va香蕉在线| 99久久婷婷国产综合精品青草免费| 自拍偷自拍亚洲精品播放| 久久综合一本中文字幕| 一区二区三区激情免费视频| 久久www免费人成—看片| 一本一道波多野结衣av中文| 欧美xxxxx精品| 中文字幕第一页人妻丝袜| 人妻丝袜av中文系列先锋影音| 国产精品无码专区综合网| 一区二区激情偷拍老牛视频av| 亚洲综合成人婷婷五月网址|