基于現(xiàn)場可編程門陣列的集中緩存式裝置及設計方法
【專利摘要】一種基于現(xiàn)場可編程門陣列的集中緩存式裝置及設計方法,涉及現(xiàn)場可編程門陣列設計領域,適用于至少2個相同的功能模塊,該裝置包括:時分復用控制單元,用于將時間周期劃為至少2個等時長的時隙,每一個時隙按順序對應一個功能模塊,每個功能模塊在對應的時隙內進行輸入信號處理;信號串行化單元,用于將每個功能模塊的并行輸入信號轉化為串行輸入信號;集中存儲寄存器,用于保存每個功能模塊的寄存器,并在每個功能模塊對應的時隙內讀寫該功能模塊的寄存器;組合邏輯單元,用于單個功能模塊進行輸入信號處理的組合邏輯;信號并行化單元,用于將每個功能模塊的輸入信號處理后的串行輸出信號還原為并行輸出信號。
【專利說明】基于現(xiàn)場可編程門陣列的集中緩存式裝置及設計方法
【技術領域】
[0001]本發(fā)明涉及現(xiàn)場可編程門陣列設計領域,具體來講是一種基于現(xiàn)場可編程門陣列的集中緩存式裝置及設計方法。
【背景技術】
[0002]FPGA (Field Programmable Gate Array,現(xiàn)場可編程門陣列)是在PAL (Programmable Array Logic,可編程陣列邏輯)、GAL (Generic Array Logic,通用陣列邏輯)、PLD (Programmable Logic Device,可編程邏輯器件)等可編程器件的基礎上進一步發(fā)展的產(chǎn)物,是 ASIC(Applicat1n Specific Integrated Circuit,專用集成電路)中集成度最高的一種。FPGA的可編程特性使得該器件具有獨特的靈活性,可以幫助系統(tǒng)廠商在最短的時間內推出產(chǎn)品并實現(xiàn)產(chǎn)業(yè)化;隨著工藝的進步,傳統(tǒng)ASIC產(chǎn)品所需的NRE (Non-Recurring Engineering, 一次性工程)成本越來越高,受企業(yè)研發(fā)資金的約束,傳統(tǒng)ASIC在很多市場領域已被FPGA取代。FPGA的應用領域已從原來的通信逐步擴展到消費電子、汽車電子、工業(yè)控制、測試測量等廣泛的領域。因此,如何有效利用FPGA內部邏輯資源也變得越來越重要。
[0003]FPGA 內部包括 CLB (Configurable Logic Block,可配置邏輯模塊)、1B (InputOutput Block,輸出輸入模塊)和Interconnect (內部連線)三大個部分。1B是芯片與外界電路接口部分,完成不同電器特性下對輸入/輸出信號的驅動與匹配要求;CLB主要由組合邏輯、寄存器、選擇器和控制單元組成!Interconnect用于連通FPGA內部所有單元。用戶通過對FPGA內部的邏輯模塊和1/0模塊重新配置,以實現(xiàn)用戶所需的邏輯功能。
[0004]當FPGA設計中包含N個相同功能模塊時,通常實現(xiàn)方法是完成一個功能模塊,然后做N次復制,如圖1所示,若一個功能模塊占用X個組合邏輯單元,Y個寄存器,Z條內部連線,那么N次復制后一般就會占用XXN個組合邏輯單元,YXN個寄存器,ZXN條內部連線,嚴重消耗了 FPGA的硬件資源,提高了設計成本,同時過多的內部連線也可能會導致整個設計所能達到的最大頻率(Fmax)不符合要求。
【發(fā)明內容】
[0005]針對現(xiàn)有技術中存在的缺陷,本發(fā)明的目的在于提供一種基于現(xiàn)場可編程門陣列的集中緩存式裝置及設計方法,能夠減少多個相同功能模塊占用的組合邏輯資源,節(jié)省設計成本,且功能模塊的數(shù)量越大,效果越明顯。
[0006]為達到以上目的,本發(fā)明采取的技術方案是:一種基于現(xiàn)場可編程門陣列的集中緩存式裝置,適用于至少2個相同的功能模塊,包括時分復用控制單元、信號串行化單元、集中存儲寄存器、組合邏輯單元、信號并行化單元;所述時分復用控制單元用于將時間周期劃為至少2個等時長的時隙,每一個時隙按順序對應一個功能模塊,每個功能模塊在對應的時隙內進行輸入信號處理;所述信號串行化單元用于將每個功能模塊的并行輸入信號轉化為串行輸入信號;所述集中存儲寄存器用于保存每個功能模塊的寄存器,并在每個功能模塊對應的時隙內讀寫該功能模塊的寄存器;所述組合邏輯單元用于單個功能模塊進行輸入信號處理的組合邏輯;所述信號并行化單元用于將每個功能模塊的輸入信號處理后的串行輸出信號還原為并行輸出信號。
[0007]在上述技術方案的基礎上,所述組合邏輯單元為單路HDLC解封裝組合邏輯。
[0008]在上述技術方案的基礎上,所述集中存儲寄存器為block RAM或者分布式RAM。
[0009]在上述技術方案的基礎上,所述時分復用控制單元劃分的時隙按順序不斷循環(huán)。
[0010]本發(fā)明還提供一種基于現(xiàn)場可編程門陣列的集中緩存式設計方法,包括以下步驟:步驟S1.時分復用控制單元根據(jù)功能模塊的數(shù)目將時間周期劃為相應數(shù)目的時隙;信號串行化單元將每個功能模塊的并行輸入信號轉化為串行輸入信號;步驟S2.各個功能模塊的寄存器按順序存儲在集中存儲寄存器的地址中;步驟S3.在同一個時隙內,對應的功能模塊的輸入信號輸入時,從集中存儲寄存器中讀取對應的寄存器值,并調用組合邏輯單元,計算該功能模塊的輸出結果,然后將數(shù)據(jù)處理后的新寄存器值重新存入到集中存儲寄存器的對應地址中;步驟S4.信號并行化單元將每個功能模塊的輸出結果按對應關系重新還原為并行輸出信號。
[0011]在上述技術方案的基礎上,步驟SI中,每個輸入信號對應設有一個順序標記信號,所述順序標記信號用于指示輸入信號對應的時隙。
[0012]在上述技術方案的基礎上,步驟S4中,信號并行化單元將每個功能模塊的輸出結果按順序標記信號的對應關系重新還原為并行輸出信號。
[0013]在上述技術方案的基礎上,步驟S2中,各個功能模塊寄存器在每個地址中的存放位置是相同的。
[0014]在上述技術方案的基礎上,每個功能模塊的輸入信號設有一個數(shù)據(jù)有效信號,所述數(shù)據(jù)有效信號用于指示當前時隙內輸入信號的數(shù)據(jù)是否有效。
[0015]本發(fā)明的有益效果在于:
[0016]1.本發(fā)明采用的集中緩存式設計方法,能夠減少多個相同功能模塊占用的組合邏輯資源,節(jié)省設計成本,且功能模塊的數(shù)量越大,效果越明顯。
[0017]2.本發(fā)明利用信號串行化單元將多個相同功能模塊端口串行化,減少了功能模塊之間的信號連線,進而節(jié)約了 FPGA的布線資源。
[0018]3.本發(fā)明提供的集中緩存式設計方法,通過共享組合邏輯單元,將N個功能模塊的NXX個組合邏輯單元減少到X個組合邏輯單元,比傳統(tǒng)設計方法的資源占用率少,這為軟件在FPGA內部布局布線提供了便利,因此會有效提高設計的最大系統(tǒng)時鐘頻率(Fmax),提高設計的穩(wěn)定性。
【專利附圖】
【附圖說明】
[0019]圖1為【背景技術】中N個相同功能模塊通常設計方法的示意圖;
[0020]圖2本發(fā)明中基于現(xiàn)場可編程門陣列的集中緩存式裝置的結構框圖;
[0021]圖3本發(fā)明中基于現(xiàn)場可編程門陣列的集中緩存式設計方法的示意圖;
[0022]圖4本發(fā)明實施例8路HDLC解封裝結構示意圖。
【具體實施方式】
[0023]以下結合附圖及實施例對本發(fā)明作進一步詳細說明。
[0024]參見圖2所示,一種基于現(xiàn)場可編程門陣列的集中緩存式裝置,適用于至少2個相同的功能模塊,包括時分復用控制單元、信號串行化單元、集中存儲寄存器、組合邏輯單元、信號并行化單元;所述時分復用控制單元用于將時間周期劃為至少2個等時長的時隙,每一個時隙按順序對應一個功能模塊,每個功能模塊在對應的時隙內進行輸入信號處理;所述時分復用控制單元劃分的時隙按順序不斷循環(huán)。所述信號串行化單元用于將每個功能模塊的并行輸入信號轉化為串行輸入信號;所述集中存儲寄存器用于保存每個功能模塊的寄存器,并在每個功能模塊對應的時隙內讀寫該功能模塊的寄存器;所述組合邏輯單元為單個功能模塊進行輸入信號處理的組合邏輯;所述信號并行化單元用于將每個功能模塊的輸入信號處理后的串行輸出信號還原為并行輸出信號。
[0025]參見圖3所示,根據(jù)上述裝置的基于現(xiàn)場可編程門陣列的集中緩存式設計方法,包括以下步驟:
[0026]步驟S1.時分復用控制單元根據(jù)功能模塊的數(shù)目將時間周期劃為相應數(shù)目的時隙;信號串行化單元將每個功能模塊的并行輸入信號轉化為串行輸入信號,且每個輸入信號對應設有一個順序標記信號(number);所述順序標記信號還用于指示輸入信號對應的時隙。每個功能模塊的輸入信號設有一個數(shù)據(jù)有效信號(dv),所述數(shù)據(jù)有效信號用于指示當前時隙內輸入信號的數(shù)據(jù)是否有效。例如:具體為劃分N個時隙,每個功能模塊的輸入信號按固定順序占用一個時隙,比如第O個功能模塊占用第O個時隙,第I個功能模塊占用第I個時隙,以此類推,第N-1個功能模塊占用第N-1個時隙。按之前舉例,順序標記信號為O時,串行化的輸入信號對應第O個功能模塊輸入信號。
[0027]步驟S2.各個功能模塊的寄存器按順序存儲在集中存儲寄存器的地址中,且各個功能模塊寄存器在每個地址中的存放位置是相同的。例如:第O個功能模塊數(shù)據(jù)處理的寄存器存儲在集中存儲寄存器的地址0,第I個功能模塊數(shù)據(jù)處理的寄存器存儲在集中存儲寄存器的地址1,以此類推,第N-1個功能模塊寄存器存儲在集中存儲寄存器的地址N-1。同時,第O個功能模塊的寄存器a儲存在地址O的比特0,第I個功能模塊的寄存器a也同樣存在地址I的比特O。
[0028]步驟S3.由于每個功能模塊所要實現(xiàn)的功能相同,因此所有功能模塊的數(shù)據(jù)處理的組合邏輯是一樣的。在時分復用模塊控制下,在同一個時隙內,對應的功能模塊的輸入信號輸入時,從集中存儲寄存器中讀取對應的寄存器值。例如:當輸入的串行化數(shù)據(jù)的順序標記信號為O時,集中存儲寄存器的地址O中的寄存器值將被讀出,此時該寄存器值以及輸入信號同屬于第O個功能模塊。
[0029]調用組合邏輯單元,計算該功能模塊的輸出結果,然后將數(shù)據(jù)處理后的新寄存器值重新存入到集中存儲寄存器的對應地址中;例如:在第O個時隙內,同屬于第O個功能模塊的輸入信號加上該功能模塊的寄存器按單個功能模塊數(shù)據(jù)處理方式就可得出第O個功能模塊的輸出結果,同時數(shù)據(jù)處理后的寄存器值重新存入到集中存儲寄存器的地址O。
[0030]步驟S4.信號并行化單元將每個功能模塊的輸出結果按順序標記信號的對應關系重新還原為并行輸出信號。與串行化輸入信號類似,輸出的串行化數(shù)據(jù)處理結果也設有順序標記信號指明當前輸出結果對應哪個功能模塊。例如:順序標記信號為O時輸出結果對應第O個功能模塊。
[0031]參見圖4所不,以組合邏輯單兀為單路HDLC(High-Level Data Link Control,高級數(shù)據(jù)鏈路控制)解封裝組合邏輯為例,對本發(fā)明做進一步說明:
[0032]信號串行化單元將8路HDLC解封裝的數(shù)據(jù)輸入data0_data7按時分復用控制單元劃分的時隙轉化為串行碼流,第O個功能模塊對應第O個時隙,第I個功能模塊對應第I個時隙,以此類推。轉化后的順序標記信號用于指示串行碼流data對應的時隙,如順序標記信號為O時,data對應dataO ;順序標記信號為I時,data對應datal。數(shù)據(jù)有效信號用于指示當前時隙的data是否有效。
[0033]集中存儲寄存器中存儲了 HDLC解封裝操作所要用的所有寄存器。所述集中存儲寄存器為block RAM (塊隨機存儲器)或者分布式RAM,其地址深度為8,地址O存儲第O個功能模塊的寄存器,地址I存儲第I個功能模塊的寄存器,以此類推。時分復用控制單元控制該集中存儲寄存器的讀寫操作,它在各個時隙讀出對應地址寄存器值data_rd,然后在數(shù)據(jù)處理后得到的寄存器新值data_wr,并將data_wr在當前時隙重新存入集中存儲寄存器。如,在順序標記信號為O時,讀出O地址的寄存器值data_rd,經(jīng)過數(shù)據(jù)處理后得data_wr,然后重新存入地址O。
[0034]單路HDLC解封裝組合邏輯主要是在各個時隙將各路數(shù)據(jù)輸入data以及寄存器data_rd相結合,按單路HDLC協(xié)議進行解封裝處理,得出解封裝后的數(shù)據(jù)包。Data_out是解封裝得到的數(shù)據(jù),sop指示數(shù)據(jù)包頭,eop指示數(shù)據(jù)包尾,dv_out指示當前的data_out、sop.eop是否有效。在順序標記信號為O時,其是對第O路輸入信號進行解封裝處理,得到的是第O路的解封裝數(shù)據(jù)包;當順序標記信號為I時,是對第I路輸入信號進行解封裝處理,得到的是第I路的解封裝數(shù)據(jù)包,以此類推。
[0035]最后,信號并行化處理模塊將得到的串行解封裝數(shù)據(jù)包根據(jù)順序標記信號恢復為8路數(shù)據(jù)流,實現(xiàn)8個單路HDLC解封裝模塊的功能效果。
[0036]本發(fā)明不局限于上述實施方式,對于本【技術領域】的普通技術人員來說,在不脫離本發(fā)明原理的前提下,還可以做出若干改進和潤飾,這些改進和潤飾也視為本發(fā)明的保護范圍之內。本說明書中未作詳細描述的內容屬于本領域專業(yè)技術人員公知的現(xiàn)有技術。
【權利要求】
1.一種基于現(xiàn)場可編程門陣列的集中緩存式裝置,適用于至少2個相同的功能模塊,其特征在于:包括時分復用控制單元、信號串行化單元、集中存儲寄存器、組合邏輯單元、信號并彳了化單兀; 所述時分復用控制單元用于將時間周期劃為至少2個等時長的時隙,每一個時隙按順序對應一個功能模塊,每個功能模塊在對應的時隙內進行輸入信號處理; 所述信號串行化單元用于將每個功能模塊的并行輸入信號轉化為串行輸入信號; 所述集中存儲寄存器用于保存每個功能模塊的寄存器,并在每個功能模塊對應的時隙內讀與該功能I旲塊的寄存器; 所述組合邏輯單元用于單個功能模塊進行輸入信號處理的組合邏輯; 所述信號并行化單元用于將每個功能模塊的輸入信號處理后的串行輸出信號還原為并行輸出信號。
2.如權利要求1所述的基于現(xiàn)場可編程門陣列的集中緩存式裝置,其特征在于:所述組合邏輯單元為單路HDLC解封裝組合邏輯。
3.如權利要求1所述的基于現(xiàn)場可編程門陣列的集中緩存式裝置,其特征在于:所述集中存儲寄存器為block RAM或者分布式RAM。
4.如權利要求1所述的基于現(xiàn)場可編程門陣列的集中緩存式裝置,其特征在于:所述時分復用控制單元劃分的時隙按順序不斷循環(huán)。
5.根據(jù)權利要求1所述裝置的基于現(xiàn)場可編程門陣列的集中緩存式設計方法,其特征在于,包括以下步驟: 步驟S1.時分復用控制單元根據(jù)功能模塊的數(shù)目將時間周期劃為相應數(shù)目的時隙;信號串行化單元將每個功能模塊的并行輸入信號轉化為串行輸入信號; 步驟S2.各個功能模塊的寄存器按順序存儲在集中存儲寄存器的地址中; 步驟S3.在同一個時隙內,對應的功能模塊的輸入信號輸入時,從集中存儲寄存器中讀取對應的寄存器值,并調用組合邏輯單元,計算該功能模塊的輸出結果,然后將數(shù)據(jù)處理后的新寄存器值重新存入到集中存儲寄存器的對應地址中; 步驟S4.信號并行化單元將每個功能模塊的輸出結果按對應關系重新還原為并行輸出信號。
6.如權利要求5所述的基于現(xiàn)場可編程門陣列的集中緩存式設計方法,其特征在于:步驟SI中,每個輸入信號對應設有一個順序標記信號,所述順序標記信號用于指示輸入信號對應的時隙。
7.如權利要求6所述的基于現(xiàn)場可編程門陣列的集中緩存式設計方法,其特征在于:步驟S4中,信號并行化單元將每個功能模塊的輸出結果按順序標記信號的對應關系重新還原為并行輸出信號。
8.如權利要求5所述的基于現(xiàn)場可編程門陣列的集中緩存式設計方法,其特征在于:步驟S2中,各個功能模塊寄存器在每個地址中的存放位置是相同的。
9.如權利要求5所述的基于現(xiàn)場可編程門陣列的集中緩存式設計方法,其特征在于:每個功能模塊的輸入信號設有一個數(shù)據(jù)有效信號,所述數(shù)據(jù)有效信號用于指示當前時隙內輸入信號的數(shù)據(jù)是否有效。
【文檔編號】G06F17/50GK104252560SQ201410451627
【公開日】2014年12月31日 申請日期:2014年9月5日 優(yōu)先權日:2014年9月5日
【發(fā)明者】程泉 申請人:烽火通信科技股份有限公司