確定性fifo緩沖器的制造方法
【技術(shù)領(lǐng)域】
[0001 ] 本發(fā)明總體上涉及用于數(shù)據(jù)通信和其他應(yīng)用的電子電路。
【背景技術(shù)】
[0002]先入先出(FIFO)緩沖器常在用于數(shù)據(jù)通信和其他應(yīng)用的電路中被使用。寫指針(寫計(jì)數(shù)器)通常用來指向FIFO緩沖器中下一個(gè)字將被寫入的地址。類似地,讀指針(讀計(jì)數(shù)器)通常用來指向FIFO緩沖器中將從其獲得將被讀取的下一個(gè)字的地址。
【發(fā)明內(nèi)容】
[0003]一個(gè)實(shí)施例涉及一種用于確定FIFO緩沖器的延時(shí)的方法。最高位被從FIFO寫計(jì)數(shù)器和FIFO讀計(jì)數(shù)器提供給輸入比較邏輯,該輸入比較邏輯在具有相同邏輯電平的最高寫位和最高讀位和具有不同邏輯電平的最高寫位和最高讀位之間區(qū)分?;谠撦斎氡容^邏輯的輸出來確定FIFO緩沖器的占用水平以及因此的延時(shí)。另一實(shí)施例涉及一種具有各自具有比對(duì)FIFO緩沖器尋址所需長(zhǎng)一位的位長(zhǎng)度的寫計(jì)數(shù)器和讀計(jì)數(shù)器的FIFO緩沖器。另一實(shí)施例涉及一種調(diào)整FIFO緩沖器的延時(shí)的方法。其他實(shí)施例和特征也被公開。
【附圖說明】
[0004]圖1是根據(jù)本發(fā)明的一個(gè)實(shí)施例的示例性確定性延時(shí)緩沖器電路的示圖。
[0005]圖2是根據(jù)本發(fā)明的一個(gè)實(shí)施例的用于圖1的示例性電路的示例時(shí)序圖。
[0006]圖3是根據(jù)本發(fā)明的一個(gè)實(shí)施例的用于測(cè)量使用圖1的電路的FIFO緩沖器的占用水平的方法的流程圖。
[0007]圖4是根據(jù)本發(fā)明的另一實(shí)施例的示例性確定性延時(shí)緩沖器電路的示圖。
[0008]圖5是根據(jù)本發(fā)明的一個(gè)實(shí)施例的用于測(cè)量使用圖4的示例性電路的FIFO緩沖器的占用水平的方法的流程圖。
[0009]圖6描繪了其中本發(fā)明的一個(gè)實(shí)施例可被實(shí)現(xiàn)為相位補(bǔ)償FIFO緩沖器的示例性收發(fā)器。
[0010]圖7是根據(jù)本發(fā)明的一個(gè)實(shí)施例的調(diào)整FIFO緩沖器的延時(shí)的方法的流程圖。
[0011]圖8是根據(jù)本發(fā)明的一個(gè)實(shí)施例的包括在此公開的裝置和方法可被實(shí)現(xiàn)在其內(nèi)的收發(fā)器電路的現(xiàn)場(chǎng)可編程門陣列(FPGA)的簡(jiǎn)化部分框圖。
[0012]圖9是根據(jù)本發(fā)明的一個(gè)實(shí)施例的在此公開的裝置和方法可在其內(nèi)被使用的示例性數(shù)字系統(tǒng)的框圖。
【具體實(shí)施方式】
[0013]介紹
[0014]本公開內(nèi)容涉及用于提供具有確定性延時(shí)的FIFO緩沖器的裝置和方法。用于FIFO緩沖器的確定性延時(shí)通過對(duì)FIFO緩沖器的占用的高效和準(zhǔn)確測(cè)量被實(shí)現(xiàn)。
[0015]當(dāng)前公開的具有確定性延時(shí)的FIFO緩沖器對(duì)于某些通信協(xié)議(例如諸如通用公共無線電接口(CPRI)和IEEE-1588標(biāo)準(zhǔn))可以有用。CPRI可被用于無線電設(shè)備控制與無線基站中的無線電設(shè)備之間的通信。IEEE-1588是可被用來跨數(shù)據(jù)網(wǎng)絡(luò)將時(shí)鐘同步到極高精度的時(shí)間戳協(xié)議。
[0016]當(dāng)前公開的FIFO緩沖器對(duì)于低延時(shí)應(yīng)用也可以有用。因?yàn)榭梢砸愿邷?zhǔn)確性確定FIFO的深度,所以可以以更大的安全性將深度調(diào)節(jié)為允許降低的總延遲的小數(shù)目。
[0017]示例性電路裝置和方法
[0018]圖1是根據(jù)本發(fā)明的一個(gè)實(shí)施例的示例性確定性延時(shí)緩沖器電路100的示圖。如所示,緩沖器電路100可以包括雙時(shí)鐘FIFO緩沖器102、寫計(jì)數(shù)器(WR CNT) 104、讀計(jì)數(shù)器(RD CNT) 106、異或(XOR)邏輯電路108、數(shù)據(jù)捕捉寄存器110、鎖相環(huán)(PLL)Ill以及監(jiān)視和控制邏輯112。
[0019]FIFO緩沖器102具有2"個(gè)數(shù)據(jù)字的深度,其中η是自然數(shù)。換言之,F(xiàn)IFO緩沖器102的深度可以是2個(gè)字,或者4個(gè)字,或者8個(gè)字,或者16個(gè)字,等等。FIFO緩沖器102具有數(shù)據(jù)輸入(DATA IN)端口、數(shù)據(jù)輸出(DATA OUT)端口、寫使能(WE)控制輸入、讀使能(RE)控制輸入、寫地址(WR ADR)端口、讀地址(RD ADR)端口、寫時(shí)鐘輸入(WR CLK)和讀時(shí)鐘輸入(RD CLK)。寫使能控制輸入和讀使能控制輸入分別允許僅在選擇性的時(shí)鐘周期寫或者讀數(shù)據(jù)。例如,在下面描述的“數(shù)據(jù)有效”用例中可以允許僅在具有有效數(shù)據(jù)的周期寫數(shù)據(jù)或者讀數(shù)據(jù)。
[0020]寫計(jì)數(shù)器104具有n+1位的長(zhǎng)度:位O、位1、位2,…,位n_l和位η。換言之,寫計(jì)數(shù)器104的位長(zhǎng)度是一加上FIFO緩沖器的深度的以2為底的對(duì)數(shù)。在每次向FIFO緩沖器102寫一個(gè)字之后,寫計(jì)數(shù)器104被遞增一以指向FIFO緩沖器102的下一地址。
[0021]寫計(jì)數(shù)器104的較低η個(gè)位(即位η_1至位0)被用于寫地址(即,字將被寫到的FIFO地址)。寫計(jì)數(shù)器104的最高位(即位η)不是尋址所需的。這是因?yàn)镕IFO緩沖器102具有2n個(gè)字的深度并且所以僅需要較低η個(gè)位來尋址。然而,根據(jù)本發(fā)明的一個(gè)實(shí)施例,寫計(jì)數(shù)器104的最高位被保持。如下面進(jìn)一步描述的,最高位被從寫計(jì)數(shù)器104輸出到XOR邏輯電路108的第一輸入。
[0022]讀計(jì)數(shù)器106也具有n+1位的長(zhǎng)度:位O、位1、位2,…,位n_l和位η。換言之,讀計(jì)數(shù)器106的位長(zhǎng)度是一加上FIFO緩沖器的深度的以2為底的對(duì)數(shù)。在每次從FIFO緩沖器102讀一個(gè)字之后,讀計(jì)數(shù)器106被遞增一以指向FIFO緩沖器102的下一地址。
[0023]讀計(jì)數(shù)器106的較低η個(gè)位(即位O至位η_1)被用于讀地址(即,將從其讀字的FIFO地址)。讀計(jì)數(shù)器106的最高位(即,位η)不是尋址所需的。這是因?yàn)镕IFO緩沖器102具有2n個(gè)字的深度并且所以僅需要較低η個(gè)位來尋址。然而,根據(jù)本發(fā)明的一個(gè)實(shí)施例,讀計(jì)數(shù)器106的最高位被保持。如下面進(jìn)一步描述的,最高位被從讀計(jì)數(shù)器106輸出到XOR邏輯電路108的第二輸入。
[0024]XOR邏輯電路108在其輸入處接收來自寫計(jì)數(shù)器104和讀計(jì)數(shù)器106的最高位。如所示,脈沖信號(hào)被從XOR邏輯電路108輸出。
[0025]在示出的實(shí)施例中,脈沖信號(hào)可被數(shù)據(jù)捕捉寄存器(數(shù)據(jù)捕捉寄存器110)接收。數(shù)據(jù)捕捉寄存器110可以將脈沖信號(hào)讀取為具有相位變化的時(shí)鐘的數(shù)據(jù),并且可以關(guān)于數(shù)據(jù)捕捉寄存器110是捕捉邏輯低信號(hào)還是邏輯高信號(hào)進(jìn)行判定。
[0026]在這一實(shí)施例中,可以通過(例如,在預(yù)定相位范圍內(nèi))可控地改變相位變化時(shí)鐘信號(hào)的相位并且監(jiān)視由數(shù)據(jù)捕捉寄存器110捕捉到的結(jié)果數(shù)據(jù)來確定脈沖信號(hào)的占空比。相位的改變可以通過從監(jiān)視和控制邏輯112發(fā)送到生成相位變化時(shí)鐘信號(hào)的PLL 111的控制信號(hào)來實(shí)現(xiàn)。
[0027]因?yàn)槊}沖信號(hào)的占空比被測(cè)量以指示FIFO緩沖器102的占用,因此從每個(gè)計(jì)數(shù)器(104和106)到XOR邏輯門108的延遲應(yīng)當(dāng)是延遲匹配的或者具有已知具有高準(zhǔn)確性(例如,到50皮秒至100皮秒的準(zhǔn)確性)的延遲失配(即,偏斜)。
[0028]圖2是根據(jù)本發(fā)明的一個(gè)實(shí)施例的圖1的示例性電路的示例時(shí)序圖。對(duì)于這一示例,η = 3,從而使得FIFO緩沖器的深度是23= 8個(gè)字,并且寫計(jì)數(shù)器和讀計(jì)數(shù)器的長(zhǎng)度都是 3+1 = 4。
[0029]所示出的示例信號(hào)和數(shù)據(jù)包括:讀時(shí)鐘(RD CLK)信號(hào);寫時(shí)鐘(WR CLK)信號(hào);讀計(jì)數(shù)器(RD CNT)值;寫計(jì)數(shù)器(WR CNT)值。還示出了:讀計(jì)數(shù)器和寫計(jì)數(shù)器的位2的異或(X0R位2);讀計(jì)數(shù)器和寫計(jì)數(shù)器的位3的異或(X0R位3);讀計(jì)數(shù)器的較低3個(gè)位的值(RDCNT [2:0]);寫計(jì)數(shù)器的較低3個(gè)位的值(WR CNT [2:0]);讀計(jì)數(shù)器的位2(RD CNT [2]);寫計(jì)數(shù)器的位2 (WR CNT [2]);讀計(jì)數(shù)器的位3 (RD CNT [3]);以及寫計(jì)數(shù)器的位3 (WR CNT [3])。
[0030]如所見,RD CLK和WR CLK彼此異相。在這一示例中,RD CNT大約在WR CNT后面5.75。
[0031]XOR位2創(chuàng)建了具有大約四個(gè)時(shí)鐘周期長(zhǎng)的周期的脈沖信號(hào)。XOR位2的占空比提供了關(guān)于FIFO緩沖器的占用水平的一些信息。然而,XOR位2信號(hào)的占空比無法在X的FIFO占用和8-X的FIFO占用之間區(qū)分。例如,XOR位2的4個(gè)時(shí)鐘周期當(dāng)中的2.25的占空比可以指示8個(gè)字中的2.25或者8個(gè)字中的5.75的FIFO占用。
[0032]XOR位3是具有大約八個(gè)時(shí)鐘周期長(zhǎng)的周期的脈沖信號(hào)。如在此公開的,XOR位3的占空比正確地指示FIFO緩沖器的占用水平。在示出的示例中,XOR位3的占空比大約為8個(gè)時(shí)鐘周期中的5.75個(gè)時(shí)鐘周期。這明白地指示FIFO緩沖器的占用是8個(gè)字的最大占用當(dāng)中的5.75個(gè)字。
[0033]為了生成XOR位3信號(hào),讀計(jì)數(shù)器和寫計(jì)數(shù)器必須具有超出對(duì)FIFO緩沖器尋址所需的位的附加位。在這一示例中,當(dāng)RD CNT[2:0]和WR CNT[2:0]足以對(duì)FIFO緩沖器尋址時(shí),讀計(jì)數(shù)器和寫計(jì)數(shù)器包括用于在生成XOR位3信號(hào)時(shí)使用的位3 (附加的最高位)。
[0034]圖3是根據(jù)本發(fā)明一個(gè)實(shí)施例的用于測(cè)量使用圖1的示例性電路的FIFO緩沖器的占用水平的方法300的流程圖。根據(jù)框302,最高位被從讀計(jì)數(shù)器提供給異或邏輯門的第一輸入。這個(gè)位可被稱作“最高讀位”。類似地,根據(jù)框304,最高位被從寫計(jì)數(shù)器提供給異或邏輯門的第二輸入。這個(gè)位可被稱作“最高寫位”。例如,如果η = 3以使得FIFO緩沖器具有8個(gè)字的深度,那么來自讀計(jì)數(shù)器的最高讀位是RD CNT [3],并且來自寫計(jì)數(shù)器的最高寫位是WR CNT [3] ο
[0035]根據(jù)框306,脈沖信號(hào)被從異或邏輯門輸出。例如,如果η = 3以使得FIFO緩沖器具有8個(gè)字的深度,那么脈沖信號(hào)由XOR(RD CNT[3],WR CNT[3])給出。
[0036]根據(jù)框308,脈沖信號(hào)的占空比被測(cè)量。在一個(gè)實(shí)現(xiàn)方式中,可以通過在監(jiān)視和控制邏輯的控制下跨相位范圍掃描相位變化時(shí)鐘信號(hào)來測(cè)量脈沖信號(hào)的占空比。在掃描期間的每個(gè)相位步(Phase step)可以是短間隔,例如諸如100皮秒。相位變化