專利名稱:一種實現(xiàn)位抽取的并行設計電路的制作方法
技術領域:
本發(fā)明涉及USB接口設計電路,尤其涉及一種實現(xiàn)位抽取的并行設計電路。
背景技術:
隨著微電子技術的快速發(fā)展,USB2. 0接口的設備已經(jīng)大量應用于日常生活的電子產(chǎn)品中。USB是一種串行總線,數(shù)據(jù)逐位依次傳送。USB系統(tǒng)中數(shù)據(jù)傳輸采用反向非歸零 (NRZI,Non Return to Zero Invert)編碼方式,這種編碼方式既能保證數(shù)據(jù)傳送的完整性, 又不需要獨立的時鐘信號和數(shù)據(jù)一起發(fā)送。當遇到O信號時NRZI編碼數(shù)據(jù)流發(fā)生跳變;當遇到1信號時保持不變。數(shù)據(jù)流中的跳變使解碼器可以與收到的數(shù)據(jù)保持同步,因而不必提供獨立的時鐘信號。但一長串的連續(xù)1將會導致無電平跳變,從而引起接收端最終丟失同步信號。解決的辦法是采用位填充技術,即在連續(xù)傳輸六個1的情況下填充一個0,使得 NRZI編碼數(shù)據(jù)流中發(fā)生跳變,這就確保接收器至少可以在每七個的時間間隔內(nèi)從數(shù)據(jù)流中會檢測到一次跳變,從而使接收器和傳送的數(shù)據(jù)保持同步。UTMI發(fā)送端負責在NRZI編碼前的數(shù)據(jù)流中插入一個0填充位。UTMI接收端須在NRZI解碼后的數(shù)據(jù)中,當出現(xiàn)六個連續(xù)1 后,把其后的一個0給抽取出來并丟棄,實現(xiàn)位抽取操作。如果留個連續(xù)的1后,跟隨的不是0而是1,則產(chǎn)生出錯信號。
發(fā)明內(nèi)容
本發(fā)明目的提供一種實現(xiàn)位抽取的并行設計電路,采用位寬為8比特,時鐘為 60MHz的設計電路實現(xiàn)串行處理位抽取操作,于普通應用中的串行設計電路相比,能大大地降低電路的功耗。一種實現(xiàn)位抽取的并行設計電路,包含延遲單元、重組單元、判斷單元、抽取單元以及累加單元。延遲單元,用于對輸入數(shù)據(jù)進行時鐘周期的延遲;重組單元,用于對經(jīng)時鐘周期延遲的數(shù)據(jù)進行重組并輸出;判斷單元,用于對重組單元輸出的數(shù)據(jù)進行判斷,哪些需要被抽取,并輸出判斷結(jié)果到抽取單元;抽取單元,用于進行位抽取操作,并把當前抽取的位的個數(shù)輸出到累加單元,把位抽取后的結(jié)果作為整個電路的運行結(jié)果輸出;累加單元,用于對被抽取的位的個數(shù)進行累加,并將結(jié)果輸出到重組單元輸入端;輸入端輸入數(shù)據(jù)的位寬為8比特,輸出數(shù)據(jù)的位寬為8比特,工作時鐘為60MH,延遲單元產(chǎn)生四個延遲后的數(shù)據(jù),其中din是沒做任何延遲的數(shù)據(jù),din_dl是延遲一個時鐘周期后的數(shù)據(jù),din_d2是延遲兩個時鐘周期后的數(shù)據(jù),din_d3是延遲三個時鐘周期后的數(shù)據(jù)。延遲單元產(chǎn)生的四個輸出數(shù)據(jù)都集中輸入到重組單元,重組輸出判斷對象和參照對象。
判斷對象和參照對象的設定方法為
1)當已被抽取的0的個數(shù)為0時,判斷對象為{din_dl[l:0],din_d2[7:0]},參照對象為 din_d3[7:2];2)當已被抽取的0的個數(shù)為1時,判斷對象為{din_dl[2:0],din_d2[7:l]},參照對象為{din_d2
, din_d3[7:3]};3)當已被抽取的0的個數(shù)為2時,判斷對象為{din_dl[3:0],din_d2[7:2]},參照對象為{din_d2[l:0], din_d3[7:4]};4)當已被抽取的0的個數(shù)為3時,判斷對象為{din_dU4:0],din_d2[7:3]},參照對象為{din_d2[2:0], din_d3[7:5]};5)當已被抽取的0的個數(shù)為4時,判斷對象為{din_dl[5:0],din_d2[7:4]},參照對象為{din_d2[3:0], din_d3[7:6]};6)當已被抽取的0的個數(shù)為5時,判斷對象為{din_dU6:0],din_d2[7:5]},參照對象為{din_d2[4:0], din_d3[7]};7)當已被抽取的0的個數(shù)為6時,判斷對象為{din_dl[7:0],din_d2[7:6]},參照對象為 din_d2[5:0];8)當已被抽取的0的個數(shù)為7時,判斷對象為{dinW],din_dl[7:0],din_ d2 [7]},參照對象為 din_d2[6:l];9)當已被抽取的0的個數(shù)為8時,情況與當已被抽取的0的個數(shù)為0時類同。當已被抽取的0的個數(shù)為9時,情況與當已被抽取的0的個數(shù)為1時類似,依此類推。其中din[2:0]是當前這個時鐘周期輸入數(shù)據(jù)的第0位到第2位,din_dl[7:0]是 din[2:0]的前一個時鐘周期的8比特數(shù)據(jù),din_d2[7:0]是din_dl[7:0]的前一個時鐘周期的8比特數(shù)據(jù),din_d3[7:2]是din_d2[7:0]的前一個時鐘周期的6比特數(shù)據(jù)。重組單元輸出的參照對象直接輸入判斷單元,輸出的判斷對象分別連接到判斷單元和抽取單元的輸入端,判斷單元根據(jù)位抽取的數(shù)量和對象的查找方法來判斷判斷對象中哪些需要被抽取,并把判斷結(jié)果輸出到抽取單元。位抽取的數(shù)量和對象的查找方法為(其中refer_obj為參考對象,judge_obj為判斷對象)1)當6位參照對象refer_obj[5:0]的值為6’bll_llll時,如果判斷對象judge_ obj [6:1]的值為6,bll_llll時,抽取兩位judge_obj
和judge_obj [7],如果判斷對象 judge_obj[7:l]的值為 V blll_1110 時,抽取兩位 judge_obj
和 judge_obj [8],否則, 只抽取一位 judge_ob j
;2)當6位參照對象refer_obj[5:0]的值為6’bll_1110時,如果判斷對象judge_ obj
的值為 1,131,且如(^6_01^[7:2]的值為 6,bll_llll 時,抽取兩位 judge_obj[l] 和judge_obj[8],如果判斷對象judge_ob j
的值為1,bl,且judge_ob j [7 2]的值不為 6,bll_llll 時,抽取一位 judge_obj[l];判斷對象 judge_obj
的值為 1,b0,且 judge_ obj [7:2]的值為6’ bll_llll時,抽取一位judge_obj[8],否則,不抽取數(shù)據(jù);3)當6位參照對象refer_obj [5:1]的值為5’ bl_1110時,如果判斷對象judge_ obj [1:0]的值為2,bll時,抽取一位judge_obj[2],否則,不抽取數(shù)據(jù);4)當6位參照對象refer_obj[5:2]的值為4,blllO時,如果判斷對象judge_ obj [2:0]的值為3’ bill時,抽取一位judge_obj[3],否則,不抽取數(shù)據(jù);5)當6位參照對象refer_obj[5:3]的值為3’ bllO時,如果判斷對象judge_obj [3:0]的值為4’ bllll時,抽取一位judge_obK4],否則,不抽取數(shù)據(jù);6)當6位參照對象refer_obj[5:4]的值為2’ blO時,如果判斷對象judge_ obj [4:0]的值為5’ bl_llll時,抽取一位judge_obj[5],否則,不抽取數(shù)據(jù);7)當6位參照對象refer_obj [5]的值為l,b0時,如果判斷對象judge_obj [5:0] 的值為6’ bll_llll時,抽取一位judge_obK6],否則,不抽取數(shù)據(jù)。抽取單元進行位抽取操作,把當前被抽取的位的個數(shù)輸出給累加單元,把位抽取后的結(jié)果作為整個電路的運行結(jié)果輸出。
圖1位抽取操作示意2判斷對象和參考對象的設定意義3本發(fā)明提出的位抽取的并行設計電路結(jié)構(gòu)圖
具體實施方案以下結(jié)合各附圖對本發(fā)明提出的實現(xiàn)位抽取的并行設計電路進行詳細的描述。如附圖1中所示,第一個波形表示經(jīng)NRZI處理后的數(shù)據(jù),第二個波形表示位抽取處理后的數(shù)據(jù)??梢钥吹皆跀?shù)據(jù)流中第7個和第8個1之間的0 (如圖1中箭頭所示位置) 被選中為需抽取的位,抽取操作完成后,被抽取位后的數(shù)據(jù)串與被抽取位前的數(shù)據(jù)串連接在一起,數(shù)據(jù)少一比特,如圖1中第二個波形所示。圖2中陰影部分根據(jù)本發(fā)明內(nèi)容設定的 10比特數(shù)據(jù)的判斷對象,帶斜線陰影的數(shù)據(jù)部分是6比特數(shù)據(jù)的參照對象。以圖1中所示的數(shù)據(jù)串為例進行詳細的說明,有助于理解本發(fā)明的技術解決方案及所產(chǎn)生的有益效果。經(jīng)NRZI處理后的數(shù)據(jù)序列為25 ‘blllOOllllOOlllllOllllllOl, 當已被抽取的0的個數(shù)為0時,根據(jù)本發(fā)明提出的判斷對象和參照對象的設定方法中當已被抽取的0的個數(shù)為0時,判斷對象為{din_dl[l:0], din_d2[7:0]},參照對象為din_ d3[7:2]可知,參照對象 refer_obj[5:0]是 6’ bllllOl,判斷對象 judge_obj [9:0]為 10’ bOOlllllOll。根據(jù)本發(fā)明提出的位抽取的數(shù)量和對象的查找方法,即當6位參照對象 refer_obj[5:l]的值為5’bl_1110時,如果判斷對象judge_obj [1 0]的值為2’bll時,抽取一位judge_obj [2],否則,不抽取數(shù)據(jù),抽取一位judge_obj [2],抽取操作完成后,數(shù)據(jù)序列如圖1第二個波形所示,抽取單元輸出的結(jié)果為8’ b0111_llll。
權(quán)利要求
1.一種實現(xiàn)位抽取的并行設計電路,其特征在于該電路包含延遲單元、重組單元、判斷單元、抽取單元以及累加單元。
2.如權(quán)利要求1所述的一種實現(xiàn)位抽取的并行設計電路,其特征在于所述延遲單元對輸入端數(shù)據(jù)進行延遲。
3.如權(quán)利要求1所述的一種實現(xiàn)位抽取的并行設計電路,其特征在于所述重組單元設定并輸出參照對象和判斷對象。
4.如權(quán)利要求1或3所述的一種實現(xiàn)位抽取的并行設計電路,其特征在于所述重組單元采用以下模式設定參照對象和判斷對象1)當已被抽取的0的個數(shù)為0時,判斷對象為{din_dl[l:0],din_d2[7:0]},參照對象為 din_d3[7:2];2)當已被抽取的0的個數(shù)為1時,判斷對象為{din_dl[2:0],din_d2[7:l]},參照對象為{din_d2
, din_d3[7:3]};3)當已被抽取的0的個數(shù)為2時,判斷對象為{din_dl[3:0],din_d2[7:2]},參照對象為{din_d2[l:0], din_d3[7:4]};4)當已被抽取的0的個數(shù)為3時,判斷對象為{din_dU4:0],din_d2[7:3]},參照對象為{din_d2[2:0], din_d3[7:5]};5)當已被抽取的0的個數(shù)為4時,判斷對象為{din_dl[5:0],din_d2[7:4]},參照對象為{din_d2[3:0], din_d3[7:6]};6)當已被抽取的0的個數(shù)為5時,判斷對象為{din_dU6:0],din_d2[7:5]},參照對象為{din_d2[4:0], din_d3[7]};7)當已被抽取的0的個數(shù)為6時,判斷對象為{din_dl[7:0],din_d2[7:6]},參照對象為 din_d2[5:0];8)當已被抽取的0的個數(shù)為7時,判斷對象為{din
,din_dl[7:0],din_d2[7]},# 照對象為din_d2[6:l];9)當已被抽取的0的個數(shù)為8時,情況與當已被抽取的0的個數(shù)為0時類同。
5.如權(quán)利要求1所述的一種實現(xiàn)位抽取的并行設計電路,其特征在于所述重組單元輸出的參照對象直接輸入判斷單元,輸出的判斷對象分別連接到判斷單元和抽取單元的輸入端。
6.如權(quán)利要求1所述的一種實現(xiàn)位抽取的并行設計電路,其特征在于所述判斷單元判斷位抽取的數(shù)量和查找被抽取的對象,并把判斷結(jié)果輸出到抽取單元。
7.如權(quán)利要求1或6所述的一種實現(xiàn)位抽取的并行設計電路,其特征在于所述判斷單元進行位抽取的數(shù)量和對象的查找方法為1)當6位參照對象refer_obj[5:0]的值為6’bll_llll時,如果判斷對象judge_ obj [6:1]的值為6,bll_llll時,抽取兩位judge_obj
和judge_obj [7],如果判斷對象 judge_obj[7:l]的值為 7,blll_1110 時,抽取兩位 judge_obj
和 judge_obj [8],否則, 只抽取一位 judge_ob j
;2)當6位參照對象refer_obj[5:0]的值為6’bll_1110時,如果判斷對象judge_ obj
的值為 1,131,且如(^6_01^[7:2]的值為 6,bll_llll 時,抽取兩位 judge_obj [1] 和judge_obj[8],如果判斷對象judge_ob j
的值為1,bl,且judge_ob j [7 2]的值不為·6,bll_llll 時,抽取一位 judge_obj[l];判斷對象 judge_obj
的值為 1,b0,且 judge_ obj[7:2]的值為6’ bll_llll時,抽取一位judge_obj[8],否則,不抽取數(shù)據(jù);3)當6位參照對象refer_obj[5:l]的值為5’bl_1110時,如果判斷對象judge_ obj [1:0]的值為2,bll時,抽取一位judge_obj[2],否則,不抽取數(shù)據(jù);4)當6位參照對象refer_obj [5 2]的值為4’bl 110時,如果判斷對象judge_ob j [2 0] 的值為3’ bill時,抽取一位judge_obj[3],否則,不抽取數(shù)據(jù);5)當6位參照對象refer_obj[5:3]的值為3'bllO時,如果判斷對象judge_obj[30] 的值為4’ bllll時,抽取一位judge_obK4],否則,不抽取數(shù)據(jù);6)當6位參照對象refer—obj[5:4]的值為2,blO時,如果判斷對象judge_obj[4:0] 的值為5,bl_llll時,抽取一位judge_obj[5],否則,不抽取數(shù)據(jù);7)當6位參照對象refer—obj[5]的值為1,b0時,如果判斷對象judge_obj [5 0]的值為6,bll_llll時,抽取一位judge_obK6],否則,不抽取數(shù)據(jù)。
8.如權(quán)利要求1所述的一種實現(xiàn)位抽取的并行設計電路,其特征在于所述抽取單元進行位抽取操作,把當前被抽取的位的個數(shù)輸出給累加單元,把位抽取后的結(jié)果作為整個電路的運行結(jié)果輸出。
9.如權(quán)利要求1所述的一種實現(xiàn)位抽取的并行設計電路,其特征在于所述累加單元對被抽取的位的個數(shù)進行累加,將結(jié)果輸出到重組單元輸入端。
全文摘要
本發(fā)明提供一種實現(xiàn)位抽取的并行設計電路,包含延遲單元、重組單元、判斷單元、抽取單元以及累加單元。延遲單元對輸入數(shù)據(jù)進行延遲,重組單元對經(jīng)過時鐘周期延遲的數(shù)據(jù)進行重組并輸出判斷對象和參考對象。判斷單元對重組單元輸出的數(shù)據(jù)進行判斷,哪些位需要被抽取,并輸出判斷結(jié)果到抽取單元。抽取單元進行位抽取操作,并把當前抽取的位的個數(shù)輸出到累加單元,把位抽取后的結(jié)果作為整個電路的運行結(jié)果輸出。累加單元對被抽取的位的個數(shù)進行累加,并將結(jié)果輸出到重組單元輸入端。通過本發(fā)明內(nèi)容,與傳統(tǒng)電路的設計及位抽取操作相比,能大大地降低電路中的功耗。
文檔編號G06F13/40GK102486760SQ20101057337
公開日2012年6月6日 申請日期2010年12月3日 優(yōu)先權(quán)日2010年12月3日
發(fā)明者左耀華 申請人:上海華虹集成電路有限責任公司