一種硬件邏輯資源復(fù)用模塊的制作方法
【技術(shù)領(lǐng)域】
[0001]本實用新型涉及一種邏輯資源復(fù)用技術(shù),特別涉及一種硬件邏輯資源復(fù)用模塊。
【背景技術(shù)】
[0002] 同步數(shù)字體系(SDH)廣泛的應(yīng)用于光纖通信中,包括骨干網(wǎng)、城域網(wǎng)還有接入網(wǎng)。 隨著業(yè)務(wù)量不斷的增長,對海量數(shù)據(jù)進(jìn)行交叉和挑選的難度也越來越大,尤其是對大容量 接入數(shù)據(jù)進(jìn)行交叉時,需要耗費(fèi)大量的硬件邏輯資源,如何利用有限的硬件資源實現(xiàn)更大 容量的數(shù)據(jù)交叉,這對于硬件電路的設(shè)計是一個挑戰(zhàn),尤其用邏輯資源復(fù)用技術(shù)處理指針 問題,已迫在眉睫。
【發(fā)明內(nèi)容】
[0003] 鑒于現(xiàn)有技術(shù)存在的問題,本實用新型針對SDH交叉的需求及其應(yīng)用特點,在單片 FPGA上實現(xiàn)了 80G X 20G的低階交叉容量的邏輯資源復(fù)用模塊,具體技術(shù)方案是,一種硬件 邏輯資源復(fù)用模塊,其特征在于:輸入信號包含時鐘、地址輸入、使能輸入、數(shù)據(jù)輸入信號, 整個模塊共用同一個時鐘,輸入時鐘連接到所有的觸發(fā)器、存儲器的時鐘端,地址輸入信號 經(jīng)兩級觸發(fā)器后連接到存儲器的寫地址端,同時地址輸入信號也直接連接到存儲器的讀地 址端,使能輸入經(jīng)兩級觸發(fā)器后連接到存儲器的寫使能端,其中使能輸入信號經(jīng)一級觸發(fā) 器后連接到組合邏輯的輸入端,同時使能輸入信號也直接連接到存儲器的讀使能端,數(shù)據(jù) 輸入經(jīng)一級觸發(fā)器后連接到組合邏輯的輸入,存儲器的讀數(shù)據(jù)端輸出給組合邏輯的輸入, 而組合邏輯的輸出經(jīng)一級觸發(fā)器后作為模塊的輸出同時也反饋回來與數(shù)據(jù)輸入合并后連 接到存儲器的寫數(shù)據(jù)端。
[0004] 本實用新型的有益效果是,實現(xiàn)了對組合邏輯資源的節(jié)省,可以利用有限的邏輯 資源實現(xiàn)更大容量的數(shù)據(jù)處理,耗費(fèi)的LUT資源可以降低了兩個數(shù)量級。
【附圖說明】
[0005] 圖1是本實用新型的電路原理圖。
【具體實施方式】
[0006] 如圖1所示,用SDH處理低階指針來舉例說明。SDH的幀復(fù)用結(jié)構(gòu)決定其8個VC4(每 個VC4又包含63個VC12)的共504個VC12在時間上是順序依次到達(dá)的,不妨按照到達(dá)先后順 序稱其為時隙〇到時隙503,每個VC12時隙有各自的指針開銷需要處理,處理指針開銷時需 要同時用到其上次處理的狀態(tài)及當(dāng)前該時隙的輸入數(shù)據(jù),假設(shè)當(dāng)前時鐘周期(time=0)正在 處理時隙0,也就是組合邏輯在處理時隙0的指針開銷(需要用到當(dāng)前時隙0的輸入指針開銷 數(shù)據(jù)及其上次處理的狀態(tài)信息),同時需要進(jìn)行時隙1的讀取存儲器操作(設(shè)置讀地址讀取 時隙1的緩存信息),于是在下一個時鐘周期(time=l)時,時隙0處理結(jié)果出來了并寫入緩存 以備下次調(diào)用(時隙〇的寫入存儲器操作),同時時隙1的上次緩存結(jié)果也讀取回來了,剛好 趕上當(dāng)前時隙1的輸入信息,可以進(jìn)行時隙1的指針開銷處理操作,同時去讀取接下來的時 隙2的緩存信息,直到進(jìn)行到第503號時隙后循環(huán)回時隙O并依次類推。
[0007] 模塊的輸入包含時鐘、輸入地址、輸入使能和輸入數(shù)據(jù)(要求輸入是對齊的),其中 輸入地址用于指示當(dāng)前時隙編號,輸入使能用于指示數(shù)據(jù)有效性(時隙循環(huán)周期之間可以 有空閑時段),整個模塊共用一個時鐘,存儲器是標(biāo)準(zhǔn)的RAM存儲器,有時鐘(讀、寫時鐘是 相同的)、寫地址、寫使能、寫數(shù)據(jù)、讀地址、讀使能、讀數(shù)據(jù)管腳,其連接如圖所示。觸發(fā)器是 標(biāo)準(zhǔn)的不帶復(fù)位不帶預(yù)置的最簡單的觸發(fā)器,有輸入數(shù)據(jù)、輸出數(shù)據(jù)、時鐘管腳,其連接如 圖所示。組合邏輯是普通的邏輯電路,通過與或非等門電路組合而成,對具體的門電路組合 結(jié)構(gòu)沒有特殊要求,只要滿足時序收斂(從輸入到輸出的時延小于一個時鐘周期)的任意組 合邏輯都可以,它的輸入信號連接到門電路的輸入管腳,輸出信號來自于門電路的輸出管 腳,
[0008] 觸發(fā)器用于將信號延遲一個時鐘周期,存儲器用于緩存某個子任務(wù)的狀態(tài)信息, 組合邏輯是實現(xiàn)子任務(wù)處理的核心部分,其中的組合邏輯部分就是被復(fù)用起來的硬件資 源,使得相同的多個子任務(wù)可以共享使用同一份硬件資源(而不是有多少個子任務(wù)就使用 多少份硬件資源)。而觸發(fā)器和存儲器則是為了實現(xiàn)復(fù)用而額外付出的代價。需要注意的 是,圖中組合邏輯及其后面的觸發(fā)器共同組成了時鐘周期延遲為1的模型,但實際上這并不 是必須的,若延遲大于1則只需相應(yīng)的增加寫地址和寫使能的觸發(fā)器級數(shù)以匹配延遲即可 (即保證寫使能、寫地址、寫數(shù)據(jù)的對齊)。
[0009] 原理
[0010] SDH協(xié)議中基于幀結(jié)構(gòu)將帶寬分成了許多時隙,即各級虛容器,包括高階的VC4和 低階的VC12等。當(dāng)需要對時隙進(jìn)行交叉時,首先需要根據(jù)時隙各自的高階、低階指針一級級 的將數(shù)據(jù)收下來,而解析這些指針需要消耗一定數(shù)量的硬件資源來實現(xiàn)??紤]到時隙的數(shù) 量很多(特別是低階時隙),如果每個時隙各自消耗一份邏輯硬件資源去解析,則消耗了大 量的硬件資源。同時由于SDH的特點,時隙是排隊順序到達(dá)的,所以每份硬件資源會在相當(dāng) 長一段時間內(nèi)只工作一個時鐘周期然后再等到下次同一時隙再次到來時才再工作一個時 鐘周期,相當(dāng)于一種硬件資源的浪費(fèi)(補(bǔ)償性的,在時鐘速率要求、功耗方面也許有所收 益)。當(dāng)使用FPGA來實現(xiàn)SDH指針解析時,考慮到在有限的硬件資源下若要實現(xiàn)更大容量的 數(shù)據(jù)處理能力,可以使用硬件資源復(fù)用技術(shù),這樣可以讓多個低階指針解析共用同一塊硬 件資源,通過讓資源在每個時鐘周期內(nèi)都工作來節(jié)約硬件資源。通過使用圖1中的復(fù)用結(jié) 構(gòu),即不再需要復(fù)制很多份相同的組合邏輯去處理不同的指針,而是復(fù)用了同一份組合邏 輯處理了多個不同的指針解析。這樣做的代價只是額外消耗了少量的存儲器資源及少量的 輔助邏輯資源。當(dāng)組合邏輯資源不夠用,而可用的存儲器資源還有冗余時,可以采用此復(fù)用 方法,來實現(xiàn)對組合邏輯資源的節(jié)省,也就能在有限的資源下實現(xiàn)更大容量的數(shù)據(jù)處理。 [0011]實際上硬件資源復(fù)用的技術(shù)不止是用于SDH處理指針,任何滿足時序上多個任務(wù) 周期重復(fù)依次順序到達(dá)的情景都可以應(yīng)用。為了能應(yīng)用硬件資源的復(fù)用,這類任務(wù)應(yīng)滿足 以下三點:
[0012] (1)任務(wù)可以拆分為多個重復(fù)的子任務(wù),且每個子任務(wù)完全是同一類問題,可以用 相同的資源去處理;
[0013] (2)所有子任務(wù)共用同一時鐘且在時間上能夠完全避開,絕不會出現(xiàn)兩個或更多 子任務(wù)同時出現(xiàn)的情況;
[0014] (3)子任務(wù)依次順序到達(dá),并循環(huán)出現(xiàn),可以有指示信號指明當(dāng)前任務(wù)的編號。
[0015] 于是為了處理每個子任務(wù),需要知道上次處理該任務(wù)時的狀態(tài),以及當(dāng)前該任務(wù) 的輸入,然后根據(jù)相應(yīng)處理邏輯來產(chǎn)生該任務(wù)的輸出,同時還需要將這個結(jié)果緩存起來,以 備下次循環(huán)時該任務(wù)再次出現(xiàn)時能夠回讀狀態(tài)信息。
[0016] 更為抽象和一般的,將這類周期重復(fù)依次出現(xiàn)的任務(wù)處理分為三類操作:
[0017] (I )Read_last:讀取緩存的上次該任務(wù)的狀態(tài)結(jié)果;
[0018] (2)Current:更新當(dāng)前該任務(wù)的輸入;
[0019] (3)Write:產(chǎn)生該任務(wù)新的狀態(tài)作為輸出并寫入緩存。
[0020] 考慮到任務(wù)在每個時鐘周期都到達(dá)一個子任務(wù),于是復(fù)用的資源在每個時鐘周期 內(nèi)都在工作,即在時鐘的第η個周期內(nèi)同時執(zhí)行如下3個操作:任務(wù)(n-1)的Write操作、任務(wù) η的Current操作以及任務(wù)(n+1)的Read_last操作。如下表所示:
[0021 ]表1操作時隙表
[0023] 表中的第一行為時鐘周期為單位的時間軸,Read_last、Current、Write三行分別 對應(yīng)上述的三種操作,某一列時鐘周期內(nèi)相應(yīng)操作行所對應(yīng)的內(nèi)容即為該操作的子任務(wù)編 號(考慮到子任務(wù)總數(shù)M是一定的并且循環(huán)出現(xiàn),實際子任務(wù)編號可能需要對M取模后得 到)。
【主權(quán)項】
1. 一種硬件邏輯資源復(fù)用模塊,其特征在于:輸入信號包含時鐘、地址輸入、使能輸入、 數(shù)據(jù)輸入信號整個模塊共用同一個時鐘,輸入時鐘連接到所有的觸發(fā)器、存儲器的時鐘端, 地址輸入信號經(jīng)兩級觸發(fā)器后連接到存儲器的寫地址端,同時地址輸入信號也直接連接到 存儲器的讀地址端,使能輸入經(jīng)兩級觸發(fā)器后連接到存儲器的寫使能端,其中使能輸入信 號經(jīng)一級觸發(fā)器后連接到組合邏輯的輸入端,同時使能輸入信號也直接連接到存儲器的讀 使能端,數(shù)據(jù)輸入經(jīng)一級觸發(fā)器后連接到組合邏輯的輸入,存儲器的讀數(shù)據(jù)端輸出給組合 邏輯的輸入,而組合邏輯的輸出經(jīng)一級觸發(fā)器后作為模塊的輸出同時也反饋回來與數(shù)據(jù)輸 入合并后連接到存儲器的寫數(shù)據(jù)端。
【專利摘要】本實用新型涉及一種硬件邏輯資源復(fù)用模塊,整個模塊共用同一個時鐘,輸入時鐘連接到所有的觸發(fā)器、存儲器的時鐘端,地址輸入信號經(jīng)兩級觸發(fā)器后連接到存儲器的寫地址端,同時地址輸入信號也直接連接到存儲器的讀地址端,使能輸入經(jīng)兩級觸發(fā)器后連接到存儲器的寫使能端,其中使能輸入信號經(jīng)一級觸發(fā)器后連接到組合邏輯的輸入端,同時使能輸入信號也直接連接到存儲器的讀使能端,數(shù)據(jù)輸入經(jīng)一級觸發(fā)器后連接到組合邏輯的輸入,存儲器的讀數(shù)據(jù)端輸出給組合邏輯的輸入,而組合邏輯的輸出經(jīng)一級觸發(fā)器后作為模塊的輸出同時也反饋回來與數(shù)據(jù)輸入合并后連接到存儲器的寫數(shù)據(jù)端,有益效果是實現(xiàn)了對組合邏輯資源的節(jié)省,可以利用有限的邏輯資源實現(xiàn)更大容量的數(shù)據(jù)處理。
【IPC分類】H03K19/0175
【公開號】CN205249177
【申請?zhí)枴緾N201521036551
【發(fā)明人】李斌, 王東鋒, 錢瑞杰, 江彥, 王文博, 呂海清, 程琳, 白玲
【申請人】天津光電通信技術(shù)有限公司
【公開日】2016年5月18日
【申請日】2015年12月14日