專利名稱:一種fpga配置文件更新裝置的制作方法
技術(shù)領(lǐng)域:
本發(fā)明屬于數(shù)字系統(tǒng)技術(shù)領(lǐng)域,更為具體地講,涉及一種更新數(shù)字系統(tǒng)中FPGA芯 片配置文件的裝置,以實(shí)現(xiàn)數(shù)字系統(tǒng)不同的電路功能。
背景技術(shù):
數(shù)字系統(tǒng)是對數(shù)字信息進(jìn)行存儲(chǔ)、傳輸、處理等操作的電子系統(tǒng),近年來廣泛地應(yīng) 用于電視、雷達(dá)、通信、電子計(jì)算機(jī)、自動(dòng)控制、航天等科學(xué)技術(shù)的各個(gè)領(lǐng)域。數(shù)字系統(tǒng)以二 進(jìn)制作為基礎(chǔ),具有實(shí)現(xiàn)簡單、可靠性高的特點(diǎn);同時(shí)具備數(shù)學(xué)運(yùn)算和邏輯運(yùn)算的能力,極 其適合于運(yùn)算、比較、存儲(chǔ)、傳輸、控制、決策等應(yīng)用;集成度高,體積小,功耗低,抗干擾能力 強(qiáng),易于實(shí)現(xiàn)小型化、模塊化等也是其突出優(yōu)點(diǎn)。隨著微處理器/微控制器以及可編程邏輯器件的出現(xiàn),數(shù)字系統(tǒng)開創(chuàng)了新的局 面,不僅規(guī)模大,而且將硬件與軟件相結(jié)合,使數(shù)字系統(tǒng)的功能更加完善,使用更加靈活。 “可編程邏輯器件+微處理器/微控制器”架構(gòu)是當(dāng)今數(shù)字系統(tǒng)流行使用的系統(tǒng)架構(gòu)??删?程邏輯器件可以大大減少系統(tǒng)硬件的面積,降低系統(tǒng)功耗,且可以根據(jù)用戶需要在任何時(shí) 候通過軟件反復(fù)對其進(jìn)行配置和編程以實(shí)現(xiàn)特定功能,不僅降低了成本,而且極大的提高 了系統(tǒng)的靈活性。FPGA(Field-Programmable Gate Array),即現(xiàn)場可編程門陣列作為一種重要的 可編程邏輯器件,具有豐富的邏輯資源和I/O資源,設(shè)計(jì)周期短,開發(fā)費(fèi)用低,風(fēng)險(xiǎn)小,能夠 提高數(shù)字系統(tǒng)的集成度,可靠性高,因此在數(shù)字系統(tǒng)中應(yīng)用較為廣泛。然而,通用FPGA芯片一般基于掉電易失性存儲(chǔ)器而設(shè)計(jì),在掉電后不能保存配置 文件。為了保證上電后能夠正常工作,必須通過外部非易失性存儲(chǔ)器存儲(chǔ)配置文件,在上電 時(shí)再將配置文件導(dǎo)入FPGA芯片以正常加載。目前常用的FPGA配置方式有三種。第一種方式是邊界掃描模式(Boundary Scan)。邊界掃描測試發(fā)展于上個(gè)世紀(jì)90 年代,隨著大規(guī)模集成電路的出現(xiàn),印制電路板制造工藝向小、微、薄發(fā)展,傳統(tǒng)的ICT測試 已經(jīng)無法滿足這類產(chǎn)品的測試要求。由于芯片的引腳多,元器件體積小,板的密度特別大, 根本無法進(jìn)行下探針測試。在這種情況下,一種新的測試技術(shù)產(chǎn)生了,聯(lián)合測試行為組織 (Joint Test Action Group,簡稱JTAG)定義這種新的測試方法即邊界掃描測試。FPGA芯 片可以使用邊界掃描模式進(jìn)行配置。此種模式是計(jì)算機(jī)通過專用下載線與FPGA芯片的專 用配置引腳相連,通過專用軟件進(jìn)行控制,將FPGA配置文件直接寫入FPGA芯片內(nèi)部的易失 性存儲(chǔ)器中,F(xiàn)PGA芯片即可正常工作。此種模式的優(yōu)點(diǎn)是,可以實(shí)時(shí)對FPGA芯片進(jìn)行在線 配置,適用于對FPGA芯片進(jìn)行頻繁調(diào)試的場合。然而,正由于該方式針對電路調(diào)試而產(chǎn)生, 僅直接加載到FPGA芯片,無法對FPGA配置文件進(jìn)行保存,F(xiàn)PGA掉電后必須人工重新加載。第二種方式是在FPGA芯片外部連接一個(gè)非易失性專用配置芯片,將FPGA配置文 件寫入非易失性配置芯片保存,F(xiàn)PGA芯片每次上電時(shí)通過專用電路自行讀取FPGA配置文 件并寫入其內(nèi)部易失性存儲(chǔ)器中,實(shí)現(xiàn)自動(dòng)加載。而該方式一旦要更新FPGA配置文件,則 需要連接專用下載線,通過專用軟件控制,將新的FPGA配置文件重新寫入非易失性專用配置芯片中。若系統(tǒng)已經(jīng)制作成產(chǎn)品,則必然受到必須連接專用下載線以及通過專用軟件控 制的限制,必須將產(chǎn)品返廠調(diào)試、更改,大大增加了調(diào)試維護(hù)的成本和周期。如果向用戶提 供專用下載線及專用軟件,則會(huì)增加產(chǎn)品的成本,同時(shí)用戶很難掌握專用軟件的使用及調(diào) 試的方法,增加使用難度,而且用戶自行拆開產(chǎn)品進(jìn)行頻繁調(diào)試和維護(hù)也不現(xiàn)實(shí)。第三種方式是通過微處理器/微控制器進(jìn)行加載。將FPGA配置文件放入通用外 部非易失性存儲(chǔ)器中,數(shù)字系統(tǒng)每次上電時(shí)由微處理器/微控制器從外部非易失性存儲(chǔ)器 讀取FPGA配置文件,模擬FPGA芯片專用加載時(shí)序,將FPGA配置文件轉(zhuǎn)化為匹配的位流寫 入FPGA內(nèi)部易失性存儲(chǔ)器中,實(shí)現(xiàn)外部加載。此種方案擺脫了專用下載線的限制,只需要 將配置文件存入外部非易失性存儲(chǔ)器供微處理器/微控制器讀取即可。然而這種方法的弊 端在于每次上電都需要通過微處理器/微控制器進(jìn)行控制,這樣不僅加重了微處理器/微 控制器的負(fù)擔(dān),而且每次上電FPGA芯片必須等待微處理器/微控制器初始化完成后才能進(jìn) 行配置,這樣增加了 FPGA芯片的等待配置的時(shí)間,也就是增加了整個(gè)系統(tǒng)從上電到開始正 常工作的時(shí)間。同時(shí),第二種方式所帶來的維護(hù)成本、周期和難度方面的影響,在該方式中 依然存在。以上三種常用的配置方式各自有其優(yōu)點(diǎn)和特點(diǎn),適用于不同場合,然后也受其自 身的限制,無法同時(shí)滿足在線配置、擺脫下載線的制約、方便快捷等需求。
發(fā)明內(nèi)容
本發(fā)明的目的在于克服現(xiàn)有技術(shù)的不足,提供一種同時(shí)滿足在線配置的需求而不 受到專用下載線限制的FPGA配置文件更新裝置。為實(shí)現(xiàn)上述目的,本發(fā)明FPGA配置文件更新裝置,包括微處理器/微控制器、FPGA 芯片,其特征在于還包括通用即插即用接口、外部存儲(chǔ)器、非易失性存儲(chǔ)器;
微處理器/微控制器通過通用即插即用接口從外部存儲(chǔ)器導(dǎo)入FPGA配置文件,并將 FPGA配置文件發(fā)送到FPGA芯片;FPGA芯片將FPGA配置文件轉(zhuǎn)換為非易失性存儲(chǔ)器可以識(shí) 別的數(shù)據(jù)格式發(fā)送到非易失性存儲(chǔ)器進(jìn)行保存,更新FPGA配置文件;
數(shù)字系統(tǒng)再次上電時(shí),F(xiàn)PGA芯片自行讀取存儲(chǔ)在非易失性存儲(chǔ)器中更新后的配置文 件,實(shí)現(xiàn)自動(dòng)加載,以正常工作。本發(fā)明的發(fā)明目的是這樣實(shí)現(xiàn)的
數(shù)字系統(tǒng)上電時(shí),F(xiàn)PGA芯片自行讀取與其相連的非易失性存儲(chǔ)器,如Flash等中的 FPGA配置文件,僅在需要更新FPGA配置文件時(shí)才通過微處理器/微控制器控制FPGA芯片 向非易失性存儲(chǔ)器中寫入新的FPGA配置文件,這樣,數(shù)字系統(tǒng)正常工作時(shí)不會(huì)對微處理器 /微控制器造成負(fù)擔(dān),實(shí)現(xiàn)在線配置的需求。同時(shí),微處理器/微控制器為外部存儲(chǔ)器提供接口,并對其進(jìn)行控制,可以將存儲(chǔ) 在外部存儲(chǔ)器中的FPGA配置文件讀入自身的存儲(chǔ)器中,然后通過微處理器/微控制器控制 FPGA芯片寫入非易失性存儲(chǔ)器中,實(shí)現(xiàn)更新FPGA配置文件,不受到專用下載線限制。
圖1是本發(fā)明FPGA配置文件更新裝置的一種具體實(shí)施方式
原理圖; 圖2是更新FPGA配置文件的具體實(shí)施流程圖;圖3是圖2所示的更新FPGA配置文件操作的具體實(shí)施流程圖。
具體實(shí)施例方式下面結(jié)合附圖對本發(fā)明的具體實(shí)施方式
進(jìn)行描述,以便本領(lǐng)域的技術(shù)人員更好地 理解本發(fā)明。需要特別提醒注意的是,在以下的描述中,當(dāng)已知功能和設(shè)計(jì)的詳細(xì)描述也許 會(huì)淡化本發(fā)明的主要內(nèi)容時(shí),這些描述在這里將被忽略。圖1是本發(fā)明FPGA配置文件更新裝置的一種具體實(shí)施方式
原理圖。在本實(shí)施例中,如圖1所示,外部存儲(chǔ)器存儲(chǔ)FPGA配置文件供微處理器/微控制 器讀取,考慮到更新FPGA配置文件操作的易用性和通用性,外部存儲(chǔ)器采用可移動(dòng)磁盤, 在本實(shí)施例中為U盤1,可移動(dòng)磁盤具有USB接口,通用性強(qiáng),接口簡單,即插即用。在本實(shí)施例中,通用即插即用接口為USB控制器2,微處理器/微控制器采用微處 理器3。微處理器3要實(shí)現(xiàn)對具有USB接口的U盤1進(jìn)行訪問,在硬件上連接USB控制器 2,USB控制器2提供USB接口,用以連接U盤1 ;在軟件上微處理器3具有USB通信協(xié)議,以 便控制USB控制器2對可移動(dòng)磁盤,在本實(shí)施例中U盤1的讀寫操作。采用各個(gè)FPGA廠商提供的軟件生成FPGA芯片的配置文件后,經(jīng)過轉(zhuǎn)化,將FPGA 配置文件轉(zhuǎn)為微處理器3能夠識(shí)別的文件格式,將FPGA配置文件寫入U(xiǎn)盤1中,微處理器 3通過USB控制器2在線訪問U盤1,將FPGA配置文件導(dǎo)入自身的存儲(chǔ)器中,用于后續(xù)的更 新。在生成微處理器3能夠識(shí)別的文件格式的FPGA配置文件時(shí),在FPGA配置文件中 加入配置文件版本、生成文件時(shí)間信息,用于在進(jìn)行FPGA配置文件更新時(shí)微處理器3進(jìn)行 校驗(yàn),升級(jí)時(shí)一旦檢測到要升級(jí)版本早于系統(tǒng)現(xiàn)有版本,則停止升級(jí),并提示用戶進(jìn)行檢 查。微處理器3能夠識(shí)別并列出存儲(chǔ)于可移動(dòng)磁盤,在本實(shí)施例中U盤1所有可供升級(jí)的 文件,以便用戶自行選擇需要的文件,以用于FPGA配置文件更新操作。微處理器3雖然可以直接訪問非易失性存儲(chǔ)器4,然而非易失性存儲(chǔ)器4又要被 FPGA芯片5訪問,不易解決微處理器3和FPGA芯片5訪問仲裁的問題。因此,將FPGA芯片 5作為微處理器3與非易失性存儲(chǔ)器4連接的橋梁,實(shí)現(xiàn)微處理器3通過FPGA芯片5訪問 非易失性存儲(chǔ)器4,而FPGA芯片5也可以直接對非易失性存儲(chǔ)器進(jìn)行訪問,很好地解決了二 者訪問仲裁的問題。FPGA芯片5作為微處理器3與非易失性存儲(chǔ)器4連接的橋梁,其內(nèi)部集成了微處 理器接口 501、非易失性存儲(chǔ)器接口 502、數(shù)據(jù)轉(zhuǎn)換模塊A 503、數(shù)據(jù)轉(zhuǎn)換模塊B 504共四個(gè) 模塊。微處理器接口 501用于連接微處理器3與FPGA芯片5,實(shí)現(xiàn)FPGA芯片5與微處理器 3的FPGA配置文件收發(fā)以及微處理器3向FPGA芯片5發(fā)送控制命令;非易失性存儲(chǔ)器接 口 502用于實(shí)現(xiàn)FPGA芯片5與非易失性存儲(chǔ)器4的通信,F(xiàn)PGA芯片5可以產(chǎn)生相應(yīng)的時(shí) 序以訪問非易失性存儲(chǔ)器4,對其進(jìn)行FPGA配置文件讀寫操作和控制;數(shù)據(jù)轉(zhuǎn)換模塊A 503 將微處理器3發(fā)送的FPGA配置文件轉(zhuǎn)化為非易失性存儲(chǔ)器4能夠識(shí)別的數(shù)據(jù)格式;數(shù)據(jù)轉(zhuǎn) 換模塊B 504將從非易失性存儲(chǔ)器4中讀取的FPGA配置文件轉(zhuǎn)化為微處理器3能夠識(shí)別 的數(shù)據(jù)格式。在本實(shí)施例中,用于存儲(chǔ)FPGA配置文件的非易失性存儲(chǔ)器4采用SPI Flash5FPGA 芯片5通過SPI通信協(xié)議對其進(jìn)行訪問,因此,F(xiàn)PGA芯片5的非易失性存儲(chǔ)器接口 502采用SPI接口,SPI接口包括片選信號(hào)CS,時(shí)鐘信號(hào)CLK,數(shù)據(jù)輸出D0UT,數(shù)據(jù)輸入DIN。FPGA 芯片5作為主設(shè)備,產(chǎn)生片選信號(hào)CS和時(shí)鐘信號(hào)CLK;非易失性存儲(chǔ)器4 SPI Flash作為 從設(shè)備,接收來自主設(shè)備的片選信號(hào)CS和時(shí)鐘信號(hào)CLK。在片選信號(hào)CS、時(shí)鐘信號(hào)CLK、數(shù) 據(jù)輸出D0UT、數(shù)據(jù)輸入DIN共同作用下,F(xiàn)PGA芯片5和非易失性存儲(chǔ)器4 SPI Flash實(shí)現(xiàn) 數(shù)據(jù)的交互,即FPGA配置文件的寫入和讀取。SPI通信協(xié)議屬于現(xiàn)有技術(shù),在此不再贅述。微處理器3要向非易失性存儲(chǔ)器4 SPI Flash寫入FPGA配置文件時(shí),先要發(fā)送寫 控制命令微處理器3先將寫控制命令發(fā)送給FPGA芯片5,F(xiàn)PGA芯片5通過微處理器接口 501進(jìn)行接收,然后通過數(shù)據(jù)轉(zhuǎn)換模塊A 503將寫控制命令轉(zhuǎn)換成非易失性存儲(chǔ)器4 SPI Flash能夠識(shí)別的寫控制命令編碼,通過SPI接口 502,在時(shí)鐘CLK和片選CS的配合下,將 寫控制命令編碼通過數(shù)據(jù)輸出DOUT發(fā)送給非易失性存儲(chǔ)器4 SPI Flash,非易失性存儲(chǔ)器 4 SPI Flash接到寫控制命令后,開始接收FPGA配置文件。微處理器3發(fā)送FPGA配置文件 時(shí),先將FPGA配置文件通過微處理器接口 501發(fā)送給FPGA芯片5,F(xiàn)PGA配置文件在FPGA 芯片5內(nèi)部經(jīng)過數(shù)據(jù)轉(zhuǎn)換模塊A 503轉(zhuǎn)換成非易失性存儲(chǔ)器4 SPI Flash能夠識(shí)別的數(shù)據(jù) 格式,再通過SPI接口,在時(shí)鐘信號(hào)CLK和片選信號(hào)CS配合下,通過數(shù)據(jù)輸出DOUT發(fā)送到 非易失性存儲(chǔ)器4 SPI Flash。只有在時(shí)鐘信號(hào)CLK、片選信號(hào)CS和數(shù)據(jù)輸出DOUT三個(gè)信 號(hào)共同作用下,非易失性存儲(chǔ)器4 SPI Flash才能夠正確接收FPGA配置文件,否則會(huì)出現(xiàn) FPGA配置文件無法寫入或者寫入錯(cuò)誤的情況。微處理器3要讀取非易失性存儲(chǔ)器4 SPI Flash中的FPGA配置文件時(shí),先要發(fā)送 讀控制命令,微處理器3先將讀控制命令發(fā)送給FPGA芯片5,F(xiàn)PGA芯片5通過微處理器接 口 501進(jìn)行接收,然后通過數(shù)據(jù)轉(zhuǎn)換模塊A 503將讀控制命令轉(zhuǎn)換成非易失性存儲(chǔ)器4 SPI Flash能夠識(shí)別的讀控制命令編碼,通過SPI接口 502,在時(shí)鐘信號(hào)CLK和片選信號(hào)CS的配 合下,將讀控制命令編碼通過數(shù)據(jù)輸出DOUT發(fā)送給非易失性存儲(chǔ)器4 SPI Flash,非易失性 存儲(chǔ)器4 SPI Flash接到讀控制命令后,開始發(fā)送FPGA配置文件。非易失性存儲(chǔ)器4 SPI Flash發(fā)送FPGA配置文件時(shí),F(xiàn)PGA芯片5中的SPI接口 502產(chǎn)生時(shí)鐘信號(hào)CLK和片選信 號(hào)CS,非易失性存儲(chǔ)器4 SPI Flash結(jié)合這兩個(gè)信號(hào),通過DIN輸入把FPGA配置文件發(fā)送 給FPGA芯片5進(jìn)行接收,F(xiàn)PGA芯片5接收FPGA配置文件后,通過數(shù)據(jù)轉(zhuǎn)換模塊B 504將 FPGA配置文件轉(zhuǎn)換成微處理器3可以識(shí)別的格式,并通過微處理器接口 501發(fā)送到微處理 器3,微處理器3將FPGA配置文件保存在自身的存儲(chǔ)器中。只有在時(shí)鐘信號(hào)CLK、片選信號(hào) CS和數(shù)據(jù)輸入DIN三個(gè)信號(hào)共同作用下,F(xiàn)PGA芯片5才能夠正確接收來自非易失性存儲(chǔ)器 4 SPI Flash的FPGA配置文件。在本實(shí)施例中,如圖1所示,本發(fā)明的FPGA配置文件更新裝置還包括有存儲(chǔ)器直 接編程接口 6與非易失性存儲(chǔ)器4 SPI Flash連接,用于生產(chǎn)過程中,寫入和調(diào)試維護(hù)。圖2是更新FPGA配置文件的具體實(shí)施流程圖。如圖2所示,在本實(shí)施例中,當(dāng)U盤1插入U(xiǎn)SB控制器2的USB接口后,微處理器3 能夠識(shí)別并檢測U盤1內(nèi)的數(shù)據(jù),發(fā)現(xiàn)有可用的FPGA配置文件后,提示用戶選擇一個(gè)需要 用于升級(jí)的FPGA配置文件讀入自身存儲(chǔ)器中。在微處理器3的存儲(chǔ)器中劃分一塊存儲(chǔ)區(qū) 域,專門用于存儲(chǔ)從U盤1中讀取的FPGA配置文件數(shù)據(jù)。微處理器3檢驗(yàn)FPGA配置文件,一旦檢測到要升級(jí)版本早于現(xiàn)有版本,則版本錯(cuò) 誤,停止升級(jí),并提示用戶進(jìn)行檢查;如果比現(xiàn)有版本新,則版本正確,進(jìn)行更新FPGA配置文件操作,F(xiàn)PGA芯片5重新上電,讀取更新后的FPGA配置文件,完成更新。
圖3是圖2所示的更新FPGA配置文件操作的具體實(shí)施流程圖
如圖3所示,在本實(shí)施例中,微處理器3發(fā)送寫使能時(shí),先將寫使能命令發(fā)送至FPGA芯 片5,F(xiàn)PGA芯片5將其轉(zhuǎn)化成非易失性存儲(chǔ)器4 SPI Flash能夠識(shí)別的數(shù)據(jù)格式,SPI接口 502的片選信號(hào)CS拉低,時(shí)鐘信號(hào)CLK產(chǎn)生時(shí)鐘信號(hào),通過數(shù)據(jù)輸出DOUT發(fā)送寫使能命令, 在片選信號(hào)Cs、時(shí)鐘信號(hào)CLK、數(shù)據(jù)輸出DOUT的配合下非易失性存儲(chǔ)器4 SPI Flash能夠 正確識(shí)別寫使能命令,發(fā)送完成后片選信號(hào)CS拉高,發(fā)送完成,此時(shí)非易失性存儲(chǔ)器4 SPI Flash不再接收任何數(shù)據(jù)。 在發(fā)送寫使能后,微處理器3可以對非易失性存儲(chǔ)器4 SPI Flash進(jìn)行擦除、寫入 操作。發(fā)送擦除SPI Flash命令的方式與發(fā)送寫使能命令的方式相同。微處理器3發(fā)送FPGA配置文件時(shí),發(fā)送的順序是“寫數(shù)據(jù)命令+寫入SPI Flash 的起始地址+要寫入的數(shù)據(jù)”,微處理器3將所有內(nèi)容先按順序發(fā)送至FPGA芯片5,經(jīng)過轉(zhuǎn) 化后通過SPI接口 502的數(shù)據(jù)輸出DOUT發(fā)送給非易失性存儲(chǔ)器4 SPI Flash,在發(fā)送整個(gè) FPGA配置文件,片選信號(hào)CS拉低,時(shí)鐘信號(hào)CLK產(chǎn)生時(shí)鐘信號(hào),在整個(gè)內(nèi)容發(fā)送完成后,片 選信號(hào)CS拉高,時(shí)鐘信號(hào)CLK不再產(chǎn)生時(shí)鐘,整個(gè)發(fā)送過程完成。微處理器3要讀取非易失性存儲(chǔ)器4 SPI Flash中的FPGA配置文件,先要發(fā)送讀 數(shù)據(jù)命令和讀取SPI Flash數(shù)據(jù)的起始地址到FPGA芯片5,經(jīng)轉(zhuǎn)化后由SPI接口 502的數(shù) 據(jù)輸出DOUT發(fā)送至非易失性存儲(chǔ)器4 SPI Flash,非易失性存儲(chǔ)器4 SPI Flash接收到命 令和地址后,將FPGA配置文件數(shù)據(jù)發(fā)送至SPI接口的數(shù)據(jù)輸入DIN,F(xiàn)PGA芯片5接收后將 FPGA配置文件數(shù)據(jù)轉(zhuǎn)化成微處理器3能夠識(shí)別的數(shù)據(jù)格式再通過微處理器接口 501發(fā)送至 微處理器3保存,整個(gè)過程開始時(shí)SPI接口 502的片選信號(hào)CS拉低,時(shí)鐘信號(hào)CLK產(chǎn)生時(shí) 鐘,結(jié)束后片選信號(hào)CS拉高,時(shí)鐘信號(hào)CLK停止產(chǎn)生時(shí)鐘,整個(gè)接收數(shù)據(jù)過程完成。微處理器3向非易失性存儲(chǔ)器4寫入數(shù)據(jù)后,將寫入后的FPGA配置文件數(shù)據(jù)讀回 進(jìn)行校驗(yàn),如果與存儲(chǔ)在微處理器3發(fā)送的FPGA配置文件數(shù)據(jù)相同,則證明寫入非易失性 存儲(chǔ)器4 SPI Flash正確;反之,如果校驗(yàn)不一致,則證明寫入錯(cuò)誤,微處理器3重新向非易 失性存儲(chǔ)器4 SPI Flash寫入數(shù)據(jù),并讀回校驗(yàn)。本發(fā)明的優(yōu)點(diǎn)在于,用可移動(dòng)磁盤,如優(yōu)盤等這類通用性非常好的存儲(chǔ)設(shè)備代替 通過專用下載線由計(jì)算機(jī)導(dǎo)入的方式,實(shí)用性和易用性有很大的提高。一方面,F(xiàn)PGA配置 文件更新可由用戶自行完成而不用返廠操作,可以在線隨時(shí)升級(jí)FPGA的可編程邏輯電路。 另一方面,該方式僅在需要更新配置文件時(shí)才利用微處理器/微控制器進(jìn)行控制,避免了 傳統(tǒng)的基于微處理器/微控制器加載FPGA配置文件的方案在每次上電加載邏輯電路時(shí)對 微處理器/微控制器造成的嚴(yán)重負(fù)擔(dān);更新配置文件后,正常上電情況下FPGA芯片自行讀 取專用配置芯片中配置文件進(jìn)行加載,也避免了傳統(tǒng)的基于微處理器加載方案用于等待微 處理器/微控制器初始化的時(shí)間。同時(shí),采用本方案不需要改變原數(shù)字系統(tǒng)的結(jié)構(gòu),可以直 接利用現(xiàn)有系統(tǒng)的硬件連接方式,通過在FPGA設(shè)計(jì)中加入相應(yīng)功能電路、在微處理器軟件 系統(tǒng)中加入相應(yīng)控制模塊,即可完成本發(fā)明的設(shè)計(jì)。盡管上面對本發(fā)明說明性的具體實(shí)施方式
進(jìn)行了描述,以便于本技術(shù)領(lǐng)的技術(shù)人 員理解本發(fā)明,但應(yīng)該清楚,本發(fā)明不限于具體實(shí)施方式
的范圍,對本技術(shù)領(lǐng)域的普通技術(shù) 人員來講,只要各種變化在所附的權(quán)利要求限定和確定的本發(fā)明的精神和范圍內(nèi),這些變化是顯而易見的,一切利用本發(fā)明構(gòu)思的發(fā)明創(chuàng)造均在保護(hù)之列。
權(quán)利要求
1.一種FPGA配置文件更新裝置,包括微處理器/微控制器、FPGA芯片,其特征在于還 包括通用即插即用接口、外部存儲(chǔ)器、非易失性存儲(chǔ)器;微處理器/微控制器通過通用即插即用接口從外部存儲(chǔ)器導(dǎo)入FPGA配置文件,并將 FPGA配置文件發(fā)送到FPGA芯片;FPGA芯片將FPGA配置文件轉(zhuǎn)換為非易失性存儲(chǔ)器可以識(shí) 別的數(shù)據(jù)格式發(fā)送到非易失性存儲(chǔ)器進(jìn)行保存,更新FPGA配置文件;數(shù)字系統(tǒng)再次上電時(shí),F(xiàn)PGA芯片自行讀取存儲(chǔ)在非易失性存儲(chǔ)器中更新后的配置文 件,實(shí)現(xiàn)自動(dòng)加載,以正常工作。
2.根據(jù)權(quán)利要求1所述的FPGA配置文件更新裝置,其特征在于,所述的外部存儲(chǔ)器為 可移動(dòng)磁盤,通用即插即用接口為USB控制器,微處理器/微控制器采用微處理器;微處理器在硬件上連接USB控制器,USB控制器提供USB接口,用以連接U盤;在軟件 上微處理器具有USB通信協(xié)議,以便控制USB控制器對可移動(dòng)磁盤讀寫操作。
3.根據(jù)權(quán)利要求1所述的FPGA配置文件更新裝置,其特征在于,所述的FPGA芯片內(nèi)部 集成了微處理器接口、非易失性存儲(chǔ)器接口、數(shù)據(jù)轉(zhuǎn)換模塊A、數(shù)據(jù)轉(zhuǎn)換模塊B共四個(gè)模塊;微處理器接口用于連接微處理器與FPGA芯片,實(shí)現(xiàn)FPGA芯片與微處理器的FPGA配置 文件收發(fā)以及微處理器向FPGA芯片發(fā)送控制命令;非易失性存儲(chǔ)器接口用于實(shí)現(xiàn)FPGA芯片與非易失性存儲(chǔ)器的通信,F(xiàn)PGA芯片產(chǎn)生相 應(yīng)的時(shí)序以訪問非易失性存儲(chǔ)器,對其進(jìn)行FPGA配置文件讀寫操作和控制;數(shù)據(jù)轉(zhuǎn)換模塊A將微處理器發(fā)送的FPGA配置文件轉(zhuǎn)化為非易失性存儲(chǔ)器能夠識(shí)別的 數(shù)據(jù)格式;數(shù)據(jù)轉(zhuǎn)換模塊B將從非易失性存儲(chǔ)器中讀取的FPGA配置文件轉(zhuǎn)化為微處理器能夠識(shí) 別的數(shù)據(jù)格式。
4.根據(jù)權(quán)利要求2所述的FPGA配置文件更新裝置,其特征在于,所述的FPGA配置文件 包含配置文件版本、生成文件時(shí)間信息;當(dāng)U盤插入U(xiǎn)SB控制器的USB接口后,微處理器識(shí)別并檢測U盤內(nèi)的數(shù)據(jù),發(fā)現(xiàn)有可 用的FPGA配置文件后,提示用戶選擇一個(gè)需要用于升級(jí)的FPGA配置文件讀入自身存儲(chǔ)器 中;在微處理器的存儲(chǔ)器中劃分一塊存儲(chǔ)區(qū)域,專門用于存儲(chǔ)從優(yōu)盤中讀取的FPGA配置文 件數(shù)據(jù);微處理器檢驗(yàn)FPGA配置文件,一旦檢測到要升級(jí)版本早于現(xiàn)有版本,則版本錯(cuò)誤,停 止升級(jí),并提示用戶進(jìn)行檢查;如果比現(xiàn)有版本新,則版本正確,進(jìn)行更新FPGA配置文件操 作,F(xiàn)PGA芯片重新上電,讀取更新后的FPGA配置文件,完成更新。
全文摘要
本發(fā)明公開了一種FPGA配置文件更新裝置,微處理器/微控制器通過通用即插即用接口從外部存儲(chǔ)器導(dǎo)入FPGA配置文件,并將FPGA配置文件發(fā)送到FPGA芯片;FPGA芯片將FPGA配置文件轉(zhuǎn)換為非易失性存儲(chǔ)器可以識(shí)別的數(shù)據(jù)格式發(fā)送到非易失性存儲(chǔ)器進(jìn)行保存,更新FPGA配置文件;數(shù)字系統(tǒng)再次上電時(shí),F(xiàn)PGA芯片自行讀取存儲(chǔ)在非易失性存儲(chǔ)器中更新后的配置文件,實(shí)現(xiàn)自動(dòng)加載,以正常工作。在本發(fā)明中,僅在需要更新FPGA配置文件時(shí)才向非易失性存儲(chǔ)器中寫入新的FPGA配置文件,實(shí)現(xiàn)在線配置的需求;同時(shí),微處理器/微控制器為外部存儲(chǔ)器提供接口,并將其FPGA配置文件讀入自身的存儲(chǔ)器中,然后再寫入非易失性存儲(chǔ)器中,實(shí)現(xiàn)更新FPGA配置文件,不受到專用下載線限制。
文檔編號(hào)G06F9/445GK102087606SQ20111003846
公開日2011年6月8日 申請日期2011年2月16日 優(yōu)先權(quán)日2011年2月16日
發(fā)明者葉芃, 向川云, 崔東岳, 張沁川, 曾浩 申請人:電子科技大學(xué)