国产日韩欧美一区二区三区三州_亚洲少妇熟女av_久久久久亚洲av国产精品_波多野结衣网站一区二区_亚洲欧美色片在线91_国产亚洲精品精品国产优播av_日本一区二区三区波多野结衣 _久久国产av不卡

?

JESD204B接口協(xié)議中的8B/10B解碼器設(shè)計(jì)

2014-09-18 00:16:18姚亞峰歐陽(yáng)靖霍興華
電視技術(shù) 2014年19期
關(guān)鍵詞:碼字解碼器極性

陳 登,姚亞峰,歐陽(yáng)靖,霍興華

(中國(guó)地質(zhì)大學(xué)(武漢)機(jī)械與電子信息學(xué)院,湖北武漢430074)

JESD204B協(xié)議采用了主流的SerDes接口技術(shù),廣泛應(yīng)用于數(shù)據(jù)轉(zhuǎn)換器和邏輯器件內(nèi)部高速互連。根據(jù)JESD204B[4]的規(guī)定,SerDes接口采用 8B/10B 的編解碼方法來(lái)滿足高速傳輸?shù)囊?。協(xié)議還根據(jù)SerDes接口的特點(diǎn)對(duì)8B/10B解碼器的控制字檢測(cè)、錯(cuò)誤碼字檢測(cè)做出了一些規(guī)定。本文基于JESD204B協(xié)議規(guī)范,設(shè)計(jì)了一種完全符合該協(xié)議要求的8B/10B解碼電路。

8B/10B編碼思想最初是由IBM公司開發(fā),把8位并行數(shù)據(jù)轉(zhuǎn)化成串行傳輸?shù)?0位數(shù)據(jù)。這種編碼方式保證了1和0的相對(duì)平衡,避免了零點(diǎn)漂移,編碼擴(kuò)充的位數(shù)還有助于誤碼檢測(cè)、方便提供控制字符,更利于時(shí)鐘恢復(fù),在串行通信中能夠保證良好的傳輸性能。

本文設(shè)計(jì)的8B/10B解碼器,相較于經(jīng)典的IBM解碼器設(shè)計(jì)[1]減少了邏輯層數(shù),能夠獲得更高的工作頻率;相較于Actel公司提供的IP設(shè)計(jì)[2]簡(jiǎn)化了解碼表和極性錯(cuò)誤檢測(cè)電路,節(jié)省了更多的芯片面積。本設(shè)計(jì)具體在以下幾個(gè)方面進(jìn)行了改進(jìn):1)快速準(zhǔn)確的極性信息檢測(cè)和錯(cuò)誤檢測(cè);2)極性信息用于簡(jiǎn)化解碼表,并用邏輯方式加快解碼速度;3)分塊并行執(zhí)行的思路,提高了整體效率。該電路基于0.18 μm CMOS工藝進(jìn)行了綜合和驗(yàn)證,能夠完全達(dá)到協(xié)議要求的功能和指標(biāo),滿足實(shí)際應(yīng)用需求。

1 解碼器結(jié)構(gòu)

一般編碼電路對(duì)3B和5B分別進(jìn)行編碼,所以解碼時(shí)將得到的10B碼字也分為4B和6B兩部分分別進(jìn)行解碼。接收電路在解碼的同時(shí)還要根據(jù)協(xié)議要求對(duì)碼字進(jìn)行差錯(cuò)檢測(cè)和控制字檢測(cè)。由于串行數(shù)據(jù)的極性有很重要的作用,所以還要對(duì)收到數(shù)據(jù)進(jìn)行極性判斷、存儲(chǔ)新的極性和檢測(cè)出錯(cuò)誤的碼字等。

如圖1所示,解碼器由處理模塊和解碼模塊兩部分組成。所有的檢測(cè)部分(控制字檢測(cè)、極性檢測(cè)、錯(cuò)誤碼字檢測(cè)和錯(cuò)誤極性檢測(cè))統(tǒng)一劃歸到預(yù)處理模塊。所有解碼部分(6B/5B解碼器和4B/3B解碼器)劃歸到解碼模塊。預(yù)處理模塊將計(jì)算出來(lái)的極性信息和控制字信息提供給解碼模塊。

1.1 預(yù)處理部分

1.1.1 控制字檢測(cè)

圖1 解碼器組成框圖

