當(dāng)前位置:首頁 > 智能硬件 > 智能硬件
[導(dǎo)讀]摘要:為了在USB 3.0中實現(xiàn)數(shù)據(jù)的8 b/10 b編解碼,采用了查找表法和組合邏輯相結(jié)合的方法,把8b/10b編解碼分解成5 b/6 b編解碼和3 b/4 b編解碼,用Verilog HDL語言實現(xiàn)了算法的描述,并通過了Modelsim仿真,然后

摘要:為了在USB 3.0中實現(xiàn)數(shù)據(jù)的8 b/10 b編解碼,采用了查找表法和組合邏輯相結(jié)合的方法,把8b/10b編解碼分解成5 b/6 b編解碼和3 b/4 b編解碼,用Verilog HDL語言實現(xiàn)了算法的描述,并通過了Modelsim仿真,然后在FPGA上實現(xiàn)了具體的硬件電路。采用500 MHz的時鐘信號,經(jīng)過測驗滿足了USB 3.0的傳輸速率5 Gb/s。該創(chuàng)新方法使用了少量邏輯,實現(xiàn)了8 b/10 b編解碼器,并且滿足USB 3.0高速數(shù)據(jù)傳輸?shù)囊蟆?br /> 關(guān)鍵詞:USB 3.0;8 b/10 b編解碼;RTL設(shè)計;仿真驗證

0 引言
    8 b/10 b是目前許多高速串行總線采用的編碼機(jī)制,如USB 3.0,1394b,Serial ATA,PCI Express,Infini-band,F(xiàn)iber Channel,RapidIO等總線或網(wǎng)絡(luò)。8 b/10 b編碼方式最初由IBM公司于1983年發(fā)明并應(yīng)用于ESCON(200M互連系統(tǒng)),發(fā)表Al Widmet和Peter Franaszek IBM刊物的“研究與開發(fā)”。8 b/10 b編解碼之所以能得到廣泛的運用,主要有以下優(yōu)點:采用嵌入式時鐘,可保持DC平衡;能夠更加有效地檢測錯誤;隔離數(shù)據(jù)碼元和控制碼元。

1 USB 3.0中的8 b/10 b編解碼原理
    在USB 3.0分層結(jié)構(gòu)中,發(fā)送端先對數(shù)據(jù)或者控制字(K)加擾,然后把加擾后的8 b數(shù)據(jù)編碼成10b發(fā)送出去;接收端先把接收到的10b數(shù)據(jù)進(jìn)行解碼得到8 b數(shù)據(jù),然后再解擾得到原始數(shù)據(jù)。
    8 b/10 b編碼包含對256個數(shù)據(jù)字符和12個控制字符的編碼。數(shù)據(jù)字符和控制字符分別用Dx,y和Kx,y表示,其中x表示與8 b的低5位(EDCBA)對應(yīng)的十進(jìn)制數(shù)值;y表示與8 b的高3位(HGF)對應(yīng)的十進(jìn)制數(shù)值。發(fā)送端在編碼時,根據(jù)編碼表將低5位變成6位,高3位變成4位。編碼完成后,將10 b的并行字符轉(zhuǎn)換成串行發(fā)送出去。接收端在解碼時先進(jìn)行串并轉(zhuǎn)換得到10 b字符,再將該字符分解成6 b和4 b,根據(jù)相應(yīng)編碼表看是否有效,最后完成解碼。編解碼轉(zhuǎn)換流程如圖1所示。


    不平衡度disp(disparity)表示編碼后1個碼字中“1”數(shù)目與“0”的數(shù)目差。“1”用+1表示,“0”用-1表示,碼字中的所有“+1”與“-1”之和就是disp。8 b/10 b編碼的disp取3種狀態(tài):“+2”(6個1與4個0),“0”(5個0與5個1),“-2”(6個0與4個1)。而運行不一致RD(Running Disparity)是一個二進(jìn)制參數(shù),只有正、負(fù)2種狀態(tài),用于編碼模式控制。在8 b/10 b編碼表中,10 b字符分為2種碼表(RD-和RD+)。編碼過程中,通過對RD值正負(fù)的判斷來選擇對應(yīng)碼表,如果當(dāng)前RD為負(fù)(RD-),編碼器會在RD-編碼表中選擇對應(yīng)值輸出,并且檢測對應(yīng)輸出的10 b值的disp,如果disp=0,則RD不變保持RD-,否則RD值變?yōu)镽D+;如果當(dāng)前RD為正(RD+),則在RD+編碼表中選擇對應(yīng)值輸出,并且檢測輸出值對應(yīng)的disp,如果disp=0,則RD不變保持RD+,否則RD變?yōu)樨?fù)RD-。總之,在disp為正或者負(fù)時,RD發(fā)生交替變換,這種方法是為了使0和1分布更均勻,減小差分信號的直流分量。

