新四季網

用於現場可編程門陣列晶片文件加載的系統及方法與流程

2024-02-13 23:23:15


本發明涉及通信技術領域,特別涉及一種現場可編程門陣列(英文全稱:field-programmablegatearray,英文簡稱:fpga)晶片文件加載的系統及方法。



背景技術:

目前數位訊號處理一般在中頻進行,大部分操作由fpga晶片實現。為實時動態重新配置fpga晶片來加載不同的軟體設計,快速的實現功能的切換,目前的主要實現方法分為靜態系統重構和動態系統重構。靜態系統重構是指目標系統的邏輯功能靜態重載,即只能在運行前配置的系統。fpga晶片功能在外部邏輯的控制下,通過存貯於存貯器中不同的目標系統數據的重新下載,而實現晶片邏輯功能的改變。在重新配置數據的過程中,舊的邏輯功能失去,新的邏輯功能尚未建立,存在系統重構時隙,系統功能無法動態連續。動態系統重構是指晶片能在運行過程中實現內部邏輯塊和連接線的改變,能夠解決上述無法動態連續的問題,但該方案實現過程比較複雜,文件加載速率較低。



技術實現要素:

本發明實施例提供了一種用於fpga晶片文件加載的系統及方法。為了對披露的實施例的一些方面有一個基本的理解,下面給出了簡單的概括。該概括部分不是泛泛評述,也不是要確定關鍵/重要組成元素或描繪這些實施例的保護範圍。其唯一目的是用簡單的形式呈現一些概念,以此作為後面的詳細說明的序言。

根據本發明實施例的第一方面,提供了一種用於fpga晶片文件加載的系統,其特徵在於,包括:上位機模塊、軟體通信體系框架(英文全稱:servicecomponentarchitecture,英文簡稱:sca)中間層模塊,一個第一fpga晶片和至少一個第二fpga晶片;所述上位機模塊,用於發送控制指令至所述sca中間層模塊;所述控制指令包含功能算法文件的名稱;所述sca中間層模塊,用於接收控制指令並根據所述控制指令查找所述功能算法文件並加載至所述第一fpga晶片;所述第一fpga晶片,用於引導加載所述功能算法文件至所述第二fpga晶片;所述第二fpga晶片,用於加載所述功能算法實現對應的所述功能。

可選地,所述上位機模塊和所述sca中間層模塊通過基於公共對象請求代理體系結構(英文全稱:commonobjectrequestbrokerarchitecture,英文簡稱:corba)規範的接口通過區域網(英文全稱:localareanetwork,英文簡稱:lan)總線進行通信;所述一個或多個第二fpga晶片和所述第一fpga晶片之間通過輸入/輸出(英文全稱:input/output,英文簡稱:i/o)接口互聯。

可選地,所述上位機模塊包括一個功能選擇模塊,用於進行功能選擇和參數配置生成控制指令;所述控制指令包括功能算法文件名稱和配置參數;所述配置參數包括所述第二fpga晶片的標識id;所述第一fpga晶片按所述第二fpga晶片id加載所述功能算法文件至相應的第二fpga晶片。

可選地,所述sca中間層模塊包括:至少一個波形應用組件、至少一個設備組件和外設部件互連標準(英文全稱:peripheralcomponentinterconnect,英文簡稱:pci)驅動;所述波形應用組件與所述功能選擇模塊提供的功能選項一一對應,所述設備組件與底層硬體中的第二fpga晶片一一對應;所述波形應用組件用於根據所述第二fpga晶片id尋找所述設備組件並將所述控制指令發送給所述設備組件;所述設備組件,用於調用所述pci驅動讀取所述功能算法文件;所述pci驅動,用於發送所述功能算法文件至所述第一fpga晶片。

可選地,所述設備組件連接至所述緊湊型外設部件互連標準(英文全稱:compactperipheralcomponentinterconnect,英文簡稱:cpci)總線接口,並通過所述cpci總線接口與所述cpci總線連接。

可選地,所述第二fpga晶片各外接一個快閃記憶體(英文全稱:flasheeprom,英文簡稱:flash)和一個雙倍速率同步動態隨機存儲器(英文全稱:dualdataratesynchronousdynamicrandomaccessmemory,英文簡稱:ddr);所述flash內固化了所述第二fpga晶片驅動文件,用於在所述第二fpga晶片上電後加載,在所述第一fpga晶片給出控制信號後完成所述第二fpga晶片的初始化;所述ddr,用於存儲所述功能算法文件。

