專利名稱:接收并行數(shù)據(jù)的裝置及其方法
技術(shù)領(lǐng)域:
本發(fā)明涉及用于高速傳輸并行數(shù)據(jù)的系統(tǒng),更具體地,涉及數(shù)據(jù)接收裝置以及使比特之間的相位同步的方法。
背景技術(shù):
當(dāng)使用計算機(jī)來構(gòu)造大規(guī)模微處理器系統(tǒng)時,對于連接存儲器系統(tǒng)的LSI(大規(guī)模集成電路)和處理器的LSI的總線需要具有大的吞吐量。因此,隨著LSI速率的加快,總線的傳輸速率(數(shù)據(jù)速率)變得更高。
對于利用多條信號線在這些裝置之間傳輸數(shù)據(jù)的并行數(shù)據(jù)傳輸,傳統(tǒng)上已經(jīng)提出了多種系統(tǒng)(例如,參見專利文獻(xiàn)1到6)。
日本專利申請?zhí)亻_公報No.2002-223208[專利文獻(xiàn)2]PCT國際專利申請公開No.WO96/29655[專利文獻(xiàn)3]日本專利申請?zhí)亻_公報No.5-75594[專利文獻(xiàn)4]日本專利申請?zhí)亻_公報No.6-53955[專利文獻(xiàn)5]日本專利申請?zhí)亻_公報No.2000-261297[專利文獻(xiàn)6]日本專利申請?zhí)亻_公報11-275066但是,傳統(tǒng)的并行傳輸存在以下問題。
如果只在接收端使用對于各個比特進(jìn)行了調(diào)整的時鐘信號來接收并行數(shù)據(jù),則在比特之間會出現(xiàn)相位差。例如,如圖1所示,在同時傳輸?shù)膬蓚€數(shù)據(jù)信號之間存在偏移并且在比特0和比特1之間出現(xiàn)了相位差的情況下,并不清除由情況A和情況B的兩個定時中的哪一個來表示相同時刻數(shù)據(jù)的組合。此外,這兩個定時的組合之外的某些組合也可能與該相同時刻數(shù)據(jù)相對應(yīng)。
因此,應(yīng)當(dāng)在對該相位差進(jìn)行了調(diào)整并且使各個比特與接收裝置的內(nèi)部時鐘同步之后,在接收側(cè)接收并行數(shù)據(jù)。
但是,當(dāng)數(shù)據(jù)速率變高時,數(shù)據(jù)的有效時間變短,并且往往變得短于接收端的信號到達(dá)時間。此外,將用于對數(shù)據(jù)進(jìn)行抽樣的時鐘信號發(fā)送到各個接收觸發(fā)電路的時間周期之間的差異以及由于環(huán)境而引起的波動都相對增加,以致于不能忽略它們。此外,也不能忽略多個信號之間的布線長度的差異。因此,在并行傳輸中,設(shè)計一種利用時鐘樹對所有比特的數(shù)據(jù)進(jìn)行抽樣的電路在物理上變得較為困難。如果很難繪制出該設(shè)計,則當(dāng)制造電路時,必須對各個裝置或各個信號進(jìn)行設(shè)置。但是,由于單獨(dú)的設(shè)置操作需要大量的工作,所以在進(jìn)行批量生產(chǎn)時該單獨(dú)設(shè)置操作就成為問題。
發(fā)明內(nèi)容
本發(fā)明的目的是提供一種在用于高速傳輸并行數(shù)據(jù)的系統(tǒng)中使比特之間的相位同步的同時接收數(shù)據(jù)的裝置和方法。
本發(fā)明的數(shù)據(jù)接收裝置包括時鐘調(diào)整裝置、數(shù)據(jù)緩沖裝置、讀取裝置和存儲裝置,并且其接收多個比特的并行數(shù)據(jù)。
在本發(fā)明的第一方面,時鐘調(diào)整裝置利用各個比特的數(shù)據(jù)信號調(diào)整第一時鐘信號,從而對于并行數(shù)據(jù)的各個比特,確保數(shù)據(jù)信號的創(chuàng)建時間和保持時間,并且該時鐘調(diào)整裝置生成數(shù)量與比特數(shù)量相等的調(diào)整時鐘信號。數(shù)據(jù)緩沖裝置根據(jù)調(diào)整時鐘信號獲取各個比特的數(shù)據(jù)信號,并按照時間順序為各個比特保持固定數(shù)量的數(shù)據(jù)。讀取裝置根據(jù)第二時鐘信號,按照時間順序選擇數(shù)據(jù)緩沖裝置中的多個比特的數(shù)據(jù),并讀出所選擇的數(shù)據(jù)作為并行數(shù)據(jù)。存儲裝置存儲所讀出的并行數(shù)據(jù)。
在本發(fā)明的第二方面,時鐘調(diào)整裝置利用一個組中的比特的數(shù)據(jù)信號來調(diào)整第一時鐘信號,并生成數(shù)量與組的數(shù)量相等的調(diào)整時鐘信號,從而使得對于包括兩比特或更多個比特的并行數(shù)據(jù)的各個組,確保數(shù)據(jù)信號的創(chuàng)建時間和保持時間。該數(shù)據(jù)緩沖裝置根據(jù)各個組的調(diào)整時鐘信號,獲取該組中的各個比特的數(shù)據(jù)信號,并按照時間順序為各個比特保持固定數(shù)量的數(shù)據(jù)。讀取裝置根據(jù)第二時鐘信號,按照時間順序選擇數(shù)據(jù)緩沖裝置102中的多個比特的數(shù)據(jù),并讀出所選擇的數(shù)據(jù)作為并行數(shù)據(jù)。存儲裝置104存儲所讀出的并行數(shù)據(jù)。
圖1表示比特之間的相位差;圖2A表示本發(fā)明的數(shù)據(jù)接收裝置的原理;圖2B表示數(shù)據(jù)傳輸系統(tǒng)的結(jié)構(gòu);圖3表示第一接收裝置的結(jié)構(gòu);圖4表示時鐘調(diào)整電路的結(jié)構(gòu);圖5表示環(huán)形緩沖器/寫指針電路/第一讀指針電路的結(jié)構(gòu);圖6表示寫指針重置定時檢測電路的結(jié)構(gòu);圖7表示第一同步電路的結(jié)構(gòu);圖8表示第二同步電路的結(jié)構(gòu);圖9表示第一調(diào)整電路的結(jié)構(gòu);圖10表示第二調(diào)整電路的結(jié)構(gòu);圖11是第一操作時序圖;圖12是寫指針重置處理的時序圖;圖13是第二操作時序圖;圖14表示第二讀指針電路的結(jié)構(gòu);圖15表示第三讀指針電路的結(jié)構(gòu);圖16是第三操作時序圖;以及圖17表示第二接收裝置的結(jié)構(gòu)。
具體實施例方式
以下參照附圖詳細(xì)說明本發(fā)明的優(yōu)選實施例。
圖2A表示本發(fā)明的數(shù)據(jù)接收裝置的原理。圖2A的數(shù)據(jù)接收裝置包括時鐘調(diào)整裝置101、數(shù)據(jù)緩沖裝置102、讀取裝置103、存儲裝置104、檢測裝置105、同步裝置106、調(diào)整裝置108、寫指針裝置109和寫入裝置110,并且其接收多個比特的并行數(shù)據(jù)。
在本發(fā)明的第一方面,數(shù)據(jù)接收裝置包括時鐘調(diào)整裝置101、數(shù)據(jù)緩沖裝置102、讀取裝置103和存儲裝置104。時鐘調(diào)整裝置101使用各個比特的數(shù)據(jù)信號調(diào)整第一時鐘信號,以使得對并行數(shù)據(jù)的各個比特確保數(shù)據(jù)信號的創(chuàng)建時間和保持時間,并且其生成數(shù)量與比特數(shù)量相等的調(diào)整時鐘信號。數(shù)據(jù)緩沖裝置102根據(jù)調(diào)整時鐘信號,獲取各個比特的數(shù)據(jù)信號,并按照時間順序為各個比特保持固定數(shù)量的數(shù)據(jù)。讀取裝置103根據(jù)第二時鐘信號,按照時間順序選擇數(shù)據(jù)緩沖裝置102中的多個比特的數(shù)據(jù),并讀出所選擇的數(shù)據(jù)作為并行數(shù)據(jù)。存儲裝置104存儲所讀出的并行數(shù)據(jù)。
根據(jù)該數(shù)據(jù)接收裝置,通過由時鐘調(diào)整裝置101生成的調(diào)整時鐘信號來確保各個比特的創(chuàng)建時間和保持時間。隨后,以適當(dāng)?shù)亩〞r在數(shù)據(jù)緩沖裝置102中獲取各個比特的數(shù)據(jù)信號。此外,由讀取裝置103根據(jù)第二時鐘信號一次性全部讀出多個比特的數(shù)據(jù),來調(diào)整比特之間的差異,從而提取正確組合的并行數(shù)據(jù)。
在本發(fā)明的第二方面,數(shù)據(jù)接收裝置包括時鐘調(diào)整裝置101、數(shù)據(jù)緩沖裝置102、讀取裝置103和存儲裝置104。時鐘調(diào)整裝置101使用一個組中的比特的數(shù)據(jù)信號來調(diào)整第一時鐘信號,并生成數(shù)量與組的數(shù)量相等的調(diào)整時鐘信號,從而使得對于包括兩個或更多個比特的并行數(shù)據(jù)的各個組,確保數(shù)據(jù)信號的創(chuàng)建時間和保持時間。該數(shù)據(jù)緩沖裝置102根據(jù)各個組的調(diào)整時鐘信號,獲取該組中的各個比特的數(shù)據(jù)信號,并按照時間順序?qū)Ω鱾€比特保持固定數(shù)量的數(shù)據(jù)。讀取裝置根據(jù)第二時鐘信號,按照時間順序選擇數(shù)據(jù)緩沖裝置102中的多個比特的數(shù)據(jù),并讀出所選擇的數(shù)據(jù)作為并行數(shù)據(jù)。存儲裝置104存儲所讀出的并行數(shù)據(jù)。
根據(jù)該數(shù)據(jù)接收裝置,按照與第一方面的數(shù)據(jù)接收裝置相同的方式調(diào)整比特之間的差異,以提取正確組合的并行數(shù)據(jù)。此外,與第一方面的數(shù)據(jù)接收裝置相比,可以通過對兩個或更多個比特共享時鐘調(diào)整裝置101,來減少硬件。
在本發(fā)明的第三方面,第一或第二方面的數(shù)據(jù)接收裝置還包括檢測裝置105和同步裝置106。數(shù)據(jù)緩沖裝置102包括用于按照時間順序保持固定數(shù)量的數(shù)據(jù)的固定數(shù)量的緩沖裝置。讀取裝置103包括讀指針裝置107。檢測裝置105檢測對于預(yù)先確定的時間序列數(shù)據(jù)的接收,并輸出檢測信號。同步裝置106使檢測信號與第二時鐘信號同步,并生成同步信號。讀指針裝置107根據(jù)第二時鐘信號進(jìn)行操作,并存儲讀指針信息,該讀指針信息表示數(shù)據(jù)緩沖裝置102的固定數(shù)量的緩沖裝置中保持有接下來要讀出的數(shù)據(jù)的緩沖裝置。當(dāng)從同步裝置106輸出同步信號時,讀指針裝置107將讀指針信息設(shè)置為預(yù)定值,并更新讀指針信息,以按照預(yù)定的順序選擇固定數(shù)量的緩沖裝置。
根據(jù)該數(shù)據(jù)接收裝置,可以通過在接收到類似于訓(xùn)練數(shù)據(jù)的時間序列數(shù)據(jù)時重設(shè)讀指針信息,來按照時間順序從數(shù)據(jù)緩沖裝置102的多個緩沖裝置中讀出數(shù)據(jù)。
在本發(fā)明的第四方面,第三方面的數(shù)據(jù)接收裝置還包括調(diào)整裝置108。調(diào)整裝置108只將同步信號延遲預(yù)定數(shù)量的時鐘脈沖(clocks)。當(dāng)從調(diào)整裝置108輸出同步信號時,讀指針裝置107將讀指針信息設(shè)置為預(yù)定值。
根據(jù)該數(shù)據(jù)接收裝置,從接收到指定比特的時間序列數(shù)據(jù)開始,經(jīng)過預(yù)定時間段之后,將讀指針信息設(shè)置為預(yù)定值。因此,如果適當(dāng)?shù)卦O(shè)置了延遲時鐘脈沖的數(shù)量,則可以在接收到并行數(shù)據(jù)的所有比特的時間序列數(shù)據(jù)之后重設(shè)讀指針信息。
在本發(fā)明的第五方面,第三方面的數(shù)據(jù)接收裝置還包括寫指針裝置109和寫入裝置110。寫指針裝置109存儲有寫指針信息,該寫指針信息表示數(shù)據(jù)緩沖裝置102的固定數(shù)量的緩沖裝置中的下一個要存儲數(shù)據(jù)的緩沖裝置。此外,當(dāng)從檢測裝置105輸出檢測信號時,裝置109將寫指針信息設(shè)置為預(yù)定值,并更新寫指針信息,以按照預(yù)定順序選擇固定數(shù)量的緩沖裝置。寫入裝置110將數(shù)據(jù)信號輸入到由該指針信息表示的緩沖裝置中。
根據(jù)該數(shù)據(jù)接收裝置,可以在接收到類似于訓(xùn)練數(shù)據(jù)的時間序列數(shù)據(jù)時重設(shè)寫指針信息,并將數(shù)據(jù)依次寫入數(shù)據(jù)緩沖裝置102的多個緩沖裝置中。
時鐘調(diào)整裝置101、數(shù)據(jù)緩沖裝置102、存儲裝置104、檢測裝置105、同步裝置106、讀指針裝置107、調(diào)整裝置108和寫指針裝置109例如分別與稍后說明的圖3和圖17中的環(huán)形緩沖器305、接收寄存器314、寫指針重置定時檢測電路303、同步電路311、讀指針電路313、調(diào)整電路312和寫指針電路304相對應(yīng)。
讀取裝置103例如與稍后說明的讀指針電路313、以及圖5中的解碼器512和選擇器531相對應(yīng)。寫入裝置110例如與圖5的解碼器511、AND電路522-j和523-j以及OR電路524-j(j=0,1,…,15)相對應(yīng)。
第一時鐘信號、第二時鐘信號、調(diào)整時鐘信號和檢測信號例如分別與圖3和圖17的clk、CLKIN、iclk#0和rst-tim#0相對應(yīng)。同步信號例如與稍后說明的圖7和圖8的RPTR_RST_SYNC相對應(yīng)。
根據(jù)本發(fā)明,對由于并行數(shù)據(jù)的高速傳輸而產(chǎn)生的比特之間的傳輸時刻的較大差異進(jìn)行動態(tài)調(diào)整,并且可以接收正確組合的數(shù)據(jù)。同時,本發(fā)明可以處理由于操作過程中環(huán)境的變化而引起的波動,從而在制造單個單元時不需要對該單個單元進(jìn)行設(shè)置。
圖2B表示本發(fā)明優(yōu)選實施例的數(shù)據(jù)傳輸系統(tǒng)的結(jié)構(gòu)。圖2B的數(shù)據(jù)傳輸系統(tǒng)包括發(fā)送裝置201、接收裝置202和振蕩器203。發(fā)送裝置201將n比特的并行數(shù)據(jù)發(fā)送到接收裝置202。例如,印刷電路板的布線圖案連接在發(fā)送裝置201與接收裝置202之間。
發(fā)送裝置201包括鎖相環(huán)(PLL)211、D觸發(fā)電路212、模式生成器213、選擇器214和輸出緩沖器215。PLL 211根據(jù)從振蕩器203提供的用作基準(zhǔn)的時鐘信號生成唯一時鐘信號,然后根據(jù)該唯一時鐘信號生成n比特的發(fā)送數(shù)據(jù)。作為發(fā)送數(shù)據(jù),生成了常規(guī)操作數(shù)據(jù)和訓(xùn)練數(shù)據(jù)。
在模式生成器213生成訓(xùn)練數(shù)據(jù)(為預(yù)先確定的時間序列數(shù)據(jù))的同時,觸發(fā)電路212保持操作數(shù)據(jù)。選擇器214根據(jù)從用于控制整個系統(tǒng)的機(jī)構(gòu)輸出的模式信號,對輸入進(jìn)行切換。當(dāng)模式信號表示操作模式時,選擇觸發(fā)電路212的輸出。當(dāng)模式信號表示調(diào)諧模式時,選擇模式生成器213的輸出。輸出緩沖器215將由選擇器214選擇的發(fā)送數(shù)據(jù)輸出到接收裝置202。
接收裝置202包括PLL 221以及接收電路222和223。PLL 221根據(jù)從振蕩器203提供的時鐘信號生成內(nèi)部時鐘信號CLKIN,并將所生成的信號輸出到接收電路223。此外,將來自振蕩器203的時鐘信號輸入到接收電路222中,作為時鐘信號clk。
接收電路222包括為并行數(shù)據(jù)的各個比特提供的n個比特數(shù)據(jù)保持電路224-i(i=0,1,…,n-2,n-1)。比特數(shù)據(jù)保持電路224-i通過調(diào)整時鐘信號clk的相位來生成調(diào)整時鐘信號,并根據(jù)該時鐘信號進(jìn)行操作,由此保持一個比特的數(shù)據(jù)。對于各條并行總線設(shè)置了接收電路223,并且該接收電路223根據(jù)時鐘信號CLKIN進(jìn)行操作,由此保持了并行總線的所有比特的數(shù)據(jù)。
圖3表示圖2B的接收裝置202的結(jié)構(gòu)示例。圖3的接收裝置202包括輸入緩沖器301。比特數(shù)據(jù)保持電路224-0包括時鐘調(diào)整電路302、寫指針重置定時檢測電路303、寫指針電路304和環(huán)形緩沖器305。此外,接收電路223包括同步電路311、調(diào)整電路312、讀指針電路313和接收寄存器314。
輸入緩沖器301是用于將來自LSI外部的輸入信號的電平與LSI的內(nèi)部信號的電平進(jìn)行匹配的專用緩沖器。該緩沖器將來自發(fā)送裝置201的并行數(shù)據(jù)分成各個比特的數(shù)據(jù)信號it#i(i=0,1,…,n-2,n-1),并將這些信號輸出到比特數(shù)據(jù)保持電路224-i。
時鐘調(diào)整電路302檢測數(shù)據(jù)信號it#0的改變點,并根據(jù)該點調(diào)整時鐘信號clk,以使得可以確保數(shù)據(jù)信號it#0的創(chuàng)建時間和保持時間,由此生成調(diào)整時鐘信號iclk#0。寫指針重置定時檢測電路303從按照時間順序輸入的數(shù)據(jù)信號it#0中檢測出訓(xùn)練數(shù)據(jù),并將信號rst-tim#0輸出到寫指針電路304和同步電路311。
環(huán)形緩沖器305包括多個緩沖器,并按照時間順序?qū)Χ鄠€緩沖器保持多個數(shù)據(jù)。為了在環(huán)形緩沖器305中寫入數(shù)據(jù),寫指針電路304保持表示在下一時鐘脈沖要寫入數(shù)據(jù)的緩沖器的值,作為寫指針。該寫指針在環(huán)形緩沖器305的各個緩沖器的值之間循環(huán),并且通過信號rst-tim#0重置這些值。環(huán)形緩沖器305在由寫指針的值表示的緩沖器中存儲數(shù)據(jù)信號it#0的值。其它緩沖器保持已經(jīng)存儲的值。例如,使用緩沖器編號作為寫指針。
寫指針重置定時檢測電路303、寫指針電路304和環(huán)形緩沖器305根據(jù)時鐘信號iclk#0來進(jìn)行操作。其它比特數(shù)據(jù)保持電路224的結(jié)構(gòu)和操作與比特數(shù)據(jù)保持電路224-0的相同。
為了按照時間順序從環(huán)形緩沖器305中讀出數(shù)據(jù),讀指針電路313保持表示接下來要讀出的緩沖器的值作為讀指針。該讀指針以與寫指針相同的方式在環(huán)形緩沖器305的各個緩沖器的值之間循環(huán)。不必考慮寫處理而實現(xiàn)緩沖器的讀出處理,并且選擇由讀指針的值表示的緩沖器的數(shù)據(jù),以將其從比特數(shù)據(jù)保持電路224-0到224-(n-1)的各個環(huán)形緩沖器305中一次性地全部讀出。
接收寄存器314存儲根據(jù)時鐘信號CLKIN從比特數(shù)據(jù)保持電路224-0到224-(n-1)讀出的數(shù)據(jù),作為整個并行數(shù)據(jù)。由此,對同時從發(fā)送裝置201發(fā)送的并行數(shù)據(jù)進(jìn)行抽樣。
同步電路311包括多個觸發(fā)電路,并且使寫指針重置定時檢測電路303的輸出信號rst-tim#0與時鐘信號CLKIN同步,由此將經(jīng)過同步的信號輸出到調(diào)整電路312。對各個比特設(shè)置了寫指針重置定時檢測電路303。但是,在本示例中,選擇bit#0作為并行數(shù)據(jù)的代表性比特,并且只有信號rst-tim#0與同步電路311相連。
調(diào)整電路312還對同步電路311的輸出信號進(jìn)行延遲,并將經(jīng)過延遲的信號輸出到讀指針電路313。此外,該電路包括用于設(shè)置延遲時鐘脈沖數(shù)量的機(jī)構(gòu)。在該調(diào)整電路312中,設(shè)置固定數(shù)量的條件中的一個,并且在使同步電路311的輸出信號延遲了與設(shè)定條件相對應(yīng)的時鐘脈沖數(shù)量的同時,將其從調(diào)整電路312輸出。通過調(diào)整電路312的輸出信號對讀指針進(jìn)行重置。在不必對同步電路311的輸出信號進(jìn)行延遲的情況下,可以省略調(diào)整電路312。
同步電路311、調(diào)整電路312、讀指針電路313和接收寄存器314根據(jù)時鐘信號CLKIN進(jìn)行操作。
根據(jù)該接收裝置202,通過比特數(shù)據(jù)保持電路224-i來確保各個比特的創(chuàng)建時間和保持時間,并且通過接收電路223來調(diào)整比特之間的差異,由此提取正確組合的并行數(shù)據(jù)。
下面參照圖4到10詳細(xì)說明圖3的比特數(shù)據(jù)保持電路224-i和接收電路223的具體電路結(jié)構(gòu)。
圖4表示圖3的時鐘調(diào)整電路302的結(jié)構(gòu)示例。圖4的時鐘調(diào)整電路包括sclk發(fā)生電路401、移位寄存器電路402、相位調(diào)整電路403、DDR(雙數(shù)據(jù)速率)斬波器(chopper)404和D觸發(fā)電路405。
sclk發(fā)生電路401根據(jù)數(shù)據(jù)信號it#0生成定時信號sclk,并將所生成的信號輸出到移位寄存器電路402。移位寄存器電路402根據(jù)從觸發(fā)電路405輸出的控制信號,為相位調(diào)整電路403生成控制信號down。相位調(diào)整電路403根據(jù)來自移位寄存器電路402的控制信號,對時鐘信號clk的相位進(jìn)行調(diào)整并生成時鐘信號iclk#0。將所生成的時鐘信號iclk#0輸入到觸發(fā)電路405的端子D中,作為數(shù)據(jù)信號。
DDR斬波器404根據(jù)數(shù)據(jù)信號it#0的上升/下降(上/下)沿,生成時鐘信號pdclk。將所生成的時鐘信號pdclk輸入到觸發(fā)電路405的端子CK中。
觸發(fā)電路405用作相位檢測裝置,用于檢測時鐘信號iclk#0與數(shù)據(jù)信號it#0之間的相位關(guān)系,并根據(jù)時鐘信號pdclk對時鐘信號iclk#0進(jìn)行鎖存,由此生成控制信號down。
通過這種方式,移位寄存器電路402確定控制信號down的值是邏輯‘1’或‘0’,并對相位調(diào)整電路403的延遲量的增加和減少進(jìn)行控制。由此,形成用于進(jìn)行調(diào)整的反饋回路,以使得用于對數(shù)據(jù)信號it#0進(jìn)行抽樣的時鐘信號iclk#0的有效沿可以與數(shù)據(jù)信號it#0穩(wěn)定的點相匹配。
圖5表示圖3的寫指針電路304、環(huán)形緩沖器305和讀指針電路313的結(jié)構(gòu)示例。對寫指針和讀指針分別進(jìn)行控制以按照預(yù)定順序傳輸固定數(shù)量的條件。
圖5的寫指針電路304可以包括自激(freerun)計數(shù)器,并且包括AND電路501、D觸發(fā)電路502和加法電路503。AND電路501將通過對來自寫指針重置定時檢測電路303的信號rst-tim#0進(jìn)行反相而獲得的值與加法電路503的輸出的邏輯乘積輸出到觸發(fā)電路502。
觸發(fā)電路502根據(jù)時鐘信號iclk#0,對AND電路501的輸出進(jìn)行鎖存,并將被鎖存的輸出保持為4比特的寫指針WPTR[3:0]。加法電路503對從觸發(fā)電路502輸出的WPTR[3:0]的值加1,并將所獲得的值輸出到AND電路501。通過這種方式,寫指針在值‘0’到‘15’之間進(jìn)行循環(huán),并當(dāng)信號rst-tim#0的值為‘1’時,將該值重置為‘0’。
環(huán)形緩沖器305包括解碼器511和512、D觸發(fā)電路521-j、AND電路522-j和523-j、OR電路524-j(j=0,l,…,l 5)以及選擇器53l。
解碼器511對從寫指針電路304輸出的WPTR[3:0]的值進(jìn)行解碼,并生成16比特的選擇信號BUF_WE[15:0],由此將所生成的信號輸出到各個比特的AND電路522-0到522-15以及523-0到523-15。在這種情況下,只有由選擇信號BUF_WE[15:0]中的WPTR[3:0]的值表示的比特變成‘1’,而其它比特變成‘0’。
AND電路522-j將選擇信號BUF_WE[15:0]的比特j的值與數(shù)據(jù)信號it#0的邏輯乘積輸出到OR電路524-j。AND電路523-j將通過對選擇信號BUF_WE[15:0]的比特j進(jìn)行反相而獲得的值與觸發(fā)電路521-j的輸出的邏輯乘積輸出到OR電路524-j。OR電路524-j將AND電路522-j和AND電路523-j的輸出的邏輯和輸出到觸發(fā)電路521-j。隨后,觸發(fā)電路521-j根據(jù)時鐘信號iclk#0對OR電路524-j的輸出進(jìn)行鎖存,并將被鎖存的輸出信號輸出到選擇器531。
因此,當(dāng)選擇信號BUF_WE[15:0]的比特j為‘1’時,數(shù)據(jù)信號it#0只存儲在16個觸發(fā)電路521-0到521-15中的觸發(fā)電路521-j中,而其它觸發(fā)電路521保持與以前相同的數(shù)據(jù)。
解碼器512對從讀指針電路313輸出的4比特的讀指針RPTR[3:0]的值進(jìn)行解碼,并生成16比特的選擇信號BUF_SEL[15:0],由此將所生成的信號輸出到選擇器531。在這種情況下,只有由選擇信號BUF_SEL[15:0]中的RPTR[3:0]的值所表示的比特變成‘1’,其它比特變成‘0’。當(dāng)比特j為‘1’時,選擇器531選擇觸發(fā)電路521-j的輸出,由此將所選擇的輸出信號輸出到接收寄存器314。
接收寄存器314包括D觸發(fā)電路551。觸發(fā)電路551根據(jù)時鐘信號CLKIN,對選擇器531的輸出進(jìn)行鎖存,并保持被鎖存的輸出作為接收數(shù)據(jù)。
讀指針電路313可以按照與寫指針電路304相同的方式由計數(shù)器構(gòu)成。讀指針電路313包括AND電路541、D觸發(fā)電路542和加法電路543。AND電路541將通過對來自調(diào)整電路312的信號RPTR_RST_D進(jìn)行反相而獲得的值與加法電路543的輸出的邏輯乘積輸出到觸發(fā)電路542。
觸發(fā)電路542根據(jù)時鐘信號CLKIN,對AND電路541的輸出進(jìn)行鎖存,并將被鎖存的輸出保持為RPTR[3:0]。加法電路543對從觸發(fā)電路542輸出的RPTR[3:0]的值加1,并將所獲得的值輸出到AND電路541。通過這種方式,讀指針在值‘0’到‘15’之間循環(huán),并且當(dāng)信號RPTR_RST_D為‘1’時,將該指針重置為‘0’。
盡管這里將寫指針WPTR[3:0]和讀指針RPTR[3:0]重置為‘0’,但是也可以將它們重置為‘0’以外的特定值。
圖6表示圖3的寫指針重置定時檢測電路303的結(jié)構(gòu)示例。圖6的寫指針重置定時檢測電路包括移位寄存器電路(其包括16個D觸發(fā)電路601-j(j=0,1,…,15))、D觸發(fā)電路602和比較電路603。
各個觸發(fā)電路601-j根據(jù)時鐘信號iclk#0,將按照時間順序輸入的數(shù)據(jù)信號it#0移位到下一級觸發(fā)電路601-(j+1)。觸發(fā)電路602保持與從發(fā)送裝置201發(fā)送的16比特的訓(xùn)練數(shù)據(jù)的模式相同的模式,作為PATARN[15:0]。
當(dāng)對觸發(fā)電路601-0到601-15的輸出與觸發(fā)電路602的輸出進(jìn)行比較并且這些輸出相互匹配時,比較電路603輸出‘1’作為信號rst-tim#0。因此,當(dāng)在移位寄存器電路中設(shè)置與在PARARN[15:0]中設(shè)定的模式相匹配的數(shù)據(jù)時,輸出寫指針的重置時機(jī)信號(momentum signal)。
圖7表示圖3的同步電路311的結(jié)構(gòu)示例。圖7的同步電路包括OR電路701、D觸發(fā)電路702到707、以及AND電路708。OR電路701將信號rst-tim#0與觸發(fā)電路702的輸出的邏輯和輸出到觸發(fā)電路702。隨后,觸發(fā)電路702根據(jù)時鐘信號iclk#0,對OR電路701的輸出進(jìn)行鎖存,并輸出被鎖存的輸出。
觸發(fā)電路703到707根據(jù)時鐘信號CLKIN,將觸發(fā)電路702的輸出移位到下一級觸發(fā)電路。AND電路708將通過對觸發(fā)電路707的輸出進(jìn)行反相而獲得的值與觸發(fā)電路706的輸出的邏輯乘積輸出作為信號RPTR_RST_SYNC。
在這種情況下,生成了信號RPTR_RST_SYNC,該信號是通過使成為寫指針重置時機(jī)的信號rst-tim#0與時鐘信號CLKIN同步而獲得的。將所生成的信號RPTR_RST_SYNC用于生成變?yōu)樽x指針的重置時機(jī)的信號RPTR_RST_D。
在圖3中,選擇bit#0作為并行數(shù)據(jù)的代表性比特,并且僅根據(jù)信號rst-tim#0對讀指針進(jìn)行重置。但是,根據(jù)從用于兩個或更多個比特的并行數(shù)據(jù)的寫指針重置定時檢測電路輸出的兩個或更多個信號rst-tim#i(i=0,1,…,n-2,n-1),來重置讀指針也是適合的。
圖8表示同步電路的結(jié)構(gòu)示例,該同步電路在n=64的情況下等待并行數(shù)據(jù)的所有比特的寫指針重置,并生成信號RPTR_RST_SYNC。圖8的同步電路包括OR電路801-i(i=0,1,…,63)、D觸發(fā)電路802-i、AND電路803和809、以及D觸發(fā)電路804到808。
OR電路801-i將信號rst-tim#i與觸發(fā)電路802-i的輸出的邏輯和輸出到觸發(fā)電路802-i。然后,觸發(fā)電路802-i根據(jù)時鐘信號iclk#i,對OR電路801-i的輸出進(jìn)行鎖存,并輸出被鎖存的輸出。AND電路803將觸發(fā)電路802-0到802-63的輸出的邏輯乘積輸出到觸發(fā)電路804。
觸發(fā)電路804到808根據(jù)時鐘信號CLKIN,將AND電路803的輸出移位到下一級觸發(fā)電路。AND電路809將通過對觸發(fā)電路808的輸出進(jìn)行反相而獲得的值與觸發(fā)電路807的輸出的邏輯乘積輸出,作為信號RPTR_RST_SYNC。
在同步電路311沒有等待所有比特的寫指針重置處理的情況下,圖3的調(diào)整電路312通過進(jìn)行設(shè)置來添加與等待這些重置處理的情況下的延遲相當(dāng)?shù)囊?guī)則延遲(regular delay),以對比特之間的差異進(jìn)行補(bǔ)償。例如,通過計數(shù)器電路或者包括多個觸發(fā)電路的移位寄存器電路來實現(xiàn)該調(diào)整電路312。
但是,在比特之間的差異較小的情況下,存在由同步電路311和調(diào)整電路312產(chǎn)生不必要的延遲的可能性。該延遲對作為存儲器執(zhí)行時間的處理器的性能有很大影響。由此,為了使該延遲最小,希望找到所需的足夠定時,并生成讀指針的重置時機(jī)。
在本優(yōu)選實施例中,在利用讀指針被構(gòu)造為循環(huán)方式的事實的同時,通過設(shè)置與指針值的大約一個周期相當(dāng)?shù)难舆t(包括同步電路311的延遲)來將讀出數(shù)據(jù)時的延遲抑制為最小。
圖9表示在使用計數(shù)器電路的情況下的調(diào)整電路312的結(jié)構(gòu)示例。圖9的調(diào)整電路包括D觸發(fā)電路901、905和910,AND電路902、903、908和911,OR電路904和909,減法電路906和檢測電路907。
觸發(fā)電路901可以使用4比特的信號DEFAULT[3:0]將0到15中的任何一個設(shè)置為初始值。觸發(fā)電路901根據(jù)時鐘信號CLKIN將由此設(shè)定的DEFAULT[3:0]的值輸出到AND電路902。
AND電路902和903,OR電路904,觸發(fā)電路905和減法電路906構(gòu)成遞減計數(shù)器(down counter)。AND電路902輸出信號DEFAULT[3:0]與信號RPTR_RST_SYNC的邏輯乘積。AND電路903輸出減法電路906的輸出與通過對信號RPTR_RST_SYNC進(jìn)行反相而獲得的值的邏輯乘積。OR電路904輸出AND電路902的輸出與AND電路903的輸出的邏輯和。
觸發(fā)電路905根據(jù)時鐘信號CLKIN,對OR電路904的輸出進(jìn)行鎖存,并輸出被鎖存的輸出作為表示計數(shù)值的信號DEL_TAU[3:0]。減法電路906對信號DEL_TAU[3:0]的值減1,并將經(jīng)減去處理的值輸出到AND電路903。檢測電路907檢測到信號DEL_TAU[3:0]的值變?yōu)椤?’,并輸出信號‘1’。
AND電路908輸出通過對檢測電路907的輸出進(jìn)行反相而獲得的值與觸發(fā)電路910的輸出信號ONCE的邏輯乘積。OR電路909輸出AND電路908的輸出與信號RPTR_RST_SYNC的邏輯和。觸發(fā)電路910根據(jù)時鐘信號CLKIN對OR電路909的輸出進(jìn)行鎖存,并輸出被鎖存的輸出作為信號ONCE。AND電路911輸出檢測電路907的輸出與信號ONCE的邏輯乘積,作為信號RPTR_RST_D。
根據(jù)該調(diào)整電路,當(dāng)信號RPTR_RST_SYNC變?yōu)椤?’時,將保持在觸發(fā)電路905中的初始值載入到觸發(fā)電路905中。然后,當(dāng)信號RPTR_RST_SYNC變?yōu)椤?’時,開始遞減計數(shù)。當(dāng)計數(shù)值變?yōu)椤?’時,輸出‘1’作為信號RPTR_RST_D,并且重置讀指針。
因此,當(dāng)每時鐘脈沖的延遲時間周期為τ時,同步電路311的輸出信號在1到16τ的范圍內(nèi)延遲,從而可以調(diào)整讀指針的重置時機(jī)。
圖10表示在使用移位寄存器電路的情況下調(diào)整電路312的結(jié)構(gòu)示例。圖10的調(diào)整電路包括D觸發(fā)電路1001、1002-j(j=0,1,…,15),解碼器1003和選擇器1004。
觸發(fā)電路1001以與圖9的觸發(fā)電路901相同的方式保持信號DEFAULT[3:0](該信號表示初始值0到15中的任意一個),并根據(jù)時鐘信號CLKIN將該信號輸出到解碼器1003。解碼器1003對4比特的信號DEFAULT[3:0]進(jìn)行解碼并生成選擇信號,并將所生成的選擇信號輸出到選擇器1004。
觸發(fā)電路1002-0到1002-15根據(jù)時鐘信號CLKIN,將信號RPTR_RST_SYNC移位到下一級觸發(fā)電路。將各個觸發(fā)電路1002-j的輸出輸入到選擇器1004中。然后,選擇器1004選擇來自觸發(fā)電路1002-j中的任何一個的輸出,并根據(jù)來自解碼器1003的選擇信號輸出所選擇的輸出作為信號RPTR_RST_D。
根據(jù)該調(diào)整電路,使信號RPTR_RST_SYNC延遲與信號DEFAULT[3:0]的值相對應(yīng)的延遲時鐘脈沖數(shù),并且將經(jīng)延遲的信號RPTR_RST_SYNC輸出為信號RPTR_RST_D。因此,該調(diào)整可以在1到16τ的范圍內(nèi)對同步電路311的輸出信號進(jìn)行延遲,并可以按照與圖9相同的方式調(diào)整讀指針的重置時機(jī)。
下面參照圖11到13說明圖3的比特數(shù)據(jù)保持電路224-i和接收電路223的具體操作。
圖11是表示接收電路223不具有調(diào)整電路312的情況下的操作的時序圖。在這種情況下,將圖7的同步電路的輸出信號RPTR_RST_SYNC直接輸入到讀指針電路313中作為重置時機(jī)信號RPTR_RST_D。1101到1136表示數(shù)據(jù)傳輸系統(tǒng)的以下信號或數(shù)據(jù)的定時。
<指針重置(適用于所有比特)>
1101發(fā)送裝置201的bit#0的發(fā)送數(shù)據(jù)1102接收裝置202的bit#0的接收數(shù)據(jù)1103時鐘信號clk1104時鐘信號iclk#01105數(shù)據(jù)信號it#01106信號rst-tim#01107圖7的觸發(fā)電路702的輸出1108寫指針WPTR<同步電路(僅代表性比特)>
1109時鐘信號CLKIN1110圖7的觸發(fā)電路703的輸出1111圖7的觸發(fā)電路704的輸出1112圖7的觸發(fā)電路705的輸出1113圖7的觸發(fā)電路706的輸出1114圖7的觸發(fā)電路707的輸出1115讀指針RPTR<數(shù)據(jù)流>
1116寫指針WPTR1117數(shù)據(jù)信號it#01118時鐘信號CLKIN1119讀指針RPTR1120圖5的環(huán)形緩沖器305的觸發(fā)電路521-0的輸出1121圖5的環(huán)形緩沖器305的觸發(fā)電路521-1的輸出1122圖5的環(huán)形緩沖器305的觸發(fā)電路521-2的輸出
1123圖5的環(huán)形緩沖器305的觸發(fā)電路521-3的輸出1124圖5的環(huán)形緩沖器305的觸發(fā)電路521-4的輸出1125圖5的環(huán)形緩沖器305的觸發(fā)電路521-5的輸出1126圖5的環(huán)形緩沖器305的觸發(fā)電路521-6的輸出1127圖5的環(huán)形緩沖器305的觸發(fā)電路521-7的輸出1128圖5的環(huán)形緩沖器305的觸發(fā)電路521-8的輸出1129圖5的環(huán)形緩沖器305的觸發(fā)電路521-9的輸出1130圖5的環(huán)形緩沖器305的觸發(fā)電路521-10的輸出1131圖5的環(huán)形緩沖器305的觸發(fā)電路521-11的輸出1132圖5的環(huán)形緩沖器305的觸發(fā)電路521-12的輸出1133圖5的環(huán)形緩沖器305的觸發(fā)電路521-13的輸出1134圖5的環(huán)形緩沖器305的觸發(fā)電路521-14的輸出1135圖5的環(huán)形緩沖器305的觸發(fā)電路521-15的輸出1136接收寄存器314的bit#0的存儲數(shù)據(jù)當(dāng)檢測到在與iclk#0(1104)的上升沿相對應(yīng)的T2時刻作為訓(xùn)練數(shù)據(jù)(1105)發(fā)送的重置模式1141時,信號rst-tim#0(1106)變?yōu)椤?’,而在與下一個上升沿相對應(yīng)的T3時刻,信號rst-tim#0變成‘0’。通過這種方式,觸發(fā)電路702的輸出(1107)變成‘1’,并且重置寫指針WPTR(1108,1116)。在實現(xiàn)重置之前,寫指針WPTR循環(huán)適當(dāng)?shù)闹怠?br>
當(dāng)重置寫指針WPTR時,在與iclk#0(1104)的下一個上升沿相對應(yīng)的T4時刻,將接收數(shù)據(jù)‘HH’(1105,1117)寫入環(huán)形緩沖器305的觸發(fā)電路521-0(1120)。此后,每一次寫指針WPTR加1,都將接收數(shù)據(jù)依次寫入環(huán)形緩沖器305的對應(yīng)觸發(fā)電路(1121到1135)中。
另一方面,當(dāng)觸發(fā)電路706(1113)輸出‘1’時,觸發(fā)電路702的輸出(1107)依次傳到觸發(fā)電路703到707(1110到1114),并且同步電路311的輸出信號RPTR_RST_SYNC變?yōu)椤?’。然后,在與CLKIN(1109,1118)的下一個上升沿相對應(yīng)的T5時刻重置讀指針RPTR(1115,1119)。在實現(xiàn)重置之前,讀指針RPTR在多個適當(dāng)值之間進(jìn)行循環(huán)。
當(dāng)重置讀指針RPTR時,在與CLKIN(1109,1118)的下一個上升沿相對應(yīng)的T6時刻,讀出環(huán)形緩沖器305的觸發(fā)電路521-0的數(shù)據(jù)‘HH’(1120),并將所讀出的數(shù)據(jù)存儲在接收寄存器314的bit#0(1136)中。此后,每一次讀指針RPTR加1,都將數(shù)據(jù)依次從緩沖器305的對應(yīng)觸發(fā)電路(1121到1135)中讀出,并將所讀出的數(shù)據(jù)寫入接收寄存器314的bit#0。
在本示例中,從T1時刻由發(fā)送裝置201發(fā)送數(shù)據(jù)‘HH’直到在T6時刻將數(shù)據(jù)‘HH’存儲在接收寄存器314中為止的執(zhí)行時間變?yōu)榇蠹s9.5個周期。
圖12表示兩個比特數(shù)據(jù)保持電路224-i中的寫指針的重置定時的時序圖。在本示例中,同時將比特X和Y的數(shù)據(jù)從發(fā)送裝置201(輸出源)輸出,并且接收裝置202(輸入側(cè))在比特Y的數(shù)據(jù)之后接收到比特X的數(shù)據(jù)。使用數(shù)據(jù)行0到15作為重置模式。
這種情況下,在比特X和比特Y的比特數(shù)據(jù)保持電路中,在不同的定時點分別檢測到多個重置模式,并且重置寫指針。在時刻T11重置比特Y的寫指針,然后將比特Y的接收數(shù)據(jù)寫入環(huán)形緩沖器的由寫指針表示的觸發(fā)電路中。此外,在時刻T12重置比特X的寫指針,然后將比特X的接收數(shù)據(jù)寫入環(huán)形緩沖器的由寫指針表示的觸發(fā)電路中。
通常,通過這種方式,對于各個比特在不同定時實現(xiàn)了寫指針的重置,并且對于各個比特在不同定時將并行數(shù)據(jù)寫入環(huán)形緩沖器。然而,可以通過根據(jù)內(nèi)部時鐘信號CLKIN同時從環(huán)形緩沖器中讀出所有比特的數(shù)據(jù),來在同一定時將并行數(shù)據(jù)存儲在接收寄存器314中。
圖13是表示接收電路223具有圖9的調(diào)整電路的情況下的操作的時序圖。在本示例中,將‘12’設(shè)置為信號DEFAULT[3:0]的值,并且調(diào)整電路312使同步電路311的輸出信號RPTR_RST_SYNC僅延遲13τ。1101到1136表示與圖11中相同的信號和數(shù)據(jù)的定時。1301到1302表示以下信號的定時。
<調(diào)整電路(僅代表性比特)>
1301圖9的信號DEL_TAU[3:0]1302圖9的信號ONCE
在這種情況下,T5時刻之前的操作與圖11的類似。當(dāng)同步電路311的輸出信號RPTR_RST_SYNC變?yōu)椤?’時,將信號DEFAULT[3:0]的值載入到觸發(fā)電路905中,并且在T5時刻輸出‘12’作為信號DEL_TAU[3:0](1301)。同時,信號ONCE(1302)變?yōu)椤?’,并開始進(jìn)行遞減計數(shù)。
隨后,在T8時刻將接收數(shù)據(jù)‘XX’(1105,1117)寫入環(huán)形緩沖器305的觸發(fā)電路521-0(1120)中。此后,每一次寫指針WPTR加1,都將接收數(shù)據(jù)依次寫入環(huán)形緩沖器305的對應(yīng)觸發(fā)電路(1121到1135)中。
當(dāng)終止遞減計數(shù)并輸出‘0’作為信號DEL_TAU[3:0](1301)時,調(diào)整電路312的輸出信號RPTR_RST_D變?yōu)椤?’。在與CLKIN(1109,1118)的下一個上升沿相對應(yīng)的T9時刻重置讀指針RPTR(1115,1119),同時信號ONCE(1302)變?yōu)椤?’。在實現(xiàn)重置之前,讀指針RPTR在多個適當(dāng)?shù)闹抵g進(jìn)行循環(huán)。
當(dāng)重置讀指針RPTR時,在與CLKIN(1109,1118)的下一個上升沿相對應(yīng)的時刻T10讀出環(huán)形緩沖器305的觸發(fā)電路521-0的數(shù)據(jù)‘XX’(1120),并將所讀出的數(shù)據(jù)存儲在接收寄存器314的bit#0(1136)中。隨后,每一次讀指針RPTR加1,都依次從環(huán)形緩沖器305的對應(yīng)觸發(fā)電路(1121到1135)中讀出數(shù)據(jù),并將所讀出的數(shù)據(jù)寫入接收寄存器314的bit#0中。
在本示例中,從T7時刻由發(fā)送裝置201發(fā)送數(shù)據(jù)‘XX’起,直到T10時刻將數(shù)據(jù)‘XX’存儲在接收寄存器314中為止的執(zhí)行時間變?yōu)榇蠹s6.5個周期。因此,與圖11的數(shù)據(jù)‘HH’的情況相比,執(zhí)行時間僅提高了3個周期。換言之,通過利用調(diào)整電路312將讀指針的重置時機(jī)信號僅延遲13τ,使得可以操作讀指針,同時縮短了三個周期,從而可以彌補(bǔ)由同步電路311產(chǎn)生的損失。
通過這種方式,在所說明的優(yōu)選實施例中,假設(shè)并行數(shù)據(jù)的傳輸頻率和內(nèi)部時鐘信號CLKIN的頻率之間的關(guān)系是一對一的關(guān)系,并且不會產(chǎn)生環(huán)形緩沖器305的下溢/上溢。在這些頻率之間的關(guān)系為1:N的情況下,可以通過將讀指針的更新次數(shù)設(shè)定為1/N來防止下溢/上溢。
圖14表示讀指針電路313的結(jié)構(gòu)示例。圖14的讀指針電路包括D觸發(fā)電路1401、1406、1412,OR電路1402、1405和1411,AND電路1403、1404、1409和1410,減法電路1407,檢測電路1408,以及加法電路1413。
可以利用4比特的信號N[3:0]將觸發(fā)電路104設(shè)置為0到15中的一個值,作為預(yù)定值。由此設(shè)置的預(yù)定值要比分頻比N小1,并且N[3:0]=1,2,3,…,15與N=1,2,3,4,…,16相對應(yīng)。觸發(fā)電路1401將根據(jù)時鐘信號CLKIN設(shè)置的N[3:0]的值輸出到AND電路1403。
OR電路1402將來自調(diào)整電路312的信號RPTR_RST_D與來自檢測電路1408的輸出信號SAMPLE_TIM的邏輯和輸出到AND電路1403和1404。
AND電路1403和1404,OR電路1405,觸發(fā)電路1406和減法電路1407構(gòu)成遞減計數(shù)器,并按照與圖9的遞減計數(shù)器相同的方式進(jìn)行操作,由此輸出表示檢測電路1408的計數(shù)值的信號。檢測電路1408檢測到計數(shù)值變?yōu)椤?’,并且輸出‘1’作為信號SAMPLE_TIM。
AND電路1409將通過對信號SAMPLE_TIM進(jìn)行反相而獲得的值與觸發(fā)電路1412的輸出信號RPTR[3:0]的邏輯乘積輸出,同時加法電路1413對RPTR[3:0]的值加1,并將所獲得的值輸出到AND電路1410。AND電路1410將信號SAMPLE_TIM與加法電路1413的輸出的邏輯乘積輸出,同時OR電路1411將AND電路1409的輸出與AND電路1410的輸出的邏輯和輸出。觸發(fā)電路1412根據(jù)時鐘信號CLKIN,對OR電路1411的輸出進(jìn)行鎖存,并輸出被鎖存的輸出作為RPTR[3:0]。
根據(jù)該讀指針電路,當(dāng)信號RPTR_RST_D變?yōu)椤?’時,將保持在觸發(fā)電路1401中的預(yù)定值載入到觸發(fā)電路1406中,隨后信號RPTR_RST_D變?yōu)椤?’,開始遞減計數(shù)。由于在遞減計數(shù)結(jié)束之前信號SAMPLE_TIM保持為‘0’,所以不更新讀指針,從而保持當(dāng)前值。當(dāng)計數(shù)值變?yōu)椤?’時,輸出‘1’作為信號SAMPLE_TIM,并且更新讀指針。同時,再次將該預(yù)定值載入到觸發(fā)電路1406中。此后,重復(fù)相同操作,并對各個Nτ更新讀指針。
圖15表示一結(jié)構(gòu)示例,其中在圖14中的讀指針電路中添加了與調(diào)整電路312類似的功能。在該結(jié)構(gòu)中,由于可以將讀指針的重置值設(shè)置為可選值,所以調(diào)整電路312變得不必要,并且將同步電路311的輸出信號RPTR_RST_SYNC直接輸入到讀指針電路中。
該讀指針電路包括D觸發(fā)電路1401、1406、1412和1502,OR電路1402、1405和1506,AND電路1403、1404、1503、1504和1505,減法電路1407,檢測電路1408和加法電路1413。在這些電路中,標(biāo)號與圖14相同的電路以與圖14的電路相同的方式進(jìn)行操作。
緩沖器1501將所輸入的信號RPTR_RST_SYNC輸出到OR電路1402,作為信號RPTR_RST_D。觸發(fā)電路1502可以利用4比特的信號DEFAULT[3:0]將0到15中的一個設(shè)置為重置指針的初始值(重置值)。觸發(fā)電路1502根據(jù)時鐘信號CLKIN,將由此設(shè)置的DEFAULT[3:0]的值輸出到AND電路1505。
AND電路1503將通過對信號SAMPLE_TIM進(jìn)行反相而獲得的值、對信號RPTR_RST_SYNC進(jìn)行反相而獲得的值、以及觸發(fā)電路1412的輸出信號RPTR[3:0]的邏輯乘積輸出。AND電路1504將通過對信號SAMPLE_TIM進(jìn)行反相而獲得的值、對信號RPTR_RST_SYNC進(jìn)行反相而獲得的值、以及加法電路1413的輸出的邏輯乘積輸出。OR電路1506將AND電路1503、1504和1505的輸出的邏輯和輸出。觸發(fā)電路1412根據(jù)時鐘信號CLKIN,對OR電路1506的輸出進(jìn)行鎖存,并輸出被鎖存的輸出作為RPTR[3:0]。
圖16是表示使用圖15的讀指針電路的情況下的操作的時序圖。在本示例中,將‘0’設(shè)置為N[3:0](N=1)的值,將‘3’設(shè)置為信號DEFAULT[3:0]的值。1101到1136表示與圖11相同的信號或數(shù)據(jù)的定時。
在這種情況下,T5時刻之前的操作與圖11的相同。在T5時刻之前的T22時刻,將接收數(shù)據(jù)‘KK’(1105,1117)寫入環(huán)形緩沖器305的觸發(fā)電路521-3(1123)。
當(dāng)同步電路311的輸出信號RPTR_RST_SYNC變?yōu)椤?’時,將信號N[3:0]的值載入到觸發(fā)電路1406中。然后,在T5時刻將信號DEFAULT[3:0]的值載入到觸發(fā)電路1412中,并將讀指針RPTR(1115,1119)重置為‘3’。在實現(xiàn)重置之前,讀指針RPTR在多個適當(dāng)?shù)闹抵g循環(huán)。
當(dāng)重置讀指針RPTR時,在T6時刻讀出環(huán)形緩沖器305的觸發(fā)電路521-3的數(shù)據(jù)‘KK’(1123),并將所讀出的數(shù)據(jù)存儲在接收寄存器314的bit#0(1136)中。此后,每一次讀指針RPTR加1,都依次從環(huán)形緩沖器305的對應(yīng)緩沖電路(1124到1135,1120到1122)讀出數(shù)據(jù),并將所讀出的數(shù)據(jù)寫入接收寄存器314的bit#0中。
在本示例中,從T21時刻由發(fā)送裝置201發(fā)送數(shù)據(jù)‘KK’起,直到T6時刻將數(shù)據(jù)‘KK’存儲在接收寄存器314中為止的執(zhí)行時間變?yōu)榧s6.5個周期。因此,即使沒有設(shè)置調(diào)整電路312,也可以實現(xiàn)與圖13的數(shù)據(jù)‘XX’的情況相同的執(zhí)行時間。
在圖3所示的接收裝置202中,為并行數(shù)據(jù)的各個比特設(shè)置了時鐘調(diào)整電路302。然而,也可以通過將所有比特分為多個組,來對各個組提供時鐘調(diào)整電路302。
圖17表示在將并行數(shù)據(jù)以每4比特分為多個組的情況下的接收裝置的結(jié)構(gòu)示例。在圖17中,標(biāo)號與圖3相同的電路具有與圖3相同的結(jié)構(gòu)和功能。圖17的接收裝置1701包括PLL 221、輸入緩沖器301、m個數(shù)據(jù)保持電路1702-k(k=0,1,…,m-2,m-1)以及接收電路223。
數(shù)據(jù)保持電路1702-0包括一組時鐘調(diào)整電路1703和4個比特數(shù)據(jù)保持電路1704-p(p=0,1,2,3)。該組時鐘調(diào)整電路1703包括時鐘調(diào)整電路302、寫指針重置定時檢測電路303和寫指針電路304。各個比特數(shù)據(jù)保持電路1704-p均包括環(huán)形緩沖器305。
在從輸入緩沖器301輸出的n個數(shù)據(jù)信號it#0到it#n中,將4個數(shù)據(jù)信號it#0到it#3輸入到數(shù)據(jù)保持電路1702-0中。將數(shù)據(jù)信號it#0輸入到該組時鐘調(diào)整電路1703和比特數(shù)據(jù)保持電路1704-0中。將數(shù)據(jù)信號it#1到it#3分別輸入到比特數(shù)據(jù)保持電路1704-1到1704-3中。
該組時鐘調(diào)整電路1703按照與圖3的情況相同的方式,根據(jù)數(shù)據(jù)信號it#0生成調(diào)整時鐘信號iclk#0和信號rst-tim#0。4個比特數(shù)據(jù)保持電路1704-0到1704-3的環(huán)形緩沖器305根據(jù)所有相同的調(diào)整時鐘信號iclk#0進(jìn)行操作。
其它數(shù)據(jù)保持電路1702的結(jié)構(gòu)和操作與數(shù)據(jù)保持電路1702-0的結(jié)構(gòu)和操作相同。但是,在該示例中,數(shù)據(jù)保持電路1702-1到1702-(m-1)的輸出信號不與同步電路311相連。
另一方面,如果使用與圖8相類的同步電路,則該電路可以等待從兩組或更多組的寫指針重置定時檢測電路輸出的兩個或更多個信號rst-tim#i(i=0,4,8,…)。
根據(jù)接收裝置1701,與圖3的接收裝置202相比,可以大量減少時鐘調(diào)整電路302的硬件等。此外,各個組的比特數(shù)量是可選的,因此其并不限于4比特。
權(quán)利要求
1.一種用于接收多個比特的并行數(shù)據(jù)的數(shù)據(jù)接收裝置,其包括時鐘調(diào)整裝置,用于利用各個比特的數(shù)據(jù)信號來調(diào)整第一時鐘信號,并生成數(shù)量與比特數(shù)量相等的多個調(diào)整時鐘信號,以對于并行數(shù)據(jù)的各個比特,確保所述數(shù)據(jù)信號的創(chuàng)建時間和保持時間;數(shù)據(jù)緩沖裝置,用于根據(jù)所述調(diào)整時鐘信號,來獲取各個比特的數(shù)據(jù)信號,并按照時間順序?qū)Ω鱾€比特保持固定數(shù)量的數(shù)據(jù);讀取裝置,用于根據(jù)第二時鐘信號,按照時間順序選擇所述數(shù)據(jù)緩沖裝置中的多個比特的數(shù)據(jù),并讀出所選擇的數(shù)據(jù)作為并行數(shù)據(jù);以及存儲裝置,用于存儲所讀出的并行數(shù)據(jù)。
2.一種用于接收多個比特的并行數(shù)據(jù)的數(shù)據(jù)接收裝置,其包括時鐘調(diào)整裝置,用于利用一個組中的比特的數(shù)據(jù)信號來調(diào)整第一時鐘信號,并生成數(shù)量與組的數(shù)量相等的多個調(diào)整時鐘信號,以使得對于包括兩個比特或更多個比特的并行數(shù)據(jù)的各個組,確保數(shù)據(jù)信號的創(chuàng)建時間和保持時間;數(shù)據(jù)緩沖裝置,用于根據(jù)各個組的調(diào)整時鐘信號,獲取組中的各個比特的數(shù)據(jù)信號,并按照時間順序?qū)Ω鱾€比特保持固定數(shù)量的數(shù)據(jù);讀取裝置,用于根據(jù)第二時鐘信號,按照時間順序選擇所述數(shù)據(jù)緩沖裝置中的多個比特的數(shù)據(jù),并讀出所選擇的數(shù)據(jù)作為并行數(shù)據(jù);以及存儲裝置,用于存儲所讀出的并行數(shù)據(jù)。
3.根據(jù)權(quán)利要求1或2所述的數(shù)據(jù)接收裝置,還包括檢測裝置、寫指針裝置和寫入裝置,其中所述數(shù)據(jù)緩沖裝置包括固定數(shù)量的緩沖裝置,這些緩沖裝置按照時間順序保持固定數(shù)量的數(shù)據(jù);所述檢測裝置檢測對預(yù)定時間序列數(shù)據(jù)的接收,并輸出檢測信號;所述寫指針裝置存儲寫指針信息,該寫指針信息表示所述固定數(shù)量的緩沖裝置中下一個要存儲數(shù)據(jù)的緩沖裝置,當(dāng)從所述檢測裝置輸出了檢測信號時將所述寫指針信息設(shè)置為預(yù)定值,并更新所述寫指針信息,以按照預(yù)定的順序選擇所述固定數(shù)量的緩沖裝置;并且所述寫入裝置將數(shù)據(jù)信號輸入到由所述寫指針信息表示的緩沖裝置中。
4.根據(jù)權(quán)利要求1或2所述的數(shù)據(jù)接收裝置,還包括檢測裝置和同步裝置,其中所述數(shù)據(jù)緩沖裝置包括按照時間順序保持所述固定數(shù)量的數(shù)據(jù)的固定數(shù)量的緩沖裝置;所述讀取裝置包括讀指針裝置;所述檢測裝置檢測對預(yù)定時間序列數(shù)據(jù)的接收,并輸出檢測信號;所述同步裝置使所述檢測信號與所述第二時鐘信號同步,并生成同步信號;并且所述讀指針裝置根據(jù)所述第二時鐘信號進(jìn)行操作,存儲讀指針信息,該讀指針信息表示所述固定數(shù)量的緩沖裝置中的下一個要讀出數(shù)據(jù)的緩沖裝置,當(dāng)從所述同步裝置輸出了所述同步信號時,將所述讀指針信息設(shè)置為預(yù)定值,并對所述讀指針信息進(jìn)行更新,以按照預(yù)定順序選擇所述固定數(shù)量的緩沖裝置。
5.根據(jù)權(quán)利要求4所述的數(shù)據(jù)接收裝置,其中當(dāng)分別檢測到多個比特的時間序列數(shù)據(jù)的接收并且分別輸出了多個檢測信號時,所述同步裝置使所述多個檢測信號的邏輯乘積與所述第二時鐘信號同步,并生成同步信號。
6.根據(jù)權(quán)利要求4所述的數(shù)據(jù)接收裝置,還包括調(diào)整裝置,用于使所述同步信號僅延遲預(yù)定數(shù)量的時鐘脈沖,其中當(dāng)從所述調(diào)整裝置輸出了所述同步信號時,所述讀指針裝置將所述讀指針信息設(shè)為所述預(yù)定值。
7.根據(jù)權(quán)利要求6所述的數(shù)據(jù)接收裝置,其中所述接收裝置保持從分別指定多種時鐘脈沖數(shù)量的多條信息中選擇的信息,并根據(jù)所保持的信息對所述同步信號進(jìn)行延遲。
8.根據(jù)權(quán)利要求4所述的數(shù)據(jù)接收裝置,其中當(dāng)所述并行數(shù)據(jù)的傳輸頻率與所述第二時鐘信號的頻率之間的關(guān)系為1∶N時,所述讀指針裝置按照所述第二時鐘信號的每N個周期一次的頻率更新所述讀指針。
9.根據(jù)權(quán)利要求4所述的數(shù)據(jù)接收裝置,還包括寫指針裝置,用于存儲寫指針信息,該寫指針信息表示所述固定數(shù)量的緩沖裝置中下一個要存儲數(shù)據(jù)的緩沖裝置,當(dāng)從所述檢測裝置輸出所述檢測信號時將所述寫指針信息設(shè)置為預(yù)定值,并且更新所述寫指針信息,以按照預(yù)定順序選擇所述固定數(shù)量的緩沖裝置;以及寫入裝置,用于將數(shù)據(jù)信號輸入到由所述指針信息表示的緩沖裝置中。
10.一種用于接收多個比特的并行數(shù)據(jù)的數(shù)據(jù)接收裝置,其包括為所述并行數(shù)據(jù)的各個比特設(shè)置的多個時鐘調(diào)整裝置,這些時鐘調(diào)整裝置的數(shù)量與比特的數(shù)量相等,各個時鐘調(diào)整裝置都利用各個比特的數(shù)據(jù)信號來調(diào)整第一時鐘信號并分別生成調(diào)整時鐘信號,以確保所述數(shù)據(jù)信號的創(chuàng)建時間和保持時間;為所述并行數(shù)據(jù)的各個比特設(shè)置的多個數(shù)據(jù)緩沖裝置,這些數(shù)據(jù)緩沖裝置的數(shù)量與比特的數(shù)量相等,各個數(shù)據(jù)緩沖裝置根據(jù)所述調(diào)整時鐘信號,獲取各個比特的數(shù)據(jù)信號,并分別按照時間順序保持固定數(shù)量的數(shù)據(jù);讀取裝置,用于根據(jù)第二時鐘信號,按照時間順序選擇多個數(shù)據(jù)緩沖裝置中的數(shù)據(jù),并讀出所選擇的數(shù)據(jù)作為并行數(shù)據(jù),該多個數(shù)據(jù)緩沖裝置的數(shù)量與比特的數(shù)量相等;以及存儲裝置,用于存儲所讀出的并行數(shù)據(jù)。
11.一種用于接收多個比特的并行數(shù)據(jù)的數(shù)據(jù)接收裝置,其包括為包括兩個比特或更多個比特的并行數(shù)據(jù)的各個組設(shè)置的多個時鐘調(diào)整裝置,這些時鐘調(diào)整裝置的數(shù)量與組的數(shù)量相等,各個時鐘調(diào)整裝置都利用組中的比特的數(shù)據(jù)信號,來調(diào)整第一時鐘信號并分別生成調(diào)整時鐘信號,以確保數(shù)據(jù)信號的創(chuàng)建時間和保持時間;為所述并行數(shù)據(jù)的各個比特設(shè)置的多個數(shù)據(jù)緩沖裝置,這些數(shù)據(jù)緩沖裝置的數(shù)量與比特的數(shù)量相等,各個數(shù)據(jù)緩沖裝置根據(jù)各個組的調(diào)整時鐘信號,獲取組中的各個比特的數(shù)據(jù)信號并分別按照時間順序保持固定數(shù)量的數(shù)據(jù);讀取裝置,用于根據(jù)第二時鐘信號,按照時間順序選擇所述多個數(shù)據(jù)緩沖裝置中的數(shù)據(jù),并讀出所選擇的數(shù)據(jù)作為并行數(shù)據(jù),所述多個數(shù)據(jù)緩沖裝置的數(shù)量與比特的數(shù)量相等;以及存儲裝置,用于存儲所讀出的并行數(shù)據(jù)。
12.一種用于接收多個比特的并行數(shù)據(jù)的數(shù)據(jù)接收方法,包括利用各個比特的數(shù)據(jù)信號,來調(diào)整第一時鐘信號并生成數(shù)量與比特的數(shù)量相等的調(diào)整時鐘信號,以對所述并行數(shù)據(jù)的各個比特,確保數(shù)據(jù)信號的創(chuàng)建時間和保持時間;根據(jù)所述調(diào)整時鐘信號,獲取數(shù)據(jù)緩沖裝置中的各個比特的數(shù)據(jù)信號,該數(shù)據(jù)緩沖裝置按照時間順序為各個比特保持固定數(shù)量的數(shù)據(jù);根據(jù)第二時鐘信號,按照時間順序選擇所述數(shù)據(jù)緩沖裝置中的多個比特的數(shù)據(jù),并讀出所選擇的數(shù)據(jù)作為并行數(shù)據(jù);以及將所讀出的并行數(shù)據(jù)存儲在存儲裝置中。
13.一種用于接收多個比特的并行數(shù)據(jù)的數(shù)據(jù)接收方法,包括利用一個組中的比特的數(shù)據(jù)信號,來調(diào)整第一時鐘信號并生成數(shù)量與組的數(shù)量相等的多個調(diào)整時鐘信號,以對包括兩個比特或更多個比特的并行數(shù)據(jù)的各個組,確保數(shù)據(jù)信號的創(chuàng)建時間和保持時間;根據(jù)各個組的調(diào)整時鐘信號,獲取數(shù)據(jù)緩沖裝置中的組中的各個比特的數(shù)據(jù)信號,該數(shù)據(jù)緩沖裝置按照時間順序為各個比特保持固定數(shù)量的數(shù)據(jù);根據(jù)第二時鐘信號,按照時間順序選擇所述數(shù)據(jù)緩沖裝置中的多個比特的數(shù)據(jù),并讀出所選擇的數(shù)據(jù)作為并行數(shù)據(jù);以及將所讀出的并行數(shù)據(jù)存儲在存儲裝置中。
14.一種用于接收多個比特的并行數(shù)據(jù)的數(shù)據(jù)接收裝置,其包括時鐘調(diào)整裝置,用于利用各個比特的數(shù)據(jù)信號,來調(diào)整第一時鐘信號并生成數(shù)量與比特的數(shù)量相等的多個調(diào)整時鐘信號,以對所述并行數(shù)據(jù)的各個比特確保所述數(shù)據(jù)信號的創(chuàng)建時間和保持時間;數(shù)據(jù)緩沖裝置,用于根據(jù)所述調(diào)整時鐘信號,獲取各個比特的數(shù)據(jù)信號,并按照時間順序?qū)Ω鱾€比特保持固定數(shù)量的數(shù)據(jù);讀取裝置,用于根據(jù)第二時鐘信號,按照時間順序選擇所述數(shù)據(jù)緩沖裝置中的多個比特的數(shù)據(jù),并讀出所選擇的數(shù)據(jù)作為并行數(shù)據(jù);以及存儲裝置,用于存儲所讀出的并行數(shù)據(jù)。
15.一種用于接收多個比特的并行數(shù)據(jù)的數(shù)據(jù)接收裝置,其包括時鐘調(diào)整裝置,用于利用一個組中的比特的數(shù)據(jù)信號,來調(diào)整第一時鐘信號并生成數(shù)量與組的數(shù)量相等的多個調(diào)整時鐘信號,以對包括兩個比特或更多個比特的并行數(shù)據(jù)確保數(shù)據(jù)信號的創(chuàng)建時間和保持時間;數(shù)據(jù)緩沖裝置,用于根據(jù)各個組的調(diào)整時鐘信號,獲取組中的各個比特的數(shù)據(jù)信號并按照時間順序?qū)Ω鱾€比特保持固定數(shù)量的數(shù)據(jù);讀取裝置,用于根據(jù)第二時鐘信號,按照時間順序選擇所述數(shù)據(jù)緩沖裝置中的多個比特的數(shù)據(jù),并讀出所選擇的數(shù)據(jù)作為并行數(shù)據(jù);以及存儲裝置,用于存儲所讀出的并行數(shù)據(jù)。
全文摘要
接收并行數(shù)據(jù)的裝置及其方法。一種數(shù)據(jù)接收裝置,其根據(jù)調(diào)整時鐘信號,利用數(shù)據(jù)信號,調(diào)整第一時鐘信號并獲取數(shù)據(jù)緩沖器中的數(shù)據(jù)信號,以對并行數(shù)據(jù)的各個比特或各組比特確保數(shù)據(jù)信號的創(chuàng)建時間和保持時間。然后,該裝置根據(jù)第二時鐘信號,按照時間順序選擇所述數(shù)據(jù)緩沖器中的多個比特的數(shù)據(jù),并讀出所選擇的數(shù)據(jù)作為并行數(shù)據(jù)。
文檔編號G06F13/42GK1866815SQ200510068099
公開日2006年11月22日 申請日期2005年5月16日 優(yōu)先權(quán)日2004年6月30日
發(fā)明者牟田俊之 申請人:富士通株式會社