2 8 b/10 b編碼器的設(shè)計
    8b/10b編碼器是把8 b數(shù)據(jù)輸入拆成低5位和高3位分別進(jìn)行5 b/6 b和3 b/4 b編碼,根據(jù)編碼表執(zhí)行編碼。因為其中有些特殊的3b/4 b編碼,所以需要一個特殊3 b/4 b編碼模塊。編碼后數(shù)據(jù)通過RD控制模塊選擇輸出,并且把此時的RD狀態(tài)反饋給下一輪編碼。對于8 b控制輸入,由于K控制編碼只有12種有效,所以需要一個對無效K碼的識別模塊。因此,編碼器分為5個模塊:5 b/6 b編碼、3 b/4 b編碼、特殊3 b/4 b編碼、無效K碼檢測、RD_controller,前4個部分在RD_controller的控制下進(jìn)行并行編碼,如圖2所示。圖中,kin為8 b控制輸入,data_in為8 b數(shù)據(jù)輸入。由于USB 3.0傳輸速度為5 Gb/s,編碼器clk為500MHz。


    5 b/6 b編碼模塊、3 b/4 b編碼模塊對輸入的8 b數(shù)據(jù)輸入分為低5位和高3位進(jìn)行并行編碼,輸出6 b和4 b數(shù)據(jù)構(gòu)成10 b編碼,而輸出disp_6b,disp_4b是6 b和4 b數(shù)據(jù)的不平衡度。
    由于在8 b/10 b轉(zhuǎn)換表中,8 b數(shù)據(jù)輸入高3位為“111”、低五位分別為“01011”,“01101”,“01110”,“10001”,“10010”,“10100”時,輸出的4 b是特殊情況,特殊3 b/4 b編碼模塊就是完成對這幾種特殊情況輸出,輸出sp_4b_RDN和sp_4b_RDP是特殊編碼的不
平衡度。
    當(dāng)8 b輸入是控制K碼時,控制碼只有12種是有效的,無效K碼檢測模塊就是檢測輸入的控制碼是否有效,如果無效輸出invalid_k=1,如果有效則輸出invalid_k=0。
     RD控制模塊除了將編碼后數(shù)據(jù)選擇輸出,主要是根據(jù)disp_6b,disp_4b,sp_4b_RDN和sp_4b_RDP來跟新當(dāng)前RD值,并反饋到下一輪編碼的RD輸入,保持差分信號傳輸?shù)闹绷髌胶狻?br />
3 8 b/10 b解碼器的設(shè)計
    8b/10b解碼器接收到的數(shù)據(jù)是10 b,根據(jù)8 b10 b解碼原理,把10 b數(shù)據(jù)分開為低6 b和高4 b,然后分別對低6位和高4位進(jìn)行解碼,劃分為2個模塊6 b/5 b解碼、4b/3b解碼。這些10位的數(shù)據(jù)分為特殊K字符和有效數(shù)據(jù)字符,特殊K字符是控制字符。解碼器結(jié)構(gòu)如圖3所示,分為4個模塊:6 b/5 b解碼,4 b/3 b解碼,無效碼檢測、不平衡度檢測。


    6b/5b解碼和4b/3b解碼模塊根據(jù)編碼表,選擇輸入10 b數(shù)據(jù)對應(yīng)輸出5 b或3 b。當(dāng)高4位為“1001”,“0110”,“1010”,“0101”時,數(shù)據(jù)字符和控制字符其對應(yīng)的輸出是不同的;并且高4位為“0001”,“1110”時也是特殊情況。輸入10 b數(shù)據(jù)中有1 024個數(shù)據(jù),有440個有效數(shù)據(jù)字符,24個控制字符,還有560個錯碼。當(dāng)輸入為錯碼時,無效碼檢測模塊會檢測出錯,輸出1個errdetect。不平衡度檢測模塊主要是根據(jù)前面模塊輸出的disp和當(dāng)前的disp(current-disp),判斷解碼是否發(fā)生錯誤。當(dāng)disp_4 b=0時,disp_6 b!=0,則current_disp應(yīng)該等于disp_6 b,如果不等則發(fā)生錯誤。即要保持不平衡度在“+2,0,-2”三個值中變化,超出則發(fā)生編碼錯誤。

4 仿真分析
    本文完成了8 b/10 b編解碼器的RTL設(shè)計,并在Modelsim上進(jìn)行功能仿真。編碼、解碼的仿真波形圖4,圖5所示。


    圖6是編解碼聯(lián)調(diào)的仿真波形,可以看出輸入的數(shù)據(jù)經(jīng)過編碼器編碼成10 b的數(shù)據(jù),然后在經(jīng)過解碼器所還原的數(shù)據(jù)跟之前輸入的數(shù)據(jù)一樣,說明編解碼功能正確,并且最高的工作頻率能夠達(dá)到500 MHz,滿足USB 3.0的數(shù)據(jù)傳輸速度。