根據本發明實施例的第二方面,提供一種用於fpga晶片文件加載的方法,包括:上位機模塊發送控制指令;sca中間層模塊接收所述控制指令;所述sca中間層模塊解析所述控制指令,得出所述控制指令中包含的功能算法文件的名稱;所述sca中間層模塊根據所述功能算法文件的名稱查找所述功能算法文件並將所述功能算法文件發送至第一fpga晶片;所述第一fpga晶片引導加載所述功能算法文件至所述第二fpga晶片。

可選地,所述控制指令由功能選擇模塊發送;所述控制指令包括功能算法文件名稱和配置參數;所述配置參數包括所述第二fpga晶片的id;所述第一fpga晶片按所述第二fpga晶片id加載所述功能算法文件至相應的第二fpga晶片。

可選地,所述sca中間層模塊包括:至少一個波形應用組件、至少一個設備組件和外設部件互連標準pci驅動;所述波形應用組件與所述功能選擇模塊提供的功能選項一一對應,所述設備組件與底層硬體中的第二fpga晶片一一對應;所述sca中間層模塊根據所述功能算法文件的名稱查找所述功能算法文件並將所述功能算法文件發送至第一fpga晶片包括:所述波形應用組件根據所述第二fpga晶片id尋找所述設備組件並將所述控制指令發送給所述設備組件;所述設備組件調用所述pci驅動讀取所述功能算法文件;所述pci驅動發送所述功能算法文件至所述第一fpga晶片。

可選地,在上位機模塊發送控制指令之前還包括:所述第一fpga晶片上電;

所述功能選擇模塊,所述sca中間層模塊和所述第二fpga晶片上電。所述第二fpga晶片加載固化在所述第二fpga晶片外接的flash內的fpga晶片驅動文件;所述第二fpga晶片根據所述第一fpga晶片發送的控制信號完成初始化。

本發明實施例提供的技術方案可以包括以下有益效果:

本實施例提供的系統基於sca進行軟體結構設計,文件加載過程中不需要進行內部邏輯塊和連接線的改變,實現fpga晶片文件動態加載。整個過程不需要斷電重啟,過程簡單,提高文件的加載效率。

應當理解的是,以上的一般描述和後文的細節描述僅是示例性和解釋性的,並不能限制本發明。

附圖說明

此處的附圖被併入說明書中並構成本說明書的一部分,示出了符合本發明的實施例,並與說明書一起用於解釋本發明的原理。

圖1是根據一示例性實施例示出的一種用於fpga晶片文件加載的系統的結構示意圖;

圖2是根據一示例性實施例示出的一種用於fpga晶片文件加載的系統的結構示意圖;

圖3是根據一示例性實施例示出的一種用於fpga晶片文件加載的方法的框圖;

圖4是根據一示例性實施例示出的一種用於fpga晶片文件加載的方法的框圖。

具體實施方式

以下描述和附圖充分地示出本發明的具體實施方案,以使本領域的技術人員能夠實踐它們。實施例僅代表可能的變化。除非明確要求,否則單獨的部件和功能是可選的,並且操作的順序可以變化。一些實施方案的部分和特徵可以被包括在或替換其他實施方案的部分和特徵。本發明的實施方案的範圍包括權利要求書的整個範圍,以及權利要求書的所有可獲得的等同物。在本文中,各實施方案可以被單獨地或總地用術語「發明」來表示,這僅僅是為了方便,並且如果事實上公開了超過一個的發明,不是要自動地限制該應用的範圍為任何單個發明或發明構思。本文中,諸如第一和第二等之類的關係術語僅僅用於將一個實體或者操作與另一個實體或操作區分開來,而不要求或者暗示這些實體或操作之間存在任何實際的關係或者順序。而且,術語「包括」、「包含」或者其任何其他變體意在涵蓋非排他性的包含,從而使得包括一系列要素的過程、方法或者設備不僅包括那些要素,而且還包括沒有明確列出的其他要素本文中各個實施例採用遞進的方式描述,每個實施例重點說明的都是與其他實施例的不同之處,各個實施例之間相同相似部分互相參見即可。對於實施例公開的結構、產品等而言,由於其與實施例公開的部分相對應,所以描述的比較簡單,相關之處參見方法部分說明即可。

