本發(fā)明涉及電子技術(shù)領(lǐng)域,尤其涉及一種數(shù)據(jù)讀取電路。
背景技術(shù):
源同步技術(shù)是一種低延遲的跨時(shí)鐘域的同步技術(shù),主要應(yīng)用于同源同頻但不同相位的時(shí)鐘域之間的數(shù)據(jù)交互過程。其主要的技術(shù)原理是:第一時(shí)鐘域向第二時(shí)鐘域發(fā)送數(shù)據(jù)的同時(shí)發(fā)送隨路時(shí)鐘信號(即第一時(shí)鐘域的時(shí)鐘信號),第二時(shí)鐘域根據(jù)隨路時(shí)鐘信號寫入數(shù)據(jù),然后根據(jù)本域的時(shí)鐘信號(即第二時(shí)鐘域的時(shí)鐘信號)讀取所寫入的數(shù)據(jù)。具體實(shí)現(xiàn)過程可以如圖1所示,第一時(shí)鐘域向第二時(shí)鐘域同時(shí)發(fā)送數(shù)據(jù)和隨路時(shí)鐘信號,第二時(shí)鐘域中的fifo(firstinfirstout,先入先出)緩存器根據(jù)隨路時(shí)鐘信號固定每拍寫入數(shù)據(jù),然后第二時(shí)鐘域中的dff(d-typeflip-flop,d觸發(fā)器)根據(jù)本域的時(shí)鐘信號固定每拍讀取數(shù)據(jù),由于隨路時(shí)鐘信號與第二時(shí)鐘域的時(shí)鐘信號頻率相同,因此只要確定了兩者的相位差,上述讀取數(shù)據(jù)的方法便是可行的。
目前,通過采用伴隨數(shù)據(jù)同步(datasync)信號的方式可以確定上述相位差。請參閱圖2,第一時(shí)鐘域針對隨路時(shí)鐘信號生成一個(gè)datasync信號,第二時(shí)鐘域可以根據(jù)datasync信號推算出本域的時(shí)鐘信號與隨路時(shí)鐘信號之間的相位差。然而,采用datasync信號的方式,需要額外增加一個(gè)用于傳輸datasync信號的i/o(input/output,輸入/輸出)接口,增大了硬件的開銷,另外,在信號的傳輸過程中要嚴(yán)格保持datasync信號與數(shù)據(jù)之間的相位關(guān)系,增大了實(shí)現(xiàn)上的困難。
技術(shù)實(shí)現(xiàn)要素:
本發(fā)明實(shí)施例提供了一種數(shù)據(jù)讀取電路,可以確定隨路時(shí)鐘信號與本域的時(shí)鐘信號的相位差,進(jìn)而實(shí)現(xiàn)數(shù)據(jù)讀取。
本發(fā)明實(shí)施例提供了一種數(shù)據(jù)讀取電路,該電路應(yīng)用于第二時(shí)鐘域,第二時(shí)鐘域包括用于寫入第一時(shí)鐘域發(fā)送的數(shù)據(jù)的緩存器和用于讀取緩存器輸出的 數(shù)據(jù)的觸發(fā)器,第一時(shí)鐘域發(fā)送數(shù)據(jù)的同時(shí)發(fā)送隨路時(shí)鐘信號,隨路時(shí)鐘信號為第一時(shí)鐘域的時(shí)鐘信號。該數(shù)據(jù)讀取電路包括相位差確定模塊、時(shí)延檢測模塊以及讀取控制模塊,相位差確定模塊接入隨路時(shí)鐘信號和第二時(shí)鐘域的時(shí)鐘信號,相位差確定模塊與讀取控制模塊連接,時(shí)延檢測模塊與讀取控制模塊連接。其中,相位差確定模塊用于確定隨路時(shí)鐘信號和第二時(shí)鐘域的時(shí)鐘信號之間的相位差,并將其發(fā)送至讀取控制模塊。時(shí)延檢測模塊用于檢測數(shù)據(jù)從緩存器傳輸?shù)接|發(fā)器的時(shí)延值,并將其發(fā)送至讀取控制模塊。讀取控制模塊用于根據(jù)相位差和時(shí)延值,確定觸發(fā)器能夠讀取到緩存器輸出的數(shù)據(jù)的第二時(shí)鐘域的時(shí)鐘信號的觸發(fā)邊沿。
在第一種可能實(shí)現(xiàn)方式中,所述相位差確定模塊包括n個(gè)相同的延時(shí)器、n+1個(gè)相同的d觸發(fā)器以及相位差確定單元,其中,所述n為大于1的整數(shù),所述n個(gè)延時(shí)器依次串聯(lián),第1個(gè)延時(shí)器的輸入端口接入所述第二時(shí)鐘域的時(shí)鐘信號,所述n個(gè)延時(shí)器產(chǎn)生的延時(shí)大于所述第二時(shí)鐘域的時(shí)鐘信號的時(shí)鐘周期,所述n+1個(gè)d觸發(fā)器的輸入端口接入所述隨路時(shí)鐘信號,第1個(gè)d觸發(fā)器的時(shí)鐘端口與所述第1個(gè)延時(shí)器的輸入端口連接,其余n個(gè)d觸發(fā)器的時(shí)鐘端口依次與所述n個(gè)延時(shí)器的輸出端口連接,所述n+1個(gè)d觸發(fā)器的輸出端口與所述相位差確定單元連接,所述相位差確定單元接入所述隨路時(shí)鐘信號,所述相位差確定單元用于根據(jù)所述n+1個(gè)d觸發(fā)器的輸出結(jié)果確定所述隨路時(shí)鐘信號和所述第二時(shí)鐘域的時(shí)鐘信號之間的相位差,并將其發(fā)送至所述讀取控制模塊。
結(jié)合第一種可能實(shí)現(xiàn)方式,在第二種可能實(shí)現(xiàn)方式中,所述相位差確定單元具體用于:首先,在所述隨路時(shí)鐘信號的電平下降沿對應(yīng)的時(shí)刻,獲取第2至第n+1個(gè)d觸發(fā)器的輸出信號的電平,在所述輸出信號的電平中,前a個(gè)為高電平,中間b個(gè)為低電平,后c個(gè)為高電平,所述a、b和c為正整數(shù)。然后,根據(jù)公式
在第三種可能實(shí)現(xiàn)方式中,所述讀取控制模塊具體用于:若觸發(fā)器讀取緩存器輸出的數(shù)據(jù)的觸發(fā)邊沿為上升沿,則當(dāng)相位差大于或等于時(shí)延值時(shí),將從緩存器寫入數(shù)據(jù)的時(shí)刻起第二時(shí)鐘域的時(shí)鐘信號的下一個(gè)上升沿作為觸發(fā)器讀取數(shù)據(jù)的時(shí)刻,或者,當(dāng)相位差小于時(shí)延值時(shí),根據(jù)公式j(luò)=(δtmax-λ)/t+2,將 從緩存器寫入數(shù)據(jù)的時(shí)刻起第二時(shí)鐘域的時(shí)鐘信號的第j個(gè)上升沿作為觸發(fā)器讀取數(shù)據(jù)的時(shí)刻,其中,δtmax表示時(shí)延值,λ表示相位差,/表示整除符號,t表示第二時(shí)鐘域的時(shí)鐘信號的周期。若觸發(fā)器讀取緩存器輸出的數(shù)據(jù)的觸發(fā)邊沿為下降沿,則當(dāng)相位差大于或等于時(shí)延值時(shí),將從緩存器寫入數(shù)據(jù)的時(shí)刻起第二時(shí)鐘域的時(shí)鐘信號的下一個(gè)下降沿作為觸發(fā)器讀取數(shù)據(jù)的時(shí)刻,或者,當(dāng)相位差小于時(shí)延值時(shí),根據(jù)公式j(luò)=(δtmax-t/2-λ)/t+2,將從緩存器寫入數(shù)據(jù)的時(shí)刻起第二時(shí)鐘域的時(shí)鐘信號的第j個(gè)下降沿作為觸發(fā)器讀取數(shù)據(jù)的時(shí)刻,其中,δtmax表示時(shí)延值,λ表示相位差,/表示整除符號,t表示第二時(shí)鐘域的時(shí)鐘信號的周期。
結(jié)合第一種可能實(shí)現(xiàn)方式,在第四種可能實(shí)現(xiàn)方式中,所述相位差確定模塊還包括開關(guān)元件,其中,第1個(gè)延時(shí)器的輸入端口通過開關(guān)元件接入第二時(shí)鐘域的時(shí)鐘信號,開關(guān)元件用于控制第1個(gè)延時(shí)器的輸入端口與第二時(shí)鐘域的時(shí)鐘信號的通斷。
結(jié)合第四種可能實(shí)現(xiàn)方式,在第五種可能實(shí)現(xiàn)方式中,所述開關(guān)元件為內(nèi)部時(shí)鐘發(fā)生器icg開關(guān)。其中,第1個(gè)延時(shí)器的輸入端口與icg開關(guān)的輸出端口連接,icg開關(guān)的輸入端口接入第二時(shí)鐘域的時(shí)鐘信號,icg開關(guān)的使能端口接入使能信號。開關(guān)元件具體用于根據(jù)使能信號控制第1個(gè)延時(shí)器的輸入端口與第二時(shí)鐘域的時(shí)鐘信號的通斷。
結(jié)合第一種可能實(shí)現(xiàn)方式,在第六種可能實(shí)現(xiàn)方式中,所述延時(shí)器為一個(gè)門電路或多個(gè)串聯(lián)的門電路。
結(jié)合第二種可能實(shí)現(xiàn)方式,在第七種可能實(shí)現(xiàn)方式中,所述d觸發(fā)器為抗亞穩(wěn)態(tài)的d觸發(fā)器。
由上可見,本發(fā)明實(shí)施例中的數(shù)據(jù)讀取電路包括相位差確定模塊、時(shí)延檢測模塊以及讀取控制模塊,其中,相位差確定模塊可以確定隨路時(shí)鐘信號和本域的時(shí)鐘信號之間的相位差,時(shí)延檢測模塊可以檢測數(shù)據(jù)在內(nèi)部傳輸?shù)臅r(shí)延值,讀取控制模塊可以根據(jù)相位差和時(shí)延值確定讀取數(shù)據(jù)的時(shí)機(jī),進(jìn)而實(shí)現(xiàn)數(shù)據(jù)讀取。另外,本發(fā)明實(shí)施例中,除用于傳輸數(shù)據(jù)和隨路時(shí)鐘信號以外的i/o接口以外,在兩個(gè)時(shí)鐘域之間無需額外增加i/o接口,便可以確定隨路時(shí)鐘信號與本域的時(shí)鐘信號的相位差,減小了硬件的開銷和實(shí)現(xiàn)上的困難。
附圖說明
為了更清楚地說明本發(fā)明實(shí)施例或現(xiàn)有技術(shù)中的技術(shù)方案,下面將對實(shí)施例或現(xiàn)有技術(shù)描述中所需要使用的附圖作簡單地介紹,顯而易見地,下面描述中的附圖僅僅是本發(fā)明的一些實(shí)施例,對于本領(lǐng)域普通技術(shù)人員來講,在不付出創(chuàng)造性勞動(dòng)的前提下,還可以根據(jù)這些附圖獲得其他的附圖。
圖1是現(xiàn)有技術(shù)中的一種跨時(shí)鐘域的同步技術(shù)的示意圖;
圖2是現(xiàn)有技術(shù)中的另一種跨時(shí)鐘域的同步技術(shù)的示意圖;
圖3是本發(fā)明實(shí)施例提供的一種數(shù)據(jù)讀取電路的結(jié)構(gòu)示意圖;
圖4是本發(fā)明實(shí)施例提供的一種時(shí)延檢測模塊的結(jié)構(gòu)示意圖;
圖5是本發(fā)明實(shí)施例提供的一種信號的時(shí)序示意圖;
圖6是本發(fā)明實(shí)施例提供的一種數(shù)據(jù)讀取的示意圖;
圖7是本發(fā)明實(shí)施例提供的另一種數(shù)據(jù)讀取的示意圖;
圖8是本發(fā)明實(shí)施例提供的一種相位差的確定方法的流程示意圖。
具體實(shí)施方式
下面將結(jié)合本發(fā)明實(shí)施例中的附圖,對本發(fā)明實(shí)施例中的技術(shù)方案進(jìn)行清楚、完整地描述,顯然,所描述的實(shí)施例僅僅是本發(fā)明一部分實(shí)施例,而不是全部的實(shí)施例?;诒景l(fā)明中的實(shí)施例,本領(lǐng)域普通技術(shù)人員在沒有作出創(chuàng)造性勞動(dòng)前提下所獲得的所有其他實(shí)施例,都屬于本發(fā)明保護(hù)的范圍。
本發(fā)明實(shí)施例應(yīng)用于跨時(shí)鐘域的交互場景,該交互場景包括至少兩個(gè)同源同頻但不同相位的時(shí)鐘域。其中,每個(gè)時(shí)鐘域都可以作為發(fā)送端和接收端,作為發(fā)送端時(shí)向其它時(shí)鐘域發(fā)送數(shù)據(jù),作為接收端時(shí)接收其它時(shí)鐘域發(fā)送的數(shù)據(jù)。為了便于理解下文,設(shè)定作為發(fā)送端的時(shí)鐘域?yàn)榈谝粫r(shí)鐘域,作為接收端的時(shí)鐘域?yàn)榈诙r(shí)鐘域,應(yīng)理解的,由于一個(gè)時(shí)鐘域既可以作為發(fā)送端又可以作為接收端,因此第一時(shí)鐘域和第二時(shí)鐘域并不是指空間上的兩個(gè)時(shí)鐘域,而是指邏輯上的兩個(gè)時(shí)鐘域。
圖3是本發(fā)明實(shí)施例提供的一種數(shù)據(jù)讀取電路的結(jié)構(gòu)示意圖。
如圖3所示本實(shí)施例中的第一時(shí)鐘域向第二時(shí)鐘域發(fā)送數(shù)據(jù)的同時(shí)發(fā)送隨 路時(shí)鐘信號,該隨路時(shí)鐘信號為第一時(shí)鐘域的時(shí)鐘信號。需要指出的是,由于隨路時(shí)鐘信號從第一時(shí)鐘域傳輸?shù)降诙r(shí)鐘域是需要消耗時(shí)間的,因而第二時(shí)鐘域接收到的隨路時(shí)鐘信號與當(dāng)前第一時(shí)鐘域?qū)嶋H的時(shí)鐘信號是存在時(shí)延的。
如圖3所示本實(shí)施例中的第二時(shí)鐘域包括用于寫入第一時(shí)鐘域發(fā)送的數(shù)據(jù)的緩存器和用于讀取緩存器輸出的數(shù)據(jù)的觸發(fā)器dff。需要指出的是,由于數(shù)據(jù)和隨路時(shí)鐘信號從第一時(shí)鐘域傳輸?shù)降诙r(shí)鐘域的過程會嚴(yán)格保持相位差不變(如通過設(shè)計(jì)傳輸線路的長度一致、線路位置相鄰等方式保持相位差不變),因而根據(jù)隨路時(shí)鐘信號來寫入數(shù)據(jù)是可行的。具體實(shí)現(xiàn)過程中,第二時(shí)鐘域中的緩存器可以為如圖3所示的fifo緩存器,fifo緩存器根據(jù)隨路時(shí)鐘信號固定每拍寫入數(shù)據(jù)。
如圖3所示本實(shí)施例中的數(shù)據(jù)讀取電路包括相位差確定模塊110、時(shí)延檢測模塊120以及讀取控制模塊130,相位差確定模塊110接入隨路時(shí)鐘信號和第二時(shí)鐘域的時(shí)鐘信號,相位差確定模塊110與讀取控制模塊130連接,時(shí)延檢測模塊120與讀取控制模塊130連接,其中:
相位差確定模塊110,用于確定隨路時(shí)鐘信號和第二時(shí)鐘域的時(shí)鐘信號之間的相位差,并將其發(fā)送至讀取控制模塊130。具體的,所述相位差確定模塊110可以如圖4所示進(jìn)一步包括n個(gè)相同的延時(shí)器(buf1、buf2、buf3、……、bufn-1和bufn)、n+1個(gè)相同的d觸發(fā)器(dff0、dff1、dff2、……、dffn-1和dffn)以及相位差確定單元,其中,所述n為大于1的整數(shù)。
具體實(shí)現(xiàn)過程中,buf1的輸入端口接入第二時(shí)鐘域的時(shí)鐘信號clk_rx,buf1、buf2、buf3、……、bufn-1和bufn依次串聯(lián),dff0、dff1、dff2、……、dffn-1和dffn的輸入端口d接入隨路時(shí)鐘信號clk_tx,dff0的時(shí)鐘端口cp與buf1的輸入端口連接,dff1、dff2、……、dffn-1和dffn的時(shí)鐘端口cp依次與buf1、buf2、buf3、……、bufn-1和bufn的輸出端口連接,dff0、dff1、dff2、……、dffn-1和dffn的輸出端口q與相位差確定單元連接,相位差確定單元接入隨路時(shí)鐘信號,相位差確定單元的輸出端口out與讀取控制模塊130連接。
其中,延時(shí)器用于對信號進(jìn)行相移,buf1、buf2、buf3、……、bufn-1和bufn一級一級地對clk_rx進(jìn)行相移,分別輸出延遲時(shí)鐘信號clk_rx_dly_1、clk_rx_dly_2、clk_rx_dly_3、……clk_rx_dly_n-1和clk_rx_dly_n,要求這n個(gè)延 時(shí)器產(chǎn)生的總延時(shí)大于clk_rx的時(shí)鐘周期(即clk_rx_dly_n與clk_rx_dly_0之間的相位差超過360°)。應(yīng)理解的,d觸發(fā)器在時(shí)鐘端口cp檢測到電平上升沿時(shí),其輸出端口q將輸入端口d所接收的信號輸出,由于clk_rx與clk_tx只是在相位上存在差別的信號,因而n+1個(gè)d觸發(fā)器的輸出端口q0、q1、……、qn-1和qn實(shí)際輸出的信號可以看作是clk_rx_dly_0、clk_rx_dly_1、clk_rx_dly_2、……clk_rx_dly_n-1和clk_rx_dly_n。
進(jìn)一步的,相位差確定單元根據(jù)n+1個(gè)d觸發(fā)器的輸出結(jié)果(即q0、q1、……、qn-1和qn輸出的信號)確定隨路時(shí)鐘信號和第二時(shí)鐘域的時(shí)鐘信號之間的相位差,具體方式如下:
在隨路時(shí)鐘信號的電平下降沿對應(yīng)的時(shí)刻,獲取q1、……、qn-1和qn的輸出信號的電平,在這些電平中,若前a個(gè)為高電平,中間b個(gè)為低電平,后c個(gè)為高電平所述a、b和c為正整數(shù),則可以根據(jù)公式
可選的,相位差確定單元計(jì)算隨路時(shí)鐘信號和第二時(shí)鐘域的時(shí)鐘信號之間的相位差的過程,可以通過軟件實(shí)現(xiàn),也可以通過硬件電路實(shí)現(xiàn),這里不做具體限定。
又可選的,相位差確定模塊110還可以如圖4所示進(jìn)一步包括開關(guān)元件, 其中,buf1的輸入端口通過開關(guān)元件接入第二時(shí)鐘域的時(shí)鐘信號clk_rx,所述開關(guān)元件用于控制buf1的輸入端口與clk_rx的通斷。進(jìn)一步的,開關(guān)元件為icg(insideclockgenerator,內(nèi)部時(shí)鐘發(fā)生器)開關(guān),其中,buf1的輸入端口與icg開關(guān)的輸出端口連接,icg開關(guān)的輸入端口接入clk_rx,所述icg開關(guān)的使能端口接入使能信號enable,icg開關(guān)用于根據(jù)enable控制buf1的輸入端口的輸入端口與clk_rx的通斷。優(yōu)點(diǎn)在于,開關(guān)元件可以在無需確定相位差時(shí)關(guān)閉電路,實(shí)現(xiàn)降低功耗。
又可選的,延時(shí)器(buf1、buf2、buf3、……、bufn-1或bufn)為一個(gè)門電路或多個(gè)串聯(lián)的門電路。
又可選的,d觸發(fā)器為抗亞穩(wěn)態(tài)的d觸發(fā)器,其中,所述亞穩(wěn)態(tài)是指觸發(fā)器無法在規(guī)定時(shí)間段內(nèi)達(dá)到一個(gè)穩(wěn)定的狀態(tài)。優(yōu)點(diǎn)在于,抗亞穩(wěn)態(tài)的d觸發(fā)器可以提高電路的穩(wěn)定性。
時(shí)延檢測模塊120,用于檢測數(shù)據(jù)從緩存器傳輸?shù)接|發(fā)器的時(shí)延值,并將其發(fā)送至讀取控制模塊130。
具體的,請參閱圖3,時(shí)延檢測模塊120檢測數(shù)據(jù)從fifo緩存器的輸出端口傳輸?shù)接|發(fā)器的輸入端口d的時(shí)延值??蛇x的,讀取控制模塊130檢測時(shí)延值的過程,可以通過軟件實(shí)現(xiàn),也可以通過硬件電路實(shí)現(xiàn),這里不做具體限定。
讀取控制模塊130,用于根據(jù)相位差和時(shí)延值,確定觸發(fā)器能夠讀取到緩存器輸出的數(shù)據(jù)的第二時(shí)鐘域的時(shí)鐘信號的觸發(fā)邊沿。
需要指出的是,觸發(fā)器的觸發(fā)邊沿根據(jù)其種類可以分為上升沿觸發(fā)和下降沿觸發(fā),例如,上升沿觸發(fā)器的觸發(fā)邊沿為上升沿,當(dāng)其時(shí)鐘端口cp檢測到電平上升沿時(shí),其輸出端口q將輸入端口d所接收的信號輸出。
一方面,若觸發(fā)器的觸發(fā)邊沿為上升沿,則當(dāng)判定上述相位差對應(yīng)的時(shí)間值大于或等于上述時(shí)延值時(shí),將從fifo緩存器寫入數(shù)據(jù)的時(shí)刻起的第二時(shí)鐘域的時(shí)鐘信號的下一個(gè)上升沿作為觸發(fā)器讀取數(shù)據(jù)的時(shí)刻。例如,請參閱圖6,假設(shè)第二時(shí)鐘域的時(shí)鐘信號clk_rx的時(shí)鐘周期是1ns,與隨路時(shí)鐘信號clk_tx的相位差為72°,數(shù)據(jù)傳輸?shù)臅r(shí)延值為150ps,那么可以計(jì)算得相位差對應(yīng)的時(shí)間值為200ps(=1000ps*72°/360°),由于200ps>150ps,因而將clk_rx的下一個(gè)上升沿(圖6中圓圈所示)作為讀取數(shù)據(jù)的時(shí)刻,便可以實(shí)現(xiàn)數(shù)據(jù)讀取。當(dāng)判定上述相位差對應(yīng)的時(shí)間值小于上述時(shí)延值時(shí),根據(jù)公式j(luò)=(δtmax-λ)/t+2,將 從fifo緩存器寫入數(shù)據(jù)的時(shí)刻起第二時(shí)鐘域的時(shí)鐘信號的第j個(gè)上升沿作為觸發(fā)器讀取數(shù)據(jù)的時(shí)刻,其中,δtmax表示時(shí)延值,λ表示相位差,/表示整除符號,t表示第二時(shí)鐘域的時(shí)鐘信號的時(shí)鐘周期。例如,請參閱圖7,假設(shè)第二時(shí)鐘域的時(shí)鐘信號clk_rx的時(shí)鐘周期是1ns,與隨路時(shí)鐘信號clk_tx的相位差為72°,數(shù)據(jù)傳輸?shù)臅r(shí)延值為700ps,那么可以計(jì)算得相位差對應(yīng)的時(shí)間值為200ps(=1000ps*72°/360°),由于200ps<700ps,計(jì)算得j=(700-200)/1000+2=2,因而將clk_rx的第2個(gè)上升沿(圖7中圓圈所示)作為讀取數(shù)據(jù)的時(shí)刻,便可以實(shí)現(xiàn)數(shù)據(jù)讀取。
另一方面,若觸發(fā)器的觸發(fā)邊沿為下降沿,則當(dāng)判定上述相位差對應(yīng)的時(shí)間值大于或等于所述時(shí)延值時(shí),將從fifo緩存器寫入數(shù)據(jù)的時(shí)刻起第二時(shí)鐘域的時(shí)鐘信號的下一個(gè)下降沿作為觸發(fā)器讀取數(shù)據(jù)的時(shí)刻。當(dāng)判定上述相位差對應(yīng)的時(shí)間值小于上述時(shí)延值時(shí),根據(jù)公式j(luò)=(δtmax-t/2-λ)/t+2,將從緩存器寫入數(shù)據(jù)的時(shí)刻起第二時(shí)鐘域的時(shí)鐘信號的第j個(gè)下降沿作為fifo觸發(fā)器讀取數(shù)據(jù)的時(shí)刻,其中,δtmax表示時(shí)延值,λ表示相位差,/表示整除符號,t表示第二時(shí)鐘域的時(shí)鐘信號的周期。
由上可見,本發(fā)明實(shí)施例中的數(shù)據(jù)讀取電路包括相位差確定模塊110、時(shí)延檢測模塊120以及讀取控制模塊130,其中,相位差確定模塊110可以確定隨路時(shí)鐘信號和本域的時(shí)鐘信號之間的相位差,時(shí)延檢測模塊120可以檢測數(shù)據(jù)在內(nèi)部傳輸?shù)臅r(shí)延值,讀取控制模塊130可以根據(jù)相位差和時(shí)延值確定讀取數(shù)據(jù)的時(shí)機(jī),進(jìn)而實(shí)現(xiàn)數(shù)據(jù)讀取。另外,本發(fā)明實(shí)施例中,除用于傳輸數(shù)據(jù)和隨路時(shí)鐘信號以外的i/o接口以外,在兩個(gè)時(shí)鐘域之間無需額外增加i/o接口,便可以確定隨路時(shí)鐘信號與本域的時(shí)鐘信號的相位差,減小了硬件的開銷和實(shí)現(xiàn)上的困難。
圖8是本發(fā)明實(shí)施例中一種相位差的確定方法的流程示意圖,所述方法可以應(yīng)用于圖3和/或圖4所描述的方法中的時(shí)延檢測模塊110。如圖所示本實(shí)施例中的相位差的確定方法的流程可以包括:
s101,獲取隨路時(shí)鐘信號。
s102,對第二時(shí)鐘域的時(shí)鐘信號進(jìn)行n級延遲,得到每一級的延遲時(shí)鐘信號,其中,所述n為大于1的整數(shù),所述n級延遲所產(chǎn)生的總延時(shí)大于所述第 二時(shí)鐘域的時(shí)鐘信號的時(shí)鐘周期。
例如,對第二時(shí)鐘域的時(shí)鐘信號clk_rx進(jìn)行多級延遲,分別得到每一級的延遲時(shí)鐘信號clk_rx_dly_1、clk_rx_dly_2、clk_rx_dly_3、……clk_rx_dly_n-1和clk_rx_dly_n,clk_rx_dly_n與clk_rx_dly_0之間的相位差超過360°,如圖5所示。
需要指出的是,步驟s101和步驟s102不分先后順序,是同步進(jìn)行的。
s103,在所述隨路時(shí)鐘信號的電平下降沿對應(yīng)的時(shí)刻,獲取所述每一級的延遲時(shí)鐘信號的電平。
需要指出的是,在獲取的多個(gè)電平中,前a個(gè)為高電平,中間b個(gè)為低電平,后c個(gè)為高電平,所述a、b和c為正整數(shù)。
例如,假設(shè)隨路時(shí)鐘信號clk_tx、第二時(shí)鐘域的時(shí)鐘信號clk_rx以及clk_rx_dly_1至clk_rx_dly_n的相位如圖5所示,那么當(dāng)檢測到clk_tx的電平下降沿(圖5中a所示)時(shí),獲取clk_rx_dly_1至clk_rx_dly_n的電平為0x111110000000001111(其中“1”表示高電平,“0”表示低電平),得到a=5,b=9,c=4。
s104,根據(jù)所述每一級的延遲時(shí)鐘信號的電平,確定所述隨路時(shí)鐘信號和所述第二時(shí)鐘域的時(shí)鐘信號之間的相位差。
可選的,根據(jù)公式
例如,假設(shè)a=5,b=9,c=4,根據(jù)“b=9”可知clk_tx從電平下降沿到電平上升沿之間有9個(gè)單位延遲,所以clk_tx的一個(gè)周期對應(yīng)的相位為2x9個(gè)單位延遲,根據(jù)“a=5,b=9”可知clk_rx的電平上升沿距離clk_tx的電平下降沿有5個(gè)單位延遲,所以clk_rx的上升沿距離clk_tx的上一個(gè)上升沿有9-5個(gè)單位延遲,從而得到clk_rx滯后于clk_tx的相位差為((9-5)/2x9)x360°=80°。
由上可見,本發(fā)明實(shí)施例中,對第二時(shí)鐘域的時(shí)鐘信號進(jìn)行n級延遲,得到每一級的延遲時(shí)鐘信號,再根據(jù)在隨路時(shí)鐘信號的電壓下降沿時(shí)每一級的延遲時(shí)鐘信號的電平,可以確定隨路時(shí)鐘信號和第二時(shí)鐘域的時(shí)鐘信號之間的相位差。
本發(fā)明實(shí)施例中的數(shù)據(jù)讀取電路包括相位差確定模塊、時(shí)延檢測模塊以及 讀取控制模塊,其中,相位差確定模塊可以確定隨路時(shí)鐘信號和本域的時(shí)鐘信號之間的相位差,時(shí)延檢測模塊可以檢測數(shù)據(jù)在內(nèi)部傳輸?shù)臅r(shí)延值,讀取控制模塊可以根據(jù)相位差和時(shí)延值確定讀取數(shù)據(jù)的時(shí)機(jī),進(jìn)而實(shí)現(xiàn)數(shù)據(jù)讀取。另外,本發(fā)明實(shí)施例中,除用于傳輸數(shù)據(jù)和隨路時(shí)鐘信號以外的i/o接口以外,在兩個(gè)時(shí)鐘域之間無需額外增加i/o接口,便可以確定隨路時(shí)鐘信號與本域的時(shí)鐘信號的相位差,減小了硬件的開銷和實(shí)現(xiàn)上的困難。
本領(lǐng)域普通技術(shù)人員可以理解實(shí)現(xiàn)上述實(shí)施例方法中的全部或部分流程,是可以通過計(jì)算機(jī)程序來指令相關(guān)的硬件來完成,所述的程序可存儲于一計(jì)算機(jī)可讀取存儲介質(zhì)中,該程序在執(zhí)行時(shí),可包括如上述各方法的實(shí)施例的流程。其中,所述的存儲介質(zhì)可為磁碟、光盤、只讀存儲記憶體(read-onlymemory,rom)或隨機(jī)存儲記憶體(randomaccessmemory,ram)等。
以上所揭露的僅為本發(fā)明較佳實(shí)施例而已,當(dāng)然不能以此來限定本發(fā)明之權(quán)利范圍,因此依本發(fā)明權(quán)利要求所作的等同變化,仍屬本發(fā)明所涵蓋的范圍。