SerDes接口協(xié)議的8B/10B編碼只使用了5種控制字(K.28.0,K.28.3,K.28.4,K.28.5 和 K.28.7)[3]。這些控制字的6B部分均為K.28(即110000或001111,本文中數(shù)字表示編碼對(duì)應(yīng):6B由高到低分別為abcdei;4B由高到低分別為fghj。下同。),且在數(shù)據(jù)字的6B部分不可能出現(xiàn)K.28,所以只需要檢測(cè)6B部分的cdei(本文中字母表示編碼對(duì)應(yīng):6B部分為abcdei對(duì)應(yīng)的信息為ABCDE;4B部分為fghj對(duì)應(yīng)的信息為FGH。)位是否為全0或者全1就可以判斷輸入的碼字是否為控制字??刂谱中畔⑦€要為接下來(lái)的4B/3B解碼器和錯(cuò)誤碼字檢測(cè)使用,通過(guò)邏輯表達(dá)式能夠很快地判斷??刂谱钟梢员磉_(dá)式K_bit=(c&d&e&i)|~(c|d|e|i)決定。

1.1.2 極性檢測(cè)

極性信息指的是一串編碼的1和0個(gè)數(shù)的差值,在編碼長(zhǎng)度固定的情況下,可以由1或0的個(gè)數(shù)來(lái)判斷其極性。對(duì)于偶數(shù)長(zhǎng)度的編碼,極性的可以分為正(RD+)、負(fù)(RD-)和平衡[5]。正極性可理解為編碼中1的個(gè)數(shù)多于0的個(gè)數(shù),負(fù)極性可理解為編碼中0的個(gè)數(shù)多于1的個(gè)數(shù),平衡可以理解為編碼中1和0的個(gè)數(shù)相同。

不同于將10B整體進(jìn)行極性檢測(cè)的方法,本設(shè)計(jì)將10B數(shù)據(jù)拆分成兩部分(6B和4B)分別計(jì)算其極性。這樣做的好處有:1)6B和4B可以同時(shí)計(jì)算極性,形成并行處理加快速度;2)分成兩部分在接下來(lái)的極性檢錯(cuò)模塊中能夠發(fā)現(xiàn)6B和4B間的極性錯(cuò)誤,檢測(cè)敏感度增強(qiáng);3)每一個(gè)子檢測(cè)部分所需要的資源更少,速度也相對(duì)于10B檢測(cè)更快。

同時(shí),為了能夠快速地檢測(cè)6B或4B的極性,每一個(gè)子檢測(cè)部分進(jìn)行了3方面處理:1)采用邏輯表達(dá)式的方法來(lái)檢測(cè)極性;2)只產(chǎn)生兩個(gè)判斷信號(hào),即極性正和極性負(fù);3)只針對(duì)正確的碼字做出極性判斷,使得邏輯更加簡(jiǎn)單。

極性信息在本設(shè)計(jì)中是一個(gè)至關(guān)重要的信息,需要又快又準(zhǔn)地檢測(cè)出來(lái)。所以,不同于通過(guò)累加各個(gè)編碼位來(lái)得到精確極性信息的方法,這里的檢測(cè)并不包含檢錯(cuò)功能,也沒(méi)有精確的游程輸出。極性檢測(cè)模塊只輸出4個(gè)關(guān)鍵信號(hào):6B極性為正(6B+)、6B極性為負(fù)(6B-)、4B極性為正(4B+)、4B極性為負(fù)(4B-)。

1.1.3 錯(cuò)誤碼字檢測(cè)

錯(cuò)誤碼字檢測(cè)僅需要檢測(cè)出不可能出現(xiàn)在編碼表里面的碼字,同樣分為4B和6B兩部分。

分析6B編碼表特性,可以將5B編碼成6B碼,分成4類:1)6B平衡的編碼,一共是20種,其中18種分別對(duì)應(yīng)5B部分的18個(gè)數(shù)據(jù),還有特殊的000111和111000對(duì)應(yīng)5B部分1個(gè)數(shù)據(jù);2)5B部分還有13個(gè)數(shù)據(jù),根據(jù)極性有兩種編碼,所以有26種6B編碼;3)特殊控制字K.28的6B編碼占用兩種情況001111和110000;4)余下的16種情況即為6B的錯(cuò)誤碼字部分,不可能出現(xiàn)在正確的編碼中。6B部分錯(cuò)誤碼字檢測(cè)所要做的就是找到這16種錯(cuò)誤碼字,如表1所示。參考IBM[1]設(shè)計(jì)一文的方法可以分為兩類,既考慮abcd位全為0或全為1的情況,也考慮abcd位僅有1個(gè)1或僅有1個(gè)0的情況。前者直接可以判斷該碼字為錯(cuò)誤碼字,后者再觀察ei位是否全為0或全為1,即可判斷碼字是否錯(cuò)誤。