sca是基於corba制定的軟體無線電軟體協議和相應技術標準,通過corba規範實現了軟體總線,為各軟體模塊之間進行數據傳輸與聯繫提供的虛擬公共通道和接口。sca定義了一個實現獨立、開放的軟體框架,支持軟體開發的基本需求,包括了開發軟體的接口規範、應用編程接口、行為規範和準則。本發明的實施例基於sca的系統架構在不同的層面對硬體和軟體進行詳細地定義,為系統的設計和開發提供了詳細的規範,建立了獨立於設備的結構框架,使系統具有組件的可移植性和復用性,並確保根據sca開發的產品之間的兼容性。sca能保證基於該規範的各種系統間實現互連、互通和互操作,同時,它還為不同的sca波形應用組件提供了可移植的平臺,並通過充分採用corba規範封裝複雜的接口,降低了開發的複雜性,減少了開發成本。憑藉sca技術能夠實現文件的動態切換,不需要將設備斷電或是重啟再加載文件。

如圖1所示,本發明實施例提供的用於fpga晶片文件加載的系統包括:上位機模塊1100、sca中間層模塊1200,一個第一fpga晶片1300和至少一個第二fpga晶片。

上位機模塊1100,用於發送控制指令至sca中間層模塊1200,其中,控制指令包含功能算法文件的名稱。上位機模塊1100設置有功能選項,將算法文件分解成對應所有功能選項的多個功能算法文件。

sca中間層模塊1200用於接收控制指令並根據控制指令中的功能算法文件的名稱查找對應的功能算法文件並加載該功能算法文件至第一fpga晶片1300。

第一fpga晶片1300,用於引導加載功能算法文件至第二fpga晶片。

第二fpga晶片用於加載功能算法文件並實現功能。

一般情況下,按系統中fpga晶片數量進行平均,每塊fpga晶片能使運算速度提高7-30倍左右。本系統一個第一fpga晶片1300作為加載文件的控制器,一個或多個第二fpga晶片作為整個系統的目標器件,加載功能算法文件並實現功能。第一fpga晶片1300引導第二fpga晶片加載sca中間層模塊1200發送的功能算法文件,第二fpga晶片算法文件加載功能算法文件並實現功能。整個過程不需要斷電重啟,以軟體重構的形式,完成fpga晶片的文件動態加載。

本實施例提供的系統基於sca進行軟體結構設計,文件加載過程中不需要進行內部邏輯塊和連接線的改變,實現fpga晶片文件動態加載。整個過程不需要斷電重啟,過程簡單,提高文件的加載效率。

在另一些實施例中,如圖2所示,用於fpga晶片文件加載的系統包括:上位機模塊1100、sca中間層模塊1200,一個第一fpga晶片1300和至少一個第二fpga晶片。

上位機模塊1100包括一個功能選擇模塊,用於進行功能選擇和參數配置生成控制指令。生成的控制指令包括功能算法文件名稱和配置參數,其中,配置參數包括第二fpga晶片的id,指示加載選擇的功能對應的功能算法文件至對應的第二fpga晶片。該id為第二fpga晶片的設備號,進一步地,該id包括第二fpga晶片的廠商號。功能算法文件為二進位(英文全稱:binary,英文簡稱:bin)文件,通過仿真器生成。第一fpga晶片1300在引導加載功能算法文件時,按控制指令中的第二fpga晶片id加載功能算法文件至相應的第二fpga晶片。

sca中間層模塊1200以.xml文件和.out文件形式存在,由spectracx軟體生成。sca中間層模塊1200包括波形應用組件1201、設備組件1202和pci驅動。sca中間層模塊1200同樣針對上位機模塊1100設置的功能選項將算法文件分解,生成對應的波形應用組件1201。sca中間層模塊1200每個波形應用組件1201與主功能模塊中每個功能選項和對應的功能算法文件是一一映射的。sca中間層模塊1200具有針對底層第二fpga晶片抽象出來的設備組件1202,第二fpga晶片根據所能實現的功能分解成若干個可選的模塊並建立一個功能管理接口,然後在設備組件1202中通過corba接口與這若干個模塊映射。波形應用組件1201,用於根據控制指令尋找設備組件1202並將控制指令發送給設備組件1202,設備組件1202,調用pci驅動讀取功能算法文件將功能算法文件發送至第一fpga晶片1300,波形應用組sca中間層模塊1200與上位機模塊1100基於corba規範定義的接口通過lan進行通信。

