一種分布控制雙時(shí)鐘異步發(fā)送、接收模塊及fifo裝置制造方法
【專利摘要】本發(fā)明涉及一種分布控制雙時(shí)鐘異步發(fā)送、接收模塊及FIFO裝置,本發(fā)明采用源同步方式傳輸寫數(shù)據(jù),發(fā)送方的時(shí)鐘樹無需分布到接收方模塊,從而實(shí)現(xiàn)真正的時(shí)鐘域局部化,降低物理實(shí)現(xiàn)的時(shí)鐘樹平衡開銷。本發(fā)明發(fā)送方和接收方內(nèi)部各設(shè)置一套讀指針和寫指針。兩套讀、寫指針之間通過讀、寫脈沖實(shí)現(xiàn)“跟隨”變化,F(xiàn)IFO判滿邏輯放置在發(fā)送方,判空邏輯放置在接收方,實(shí)現(xiàn)分布控制。接收方和發(fā)送方之間既不需要傳輸讀、寫指針,也不需要傳輸同步的空滿信號,只傳輸讀脈沖和寫脈沖即可,從而進(jìn)一步減少了跨時(shí)鐘域傳輸?shù)目刂菩盘枖?shù)量。
【專利說明】一種分布控制雙時(shí)鐘異步發(fā)送、接收模塊及FIFO裝置
【技術(shù)領(lǐng)域】
[0001]本發(fā)明涉及超大規(guī)模集成電路【技術(shù)領(lǐng)域】中的雙時(shí)鐘異步FIFO裝置,特別是涉及一種分布控制雙時(shí)鐘異步發(fā)送、接收模塊及FIFO裝置。
【背景技術(shù)】
[0002]超大規(guī)模數(shù)字電路設(shè)計(jì)中一般采用GALS (Globally Asynchronous LocallySynchronous)方式實(shí)現(xiàn)異步和同步設(shè)計(jì)的混合。各個(gè)模塊內(nèi)部使用傳統(tǒng)的同步設(shè)計(jì)技術(shù),而這些同步模塊之間信號傳輸采用異步方式。這種設(shè)計(jì)方法簡化了超大規(guī)模集成電路芯片的設(shè)計(jì)復(fù)雜度,卻引入了不同時(shí)鐘域之間信號傳輸?shù)耐絾栴}。如何在不同模塊之間進(jìn)行可靠、高效的數(shù)據(jù)異步傳輸,成為GALS設(shè)計(jì)的關(guān)鍵之一。
[0003]雙時(shí)鐘FIFO (dual-clock first-1nput first-output)或混合時(shí)鐘FIFO(mixed-clock FIFO)適合實(shí)現(xiàn)不同時(shí)鐘域之間的數(shù)據(jù)傳輸,這種技術(shù)對不同時(shí)鐘域的時(shí)鐘沒有頻率和相位要求,具有良好的適應(yīng)性。傳統(tǒng)的雙時(shí)鐘FIFO將控制邏輯和存儲體作為一個(gè)整體,集中放置在高頻模塊一端,這種設(shè)計(jì)方式要求將相對低頻的時(shí)鐘樹分布到高頻區(qū)域。但隨著芯片規(guī)模的擴(kuò)大和時(shí)鐘種類的增加,尤其是芯片內(nèi)不同工作時(shí)鐘頻率的整體提高,給時(shí)鐘樹設(shè)計(jì)以及控制模塊之間信號的延時(shí)控制帶來較大的困難。
【發(fā)明內(nèi)容】
[0004]本發(fā)明所要解決的技術(shù)問題是提供一種分布控制雙時(shí)鐘異步發(fā)送、接收模塊及FIFO裝置,避免了將發(fā)送方時(shí)鐘樹分布到接收方而增加時(shí)鐘網(wǎng)絡(luò)設(shè)計(jì)的復(fù)雜度。
[0005]本發(fā)明解決其技術(shù)問題所采用的技術(shù)方案是:提供一種分布控制雙時(shí)鐘異步發(fā)送模塊,包括相互連接的源同步信號生成邏輯電路和滿標(biāo)志生成邏輯電路,所述源同步信號生成邏輯電路包括寫脈沖生成電路和寫數(shù)據(jù)通路,所述寫脈沖生成電路用于產(chǎn)生寫脈沖信號;所述寫數(shù)據(jù)通路用于產(chǎn)生寫數(shù)據(jù)信號;所述寫脈沖信號為無固定變化周期的信號,所述寫脈沖信號維持在有效狀態(tài)的時(shí)間總是等于1/2個(gè)源方時(shí)鐘域的時(shí)鐘周期,所述寫脈沖信號維持在無效狀態(tài)的時(shí)間為(m+l)/2個(gè)源方時(shí)鐘域的時(shí)鐘周期,其中,m為自然數(shù);所述寫脈沖信號有效一次即表示有一組信號需要異步交接,且需要交接的信號通過寫數(shù)據(jù)信號傳遞給目標(biāo)方的異步信號接收模塊,所述的寫數(shù)據(jù)信號僅同步于所述寫脈沖信號,且與源方時(shí)鐘域的時(shí)鐘沒有相位依賴關(guān)系,與目標(biāo)方時(shí)鐘域的時(shí)鐘沒有頻率和相位依賴關(guān)系。
[0006]所述滿標(biāo)志生成邏輯電路包括讀指針跟蹤邏輯電路、寫指針跟蹤邏輯電路、讀指針同步器和判滿邏輯電路;所述讀指針跟蹤邏輯電路采用接收方讀脈沖進(jìn)行讀指針計(jì)數(shù),而后使用所述讀指針同步器將格雷碼讀指針同步到發(fā)送方主時(shí)鐘,經(jīng)同步后的格雷碼讀指針與所述寫指針跟蹤邏輯電路生成的格雷碼寫指針,所述判滿邏輯電路采用所述格雷碼寫指針進(jìn)行“滿”狀態(tài)判斷。
[0007]所述寫脈沖生成電路在所述判滿邏輯電路判定為非滿狀態(tài),且寫請求有效時(shí)將內(nèi)部寫使能信號轉(zhuǎn)換成寬度為半個(gè)時(shí)鐘周期的寫脈沖信號。
[0008]本發(fā)明解決其技術(shù)問題所采用的技術(shù)方案是:還提供一種分布控制雙時(shí)鐘異步接收模塊,包括相互連接的讀脈沖生成電路和空標(biāo)志生成邏輯電路,以及獨(dú)立的FIFO存儲器陣列,所述讀脈沖生成電路用于產(chǎn)生讀脈沖信號;所述的讀脈沖信號是無固定變化周期的信號,所述讀脈沖信號維持在有效狀態(tài)的時(shí)間總是等于1/2個(gè)目標(biāo)方時(shí)鐘域的時(shí)鐘周期,讀脈沖信號維持為無效狀態(tài)的時(shí)間為(k+l)/2個(gè)目標(biāo)方時(shí)鐘域的時(shí)鐘周期,其中,k為自然數(shù),所述讀脈沖信號有效一次就表示異步信號接收方已經(jīng)從異步FIFO內(nèi)部取出了一組異步交接信號,所述讀脈沖信號與目標(biāo)方時(shí)鐘域的時(shí)鐘信號沒有相位依賴關(guān)系,與源方時(shí)鐘域的時(shí)鐘沒有頻率和相位依賴關(guān)系。
[0009]所述空標(biāo)志生成邏輯電路包括寫指針生成邏輯電路、讀指針生成邏輯電路、寫指針同步器和判空邏輯電路;所述寫指針生成邏輯電路采用發(fā)送方寫脈沖信號進(jìn)行寫指針計(jì)數(shù),而后使用所述寫指針同步器將格雷碼寫指針同步到接收方主時(shí)鐘,經(jīng)同步后的格雷碼寫指針與讀指針生成邏輯電路生成的格雷碼讀指針,所述判空邏輯電路采用所述格雷碼讀指針進(jìn)行“空”狀態(tài)判斷。
[0010]所述讀脈沖生成電路在所述判空邏輯電路判定為非空狀態(tài),且讀請求有效時(shí)將內(nèi)部讀使能信號轉(zhuǎn)換成寬度為半個(gè)接收方時(shí)鐘周期的讀脈沖。
[0011]所述FIFO存儲器陣列采用雙端口 SRAM、觸發(fā)器或Latch陣列實(shí)現(xiàn);所述FIFO存儲器陣列使用寫脈沖信號作為工作時(shí)鐘。
[0012]所述FIFO存儲器陣列使用移位寄存器組表示當(dāng)前可寫入位置,所述移位寄存器組中只有I位輸出為高電平,表示對應(yīng)的FIFO存儲器陣列條目能夠?qū)懭?,所述的移位寄存器組中其余位輸出均為低電平,表示對應(yīng)的FIFO存儲器陣列條目不能寫入,當(dāng)所述的寫脈沖信號為有效狀態(tài)時(shí),移位寄存器組的內(nèi)容循環(huán)左移I位,指向FIFO存儲器陣列的下一個(gè)可寫入位置。
[0013]本發(fā)明解決其技術(shù)問題所采用的技術(shù)方案是:還提供一種分布控制雙時(shí)鐘異步FIFO裝置,包括上述的分布控制雙時(shí)鐘異步發(fā)送模塊和分布控制雙時(shí)鐘異步接收模塊;所述分布控制雙時(shí)鐘異步發(fā)送模塊放置在異步信號交接所涉及的源方時(shí)鐘域,所述分布控制雙時(shí)鐘異步接收模塊放置在異步信號交接所涉及的目標(biāo)方時(shí)鐘域;所述分布控制雙時(shí)鐘異步發(fā)送模塊僅使用源方時(shí)鐘域的時(shí)鐘,所述分布控制雙時(shí)鐘異步接收模塊僅使用目標(biāo)方時(shí)鐘域的時(shí)鐘;連接所述分布控制雙時(shí)鐘異步發(fā)送模塊和分布控制雙時(shí)鐘異步接收模塊之間的信號只包含I位寫脈沖信號,η位寫數(shù)據(jù)信號和I位讀脈沖信號。
[0014]有益效果
[0015]由于采用了上述的技術(shù)方案,本發(fā)明與現(xiàn)有技術(shù)相比,具有以下的優(yōu)點(diǎn)和積極效果:
[0016]本發(fā)明采用源同步方式傳輸寫數(shù)據(jù),發(fā)送方的時(shí)鐘樹無需分布到接收方模塊,從而實(shí)現(xiàn)真正的時(shí)鐘域局部化,降低物理實(shí)現(xiàn)的時(shí)鐘樹平衡開銷。
[0017]本發(fā)明發(fā)送方和接收方內(nèi)部各設(shè)置一套讀指針和寫指針。兩套讀、寫指針之間通過讀、寫脈沖實(shí)現(xiàn)“跟隨”變化,F(xiàn)IFO判滿邏輯放置在發(fā)送方,判空邏輯放置在接收方,實(shí)現(xiàn)分布控制。接收方和發(fā)送方之間既不需要傳輸讀、寫指針,也不需要傳輸同步的空滿信號,只傳輸讀脈沖和寫脈沖即可,從而進(jìn)一步減少了跨時(shí)鐘域傳輸?shù)目刂菩盘枖?shù)量。
[0018]本發(fā)明在物理實(shí)現(xiàn)時(shí),只需要控制寫脈沖和寫數(shù)據(jù)信號之間的偏斜,而對于這組信號的傳輸延時(shí)沒有要求,因此在兩個(gè)距離較遠(yuǎn)的模塊之間進(jìn)行異步數(shù)據(jù)傳輸時(shí),有利于降低物理實(shí)現(xiàn)的復(fù)雜度。
【專利附圖】
【附圖說明】
[0019]圖1是本發(fā)明異步信號發(fā)送模塊的結(jié)構(gòu)示意圖;
[0020]圖2是本發(fā)明異步信號接收模塊的結(jié)構(gòu)示意圖;
[0021]圖3是本發(fā)明中異步FIFO存儲器陣列的結(jié)構(gòu)示意圖;
[0022]圖4是本發(fā)明分布控制雙時(shí)鐘異步FIFO裝置的結(jié)構(gòu)示意圖。
【具體實(shí)施方式】
[0023]下面結(jié)合具體實(shí)施例,進(jìn)一步闡述本發(fā)明。應(yīng)理解,這些實(shí)施例僅用于說明本發(fā)明而不用于限制本發(fā)明的范圍。此外應(yīng)理解,在閱讀了本發(fā)明講授的內(nèi)容之后,本領(lǐng)域技術(shù)人員可以對本發(fā)明作各種改動(dòng)或修改,這些等價(jià)形式同樣落于本申請所附權(quán)利要求書所限定的范圍。
[0024]本發(fā)明的第一實(shí)施方式涉及一種分布控制雙時(shí)鐘異步發(fā)送模塊,如圖1所示,包括相互連接的源同步信號生成邏輯電路和滿標(biāo)志生成邏輯電路,所述源同步信號生成邏輯電路包括寫脈沖生成電路和寫數(shù)據(jù)通路,所述寫脈沖生成電路用于產(chǎn)生寫脈沖信號;所述寫數(shù)據(jù)通路用于產(chǎn)生寫數(shù)據(jù)信號;所述寫脈沖信號為無固定變化周期的信號,所述寫脈沖信號維持在有效狀態(tài)的時(shí)間總是等于1/2個(gè)源方時(shí)鐘域的時(shí)鐘周期,所述寫脈沖信號維持在無效狀態(tài)的時(shí)間為(m+l)/2個(gè)源方時(shí)鐘域的時(shí)鐘周期,其中,m為自然數(shù)(O或正整數(shù));所述寫脈沖信號有效一次即表示有一組信號需要異步交接,且需要交接的信號通過寫數(shù)據(jù)信號傳遞給目標(biāo)方的異步信號接收模塊,所述的寫數(shù)據(jù)信號僅同步于所述寫脈沖信號,且與源方時(shí)鐘域的時(shí)鐘沒有相位依賴關(guān)系,與目標(biāo)方時(shí)鐘域的時(shí)鐘沒有頻率和相位依賴關(guān)系O
[0025]所述滿標(biāo)志生成邏輯電路包括讀指針跟蹤邏輯電路、寫指針跟蹤邏輯電路、讀指針同步器和判滿邏輯電路;所述讀指針跟蹤邏輯電路采用接收方讀脈沖進(jìn)行讀指針計(jì)數(shù),而后使用所述讀指針同步器將格雷碼讀指針同步到發(fā)送方主時(shí)鐘,經(jīng)同步后的格雷碼讀指針與所述寫指針跟蹤邏輯電路生成的格雷碼寫指針,所述判滿邏輯電路采用所述格雷碼寫指針進(jìn)行“滿”狀態(tài)判斷。
[0026]當(dāng)FIFO狀態(tài)為“非滿”且寫請求wen有效時(shí),發(fā)送方會產(chǎn)生內(nèi)部寫使能信號c_wen。寫脈沖生成電路將c_wen轉(zhuǎn)換成寬度為半個(gè)發(fā)送方時(shí)鐘周期的寫脈沖snd2rcv_wclk,發(fā)送到接收方。寫脈沖使用寫使能信號和寫時(shí)鐘生成,使用延遲器件的目的是保證snd2rCV_wclk的完整性,防止出現(xiàn)毛刺。
[0027]除讀指針跟蹤邏輯電路外,發(fā)送模塊均為發(fā)送方主時(shí)鐘wclk時(shí)鐘域的同步邏輯。
[0028]寫脈沖生成電路、寫數(shù)據(jù)通路和讀指針同步器應(yīng)定制實(shí)現(xiàn),其它邏輯可以采用邏輯綜合方式實(shí)現(xiàn)。該模塊對物理實(shí)現(xiàn)有如下要求:
[0029]I)寫脈沖生成電路和寫數(shù)據(jù)通路采用定制方式實(shí)現(xiàn),保證寫脈沖的有效寬度,且沒有毛刺。寫數(shù)據(jù)信號之間減小輸出延時(shí)偏差。此外,要將這兩塊邏輯放置在發(fā)送方模塊的邊界上;
[0030]2)需要控制寫數(shù)據(jù)(snd2rcv_wdata)和寫脈沖(snd2rcv_wclk)信號之間的延時(shí)偏斜,保證接收方使用snd2rcv_wclk的觸發(fā)器采樣snd2rcv_wdata時(shí),有足夠的建立和保持時(shí)間;
[0031]3)同步器采用定制實(shí)現(xiàn),在平均無故障時(shí)間(MTBF)達(dá)到芯片設(shè)計(jì)要求的前提下,盡量將串行觸發(fā)器的級數(shù)控制在兩級。
[0032]4)來自接收方的讀脈沖rcv2snd_rclk當(dāng)作一個(gè)局部時(shí)鐘樹來處理,設(shè)計(jì)時(shí)應(yīng)考慮時(shí)鐘偏斜問題。輸入到各負(fù)載點(diǎn)的延時(shí)盡可能接近,輸入應(yīng)進(jìn)行驅(qū)動(dòng)。從性能角度考慮,應(yīng)盡可能縮短該信號的傳輸延時(shí)。
[0033]本發(fā)明的第二實(shí)施方式涉及一種分布控制雙時(shí)鐘異步接收模塊,如圖2所示,包括相互連接的讀脈沖生成電路和空標(biāo)志生成邏輯電路,以及獨(dú)立的FIFO存儲器陣列,所述讀脈沖生成電路用于產(chǎn)生讀脈沖信號;所述的讀脈沖信號是無固定變化周期的信號,所述讀脈沖信號維持在有效狀態(tài)的時(shí)間總是等于1/2個(gè)目標(biāo)方時(shí)鐘域的時(shí)鐘周期,讀脈沖信號維持為無效狀態(tài)的時(shí)間為(k+l)/2個(gè)目標(biāo)方時(shí)鐘域的時(shí)鐘周期,其中,k為自然數(shù),所述讀脈沖信號有效一次就表示異步信號接收方已經(jīng)從異步FIFO內(nèi)部取出了一組異步交接信號,所述讀脈沖信號與目標(biāo)方時(shí)鐘域的時(shí)鐘信號沒有相位依賴關(guān)系,與源方時(shí)鐘域的時(shí)鐘沒有頻率和相位依賴關(guān)系。
[0034]所述空標(biāo)志生成邏輯電路包括寫指針生成邏輯電路、讀指針生成邏輯電路、寫指針同步器和判空邏輯電路;所述寫指針生成邏輯電路采用發(fā)送方寫脈沖信號進(jìn)行寫指針計(jì)數(shù),而后使用所述寫指針同步器將格雷碼寫指針同步到接收方主時(shí)鐘,經(jīng)同步后的格雷碼寫指針與讀指針生成邏輯電路生成的格雷碼讀指針,所述判空邏輯電路采用所述格雷碼讀指針進(jìn)行“空”狀態(tài)判斷。
[0035]當(dāng)FIFO狀態(tài)為“非空”且讀請求ren有效時(shí),接收方產(chǎn)生內(nèi)部讀使能信號c_ren。讀脈沖生成電路將c_ren轉(zhuǎn)換成寬度為半個(gè)接收方時(shí)鐘周期的讀脈沖snd2rcv_rclk,發(fā)送到發(fā)送方。讀脈沖使用讀使能信號和讀時(shí)鐘生成,使用延遲器件的目的是保證rcV2snd_rclk的完整性,防止出現(xiàn)毛刺。
[0036]除寫指針生成邏輯電路和存儲器陣列的寫邏輯外,接收方模塊均為接收方主時(shí)鐘rclk時(shí)鐘域的同步邏輯。
[0037]所述FIFO存儲器陣列采用雙端口 SRAM、觸發(fā)器或Latch陣列實(shí)現(xiàn);觸發(fā)器實(shí)現(xiàn)的存儲陣列讀、寫控制簡單,但面積和功耗最大,一般在FIFO存儲器的容量很小時(shí)使用。相對于觸發(fā)器和Latch陣列,使用SRAM Bit-cell實(shí)現(xiàn)FIFO存儲器,可以減小面積、降低功耗,但會增加物理實(shí)現(xiàn)的復(fù)雜度。下面介紹基于Latch的FIFO存儲器陣列實(shí)現(xiàn)。
[0038]如圖3所示的一種基于Latch的雙時(shí)鐘FIFO存儲器陣列的結(jié)構(gòu),其陣列大小為m條目Xn位。發(fā)送方的寫脈沖snd2rcv_wclk除了生成寫指針外,也作為生成存儲器陣列one-hot寫地址的移位時(shí)鐘和陣列中寫數(shù)據(jù)相關(guān)的觸發(fā)器時(shí)鐘。
[0039]讀/寫地址生成方式:Latch陣列的寫地址r_waddr [m_l:0]和讀地址r_raddr[m-1:0]均使用移位寄存器實(shí)現(xiàn),r_waddr復(fù)位后的初值為{I,bl, (m_l),b0},r_raddr復(fù)位后的初值為{(m_l) ’ b0, I’ bl}。
[0040]寫字線生成方式:寫字線信號c_WWL[m-l:0]用作FIFO條目中Latch的寫脈沖信號,該信號的生成方式如下:
[0041]使用寫脈沖wclk(即snd2rcv_wclk)上升沿更新one_hot寫地址的移位寄存器組,生成r_waddr[m-l:0],使其指向待寫入的FIFO條目;
[0042]r_waddr [m-1:0]取反后用 wclk(即 snd2rcv_wclk)下降沿生成 rf_waddr_n [m-1:0],該寄存器復(fù)位初值為{Γ b0, (m_l) ’ bl};
[0043]r_waddr[m-1:0]和 rf_waddr_n[m-1:0] “按位與”,生成寫字線信號 c_WffL[m-1:O]。
[0044]c_WWL[i]是寬度為半個(gè)發(fā)送方時(shí)鐘周期的脈沖,數(shù)據(jù)r_din在c_ffffL[i]的下降沿被寫入FIFO的條目i中。
[0045]所述FIFO存儲器陣列使用移位寄存器組表示當(dāng)前可寫入位置,所述移位寄存器組中只有I位輸出為高電平,表示對應(yīng)的FIFO存儲器陣列條目能夠?qū)懭?,所述的移位寄存器組中其余位輸出均為低電平,表示對應(yīng)的FIFO存儲器陣列條目不能寫入,當(dāng)所述的寫脈沖信號為有效狀態(tài)時(shí),移位寄存器組的內(nèi)容循環(huán)左移I位,指向FIFO存儲器陣列的下一個(gè)可寫入位置。
[0046]讀脈沖生成電路、FIFO存儲器陣列和寫指針同步器應(yīng)定制實(shí)現(xiàn),其它邏輯可采用邏輯綜合方式實(shí)現(xiàn)。該模塊對后端的物理實(shí)現(xiàn)有如下要求:
[0047]I)來自發(fā)送方的寫脈沖snd2rcv_wclk作為局部時(shí)鐘來設(shè)計(jì),并控制時(shí)鐘偏斜。輸入到時(shí)鐘各負(fù)載點(diǎn)的延時(shí)盡可能接近,且輸入必須進(jìn)行驅(qū)動(dòng)。從性能角度考慮,應(yīng)該盡可能縮短該信號的傳輸延時(shí);
[0048]2)需要分析寫數(shù)據(jù)snd2rcv_wdata和snd2rcv_wclk信號的傳輸延時(shí),確保以snd2rcv_wclk為時(shí)鐘的觸發(fā)器有足夠的建立與保持時(shí)間;
[0049]3)讀脈沖生成電路定制實(shí)現(xiàn),保證讀脈沖的有效寬度且沒有毛刺,輸出延時(shí)盡可能小;
[0050]4)Latch陣列、寫入和讀出邏輯定制實(shí)現(xiàn),且保證從寫數(shù)據(jù)接收觸發(fā)器1"_也11、寫地址移位寄存器r_waddr和下降沿采樣的寫地址觸發(fā)器rf_waddr_n輸出的信號,通過Latch陣列和讀出選擇邏輯輸出后,到達(dá)接收觸發(fā)器之間的延時(shí)小于一個(gè)接收方時(shí)鐘周期。
[0051]本發(fā)明的第三實(shí)施方式涉及一種分布控制雙時(shí)鐘異步FIFO裝置,如圖4所示,包括上述的分布控制雙時(shí)鐘異步發(fā)送模塊和分布控制雙時(shí)鐘異步接收模塊;所述分布控制雙時(shí)鐘異步發(fā)送模塊放置在異步信號交接所涉及的源方時(shí)鐘域,所述分布控制雙時(shí)鐘異步接收模塊放置在異步信號交接所涉及的目標(biāo)方時(shí)鐘域;所述分布控制雙時(shí)鐘異步發(fā)送模塊僅使用源方時(shí)鐘域的時(shí)鐘,所述分布控制雙時(shí)鐘異步接收模塊僅使用目標(biāo)方時(shí)鐘域的時(shí)鐘;連接所述分布控制雙時(shí)鐘異步發(fā)送模塊和分布控制雙時(shí)鐘異步接收模塊之間的信號只包含I位寫脈沖信號,η位寫數(shù)據(jù)信號(η多I)和I位讀脈沖信號。該分布控制雙時(shí)鐘異步FIFO裝置包括基于格雷碼指針的讀寫控制邏輯和異步FIFO存儲器陣列,實(shí)現(xiàn)從源方時(shí)鐘域到目標(biāo)方時(shí)鐘域的的異步信號交接功能。
[0052]不難發(fā)現(xiàn),本發(fā)明采用源同步方式傳輸寫數(shù)據(jù),發(fā)送方的時(shí)鐘樹無需分布到接收方模塊,從而實(shí)現(xiàn)真正的時(shí)鐘域局部化,降低物理實(shí)現(xiàn)的時(shí)鐘樹平衡開銷。
[0053]其中,異步信號發(fā)送方模塊和異步信號接收方模塊內(nèi)部各設(shè)置一套讀指針計(jì)數(shù)器和寫指針計(jì)數(shù)器,其中接收方的讀指針計(jì)數(shù)器使用目標(biāo)方時(shí)鐘和讀使能信號進(jìn)行計(jì)數(shù),接收方寫指針計(jì)數(shù)器使用寫脈沖進(jìn)行計(jì)數(shù),發(fā)送方讀指針計(jì)數(shù)器使用讀脈沖進(jìn)行計(jì)數(shù),用于跟蹤接收方讀指針計(jì)數(shù)器的變化情況,發(fā)送寫指針計(jì)數(shù)器使用源方時(shí)鐘和寫使能信號進(jìn)行計(jì)數(shù),用于跟蹤接收方寫指針計(jì)數(shù)器的變化情況,利用接收方讀指針計(jì)數(shù)器和寫指針計(jì)數(shù)器,判斷異步FIFO是否為空狀態(tài),利用發(fā)送方讀指針計(jì)數(shù)器和寫指針計(jì)數(shù)器,判斷異步FIFO是否為滿狀態(tài),從而實(shí)現(xiàn)對異步FIFO空、滿狀態(tài)的分布控制,發(fā)送方模塊和接收方模塊之間無需異步交接FIFO空、滿信號或讀指針、寫指針計(jì)數(shù)值。
[0054]由此可見,本發(fā)明發(fā)送方和接收方內(nèi)部各設(shè)置一套讀指針和寫指針。兩套讀、寫指針之間通過讀、寫脈沖實(shí)現(xiàn)“跟隨”變化,F(xiàn)IFO判滿邏輯放置在發(fā)送方,判空邏輯放置在接收方,實(shí)現(xiàn)分布控制。接收方和發(fā)送方之間既不需要傳輸讀、寫指針,也不需要傳輸同步的空滿信號,只傳輸讀脈沖和寫脈沖即可,從而進(jìn)一步減少了跨時(shí)鐘域傳輸?shù)目刂菩盘枖?shù)量。
【權(quán)利要求】
1.一種分布控制雙時(shí)鐘異步發(fā)送模塊,包括相互連接的源同步信號生成邏輯電路和滿標(biāo)志生成邏輯電路,其特征在于,所述源同步信號生成邏輯電路包括寫脈沖生成電路和寫數(shù)據(jù)通路,所述寫脈沖生成電路用于產(chǎn)生寫脈沖信號;所述寫數(shù)據(jù)通路用于產(chǎn)生寫數(shù)據(jù)信號;所述寫脈沖信號為無固定變化周期的信號,所述寫脈沖信號維持在有效狀態(tài)的時(shí)間總是等于1/2個(gè)源方時(shí)鐘域的時(shí)鐘周期,所述寫脈沖信號維持在無效狀態(tài)的時(shí)間為(m+l)/2個(gè)源方時(shí)鐘域的時(shí)鐘周期,其中,m為自然數(shù);所述寫脈沖信號有效一次即表示有一組信號需要異步交接,且需要交接的信號通過寫數(shù)據(jù)信號傳遞給目標(biāo)方的異步信號接收模塊,所述的寫數(shù)據(jù)信號僅同步于所述寫脈沖信號,且與源方時(shí)鐘域的時(shí)鐘沒有相位依賴關(guān)系,與目標(biāo)方時(shí)鐘域的時(shí)鐘沒有頻率和相位依賴關(guān)系。
2.根據(jù)權(quán)利要求1所述的分布控制雙時(shí)鐘異步發(fā)送模塊,其特征在于,所述滿標(biāo)志生成邏輯電路包括讀指針跟蹤邏輯電路、寫指針跟蹤邏輯電路、讀指針同步器和判滿邏輯電路;所述讀指針跟蹤邏輯電路采用接收方讀脈沖進(jìn)行讀指針計(jì)數(shù),而后使用所述讀指針同步器將格雷碼讀指針同步到發(fā)送方主時(shí)鐘,經(jīng)同步后的格雷碼讀指針與所述寫指針跟蹤邏輯電路生成的格雷碼寫指針,所述判滿邏輯電路采用所述格雷碼寫指針進(jìn)行“滿”狀態(tài)判斷。
3.根據(jù)權(quán)利要求2所述的分布控制雙時(shí)鐘異步發(fā)送模塊,其特征在于,所述寫脈沖生成電路在所述判滿邏輯電路判定為非滿狀態(tài),且寫請求有效時(shí)將內(nèi)部寫使能信號轉(zhuǎn)換成寬度為半個(gè)時(shí)鐘周期的寫脈沖信號。
4.一種分布控制雙時(shí)鐘異步接收模塊,包括相互連接的讀脈沖生成電路和空標(biāo)志生成邏輯電路,以及獨(dú)立的FIFO存儲器陣列,其特征在于,所述讀脈沖生成電路用于產(chǎn)生讀脈沖信號;所述的讀脈沖信號是無固定變化周期的信號,所述讀脈沖信號維持在有效狀態(tài)的時(shí)間總是等于1/2個(gè)目標(biāo)方時(shí)鐘域的時(shí)鐘周期,讀脈沖信號維持為無效狀態(tài)的時(shí)間為(k+l)/2個(gè)目標(biāo)方時(shí)鐘域的時(shí)鐘周期,其中,k為自然數(shù),所述讀脈沖信號有效一次就表示異步信號接收方已經(jīng)從異步FIFO內(nèi)部取出了一組異步交接信號,所述讀脈沖信號與目標(biāo)方時(shí)鐘域的時(shí)鐘信號沒有相位依賴關(guān)系,與源方時(shí)鐘域的時(shí)鐘沒有頻率和相位依賴關(guān)系。
5.根據(jù)權(quán)利要求4所述的分布控制雙時(shí)鐘異步接收模塊,其特征在于,所述空標(biāo)志生成邏輯電路包括寫指針生成邏輯電路、讀指針生成邏輯電路、寫指針同步器和判空邏輯電路;所述寫指針生成邏輯電路采用發(fā)送方寫脈沖信號進(jìn)行寫指針計(jì)數(shù),而后使用所述寫指針同步器將格雷碼寫指針同步到接收方主時(shí)鐘,經(jīng)同步后的格雷碼寫指針與讀指針生成邏輯電路生成的格雷碼讀指針,所述判空邏輯電路采用所述格雷碼讀指針進(jìn)行“空”狀態(tài)判斷。
6.根據(jù)權(quán)利要求5所述的分布控制雙時(shí)鐘異步接收模塊,其特征在于,所述讀脈沖生成電路在所述判空邏輯電路判定為非空狀態(tài),且讀請求有效時(shí)將內(nèi)部讀使能信號轉(zhuǎn)換成寬度為半個(gè)接收方時(shí)鐘周期的讀脈沖。
7.根據(jù)權(quán)利要求4所述的分布控制雙時(shí)鐘異步接收模塊,其特征在于,所述FIFO存儲器陣列采用雙端口 SRAM、觸發(fā)器或Latch陣列實(shí)現(xiàn);所述FIFO存儲器陣列使用寫脈沖信號作為工作時(shí)鐘。
8.根據(jù)權(quán)利要求7所述的分布控制雙時(shí)鐘異步接收模塊,其特征在于,所述FIFO存儲器陣列使用移位寄存器組表示當(dāng)前可寫入位置,所述移位寄存器組中只有I位輸出為高電平,表示對應(yīng)的FIFO存儲器陣列條目能夠?qū)懭耄龅囊莆患拇嫫鹘M中其余位輸出均為低電平,表示對應(yīng)的FIFO存儲器陣列條目不能寫入,當(dāng)所述的寫脈沖信號為有效狀態(tài)時(shí),移位寄存器組的內(nèi)容循環(huán)左移I位,指向FIFO存儲器陣列的下一個(gè)可寫入位置。
9.一種分布控制雙時(shí)鐘異步FIFO裝置,其特征在于,包括權(quán)利要求1-3中任一權(quán)利要求所述的分布控制雙時(shí)鐘異步發(fā)送模塊和權(quán)利要求4-8中任一權(quán)利要求所述的分布控制雙時(shí)鐘異步接收模塊;所述分布控制雙時(shí)鐘異步發(fā)送模塊放置在異步信號交接所涉及的源方時(shí)鐘域,所述分布控制雙時(shí)鐘異步接收模塊放置在異步信號交接所涉及的目標(biāo)方時(shí)鐘域;所述分布控制雙時(shí)鐘異步發(fā)送模塊僅使用源方時(shí)鐘域的時(shí)鐘,所述分布控制雙時(shí)鐘異步接收模塊僅使用目標(biāo)方時(shí)鐘域的時(shí)鐘;連接所述分布控制雙時(shí)鐘異步發(fā)送模塊和分布控制雙時(shí)鐘異步接收模塊之間的信號只包含I位寫脈沖信號,η位寫數(shù)據(jù)信號和I位讀脈沖信號。
【文檔編號】G06F1/12GK104484011SQ201410685435
【公開日】2015年4月1日 申請日期:2014年11月25日 優(yōu)先權(quán)日:2014年11月25日
【發(fā)明者】胡向東, 楊劍新, 顏世云 申請人:上海高性能集成電路設(shè)計(jì)中心