專利名稱:一種格雷碼編解碼并行電路的制作方法
技術(shù)領(lǐng)域:
本發(fā)明涉及一種編解碼電路,特別是涉及一種格雷碼編解碼并行電路。
背景技術(shù):
在數(shù)字系統(tǒng)中只能識(shí)別O和1,各種數(shù)據(jù)要轉(zhuǎn)換為二進(jìn)制代碼才能進(jìn)行處理。格雷碼(Gray碼)又叫循環(huán)二進(jìn)制碼或反射二進(jìn)制碼,它是一種無權(quán)碼,采用絕對(duì)編碼方式。典型格雷碼是一種具有反射特性和循環(huán)特性的單步自補(bǔ)碼,它的循環(huán)、單步特性消除了隨機(jī)取數(shù)時(shí)出現(xiàn)重大誤差的可能,它的反射、自補(bǔ)特性使得求反非常方便。格雷碼屬于可靠性編碼,是一種錯(cuò)誤最小化的編碼方式。自然二進(jìn)制碼可以直接由數(shù)/模轉(zhuǎn)換器轉(zhuǎn)換成模擬信號(hào)。但在某些情況下,例如從十進(jìn)制的3轉(zhuǎn)換成4時(shí)二進(jìn)制碼的每一位都要變,使數(shù)字電路產(chǎn)生很大的尖峰電流脈沖。格雷碼則沒有這一缺點(diǎn),它是一種數(shù)字排序系統(tǒng),其中的所有相鄰整數(shù)在它們的數(shù)字表示 中只有一個(gè)數(shù)字不同。因此它在任意兩個(gè)相鄰的數(shù)之間轉(zhuǎn)換時(shí),只有一個(gè)數(shù)位發(fā)生變化,大大地減少了由一個(gè)狀態(tài)到下一個(gè)狀態(tài)時(shí)邏輯的混淆。另外由于最大數(shù)與最小數(shù)之間也僅一個(gè)數(shù)不同,故通常又叫格雷反射碼或循環(huán)碼?;谠撎匦?,格雷碼目前大量應(yīng)用于數(shù)模轉(zhuǎn)換以及異步FIFO等電路中。傳統(tǒng)的格雷碼解碼采用查表的方式來實(shí)現(xiàn)的,隨著格雷碼位寬的增加,其所帶來的資源開銷越來越大,嚴(yán)重影響到芯片設(shè)計(jì)的面積及功耗。
發(fā)明內(nèi)容
本發(fā)明要解決的技術(shù)問題是提供一種格雷碼編解碼并行電路,在控制信號(hào)的控制下能實(shí)現(xiàn)格雷碼編碼或解碼操作,有效地降低芯片的面積和功耗。為解決上述技術(shù)問題本發(fā)明的格雷碼編解碼并行電路,包括N個(gè)二選一選擇器和N+1個(gè)異或運(yùn)算單元,一個(gè)二選一選擇器和一個(gè)異或運(yùn)算單元組成一個(gè)數(shù)據(jù)選擇及運(yùn)算的基本單元;二選一選擇器受控制信號(hào)控制為異或運(yùn)算單元選擇輸入數(shù)據(jù),第M個(gè)二選一選擇器接收外部數(shù)據(jù)和第M+1個(gè)異或運(yùn)算單元的輸出數(shù)據(jù),二選一選擇器由控制信號(hào)控制選擇數(shù)據(jù)并輸出給其對(duì)應(yīng)的異或運(yùn)算單元,M^N;第N+1 —個(gè)異或運(yùn)算單元接收外部數(shù)據(jù),進(jìn)行異或運(yùn)算并輸出異或運(yùn)算結(jié)果;其它異或運(yùn)算單元接收外部數(shù)據(jù)和其各自對(duì)應(yīng)的二選一選擇器的輸出數(shù)據(jù),進(jìn)行異或運(yùn)算并輸出異或運(yùn)算結(jié)果。所述電路輸入數(shù)據(jù)和輸出數(shù)據(jù)的位寬為S比特,數(shù)據(jù)位寬S與二選一選擇器個(gè)數(shù)N的關(guān)系為S = N+2。在傳統(tǒng)的電路中,發(fā)送數(shù)據(jù)通路需要一個(gè)格雷碼編碼電路,接收數(shù)據(jù)通路需要一個(gè)格雷碼解碼電路;本發(fā)明的格雷碼編解碼并行電路在控制信號(hào)的控制下,既能進(jìn)行格雷碼編碼運(yùn)算,又能進(jìn)行格雷碼解碼運(yùn)算,應(yīng)用于半雙工電路時(shí),能替代發(fā)送數(shù)據(jù)通路的格雷碼編碼電路和接收數(shù)據(jù)通路的格雷碼解碼電路,能節(jié)省芯片資源,降低芯片的面積和功耗。
圖I是本發(fā)明的一實(shí)施例結(jié)構(gòu)示意圖附圖標(biāo)記說明XORO是第一個(gè)異或運(yùn)算單元XORl是第二個(gè)異或運(yùn)算單元X0R2是第三個(gè)異或運(yùn)算單元X0R3是第四個(gè)異或運(yùn)算單元X0R4是第五個(gè)異或運(yùn)算單元X0R5是第六個(gè)異或運(yùn)算單元X0R6是第七個(gè)異或運(yùn)算單元MUXO是第一個(gè)二選一選擇器
MUXl是第二個(gè)二選一選擇器MUX2是第三個(gè)二選一選擇器MUX3是第四個(gè)二選一選擇器MUX4是第五個(gè)二選一選擇器MUX5是第六個(gè)二選一選擇器。
具體實(shí)施例方式如圖I所示,本發(fā)明的一實(shí)施例,包括七個(gè)異或運(yùn)算單元,編號(hào)為XORO至X0R6,六個(gè)二選一選擇器,編號(hào)為MUXO至MUX5。七個(gè)異或運(yùn)算單元接收外部輸入的八位數(shù)據(jù),同時(shí)進(jìn)行異或運(yùn)算并產(chǎn)生運(yùn)算結(jié)果。工作時(shí),將外部輸入的數(shù)據(jù)din[7:0]分別按位輸入到不同的異或XOR單元。其中,din [O]表示din [7:0]中的第I位數(shù)據(jù),din [I]表示din [7:0]中的第2位數(shù)據(jù),din [2]表示din [7:0]中的第3位數(shù)據(jù),din [3]表示din [7:0]中的第4位數(shù)據(jù),din [4]表示din [7:0]中的第5位數(shù)據(jù),din [5]表示din [7:0]中的第6位數(shù)據(jù),din [6]表示din[7:0]中的第7位數(shù)據(jù),din[7]表示din[7:0]中的第8位數(shù)據(jù)。通過與其各自對(duì)應(yīng)的二選一選擇器所輸出的數(shù)據(jù)進(jìn)行異或運(yùn)算,產(chǎn)生出當(dāng)前這一位的輸出結(jié)果,并通過dout [7:0]輸出。其中,dout [O]表示 dout [7:0]中的第 I 位數(shù)據(jù),dout [I]表示 dout [7:0]中的第2位數(shù)據(jù),dout [2]表示dout [7:0]中的第3位數(shù)據(jù),dout [3]表示dout [7:0]中的第4位數(shù)據(jù),dout [4]表示dout [7:0]中的第5位數(shù)據(jù),dout [5]表示dout [7:0]中的第6位數(shù)據(jù),dout [6]表示dout [7:0]中的第7位數(shù)據(jù),dout [7]表示dout [7:0]中的第8位數(shù)據(jù)。當(dāng)控制信號(hào)(encode_decode)為真時(shí),電路進(jìn)行格雷碼編碼運(yùn)算,此時(shí),第一個(gè)二選一選擇器MUXO選擇把外部輸入數(shù)據(jù)的第二位din[l]輸出給第一個(gè)異或運(yùn)算單元X0R0,第二個(gè)二選一選擇器MUXl選擇把外部輸入數(shù)據(jù)的第三位din[2]輸出給第二個(gè)異或運(yùn)算單元XORl,第三個(gè)二選一選擇器MUX2選擇把外部輸入數(shù)據(jù)的第四位din[3]輸出給第三個(gè)異或運(yùn)算單元X0R2,第四個(gè)二選一選擇器MUX3選擇把外部輸入數(shù)據(jù)的第五位din [4]輸出給第四個(gè)異或運(yùn)算單元X0R3,第五個(gè)二選一選擇器MUX4選擇把外部輸入數(shù)據(jù)的第六位din [5]輸出給第五個(gè)異或運(yùn)算單元X0R4,第六個(gè)二選一選擇器MUX5選擇把外部輸入數(shù)據(jù)的第七位din[6]輸出給第六個(gè)異或運(yùn)算單元X0R5 ;當(dāng)控制信號(hào)(enCOde_deCOde)為假時(shí),電路進(jìn)行格雷碼解碼運(yùn)算,此時(shí),第一個(gè)二選一選擇器MUXO選擇把第二個(gè)異或運(yùn)算單元XORl輸出數(shù)據(jù)輸出給第一個(gè)異或運(yùn)算單元X0R0,第二個(gè)二選一選擇器MUXl選擇把第三個(gè)異或運(yùn)算單元X0R2輸出數(shù)據(jù)輸出給第二個(gè)異或運(yùn)算單元XORl,第三個(gè)二選一選擇器MUX2選擇把第四個(gè)異或運(yùn)算單元X0R3輸出數(shù)據(jù)輸出給第三個(gè)異或運(yùn)算單元X0R2,第四個(gè)二選一選擇器MUX3選擇把第五個(gè)異或運(yùn)算單元X0R4輸出數(shù)據(jù)輸出給第四個(gè)異或運(yùn)算單元X0R3,第五個(gè)二選一選擇器MUX4選擇把第六個(gè)異或運(yùn)算單元X0R5輸出數(shù)據(jù)輸出給第五個(gè)異或運(yùn)算單元X0R4,第六個(gè)二選一選擇器MUX5選擇把第七個(gè)異或運(yùn)算單元X0R6輸出數(shù)據(jù)輸出給第六個(gè)異或運(yùn)算單元X0R5。以上通過具體實(shí)施方式
和實(shí)施例對(duì)本發(fā)明進(jìn)行了詳細(xì)的說明,但這些并非構(gòu)成對(duì) 本發(fā)明的限制。在不脫離本發(fā)明原理的情況下,本領(lǐng)域的技術(shù)人員還可做出許多變形和改進(jìn),這些也應(yīng)視為本發(fā)明的保護(hù)范圍。
權(quán)利要求
1.一種格雷碼編解碼并行電路,包括 N個(gè)二選一選擇器和N+1個(gè)異或運(yùn)算單元,一個(gè)二選一選擇器和一個(gè)異或運(yùn)算單元組成一個(gè)數(shù) 據(jù)選擇及運(yùn)算的基本單元; 二選一選擇器受控制信號(hào)控制為異或運(yùn)算單元選擇輸入數(shù)據(jù),第M個(gè)二選一選擇器接收外部數(shù)據(jù)和第M+1個(gè)異或運(yùn)算單元的輸出數(shù)據(jù),二選一選擇器由控制信號(hào)控制選擇數(shù)據(jù)并輸出給其對(duì)應(yīng)的異或運(yùn)算單元,M^N; 第N+1個(gè)異或運(yùn)算單元接收外部數(shù)據(jù),進(jìn)行異或運(yùn)算并輸出異或運(yùn)算結(jié)果; 其它異或運(yùn)算單元接收外部數(shù)據(jù)和其各自對(duì)應(yīng)的二選一選擇器的輸出數(shù)據(jù),進(jìn)行異或運(yùn)算并輸出異或運(yùn)算結(jié)果。
2.如權(quán)利要求I所述的并行電路,其特征是輸入數(shù)據(jù)和輸出數(shù)據(jù)的位寬為S比特,數(shù)據(jù)位寬S與二選一選擇器個(gè)數(shù)N的關(guān)系為S = N+2。
全文摘要
本發(fā)明公開了一種格雷碼編解碼并行電路,包括N個(gè)二選一選擇器和N+1個(gè)異或運(yùn)算單元,一個(gè)二選一選擇器和一個(gè)異或運(yùn)算單元組成一個(gè)數(shù)據(jù)選擇及運(yùn)算的基本單元;二選一選擇器受控制信號(hào)控制為異或運(yùn)算單元選擇輸入數(shù)據(jù),第M個(gè)二選一選擇器接收外部數(shù)據(jù)和第M+1個(gè)異或運(yùn)算單元的輸出數(shù)據(jù),二選一選擇器由控制信號(hào)控制選擇數(shù)據(jù)并輸出給其對(duì)應(yīng)的異或運(yùn)算單元,M≤N;第N+1個(gè)異或運(yùn)算單元接收外部數(shù)據(jù),進(jìn)行異或運(yùn)算并輸出異或運(yùn)算結(jié)果;其它異或運(yùn)算單元接收外部數(shù)據(jù)和其各自對(duì)應(yīng)的二選一選擇器的輸出數(shù)據(jù),輸出異或運(yùn)算結(jié)果。本發(fā)明格雷碼編解碼并行電路,應(yīng)用于半雙工電路能實(shí)現(xiàn)格雷碼編碼功能或解碼功能,能有效地降低芯片的面積和功耗。
文檔編號(hào)H03M13/15GK102904584SQ20111021112
公開日2013年1月30日 申請(qǐng)日期2011年7月26日 優(yōu)先權(quán)日2011年7月26日
發(fā)明者左耀華 申請(qǐng)人:上海華虹集成電路有限責(zé)任公司