第一fpga晶片1300按照控制指令中的第二fpga晶片id引導加載功能算法文件至相應的第二fpga晶片。

第二fpga晶片各外接一個flash和一個ddr,在flash內固化了第二fpga晶片驅動文件,第二fpga晶片上電後加載驅動文件,在接收到第一fpga晶片1300通過通用i/o接口給出控制信號後完成初始化。ddr內存儲有功能算法文件,pci驅動從該ddr內讀取功能算法文件。

上位機模塊1100和sca中間層模塊1200基於corba規範的接口通過區域網lan總線進行通信。波形應用組件1201和設備組件1202通過基於corba規範的接口通信,設備組件1202還連接至cpci總線接口,並通過cpci總線接口與cpci總線連接。sca中間層模塊1200和第一fpga晶片1300採用緊湊型外設部件互連標準cpci總線連接。第二fpga晶片和第一fpga晶片1300之間通過i/o接口互聯。

在本實施例中第一fpga晶片1300採用sprtan-6,第二fpga晶片採用virtex-6。

系統上電過程為:第一fpga晶片1300首先上電完成加載,然後上位機模塊1100和sca中間層模塊1200以及第二fpga晶片上電。

第二fpga晶片的配置以及文件加載都是通過第一fpga晶片1300控制完成,所以第一fpga晶片1300最先上電、加載,在第一fpga晶片1300加載完畢後,其他模塊才能進行上電。

系統上電後,第二fpga晶片加載固化在flash內的第二fpga晶片驅動文件,在接收到第一fpga晶片1300發送的控制信號後完成第二fpga晶片的初始化。然後執行fpga晶片文件加載過程。

文件動態加載過程為:通過上位機模塊1100選擇需要加載的功能和需要配置的參數,生成控制指令,通過基於corba規範的接口傳遞給sca中間層模塊1200。當sca中間層模塊1200中的波形應用組件1201接收到上位機1100發出的控制指令,會根據其中的第二fpga晶片的id尋找對應的設備組件1202,並將控制指令發送給設備組件1202。當設備組件1202接收到波形應用組件1211傳遞的控制指令,會調用pci驅動從第二fpga外接的ddr中讀取功能算法文件並將功能算法文件通過cpci總線傳送給第一fpga晶片1300,由第一fpga晶片1300引導加載至指定的第二fpga晶片,直接替代原來的文件完成fpga晶片文件加載。當需要切換功能時,在功能選擇模塊1100進行功能切換,並依次執行前述步驟完成對fpga晶片文件動態加載,整個過程不需要重啟加載。

本實施例提供的系統基於sca進行軟體結構設計,文件加載過程中不需要進行內部邏輯塊和連接線的改變,實現fpga晶片文件動態加載。整個過程不需要斷電重啟,過程簡單,提高文件的加載效率。

與前述系統實施例相對應,參見圖3,本發明實施例提供的用於fpga晶片文件加載的方法包括如下步驟。

步驟s301,上位機模塊發送控制指令。

上位機模塊1100提供軟體功能選項,根據需求在上位機模塊1100選擇需要執行的軟體功能,上位機模塊1100發送控制指令,控制指令中包含功能算法文件的名稱。

步驟s302,sca中間層模塊接收所述控制指令。

步驟s303,所述sca中間層模塊根據所述功能算法文件的名稱查找所述功能算法文件並將所述功能算法文件發送至第一fpga晶片。

步驟s304,所述第一fpga晶片引導加載所述功能算法文件至所述第二fpga晶片。

本實施例提供的方法可以實現對fpga晶片文件的動態加載,整個過程不需要重啟加載,過程簡單,提高文件的加載效率。

波形應用組件1201與上位機模塊1100提供的功能選項一一對應,每個功能選項對應的功能算法文件不同。根據功能算法文件的名稱選擇與選擇的功能選項對應的波形應用組件1201。

控制指令中包含功能算法文件的名稱,設備組件1202根據功能算法文件的名稱選擇對應的功能算法文件,並發送至第一fpga晶片1300。