表1 6B碼字錯(cuò)誤情況

4B部分錯(cuò)誤碼字的判斷不同于6B部分,由于4B部分一共只有16種可能,可以分為兩類:1)兩種錯(cuò)誤碼字0000和1111,這兩個(gè)碼字無(wú)論在控制字還是數(shù)據(jù)字前提下均為錯(cuò)誤碼字;2)余下的14種碼字需要分成控制字前提下和數(shù)據(jù)字前提下兩類討論。

前面提到SerDes接口的8B/10B控制字只有5種,而且完全由6B部分收到的編碼確定。所以4B部分僅負(fù)責(zé)檢測(cè)錯(cuò)誤,而不需要確定是否為控制字。在確認(rèn)是控制字的前提下有3種編碼是錯(cuò)誤碼字(即K.28.1,K.28.2和 K.28.6),具體情況如表 2 所示。如果是數(shù)據(jù)字對(duì)于這3種情況,則不受約束,不需要報(bào)錯(cuò)。

表2 4B碼字錯(cuò)誤情況

1.1.4 極性錯(cuò)誤檢測(cè)

極性錯(cuò)誤在8B/10B編碼中有很多種情況,可以由圖2狀態(tài)圖來(lái)判斷。其中A判斷分兩種情況:1)當(dāng)4B-或6B-時(shí)檢測(cè)出極性錯(cuò)誤;2)當(dāng)4B或6B為平衡時(shí)不報(bào)錯(cuò)。同理B判斷也分兩種情況:1)當(dāng)4B+或6B+時(shí)檢測(cè)出極性錯(cuò)誤;2)當(dāng)4B或6B為平衡時(shí)不報(bào)錯(cuò)。

圖2 極性錯(cuò)誤檢測(cè)狀態(tài)圖

可以發(fā)現(xiàn),這樣的判斷方法非常復(fù)雜,對(duì)一組編碼需要先對(duì)6B部分判斷,再對(duì)4B部分判斷,才能得出準(zhǔn)確的結(jié)果,這樣至少要2次狀態(tài)判斷和轉(zhuǎn)換。所以本設(shè)計(jì)利用了極性檢測(cè)模塊得到的4個(gè)信號(hào),分析了所有可能情況,列出了如表3所示的真值表來(lái)進(jìn)行極性錯(cuò)誤檢測(cè)和生成新極性。其中l(wèi)ast信號(hào)即存儲(chǔ)的極性,1代表正,0代表負(fù),復(fù)位時(shí)默認(rèn)置為0;New信號(hào)即表示新輸入編碼的極性情況,1代表正,0代表負(fù)。

表3 極性錯(cuò)誤檢測(cè)及新極性生成表

通過(guò)化簡(jiǎn)極性檢錯(cuò)邏輯得到以下邏輯式:

在last=0時(shí),err=(~RD_6B_pos& RD_4B_neg)|(RD_6B_pos& RD_4B_pos)|RD_6B_neg。

在last=1時(shí),err=RD_6B_pos|(~RD_6B_neg&RD_4B_pos)|(RD_6B_neg& RD_4B_neg)。

通過(guò)化簡(jiǎn)極性計(jì)算邏輯得到以下邏輯式:

在last=0時(shí),RD=(RD_6B_pos& ~RD_4B_neg)|RD_4B_pos。

在last=1時(shí),RD=(~RD_6B_neg& ~RD_4B_pos)|RD_4B_pos。

最后參考了文獻(xiàn)[6]中的有限狀態(tài)機(jī)方法,將last信息作為判斷條件,對(duì)極性錯(cuò)誤進(jìn)行檢測(cè)、對(duì)新極性進(jìn)行存儲(chǔ)。這樣的檢錯(cuò)、更新方法有以下優(yōu)勢(shì):1)節(jié)省了存儲(chǔ)器資源,綜合表明只需要2個(gè)觸發(fā)器就可以完成以上功能;2)邏輯判斷能夠并行進(jìn)行而不需要先對(duì)6B判斷再對(duì)4B判斷,縮短了時(shí)間;3)邏輯表達(dá)式簡(jiǎn)潔,充分利用了已有信號(hào),縮小了設(shè)計(jì)面積;4)極性檢錯(cuò)和極性計(jì)算并行進(jìn)行相互不依賴,減小了復(fù)雜度。

