專利名稱:源同步雙倍數據速率接口的采樣裝置及其采樣方法
技術領域:
本發明涉及通信與電子技術領域,尤其涉及一種源同步雙倍數據速率DDR接口的采樣裝置及其采樣方法。
背景技術:
隨著芯片處理性能的提高,芯片外部物理接口的速率也相應隨著提高,為了減少單板芯片間互連線,通常采用時鐘雙沿采樣的接口。DDR (Double Data Rate,雙倍數據速率)技術,即在時鐘的上升沿和下降沿都傳送數據,能在保持時鐘速率不變的情況下將數據傳送速率提高一倍,因此,DDR接口廣泛用于芯片之間的互連,例如RGMII接口(Reduced MediaIndependant Interface,簡化媒體獨立接口),XGMII (10 Gigabit MediaIndependent Interface, IOGb 媒體獨立接口)接口等。因而,在單板硬件設計中,芯片間互連,經常有不同類型物理接口對接的需求,這種情況下,需要在兩個芯片間增加接口轉換適配模塊,實現不同類型物理接口的轉換。一般這種場景下會采用可編程邏輯器件來實現接口的轉換,如采用現場可編程門陣列(FieldProgrammable Gate Array, FPGA)芯片。圖1是現有的一種源同步DDR接口的采樣裝置的示意圖,如圖1所示,包括PLL(Phase Lock Loop,鎖相環)/DLL (Delay Lock Loop,延遲鎖相環)模塊100、并行處理(Logic)模塊200和時鐘域轉換(FIFO)模塊300。接口信號包括一路隨路時鐘rx_clk,一組控制信號rxc[m:0],—組數據信號rxd[n:0]。采用鎖相環模塊100對輸入的隨路時鐘rx_elk進行移相,輸出兩路對隨路時鐘移相處理后的時鐘,一路為隨路時鐘經90度移相后輸出時鐘rx_clk90,另一路為隨路時鐘經270度移相后輸出時鐘rx_clk270,這兩路時鐘分別用時鐘上升沿對接口輸入控制rXC[m:0]和數據信號rxd[n:0]進行采樣。經過并行處理模塊200的采樣后得到和輸入數據位寬相等的兩組數據,將恢復出來的兩組數據拼成寫入時鐘域轉換FIFO模塊300,時鐘域轉換FIFO模塊300的讀接口采用邏輯內部系統工作時鐘,完成接口信號采樣和時鐘域轉換處理步驟。由于邏輯對每組該類型的物理接口進行數據采樣處理時,都需要占用一個鎖相環和全局(或局部)時鐘布線資源,多個接口則需要占用多個PLL或DLL模塊,然而,對于FPGA來說,PLL/DLL及全局/局部時鐘資源是有限的(例如altera S4 GX系列最大一款芯片EP4SGX530, PLL資源只有12個),需要優化使用,無法滿足數量較多的情況。而且,經過鎖相環模塊100輸出延遲90度和270度的時鐘相位只是一種理論值,由于時鐘線的布局時延不確定性,這個相位并不一定是最合適的采樣相位點,無法根據實際布局進行調整。
發明內容
有鑒于此,本發明的目的是提供一種源同步雙倍數據速率DDR接口的采樣裝置及其采樣方法,不占用FPGA上有限的鎖相環模塊,可以根據實際布局靈活地調整時鐘信號的延時。
為實現上述目的,本發明第一方面提供了一種源同步雙倍數據速率DDR接口的采樣裝置,所述源同步DDR接口的采樣裝置包括=IDELAY延時模塊、ISERDES串并轉換模塊、并行處理模塊和時鐘域切換模塊;所述IDELAY延時模塊,用于對輸入的時鐘信號進行延時,輸出滿足時序要求的時鐘信號給所述ISERDES串并轉換模塊;所述ISERDES串并轉換模塊,用于根據所述IDELAY延時模塊輸出的時鐘信號,對輸入的數據信號或控制信號進行串并轉換,輸出單沿采樣的數據信號或控制信號給所述并行處理模塊;所述并行處理模塊,用于根據所述ISERDES串并轉換模塊輸出的控制信號,識別所述數據信號中的有效數據,將所述有效數據的輸出時序轉換成寫接口時序,并將所述有效數據和寫接口時序發送給所述時鐘域切換模塊;所述時鐘域切換模塊,用于根據所述寫接口時序,緩存所述有效數據,并根據接收的讀接口時序輸出所述有效數據。結合第一方面,在 第一方面的第一種可能的實施方式中,所述采樣裝置還包括■ 與所述數據信號或控制信號的數量相等數量的IDELAY延時模塊,用于對所述數據信號或控制信號分別進行延時,輸出滿足時序要求的數據信號或控制信號給所述ISERDES串并轉換模塊。結合第一方面或第一方面的第一種可能的實施方式,在第一方面的第二種可能的實施方式中,所述滿足時序要求包括所述時鐘信號的采樣沿位于所述數據信號和控制信號的建立時間之后,并在所述數據信號和控制信號的保持時間之內。結合第一方面,在第一方面的第三種可能的實施方式中,所述并行處理模塊根據所述控制信號的電平或電平組合關系,識別所述數據信號的有效數據。結合第一方面或第一方面的第三種可能的實施方式,在第一方面的第四種可能的實施方式中,所述ISERDES串并轉換模塊的數量與所述控制信號和數據信號的數量之和相等,用以對所述控制信號和數據信號分別進行串并轉換。結合第一方面,在第一方面的第五種可能的實施方式中,所述IDELAY延時模塊和ISERDES串并轉換模塊為現場可編程門陣列FPGA芯片內部的模塊。第二方面,本發明還提供了一種源同步雙倍數據速率DDR接口的采樣方法,所述方法包括利用IDELAY延時模塊對輸入的時鐘信號進行延時,輸出滿足時序要求的時鐘信號;利用ISERDES串并轉換模塊根據延時后的所述時鐘信號,對輸入的雙沿采樣的數據信號或控制信號進行串并轉換,輸出單沿采樣的數據信號或控制信號;根據所述單沿采樣的控制信號,識別所述單沿采樣的數據信號中的有效數據,并將所述有效數據的輸出時序轉換成寫接口時序;根據所述寫接口時序,緩存所述有效數據,并根據接收的讀接口時序,輸出所述有效數據。結合第二方面,在第二方面的第一種可能的實施方式中,所述方法還包括
利用與所述數據信號或控制信號的數量相等數量的IDELAY延時模塊對所述數據信號或控制信號進行分別延時,輸出滿足時序要求的數據信號或控制信號;所述利用ISERDES串并轉換模塊根據延時后的所述時鐘信號,對輸入的雙沿采樣的數據信號或控制信號進行串并轉換,輸出單沿采樣的數據信號或控制信號,具體為利用ISERDES串并轉換模塊根據延時后的所述時鐘信號,對延時后的所述數據信號或控制信號進行串并轉換,輸出單沿采樣的數據信號或控制信號。結合第二方面或第二方面的第一種可能的實施方式,在第二方面的第二種可能的實施方式中,所述滿足時序要求包括所述時鐘信號的采樣沿位于所述數據信號和控制信號的建立時間之后,并在所述數據信號和控制信號的保持時間之內。結合第二方面或第二方面的第一種可能的實施方式,在第二方面的第三種可能的實施方式中,所述ISERDES串并轉換模塊的數量與所述控制信號和數據信號的數量之和相等,用以對所述控制信號和數據信號分別進行串并轉換。 本發明提供的源同步DDR接口的采樣裝置及其采樣方法,利用FPGA內部用于外掛memory (內存)接口 PHY模塊的IDELAY (延時),ISERDES (串并轉換)資源,實現源同步DDR接口的數據和控制信號采樣和串并轉換,不占用額外的邏輯資源,不受FPGA器件內部邏輯時鐘資源數目的限制,可以根據實際布局靈活地調整時鐘信號的延時。
圖1為現有的一種源同步DDR接口的采樣裝置的示意圖;圖2為本發明實施例提供的一種源同步DDR接口的采樣裝置的示意圖;圖3為圖2中各信號的時序圖;圖4為本發明實施例提供的又一種源同步DDR接口的采樣裝置的示意圖;圖5為本發明實施例提供的又一種源同步DDR接口的采樣裝置的示意圖;圖6為本發明實施例提供的源同步DDR接口的采樣方法流程圖;圖7是本發明實施例提供的源同步DDR接口的采樣裝置示意圖。
具體實施例方式下面通過附圖和實施例,對本發明的技術方案做進一步的詳細描述。本發明提供的源同步雙倍數據速率DDR接口的采樣裝置及采樣方法,利用FPGA部分通用IO的專有硬件模塊,實現源同步DDR類型接口的數據采樣,適用于各種采用DDR接口轉換、接口適配的場合,用于數據轉發和傳輸,例如網卡中的MAC (網絡控制器)和PHY (以太網芯片)之間的接口,XGMII,RGMII等。除標準的如XGMII,RGMII等DDR接口夕卜,還可以應用于自定義的邏輯間并行數據通道接收端,用以進行數據采樣和串并轉換處理。本發明中以在DSP (數字信號處理器)和CPU (微處理器)之間的數據傳輸為例進行說明,DSP作為上一級輸入端,CPU作為下一級讀取端,上一級輸入端輸入的接口信號包括時鐘信號、數據信號和控制信號,下一級讀取端輸入的接口信號包括系統內部時鐘信號、讀接口時序,所屬領域的技術人員應該理解,上一級和下一級可以互換,也可以為其他需要采用DDR接口數據傳輸的處理模塊,并不以此限制本發明。
圖2是本實施例提供的一種源同步DDR接口的采樣裝置的示意圖,如圖2所示,本發明的源同步DDR接口包括=IDELAY延時模塊10、ISERDES串并轉換模塊20、并行處理模塊30和時鐘域切換模塊40。IDELAY延時模塊10用于對輸入的時鐘信號rx_clk進行延時,輸出滿足時序要求的時鐘信號rx_clk_delay。IDELAY延時模塊10根據所述時序要求進行具體參數的配置,可以配置多個延時的時鐘信號,例如,移相90度或270度的時鐘信號,以輸出滿足時序要求的時鐘信號。參考時鐘信號ref_clk為全局時鐘信號,為整個系統的各個模塊提供一個基準的時鐘信號。其中,IDELAY延時模塊10采用FPGA芯片內部的IDELAY模塊實現,將上一級輸入的時鐘信號直接接到FPGA芯片內部的IDELAY模塊對應的輸入管腳,即FPGA的時鐘管腳,并將IDELAY模塊對應的輸出管腳連接至ISERDES串并轉換模塊20。滿足時序要求包括數據信號與隨路的時鐘信號之間的時序關系滿足器件對數據信號的建立時間和保持時間的要求;以及,控制信號與隨路的時鐘信號之間的時序關系滿足器件對控制信號的建立時間和保持時間的要求。在本實施例中,滿足時序要求具體包括所述時鐘信號的采樣沿位于所述數據信號和控制信號的建立時間之后,并在所述數據信號和控制信號的保持時間之內。也就是說,在時鐘信號的采樣沿時刻,數據信號需要處于穩定的狀態,此時滿足時序要求。如圖3的時序圖所示,控制信號rXC[m:0]用以標識數據有效區間,tsu表示數據信號rXd[n:0]的建立時間,th表示數據信號rXd[n:0]的保持時間,外部輸入的時鐘信號rx_clk的采樣沿(上升沿)和控制信號rXC[m:0]、數據信號rXd[n:0]基本對齊,這樣,控制信號rXC[m:0]和數據信號rXd[n:0]在時鐘信號rx_clk的上升沿時刻還處于不穩定的狀態,即沒有足夠的建立時間使控制信號rxc[m:0]和數據信號rxd[n:0]穩定,不滿足時序要求,經過IDELAY延時模塊10延時后輸出時鐘信號rx_clk_delay,可以看出,該時鐘信號rx_clk_delay位于控制信號rXC[m:0]和數據信號rxd[n:0]的中間位置,有充分的建立時間和保持時間,保證數據和控制信號的可靠采樣。ISERDES串并轉換模塊20與IDELAY延時模塊10相連接,用于根據IDELAY延時模塊10輸出的時鐘信號rx_clk_delay,對上一級輸入的雙沿采樣的數據信號rxd[n:0]或控制信號rXC[m:0]進行串并轉換,輸出單沿采樣的數據信號rX_data[2n+l:0]或控制信號rx_Ctrl[2m+l:0]。其中,m和n是預設整數,與數據信號和控制信號的個數相關,例如,如果有8個數據信號,則n=7,rxd[7:0]表示對應的8個數據信號。ISERDES串并轉換模塊20的數量與所述控制信號和數據信號的數量之和相相等,有多少個控制和數據信號就需要多少個ISERDES串并轉換模塊20,用以對所述控制信號和數據信號分別進行串并轉換。其中,ISERDES串并轉換模塊20采用FPGA芯片內部的ISERDES模塊實現,對于每個控制和數據信號分別接一個ISERDES模塊,每個ISERDES模塊與IDELAY模塊相連接,ISERDES模塊的輸入管腳連接IDELAY模塊的輸出管腳和上一級輸入的數據信號和控制信號,ISERDES模塊根據IDELAY模塊輸出的時鐘信號,對輸入的數據和控制信號進行串并轉換,將雙沿采樣的數據和控制信號轉換成單沿采樣的數據和控制信號后輸出。由于雙沿采樣的數據信號在時鐘的上升沿和下降沿時刻均進行采樣,而單沿采樣的數據信號僅在時鐘的上升沿或下降沿時刻進行采樣(通常只在上升沿時刻進行采樣),這樣在輸出數據時需要更多位的數據線輸出,例如,采用IOOM時鐘信號的雙沿采樣的數據信號,在時鐘的上升沿和下降沿時刻都采樣數據,相當于單沿采樣的200M時鐘。因而,對于輸入的n+1個數據信號rxd[n:0]經過串并轉換后變成2(n+l)個數據信號rx_data[2n+l :0]。也就是說,如果ISERDES串并轉換模塊輸入的數據信號為8比特數據,則經過ISERDES串并轉換模塊的串并轉換后,輸出16比特數據。具體地,ISERDES串并轉換模塊20在時鐘信號rx_clk_delay的上升沿和下降沿都對數據信號rxd[n:0]和控制信號rXC[m:0]進行采樣,直接輸出兩倍位寬的單沿采樣的數據信號rx_data [2n+l: 0]和控制信號rX_Ctrl [2m+l: 0],可以是上升沿采樣也可以是下降沿采樣的。并行處理模塊30與IDELAY延時模塊10和ISERDES串并轉換模塊20相連接,用于根據ISERDES串并轉換模塊20輸出的控制信號rx_ctrl [2m+l:0],識別所述數據信號中的有效數據wr_data[2n+l:0],并將所述有效數據wr_data[2n+l :0]的輸出時序轉換成寫接口時序,包括緩存寫使能信號wr_en和寫入緩存數據信號wr_data[2n+l :0]。并行處理模塊30根據所述控制信號rX_Ctrl [2m+l:0]的電平或電平組合關系,識別所述數據信號rx_data [2n+l: 0]的有效數據。控制信號是用來標識數據信號是否有效,或是否正確。例如,對于單邊信號,通過高電平標識數據信號有效,低電平標識數據信號無效。對于多邊信號,通過電平組合關系,表示哪一段數據是有效的,該段數據是正確的或錯誤的。并行處理模塊30還可以用于調整數據的位序的功能,并將有效數據的輸出時序關系轉換成FIFO的寫接口時序。時鐘域切換模塊40與IDELAY延時模塊10和并行處理模塊30相連接,用于根據所述寫接口時序wr_en,接收所述有效數據wr_data[2n+l: 0],用以下一級讀取所述有效數據。時鐘域切換模塊40是一個緩存,采用先進先出(FIFO)的方式進行存儲和輸出。當FIFO存儲完一段有效數據時,觸發讀接口時序rd_en。時鐘域切換模塊40讀接口采用邏輯內部主工作時鐘信號main_clk,根據所述內部時鐘信號main_clk,在接收到緩存模塊有數據可以讀取時,觸發讀接口時序rd_en使能,根據所述讀接口時序讀取在FIFO中存儲的有效數據。也就是說,將上一級時鐘域的數據同步到下一級時鐘域中。例如,對于DDR接口的上一級的DSP模塊是按照100M的時鐘信號進行處理的,但DDR接口的下一級CPU可能按照200M的時鐘信號進行處理,通過時鐘域切換模塊40即可實現傳輸的數據信號時鐘域的切換。數據信號按照DSP模塊的時鐘信號往時鐘域切換模塊40存儲,而CPU按照CPU的時鐘信號從時鐘域切換模塊40中讀取數據信號。本發明實施例中對每根數據信號和控制信號分別設置IDELAY延時模塊10,可以對各個數據信號、控制信號延時的不同情況進行調整,靈活精確地保證該些數據信號和控制信號的延時一致,使得其采用建立時間和保持時間能夠滿足實際使用的器件的時序要求。 對于輸入的數據信號rxd [n: 0]和控制信號rxc [m: 0],如果由于單板走線不等長原因,導致時序不能滿足要求,可以采用IDELAY延時模塊10對數據信號和控制信號進行時序調整。如圖4所示,對輸入的每根數據信號和控制信號的后端也增加IDELAY延時模塊10,對每根數據信號和控制信號進行時序調整,直到滿足時序要求,輸出滿足時序要求的數據信號rx_data_delay [2n+l :0]和控制信號rx_ctrl_delay [2m+l: 0]。具體的時序要求如圖3所示,即為時鐘信號的采樣沿位于所述數據信號和控制信號的建立時間之后,并在所述數據信號和控制信號的保持時間之內。此時,對輸入的時鐘信號rx_clk僅需要進行一個相位的延時調整,數據根據實際情況調整到滿足時序要求即可。在本實施例中,每一個控制信號和數據信號對應采用一個IDELAY延時模塊,可以靈活地調整數據信號或控制信號與時鐘信號的時序關系。對于利用同一個FPGA芯片實現多個源同步DDR接口的采樣裝置的場景,例如,實現多個DSP模塊與一個CPU中多個管腳之間的DDR接口的采樣裝置時,可以相應地增加FPGA所用的管腳數量,以形成多個源同步DDR接口的采樣裝置,進行數據傳輸和轉發。如圖5所示,上一級輸入的接口信號包括k+l個輸入的時鐘信號rx0_clk rxk_elk,對應包括k+1組數據信號rxd0[n:0] rxdk[n:0]和k+1組控制信號rxcO [m: 0] rxck[m: 0]。下一級讀取端輸入的接口信號包括系統內部時鐘信號main_clk, k+1個讀接口時序rd_en0 rd_enk,讀取k+1組數據信號rd_rxdataO [2n+l: 0] rd_rxdatak[2n+l:0]。該源同步DDR接口的采樣裝置對于每個輸入的時鐘信號及其對應的數據信號和控制信號設置的IDELAY延時模塊10、ISERDES串并轉換模塊20、并行處理模塊30和時鐘域切換模塊40與圖4中所示的相同,具體的處理過程也與圖4中的相同,于此不再贅述。圖6是本發明實施例提供的源同步DDR接口的采樣方法流程圖,如圖6所示,本發明的采樣方法包括步驟S101、利用IDELAY延時模塊對輸入的時鐘信號進行延時,輸出滿足時序要求的時鐘信號。根據所述時序要求進行具體參數的配置,可以配置多個延時的時鐘信號,例如,移相90度或270度的時鐘信號,以輸出滿足時序要求的時鐘信號。滿足時序要求是指數據信號或控制信號和隨路的時鐘信號之間的時序關系滿足器件對數據信號的建立時間和保持時間的要求。在本發明實施例中,滿足時序要求具體包括所述時鐘信號的采樣沿位于所述數據信號和控制信號的建立時間之后,并在所述數據信號和控制信號的保持時間之內。也就是說,在時鐘信號的采樣沿時刻,數據信號需要處于穩定的狀態,此時滿足時序要求。步驟S102、利用ISERDES串并轉換模塊根據延時后的所述時鐘信號,對輸入的雙沿采樣的數據信號或控制信號進行串并轉換,輸出單沿采樣的數據信號或控制信號。由于雙沿采樣的數據信號在時鐘的上升沿和下降沿時刻均進行采樣,而單沿采樣的數據信號僅在時鐘的上升沿或下降沿時刻進行采樣,這樣在輸出數據時需要更多位的數據線輸出,例如,采用IOOM時鐘信號的雙沿采樣的數據信號,在時鐘的上升沿和下降沿時刻都采樣數據,相當于單沿采樣的200M時鐘。因而,需要對輸入的雙沿采樣的數據信號或控制信號進行串并轉換,輸出單沿采樣的數據信號或控制信號。優選地,步驟SlOl中也可以包括利用與所述數據信號或控制信號的數量相等數量的IDELAY延時模塊對輸入的雙沿采樣的數據信號或控制信號進行延時,輸出滿足時序要求的雙沿采樣的數據信號或控制信號。
步驟S102則利用ISERDES串并轉換模塊根據延時后的所述時鐘信號,對延時后的所述數據信號或控制信號進行串并轉換,輸出單沿采樣的數據信號或控制信號。步驟S103、根據所述單沿采樣的控制信號,識別所述單沿采樣的數據信號中的有效數據,并將所述有效數據的輸出時序轉換成寫接口時序。根據所述控制信號的電平或電平組合關系,識別所述數據信號的有效數據。控制信號是用來標識數據信號是否有效,或是否正確。例如,對于單邊信號,通過高電平標識數據信號有效,低電平標識數據信號無效。對于多邊信號,通過電平組合關系,表示哪一段數據是有效的,該段數據是正確的或錯誤的。步驟S104、根據所述寫接口時序,緩存所述有效數據,并根據接收的讀接口時序輸出所述有效數據。這個步驟是一個緩存,采用先進先出(FIFO)的方式進行存儲和輸出。當FIFO存儲完一段有效數據時,觸發下一級的讀接口時序,下一級則根據內部時鐘信號,在接收到寫接口時序的觸發時,使得讀接口時序使能,根據所述讀接口時序讀取在FIFO中存儲的有效數據。本發明提供的源同步DDR接口的采樣裝置及其采樣方法,利用FPGA邏輯器件管腳上的硬件資源,對源同步DDR接口輸入端數據和控制信號進行采樣,無需使用FPGA器件上有限的鎖相環模塊,可以不受FPGA器件內部邏輯時鐘資源數目的限制,而且還可以根據時鐘線的布局時延的實際情況,對于單板走線不等長等原因導致的時序不能滿足要求的情況,可以分別對每根數據和控制信號以及時鐘信號進行時序調整,直到滿足時序要求,靈活方便,提高源同步的準確度。圖7是本發明實施例提供的源同步DDR接口的采樣裝置示意圖,如圖7所示,該采樣裝置包括網絡接口 71、處理器72和存儲器73。系統總線74用于連接網絡接口 71、處理器72和存儲器73。網絡接口 71用于與時鐘信號、控制信號和數據信號的輸入端進行通信。存儲器73可以是永久存儲器,例如硬盤驅動器和閃存,存儲器73中具有軟件模塊和設備驅動程序。軟件模塊能夠執行本發明上述方法的各種功能模塊;設備驅動程序可以是網絡和接口驅動程序。在啟動時,這些軟件組件被加載到存儲器73中,然后被處理器72訪問并執行如下指令利用IDELAY延時模塊對輸入的時鐘信號進行延時,輸出滿足時序要求的時鐘信號;利用ISERDES串并轉換模塊根據延時后的所述時鐘信號,對輸入的雙沿采樣的數據信號或控制信號進行串并轉換,輸出單沿采樣的數據信號或控制信號;根據所述單沿采樣的控制信號,識別所述單沿采樣的數據信號中的有效數據,并將所述有效數據的輸出時序轉換成寫接口時序;根據所述寫接口時序,緩存所述有效數據,并根據接收的讀接口時序,輸出所述有效數據。本實施例的采樣裝置利用FPGA內部的IDELAY,ISERDES資源,實現源同步DDR接口的數據和控制信號采樣和串并轉換,不占用額外的邏輯資源,不受FPGA器件內部邏輯時鐘資源數目的限制,可以根據實際布局靈活地調整時鐘信號的延時。進一步的,所述處理器訪問存儲器73的軟件組件后,執行以下過程的指令利用與所述數據信號或控制信號的數量相等數量的IDELAY延時模塊對所述數據信號或控制信號進行分別延時,輸出滿足時序要求的數據信號或控制信號;利用ISERDES串并轉換模塊根據延時后的所述時鐘信號,對延時后的所述數據信號或控制信號進行串并轉換,輸出單沿采樣的數據信號或控制信號。上述指令過程就是對每一個控制信號和數據信號對應采用一個IDELAY延時模塊,可以靈活地調整數據信號或控制信號與時鐘信號的時序關系。專業人員應該還可以進一步意識到,結合本文中所公開的實施例描述的各示例的單元及算法步驟,能夠以電子硬件、計算機軟件或者二者的結合來實現,為了清楚地說明硬件和軟件的可互換性,在上述說明中已經按照功能一般性地描述了各示例的組成及步驟。這些功能究竟以硬件還是軟件方式來執行,取決于技術方案的特定應用和設計約束條件。專業技術人員可以對每個特定的應用來使用不同方法來實現所描述的功能,但是這種實現不應認為超出本發明的范圍。結合本文中所公開的實施例描述的方法或算法的步驟可以用硬件、處理器執行的軟件模塊,或者二者的結合來實施。軟件模塊可以置于隨機存儲器(RAM)、內存、只讀存儲器(ROM)、電可編程ROM、電可擦除可編程ROM、寄存器、硬盤、可移動磁盤、CD-ROM、或技術領域內所公知的任意其它形式的存儲介質中。以上所述的具體實施方式
,對本發明的目的、技術方案和有益效果進行了進一步詳細說明,所應理解的是,以上所述僅為本發明的具體實施方式
而已,并不用于限定本發明的保護范圍,凡在本發明的精神和原則之內,所做的任何修改、等同替換、改進等,均應包含在本發明的保護范圍之內。
權利要求
1.一種源同步雙倍數據速率DDR接口的采樣裝置,其特征在于,所述裝置包括=IDELAY延時模塊、ISERDES串并轉換模塊、并行處理模塊和時鐘域切換模塊; 所述IDELAY延時模塊,用于對輸入的時鐘信號進行延時,輸出滿足時序要求的時鐘信號給所述ISERDES串并轉換模塊; 所述ISERDES串并轉換模塊,用于根據所述IDELAY延時模塊輸出的時鐘信號,對輸入的數據信號或控制信號進行串并轉換,輸出單沿采樣的數據信號或控制信號給所述并行處理模塊; 所述并行處理模塊,用于根據所述ISERDES串并轉換模塊輸出的控制信號,識別所述數據信號中的有效數據,將所述有效數據的輸出時序轉換成所述時鐘域切換模塊的寫接口時序,并將所述有效數據和寫接口時序發送給所述時鐘域切換模塊; 所述時鐘域切換模塊,用于根據所述寫接口時序,緩存所述有效數據,并根據接收的讀接口時序輸出所述有效數據。
2.根據權利要求1所述的源同步DDR接口的采樣裝置,其特征在于,所述采樣裝置還包括與所述數據信號或控制信號的數量相等數量的IDELAY延時模塊,用于對所述數據信號或控制信號分別進行延時,輸出滿足時序要求的數據信號或控制信號給所述ISERDES串并轉換模塊。
3.根據權利要求1或2所述的源同步DDR接口的采樣裝置,其特征在于,所述滿足時序要求包括 所述時鐘信號的采樣沿位于所述數據信號和控制信號的建立時間之后,并在所述數據信號和控制信號的保持時間之內。
4.根據權利要求1所述的源同步DDR接口的采樣裝置,其特征在于,所述并行處理模塊根據所述控制信號的電平或電平組合關系,識別所述數據信號的有效數據。
5.根據權利要求1或4所述的源同步DDR接口的采樣裝置,其特征在于,所述ISERDES串并轉換模塊的數量與所述控制信號和數據信號的數量之和相等,用以對所述控制信號和數據信號分別進行串并轉換。
6.根據權利要求1所述的源同步DDR接口的采樣裝置,其特征在于,所述IDELAY延時模塊和ISERDES串并轉換模塊為現場可編程門陣列FPGA芯片內部的模塊。
7.一種源同步DDR接口的采樣方法,其特征在于,所述方法包括 利用IDELAY延時模塊對輸入的時鐘信號進行延時,輸出滿足時序要求的時鐘信號;利用ISERDES串并轉換模塊根據延時后的所述時鐘信號,對輸入的雙沿采樣的數據信號或控制信號進行串并轉換,輸出單沿采樣的數據信號或控制信號; 根據所述單沿采樣的控制信號,識別所述單沿采樣的數據信號中的有效數據,并將所述有效數據的輸出時序轉換成寫接口時序; 根據所述寫接口時序,緩存所述有效數據,并根據接收的讀接口時序,輸出所述有效數據。
8.根據權利要求7所述的源同步DDR接口的采樣方法,其特征在于,所述方法還包括 利用與所述數據信號或控制信號的數量相等數量的IDELAY延時模塊對所述數據信號或控制信號進行分別延時,輸出滿足時序要求的數據信號或控制信號; 所述利用ISERDES串并轉換模塊根據延時后的所述時鐘信號,對輸入的雙沿采樣的數據信號或控制信號進行串并轉換,輸出單沿采樣的數據信號或控制信號,具體為 利用ISERDES串并轉換模塊根據延時后的所述時鐘信號,對延時后的所述數據信號或控制信號進行串并轉換,輸出單沿采樣的數據信號或控制信號。
9.根據權利要求7或8所述的源同步DDR接口的采樣方法,其特征在于,所述滿足時序要求包括 所述時鐘信號的采樣沿位于所述數據信號和控制信號的建立時間之后,并在所述數據信號和控制信號的保持時間之內。
10.根據權利要求7或8所述的源同步DDR接口的采樣方法,其特征在于,所述ISERDES串并轉換模塊的數量與所述控制信號和數據信號的數量之和相等,用以對所述控制信號和數據信號分別進行串并轉換。
全文摘要
本發明涉及一種源同步雙倍數據速率DDR接口的采樣裝置及其采樣方法,所述裝置包括延時模塊,用于對輸入的時鐘信號進行延時,輸出滿足時序要求的時鐘信號;串并轉換模塊,用于根據所述延時模塊輸出的時鐘信號,對輸入的數據信號或控制信號進行串并轉換;并行處理模塊,用于根據所述串并轉換模塊輸出的控制信號,識別所述數據信號中的有效數據,并將所述有效數據的輸出時序轉換成時鐘域切換模塊的寫接口時序;時鐘域切換模塊,用于根據所述寫接口時序,緩存所述有效數據,并根據接收的讀接口時序輸出所述有效數據。本發明不采用鎖相環模塊,避免占用有限的邏輯資源,減少受FPGA器件內部邏輯時鐘資源數的限制。
文檔編號G06F13/36GK103064809SQ20121055875
公開日2013年4月24日 申請日期2012年12月20日 優先權日2012年12月20日
發明者葉樹瓊 申請人:華為技術有限公司