步驟s208,所述第一fpga晶片根據所述控制指令引導加載所述功能算法文件至第二fpga晶片。

第一fpga晶片1300發送功能算法文件至能夠完成選擇的功能的第二fpga晶片。

在一些實施例中,參見圖4,用於fpga晶片文件加載的方法包括如下步驟。

步驟s401,所述第一fpga晶片上電。

步驟s402,所述功能選擇模塊,所述sca中間層模塊和所述第二fpga晶片上電。

第一fpga晶片1300實現第二fpga晶片的初始化和文件部署,在系統進行工作前首先對第一fpga晶片1300上電,當fpga晶片1300上電後再對其他模塊即上位機模塊,sca中間層模塊和第二fpga晶片進行上電。

步驟s403,所述第二fpga晶片加載固化在所述第二fpga晶片外接的flash內的fpga晶片驅動文件。

第二fpga晶片外接的flash內固化了第二fpga晶片的驅動文件,在第二fpga晶片上電後會自動加載第二fpga晶片驅動文件。

步驟s404,所述第二fpga晶片根據所述第一fpga晶片發送的控制信號完成初始化。

第二fpga晶片在加載文件前首先要進行初始化,第一fpga晶片1300發送控制信號控制第二fpga晶片進行初始化。

步驟s405,上位機模塊發送控制指令。

上位機模塊1100包括功能選擇模塊,可以進行功能選擇和參數配置並生成控制指令。配置參數中包含第二fpga晶片id,所述第二fpga晶片id指示加載選擇的功能對應的功能算法文件至對應的第二fpga晶片。

步驟s406,sca中間層模塊接收所述控制指令。

sca中間層模塊1200接收的控制指令包括功能算法文件名稱和配置參數。其中,功能算法文件名稱為與選擇的功能對應的功能算法文件名稱,該功能算法文件為加載到第二fpga晶片的文件名稱。

步驟s407,所述波形應用組件根據所述第二fpga晶片id尋找所述設備組件並將所述控制指令發送給所述設備組件。

sca中間層模塊1200針對上位機模塊1100設置的功能選項將算法文件分解,生成對應的波形應用組件1201。sca中間層模塊1200每個波形應用組件1201與主功能模塊中每個功能選項和對應的功能算法文件是一一映射的。sca中間層模塊1200具有針對底層第二fpga晶片抽象出來的設備組件1202,因此,可通過第二fpga晶片id尋找對應的設備組件1202。

步驟s408,所述設備組件調用所述pci驅動讀取所述功能算法文件。

sca中間層模塊1200包括pci驅動,設備組件1202調用pci驅動讀取控制指令中功能算法文件名稱對應的功能算法文件。

步驟s409,所述pci驅動發送所述功能算法文件至所述第一fpga晶片。

步驟s410,所述第一fpga晶片引導加載所述功能算法文件至所述第二fpga晶片。

控制指令包括第二fpga晶片id,第一fpga晶片1300根據控制指令包含的第二fpga晶片id將功能算法文件加載至對應的第二fpga晶片。

當執行上述步驟完成一次功能算法文件的加載後。系統等待功能選擇模塊1100發送控制指令,當在功能選擇模塊1100做出功能切換時,則執行步驟s405及之後的步驟,完成fpga晶片文件的動態加載。

本實施例提供的方法可以實現對fpga晶片文件的動態加載,整個過程不需要重啟加載,過程簡單,提高文件的加載效率。

應當理解的是,本發明並不局限於上面已經描述並在附圖中示出的流程及結構,並且可以在不脫離其範圍進行各種修改和改變。本發明的範圍僅由所附的權利要求來限制。

同类文章

一種新型多功能組合攝影箱的製作方法

一種新型多功能組合攝影箱的製作方法【專利摘要】本實用新型公開了一種新型多功能組合攝影箱,包括敞開式箱體和前攝影蓋,在箱體頂部設有移動式光源盒,在箱體底部設有LED脫影板,LED脫影板放置在底板上;移動式光源盒包括上蓋,上蓋內設有光源,上蓋部設有磨沙透光片,磨沙透光片將光源封閉在上蓋內;所述LED脫影

壓縮模式圖樣重疊檢測方法與裝置與流程

