基于隨機(jī)訪問存儲器的先入先出存儲器的電路結(jié)構(gòu)的制作方法
【技術(shù)領(lǐng)域】
[0001]本發(fā)明涉及芯片設(shè)計領(lǐng)域,具體涉及一種多節(jié)點網(wǎng)絡(luò)之中網(wǎng)絡(luò)控制協(xié)議芯片的電路實現(xiàn)過程中數(shù)據(jù)通路的并行調(diào)度的快速實現(xiàn)方法。
【背景技術(shù)】
[0002]隨著服務(wù)器應(yīng)用領(lǐng)域的不斷發(fā)展,高端服務(wù)器的應(yīng)用需求已經(jīng)進(jìn)入了一個重要階段。復(fù)雜的體系結(jié)構(gòu)實現(xiàn)支持尚端服務(wù)器系統(tǒng)實現(xiàn)尚性能指標(biāo)、尚安全性、尚可用性、尚可靠性等特點。這就需要網(wǎng)絡(luò)控制類芯片控制多路處理器系統(tǒng),使系統(tǒng)內(nèi)部報文傳輸達(dá)到高效可靠、安全穩(wěn)定。而對于該類的控制芯片的設(shè)計來說,多路高速報文的高效調(diào)度是非常有必要的。這種情況下的多路高速報文的調(diào)度,在一般情況下需要增加額外的設(shè)計模塊,首先把各路報文都緩存下來,然后按照調(diào)度規(guī)定的順序依次將多路報文中的某一個調(diào)度出來,送入?yún)f(xié)議處理器進(jìn)行處理。因此過程中需要經(jīng)歷寫入緩存,競爭排序,讀出緩存多個環(huán)節(jié),并且在高速報文輸入接口和協(xié)議處理模塊之間,需要額外增加調(diào)度模塊,進(jìn)行并行到串行轉(zhuǎn)換和排序的過程。使得整個設(shè)計過程繁冗復(fù)雜,設(shè)計結(jié)構(gòu)環(huán)節(jié)增加,時序與功能復(fù)雜化,部分情況下延時也會增多,從而使整個系統(tǒng)的電路實現(xiàn)過程復(fù)雜化,處理環(huán)節(jié)增多,時延增加,后端實現(xiàn)的難度增大,整個芯片設(shè)計的復(fù)雜度成倍增加。對于電路的設(shè)計者來說,這些并不是期望看到的。
【發(fā)明內(nèi)容】
[0003]為了解決該問題,本文提出了一種基于隨機(jī)訪問存儲器的先入先出存儲器的電路結(jié)構(gòu)。
[0004]采用構(gòu)造的多輸入單輸出多輸入單輸出,同時具有緩存和自動排序調(diào)度功能的新型先入先出存儲器(FIFO)的電路結(jié)構(gòu),可以實現(xiàn)多路并行輸入數(shù)據(jù)的緩存與自動調(diào)度,可以免于額外新增獨立調(diào)度功能的模塊,直接可以通過此FIFO實現(xiàn)輸入數(shù)據(jù)與數(shù)據(jù)處理模塊的無縫連接,減少數(shù)據(jù)調(diào)度環(huán)節(jié)的造成的數(shù)據(jù)延遲,加速整個處理流程,優(yōu)化電路設(shè)計資源,簡化電路結(jié)構(gòu),減輕芯片后端設(shè)計的復(fù)雜度,從整體上降低整個芯片系統(tǒng)設(shè)計復(fù)雜度。
[0005]本發(fā)明考慮到高速協(xié)議處理器系統(tǒng)設(shè)計中,鑒于多路不同類型的協(xié)議報文同時傳輸調(diào)度的需要,使用通常意義上的FIFO,難以直接完成多路協(xié)議報文的并行到串行的轉(zhuǎn)換功能,需要新增邏輯專門完成報文調(diào)度排序功能,采用新型的FIFO結(jié)構(gòu),可以直接實現(xiàn)多路報文并行寫入FIFO,然后根據(jù)設(shè)定的模式自動排序,串行從FIFO輸出,自動實現(xiàn)完成并行存儲與串行調(diào)度兩種功能。
[0006]本發(fā)明的技術(shù)方案是包括:(I)構(gòu)建一個多輸入單輸出的fifo結(jié)構(gòu)體,采用系統(tǒng)時鐘作為fifo結(jié)構(gòu)體輸入輸出接口時鐘,構(gòu)建讀寫指針,同時控制多訪問接口 RAM存儲體的同時或者不同時的讀寫。(2)采用至少3個普通單一訪問接口 RAM存儲體構(gòu)建一個多訪問接口 RAM存儲體,保證在寫入和讀出同時發(fā)生時,總是對應(yīng)于每一個讀寫訪問,都有一個RAM存儲體的接口與之對應(yīng)。保證每一個數(shù)據(jù)都能寫入到一個RAM存儲體中,每一個讀出,都能在包含需要讀出的數(shù)據(jù)的RAM存儲體中讀出數(shù)據(jù),對于每一個單一 RAM存儲體單元每一個地址增加對應(yīng)的寫入讀出標(biāo)記位,在進(jìn)行讀出訪問的時候知道應(yīng)該從哪一個RAM存儲體中獲得有效數(shù)據(jù),從而實現(xiàn)支持多個寫入和單一讀出的同時進(jìn)行。(3)設(shè)定可配置的排序模式,當(dāng)多個寫入數(shù)據(jù)同時到達(dá)時,可以根據(jù)配置模式靈活選擇不同數(shù)據(jù)在fifo中的先后順序,將數(shù)據(jù)按照配置模式的排序方式分配寫入RAM存儲體的地址,F(xiàn)IFO輸出端根據(jù)輸出指針給定的地址直接順序讀出RAM存儲體中的數(shù)據(jù)。(4)設(shè)定獨立的讀寫FIFO指針,寫指針在每個時鐘單元的步進(jìn)數(shù)與單位時鐘單元寫入的數(shù)據(jù)包的個數(shù)相同,根據(jù)寫入數(shù)據(jù)的數(shù)量發(fā)生變化。根據(jù)讀寫指針的差值來決定空滿信號的指示情況。(5)根據(jù)寫入時對應(yīng)地址的向量標(biāo)記位已經(jīng)有標(biāo)記實現(xiàn)FIFO上溢出錯誤標(biāo)記,根據(jù)讀出時對應(yīng)地址的向量標(biāo)記位沒有標(biāo)記實現(xiàn)輸出FIFO下溢出錯誤標(biāo)記。
[0007]構(gòu)建一個多輸入單輸出FIFO結(jié)構(gòu)體,此結(jié)構(gòu)體可以同時接收兩個或以上的數(shù)據(jù)包同時寫入,并按照預(yù)先設(shè)定的模式排序保存在fifo內(nèi)的RAM結(jié)構(gòu)體中。寫入指針根據(jù)接收寫入的數(shù)據(jù)包的個數(shù),計數(shù)增加數(shù)據(jù)包的個數(shù)。
[0008]寫入的數(shù)據(jù)包寫入RAM存儲體的時候,如果有讀出請求同時發(fā)生,寫入的數(shù)據(jù)包將不會寫入有效讀出的存儲體中,而是寫入另外的沒有正在被訪問的存儲體中。
[0009]多個寫入請求同時發(fā)生的時候,多個寫入請求分別寫入不同的也沒用被讀請求訪問的存儲體中,寫入的地址也是不同的。在寫入的時候,同時對為該RAM存儲體構(gòu)建的數(shù)據(jù)有效標(biāo)記位置1,保證發(fā)起數(shù)據(jù)讀請求的時候,可以識別哪一個存儲體中存儲了對應(yīng)地址指針的有效數(shù)據(jù)。
[0010]在讀出RAM存儲體中的有效數(shù)據(jù)時,要根據(jù)讀指針首先獲得對應(yīng)該地址的構(gòu)建的各個RAM存儲體的標(biāo)記位的數(shù)據(jù)有效情況,根據(jù)此信息對存在有效數(shù)據(jù)的RAM發(fā)起讀請求讀出數(shù)據(jù),將數(shù)據(jù)從FIFO輸出,同時清除此標(biāo)記位,使此地址的數(shù)據(jù)無效,可以存儲新的數(shù)據(jù)信息。
[0011]對于讀寫指針的數(shù)值進(jìn)行監(jiān)控,當(dāng)讀指針與寫指針相同時,指示fifo為空,此時不能從fifo中讀出有效數(shù)據(jù)。當(dāng)讀指針只比寫指針大一個單位步進(jìn)最大值的時候,指示fifo為滿,不能再有效寫入數(shù)據(jù)。
[0012]對于FIFO中上下溢出錯誤進(jìn)行監(jiān)控輸出和標(biāo)記,不需要進(jìn)行指針計算比較即可快速判斷是否有上下溢出情況。
[0013]與傳統(tǒng)FIFO相比,專利改進(jìn)在于構(gòu)造了多輸入單輸出的新型FIFO結(jié)構(gòu),采用新構(gòu)造的不少于3個訪問接口的新型RAM結(jié)構(gòu),配合多步進(jìn)地址計數(shù)器,能夠準(zhǔn)確表示FIFO空滿狀態(tài),并能夠準(zhǔn)確輸出排序在最前的報文數(shù)據(jù),以及按照模式指定的順序排序存儲最后寫入的數(shù)據(jù)。保護(hù)一種新型多輸入單輸出,同時具有緩存和自動排序調(diào)度功能的新型先入先出存儲器(FIFO)的電路結(jié)構(gòu)。
[0014]本發(fā)明的有益效果是:價值在于使用此種新型FIFO可以實現(xiàn)多路并行輸入數(shù)據(jù)的緩存與自動調(diào)度,可以免于額外新增獨立調(diào)度功能的模塊,直接可以通過此FIFO實現(xiàn)輸入數(shù)據(jù)與數(shù)據(jù)處理模塊的無縫連接,減少數(shù)據(jù)調(diào)度環(huán)節(jié)的造成的數(shù)據(jù)延遲,加速整個處理流程,優(yōu)化電路設(shè)計資源,簡化電路結(jié)構(gòu),減輕芯片后端設(shè)計的復(fù)雜度,從整體上降低整個芯片系統(tǒng)設(shè)計復(fù)雜度。
【附圖說明】
[0015]圖1是以構(gòu)建的二輸入一輸出結(jié)構(gòu)的FIFO電路結(jié)構(gòu)為例說明多輸入單輸出FIFO的工作方式示意圖。
【具體實施方式】
[0016]下面參照附圖,對本發(fā)明的內(nèi)容的實施方式進(jìn)行一個簡單的說明。
[0017]以目前設(shè)計的高速網(wǎng)絡(luò)協(xié)議芯片為例,在設(shè)計中由于有多路報文數(shù)據(jù)通過接口模塊并行接收后,同時進(jìn)入?yún)f(xié)議處理模塊,采用多路輸入單路輸出FIFO進(jìn)行接收排序