5 結(jié)語
    本文采用的分塊編解碼方法,使用了少量的邏輯完成了8 b/10 b編解碼器設(shè)計。該編解碼器在USB 3.0數(shù)據(jù)傳輸中能夠得到很好的運用,滿足了USB 3.0高速數(shù)據(jù)傳輸?shù)囊蟆?/p>

本站聲明: 本文章由作者或相關(guān)機(jī)構(gòu)授權(quán)發(fā)布,目的在于傳遞更多信息,并不代表本站贊同其觀點,本站亦不保證或承諾內(nèi)容真實性等。需要轉(zhuǎn)載請聯(lián)系該專欄作者,如若文章內(nèi)容侵犯您的權(quán)益,請及時聯(lián)系本站刪除。
換一批
延伸閱讀

9月2日消息,不造車的華為或?qū)⒋呱龈蟮莫毥谦F公司,隨著阿維塔和賽力斯的入局,華為引望愈發(fā)顯得引人矚目。

關(guān)鍵字: 阿維塔 塞力斯 華為

加利福尼亞州圣克拉拉縣2024年8月30日 /美通社/ -- 數(shù)字化轉(zhuǎn)型技術(shù)解決方案公司Trianz今天宣布,該公司與Amazon Web Services (AWS)簽訂了...

關(guān)鍵字: AWS AN BSP 數(shù)字化

倫敦2024年8月29日 /美通社/ -- 英國汽車技術(shù)公司SODA.Auto推出其旗艦產(chǎn)品SODA V,這是全球首款涵蓋汽車工程師從創(chuàng)意到認(rèn)證的所有需求的工具,可用于創(chuàng)建軟件定義汽車。 SODA V工具的開發(fā)耗時1.5...

關(guān)鍵字: 汽車 人工智能 智能驅(qū)動 BSP

北京2024年8月28日 /美通社/ -- 越來越多用戶希望企業(yè)業(yè)務(wù)能7×24不間斷運行,同時企業(yè)卻面臨越來越多業(yè)務(wù)中斷的風(fēng)險,如企業(yè)系統(tǒng)復(fù)雜性的增加,頻繁的功能更新和發(fā)布等。如何確保業(yè)務(wù)連續(xù)性,提升韌性,成...

關(guān)鍵字: 亞馬遜 解密 控制平面 BSP

8月30日消息,據(jù)媒體報道,騰訊和網(wǎng)易近期正在縮減他們對日本游戲市場的投資。

關(guān)鍵字: 騰訊 編碼器 CPU

8月28日消息,今天上午,2024中國國際大數(shù)據(jù)產(chǎn)業(yè)博覽會開幕式在貴陽舉行,華為董事、質(zhì)量流程IT總裁陶景文發(fā)表了演講。

關(guān)鍵字: 華為 12nm EDA 半導(dǎo)體

8月28日消息,在2024中國國際大數(shù)據(jù)產(chǎn)業(yè)博覽會上,華為常務(wù)董事、華為云CEO張平安發(fā)表演講稱,數(shù)字世界的話語權(quán)最終是由生態(tài)的繁榮決定的。

關(guān)鍵字: 華為 12nm 手機(jī) 衛(wèi)星通信

要點: 有效應(yīng)對環(huán)境變化,經(jīng)營業(yè)績穩(wěn)中有升 落實提質(zhì)增效舉措,毛利潤率延續(xù)升勢 戰(zhàn)略布局成效顯著,戰(zhàn)新業(yè)務(wù)引領(lǐng)增長 以科技創(chuàng)新為引領(lǐng),提升企業(yè)核心競爭力 堅持高質(zhì)量發(fā)展策略,塑強(qiáng)核心競爭優(yōu)勢...

關(guān)鍵字: 通信 BSP 電信運營商 數(shù)字經(jīng)濟(jì)

北京2024年8月27日 /美通社/ -- 8月21日,由中央廣播電視總臺與中國電影電視技術(shù)學(xué)會聯(lián)合牽頭組建的NVI技術(shù)創(chuàng)新聯(lián)盟在BIRTV2024超高清全產(chǎn)業(yè)鏈發(fā)展研討會上宣布正式成立。 活動現(xiàn)場 NVI技術(shù)創(chuàng)新聯(lián)...

關(guān)鍵字: VI 傳輸協(xié)議 音頻 BSP

北京2024年8月27日 /美通社/ -- 在8月23日舉辦的2024年長三角生態(tài)綠色一體化發(fā)展示范區(qū)聯(lián)合招商會上,軟通動力信息技術(shù)(集團(tuán))股份有限公司(以下簡稱"軟通動力")與長三角投資(上海)有限...

關(guān)鍵字: BSP 信息技術(shù)
關(guān)閉
關(guān)閉