本發明涉及通信領域,特別涉及一種壓縮模式圖樣重疊檢測方法與裝置。背景技術:在寬帶碼分多址(WCDMA,WidebandCodeDivisionMultipleAccess)系統頻分復用(FDD,FrequencyDivisionDuplex)模式下,為了進行異頻硬切換、FDD到時分復用(TDD,Ti

個性化檯曆的製作方法

專利名稱::個性化檯曆的製作方法技術領域::本實用新型涉及一種檯曆,尤其涉及一種既顯示月曆、又能插入照片的個性化檯曆,屬於生活文化藝術用品領域。背景技術::公知的立式檯曆每頁皆由月曆和畫面兩部分構成,這兩部分都是事先印刷好,固定而不能更換的。畫面或為風景,或為模特、明星。功能單一局限性較大。特別是畫

一種實現縮放的視頻解碼方法

專利名稱:一種實現縮放的視頻解碼方法技術領域:本發明涉及視頻信號處理領域,特別是一種實現縮放的視頻解碼方法。背景技術: Mpeg標準是由運動圖像專家組(Moving Picture Expert Group,MPEG)開發的用於視頻和音頻壓縮的一系列演進的標準。按照Mpeg標準,視頻圖像壓縮編碼後包

基於加熱模壓的纖維增強PBT複合材料成型工藝的製作方法

本發明涉及一種基於加熱模壓的纖維增強pbt複合材料成型工藝。背景技術:熱塑性複合材料與傳統熱固性複合材料相比其具有較好的韌性和抗衝擊性能,此外其還具有可回收利用等優點。熱塑性塑料在液態時流動能力差,使得其與纖維結合浸潤困難。環狀對苯二甲酸丁二醇酯(cbt)是一種環狀預聚物,該材料力學性能差不適合做纖

一種pe滾塑儲槽的製作方法

專利名稱:一種pe滾塑儲槽的製作方法技術領域:一種PE滾塑儲槽一、 技術領域 本實用新型涉及一種PE滾塑儲槽,主要用於化工、染料、醫藥、農藥、冶金、稀土、機械、電子、電力、環保、紡織、釀造、釀造、食品、給水、排水等行業儲存液體使用。二、 背景技術 目前,化工液體耐腐蝕貯運設備,普遍使用傳統的玻璃鋼容

釘的製作方法

專利名稱:釘的製作方法技術領域:本實用新型涉及一種釘,尤其涉及一種可提供方便拔除的鐵(鋼)釘。背景技術:考慮到廢木材回收後再加工利用作業的方便性與安全性,根據環保規定,廢木材的回收是必須將釘於廢木材上的鐵(鋼)釘拔除。如圖1、圖2所示,目前用以釘入木材的鐵(鋼)釘10主要是在一釘體11的一端形成一尖

直流氧噴裝置的製作方法

專利名稱:直流氧噴裝置的製作方法技術領域:本實用新型涉及ー種醫療器械,具體地說是ー種直流氧噴裝置。背景技術:臨床上的放療過程極易造成患者的局部皮膚損傷和炎症,被稱為「放射性皮炎」。目前對於放射性皮炎的主要治療措施是塗抹藥膏,而放射性皮炎患者多伴有局部疼痛,對於止痛,多是通過ロ服或靜脈注射進行止痛治療

新型熱網閥門操作手輪的製作方法

專利名稱:新型熱網閥門操作手輪的製作方法技術領域:新型熱網閥門操作手輪技術領域:本實用新型涉及一種新型熱網閥門操作手輪,屬於機械領域。背景技術::閥門作為流體控制裝置應用廣泛,手輪傳動的閥門使用比例佔90%以上。國家標準中提及手輪所起作用為傳動功能,不作為閥門的運輸、起吊裝置,不承受軸向力。現有閥門

用來自動讀取管狀容器所載識別碼的裝置的製作方法

專利名稱:用來自動讀取管狀容器所載識別碼的裝置的製作方法背景技術:1-本發明所屬領域本發明涉及一種用來自動讀取管狀容器所載識別碼的裝置,其中的管狀容器被放在循環於配送鏈上的文檔匣或託架裝置中。本發明特別適用於,然而並非僅僅專用於,對引入自動分析系統的血液樣本試管之類的自動識別。本發明還涉及專為實現讀