同時(shí),這樣的極性錯(cuò)誤檢測(cè)不同于Actel[2]解碼器設(shè)計(jì)采用8個(gè)信號(hào)共同來(lái)判斷極性錯(cuò)誤,而是選擇了之前極性檢測(cè)模塊計(jì)算出來(lái)的4個(gè)信號(hào)結(jié)合存儲(chǔ)器中的極性信息來(lái)判斷是否出錯(cuò),在面積上更有優(yōu)勢(shì)。

1.2 解碼器部分

解碼部分分為兩部分6B/5B和4B/3B,結(jié)構(gòu)圖如圖1所示。不同于Actel[2]文中所描述的CASE描述方法,也不同于IBM[1]中的純邏輯方法。本設(shè)計(jì)分別引入了6B和4B模塊的極性正信息,讀入的數(shù)據(jù)先根據(jù)極性正信息對(duì)碼字進(jìn)行反轉(zhuǎn),即通過(guò)異或邏輯,當(dāng)極性正信號(hào)為1時(shí)對(duì)相應(yīng)輸入的編碼進(jìn)行反轉(zhuǎn)。這樣,在解碼表只需要涉及極性為負(fù)和平衡的情況。

對(duì)于6B解碼表由原來(lái)的48種情況減少為34種(如表4所示);對(duì)于4B解碼表,由于其解碼需考慮K Bit的情況,由原來(lái)的28種情況減少為16種(如表5所示)。這里需要強(qiáng)調(diào)的是4B解碼部分,不同于6B解碼,4B解碼還需要控制字信息。這是因?yàn)閷?duì)于控制字K.28來(lái)說(shuō),為了防止整個(gè)10B編碼出現(xiàn)連續(xù)5個(gè)0或1,就要根據(jù)情況選擇不同的3B編碼。所以在解碼過(guò)程中要考慮到這一點(diǎn),增加了K位作為解碼條件之一,K位即為控制字位,由控制字檢測(cè)電路產(chǎn)生。最后通過(guò)化簡(jiǎn)的真值表進(jìn)行邏輯化簡(jiǎn),得到表達(dá)式用以解碼。

這樣的設(shè)計(jì)優(yōu)勢(shì)有以下幾點(diǎn):1)通過(guò)極性信號(hào)對(duì)編碼反轉(zhuǎn)簡(jiǎn)化了解碼表;2)由于有專門的錯(cuò)誤碼字檢測(cè),所以碼表中去除了錯(cuò)誤碼字,進(jìn)一步縮小解碼表;3)解碼只需要極性信息,所以在解碼同時(shí)預(yù)處理模塊也在對(duì)輸入碼字檢錯(cuò),二者并行執(zhí)行;4)上文提到的快速的極性信息計(jì)算,保證了解碼模塊第一時(shí)間得到正確的極性信息,縮短了解碼所需時(shí)間;5)對(duì)更小的碼表進(jìn)行邏輯化簡(jiǎn),這樣得到的表達(dá)式邏輯層次少,運(yùn)行速度快,并且面積較小。

表4 6B解碼表

表5 4B解碼表

其中4B部分的解碼邏輯表達(dá)式如下,可以發(fā)現(xiàn)邏輯層數(shù)不超過(guò)3層:

1)F=(j& ~g)|f|(K&j);

2)G=(~j& ~h&f)|(~K&j& ~f)|(h&g)or(j&h);

3)H=(g&h)|(~j& ~g)|(~h& ~g& ~f)|(K& j& ~h)。

2 仿真及結(jié)果

本文設(shè)計(jì)的解碼器,用Verilog語(yǔ)言進(jìn)行了實(shí)現(xiàn),并用ModelSim進(jìn)行仿真,用Synopsys Design Compiler進(jìn)行了綜合。

圖3所示為解碼器RTL代碼的ModelSim仿真結(jié)果。其中num_5B_in和num_3B_in為輸入理想編碼器的待編碼信息,num_5B_out和num_3B_out為解碼器輸出,K_bit為解碼器控制字輸出信號(hào),RD_err為解碼器極性錯(cuò)誤輸出信號(hào),NIT_err為解碼器錯(cuò)誤碼字輸出信號(hào)。從輸入到輸出只有一個(gè)周期的時(shí)鐘延時(shí),整個(gè)解碼過(guò)程在一個(gè)時(shí)鐘周期內(nèi)完成。對(duì)比編碼前和解碼后數(shù)據(jù)發(fā)現(xiàn)是完全一致的,表明解碼電路的功能是完全正確的。

圖3 解碼器仿真圖(截圖)

通過(guò)Synopsys Design Compiler對(duì)本設(shè)計(jì)和文獻(xiàn)提供的設(shè)計(jì)分別進(jìn)行了綜合,采用的是SMIC180工藝庫(kù),使用了相同的約束條件和導(dǎo)線模式。表6所示的是綜合結(jié)果,主要比較了三項(xiàng)指標(biāo)。相較于Actel方法,新設(shè)計(jì)在頻率上有11%的減少,但是在面積上,無(wú)論是單元面積還是總面積都減少了近50%。相較于IBM方法,新設(shè)計(jì)在頻率上有近25%的提升,在單元面積上幾乎相同,在總面積上減少了7%,表明本設(shè)計(jì)有一定優(yōu)越性。

表6 綜合具體結(jié)果比較

3 結(jié)論

通過(guò)分析JESD204B協(xié)議中編碼規(guī)則和編碼數(shù)據(jù)內(nèi)在相關(guān)性的基礎(chǔ)上,首先構(gòu)建了快速的極性信息檢測(cè)和極性錯(cuò)誤檢測(cè);再在解碼部分使用了極性信息來(lái)對(duì)數(shù)據(jù)進(jìn)行預(yù)處理使得解碼表簡(jiǎn)化,并根據(jù)簡(jiǎn)化的解碼表采用邏輯關(guān)系進(jìn)行解碼。本設(shè)計(jì)與已有設(shè)計(jì)相比更加實(shí)用,在工作頻率和面積上有一定優(yōu)勢(shì),符合數(shù)據(jù)轉(zhuǎn)換器和邏輯器件內(nèi)部高速互連的技術(shù)要求。

:

[1] WIDMER A X.A DC-balanced,partitioned-block,8b/10b transmission code[J].IBM Journal of research and development,1983(27):440-451.

[2] ACTEL.Implementing an 8b/10b encoder/decoder for gigabit ethernet[J].Application Note,1998(10):1-20.

[3] IEEE802.3,Standard for information technology.Part 3:8B/10B transmission code[S].2012.

[4] JESD204B,Serial interface for data converters[S].2008.

[5]秦蒙,王輝,秋云海,等.光纖通信中8B/10B編碼器的設(shè)計(jì)與實(shí)現(xiàn)[J].電視技術(shù),2014,38(1):50-54.

[6] ABDULLAH A K.Development of FSM based running disparity controlled 8b-10b encoder-decoder[J].HCTL Open Int.J.of Technology Innovations and Research,2103(2):11-24.

猜你喜歡
碼字解碼器極性
科學(xué)解碼器(一)
科學(xué)解碼器(二)
科學(xué)解碼器(三)
線圣AudioQuest 發(fā)布第三代Dragonfly Cobalt藍(lán)蜻蜓解碼器
跟蹤導(dǎo)練(四)
放 下
數(shù)據(jù)鏈系統(tǒng)中軟擴(kuò)頻碼的優(yōu)選及應(yīng)用
放下
表用無(wú)極性RS485應(yīng)用技術(shù)探討
一種新型的雙極性脈沖電流源
涿州市| 珠海市| 遵义市| 综艺| 延长县| 忻城县| 葵青区| 梁河县| 二手房| 霍州市| 开原市| 阳信县| 平利县| 思茅市| 炉霍县| 隆子县| 谢通门县| 中卫市| 醴陵市| 太和县| 长岛县| 洛宁县| 阿拉善右旗| 云梦县| 乌兰浩特市| 张家口市| 南充市| 临安市| 拉萨市| 尚志市| 万源市| 会宁县| 沙洋县| 长武县| 阳谷县| 临湘市| 惠水县| 遵义县| 武陟县| 泽州县| 苗栗市|