專利名稱:一種現(xiàn)場可編程門陣列程序的生成方法及裝置的制作方法
技術(shù)領(lǐng)域:
本發(fā)明涉及電子技術(shù)領(lǐng)域,更具體的說,是涉及一種現(xiàn)場可編程門陣列程序的生成方法及裝置。
背景技術(shù):
隨著科學(xué)技術(shù)的發(fā)展,現(xiàn)場可編程門陣列(FPGA, Field-Programmable GateArray)得到了越來越廣泛的應(yīng)用?,F(xiàn)有技術(shù)中現(xiàn)場可編程門陣列(FPGA, Field-Programmable Gate Array)中的程序的生成過程包括:專門的程序員撰寫出接口邏輯文件以及模型聲明文件,再將接口邏輯文件與模型聲明文件進(jìn)行綜合、編譯生成比特流,最后,將比特流下載至FPGA中。綜上,在生成FPGA的程序代碼時,需要專門的程序員人為撰寫具有接口邏輯文件以及模型聲明文件,所以導(dǎo)致程序代碼的開發(fā)時間較長。
發(fā)明內(nèi)容
有鑒于此,本發(fā)明提供了一種現(xiàn)場可編程門陣列程序的生成方法及裝置,以克服現(xiàn)有技術(shù)中程序代碼的開發(fā)時間較長的問題。為實現(xiàn)上述目的,本發(fā)明提供如下技術(shù)方案:一種現(xiàn)場可編程門陣列FPGA程序的生成方法,包括:獲得構(gòu)建的包括封裝有功能程序代碼的功能模塊的系統(tǒng)的信息,所述系統(tǒng)的信息包括各個功能模塊之間的連接關(guān)系和所述各個功能模塊的標(biāo)識;根據(jù)所述各個功能模塊之間的連接關(guān)系以及所述各個功能模塊的標(biāo)識,獲得模型聲明文件和頂層文件,所述模型聲明文件包括所述各個功能模塊之間的驅(qū)動關(guān)系和與所述各個功能模塊的標(biāo)識分別對應(yīng)的功能描述信息,所述頂層文件包括所述各個功能模塊與所述FPGA的外接設(shè)備之間的輸入輸出接口信息;根據(jù)所述模型聲明文件以及所述FPGA的資源信息獲得接口邏輯文件,所述接口邏輯文件包括所述系統(tǒng)中的各個功能模塊在所述FPGA中的連接線路信息;將所述頂層文件、所述模型聲明文件以及所述接口邏輯文件進(jìn)行預(yù)設(shè)操作生成比特流。其中,所述獲得構(gòu)建的包括封裝有功能程序代碼的功能模塊的系統(tǒng)的信息包括:獲得所述系統(tǒng)的標(biāo)識;根據(jù)所述系統(tǒng)的標(biāo)識獲得所述系統(tǒng)的信息。其中,所述各個功能模塊之間的驅(qū)動關(guān)系包括所述各個功能模塊之間的內(nèi)部接口信息。優(yōu)選地,還包括:將所述比特流下載至所述FPGA中。其中,所述將所述頂層文件、所述模型聲明文件以及所述接口邏輯文件進(jìn)行預(yù)設(shè)操作生成比特流包括:將所述模型聲明文件轉(zhuǎn)換成第一網(wǎng)表文件;將所述接口邏輯文件轉(zhuǎn)換成第二網(wǎng)表文件;將所述頂層文件、所述第一網(wǎng)表文件以及所述第二網(wǎng)表文件進(jìn)行預(yù)設(shè)操作生成比特流。一種現(xiàn)場可編程門陣列FPGA程序的生成裝置,包括:第一獲得模塊,用于獲得構(gòu)建的包括封裝有功能程序代碼的功能模塊的系統(tǒng)的信息,所述系統(tǒng)的信息包括各個功能模塊之間的連接關(guān)系和所述各個功能模塊的標(biāo)識;第二獲得模塊,用于根據(jù)所述各個功能模塊之間的連接關(guān)系以及所述各個功能模塊的標(biāo)識,獲得模型聲明文件和頂層文件,所述模型聲明文件包括所述各個功能模塊之間的驅(qū)動關(guān)系和與所述各個功能模塊的標(biāo)識分別對應(yīng)的功能描述信息,所述頂層文件包括所述各個功能模塊與所述FPGA的外接設(shè)備之間的輸入輸出接口信息;第三獲得模塊,用于根據(jù)所述模型聲明文件以及所述FPGA的資源信息獲得接口邏輯文件,所述接口邏輯文件包括所述系統(tǒng)中的各個功能模塊在所述FPGA中的連接線路信息;生成模塊,用于將所述頂層文件、所述模型聲明文件以及所述接口邏輯文件進(jìn)行預(yù)設(shè)操作生成比特流。其中所述第一獲得模塊包括:第一獲得單元,用于獲得所述系統(tǒng)的標(biāo)識;第二獲得單元,用于根據(jù)所述系統(tǒng)的標(biāo)識獲得所述系統(tǒng)的信息。其中,所述各個功能模塊之間的驅(qū)動關(guān)系包括所述各個功能模塊之間的內(nèi)部接口信息。優(yōu)選的,還包括:下載模塊,用于將所述比特流下載至所述FPGA中。其中,所述第三獲得模塊包括:第一轉(zhuǎn)換單兀,用于將所述模型聲明文件轉(zhuǎn)換成第一網(wǎng)表文件;第二轉(zhuǎn)換單元,用于將所述接口邏輯文件轉(zhuǎn)換成第二網(wǎng)表文件;生成單元,用于將所述頂層文件、所述第一網(wǎng)表文件以及所述第二網(wǎng)表文件進(jìn)行預(yù)設(shè)操作生成比特流。經(jīng)由上述的技術(shù)方案可知,與現(xiàn)有技術(shù)相比,本發(fā)明實施例提供了一種現(xiàn)場可編程門陣列FPGA程序的生成方法,獲得用戶構(gòu)建的包括封裝有功能程序代碼的功能模塊的系統(tǒng)的信息,或者獲得用戶選擇的已經(jīng)構(gòu)建好的包括封裝有功能程序代碼的功能模塊的系統(tǒng)的信息,根據(jù)上述系統(tǒng)的信息可以得到包括各個功能模塊之間的驅(qū)動關(guān)系和與所述各個功能模塊的標(biāo)識分別對應(yīng)的功能描述信息的模型聲明文件,以及包括所述各個功能模塊與所述FPGA的外接設(shè)備之間的輸入輸出接口信息的頂層文件,根據(jù)所述模型聲明文件以及所述FPGA的資源信息得到接口邏輯文件,所述接口邏輯文件包括所述系統(tǒng)中的各個功能模塊在所述FPGA中的連接線路信息,最后將所述頂層文件、所述模型聲明文件以及所述接口邏輯文件進(jìn)行綜合、編譯、實現(xiàn)、生成比特流,所述比特流為能夠直接下載至FPGA中的程序。上述過程中用戶無需知道各個功能模塊中的功能程序代碼,只需要根據(jù)各個已有的功能模塊的功能構(gòu)建出一個具有自己所需功能的系統(tǒng),或者選擇一個已經(jīng)存在的系統(tǒng),計算機(jī)會根據(jù)該系統(tǒng)的信息自動生成相應(yīng)的模型聲明文件、頂層文件以及接口邏輯文件,從而加快了程序代碼的生成速度,使開發(fā)效率提高。
為了更清楚地說明本發(fā)明實施例或現(xiàn)有技術(shù)中的技術(shù)方案,下面將對實施例或現(xiàn)有技術(shù)描述中所需要使用的附圖作簡單地介紹,顯而易見地,下面描述中的附圖僅僅是本發(fā)明的實施例,對于本領(lǐng)域普通技術(shù)人員來講,在不付出創(chuàng)造性勞動的前提下,還可以根據(jù)提供的附圖獲得其他的附圖。圖1為本發(fā)明實施例提供的一種現(xiàn)場可編程門陣列FPGA程序的生成方法的流程示意圖;圖2為本發(fā)明實施例提供的一種現(xiàn)場可編程門陣列FPGA程序的生成方法的另一實施例的流程示意圖;圖3為本發(fā)明實施例提供的一種FPGA的結(jié)構(gòu)示意圖;圖4為本發(fā)明實施例現(xiàn)場可編程門陣列FPGA程序的生成方法中獲得構(gòu)建的包括封裝有功能程序代碼的功能模塊的 系統(tǒng)的信息的一種實現(xiàn)方式的方法流程圖;圖5為本發(fā)明實施例現(xiàn)場可編程門陣列FPGA程序的生成方法中將所述頂層文件、所述模型聲明文件以及所述接口邏輯文件進(jìn)行預(yù)設(shè)操作生成比特流的一種實現(xiàn)方法的流程不意圖;圖6為本發(fā)明實施例提供的一種現(xiàn)場可編程門陣列FPGA程序的生成裝置的結(jié)構(gòu)示意圖。
具體實施例方式為了引用和清楚起見,下文中使用的技術(shù)名詞的說明、簡寫或縮寫總結(jié)如下:SRAM:Static Random Access Memory,靜態(tài)隨機(jī)存取存儲器;RTL:Register-Transfer_Level,寄存器級描述文件。下面將結(jié)合本發(fā)明實施例中的附圖,對本發(fā)明實施例中的技術(shù)方案進(jìn)行清楚、完整地描述,顯然,所描述的實施例僅僅是本發(fā)明一部分實施例,而不是全部的實施例?;诒景l(fā)明中的實施例,本領(lǐng)域普通技術(shù)人員在沒有做出創(chuàng)造性勞動前提下所獲得的所有其他實施例,都屬于本發(fā)明保護(hù)的范圍。請參閱附圖1,為本發(fā)明實施例提供的一種現(xiàn)場可編程門陣列FPGA程序的生成方法的流程示意圖,該方法包括:步驟SlOl:獲得構(gòu)建的包括封裝有功能程序代碼的功能模塊的系統(tǒng)的信息。上述系統(tǒng)的信息包括各個功能模塊之間的連接關(guān)系和各個功能模塊的標(biāo)識。上述各個功能模塊中每一功能模塊中都封裝有相應(yīng)功能的應(yīng)用程序,用戶需要自己根據(jù)上述各個功能模塊的功能構(gòu)建出自己所需的系統(tǒng),或者,用戶選擇已經(jīng)構(gòu)建完畢的系統(tǒng),利用封裝有相應(yīng)功能程序代碼的功能模塊構(gòu)建系統(tǒng)是現(xiàn)有技術(shù),在此不再對此進(jìn)行--贅述。由功能模塊組成的系統(tǒng)是通過各個功能模塊之間的連線虛擬各個功能模塊之間的連接關(guān)系,所以可以通過系統(tǒng)中各個功能模塊之間的連線獲得各個功能模塊之間的連接關(guān)系。為了區(qū)分各個功能模塊,可以為各個功能模塊分配唯一標(biāo)識。步驟S102:根據(jù)上述各個功能模塊之間的連接關(guān)系以及上述各個功能模塊的標(biāo)識,獲得模型聲明文件和頂層文件。模型聲明文件包括上述各個功能模塊之間的驅(qū)動關(guān)系和與上述各個功能模塊的標(biāo)識分別對應(yīng)的功能描述信息??梢越⒐δ苣K的標(biāo)識與描述信息的對應(yīng)關(guān)系,通過該對應(yīng)關(guān)系獲得功能模塊的描述信息。功能描述信息可以是對功能模塊的功能的描述。上述各個功能模塊之間的驅(qū)動關(guān)系可以包括上述各個功能模塊之間的接口信息。頂層文件包括上述各個功能模塊與FPGA的外接設(shè)備之間的輸入輸出接口信息??梢詫PGA所有的輸入輸出接口進(jìn)行定義,頂層文件就是對FPGA的輸入輸出接口的定義文件。步驟S103:根據(jù)模型聲明文件以及FPGA的資源信息獲得接口邏輯文件。FPGA的資源信息可以包括FPGA資源文件庫中的管腳信息,通過模型聲明文件以及FPGA的資源信息就可以得知上述各個功能模塊下載至FPGA中時,各個功能模塊與FPGA中各個端口和各個管腳的連接關(guān)系。接口邏輯文件包括上述系統(tǒng)中的各個功能模塊在FPGA中的連接線路信息。連接線路信息可以包括上述各個功能模塊與FPGA的管腳連接信息和上述各個功能模塊之間的接口連接信息。步驟S104:將頂層文件、模型聲明文件以及接口邏輯文件進(jìn)行預(yù)設(shè)操作生成比特流。預(yù)設(shè)操作可以為將頂層文件、模型聲明文件以及接口邏輯文件進(jìn)行綜合、編譯、實現(xiàn)從而生成比特流,此為現(xiàn)有技術(shù)在此不再一一贅述。本發(fā)明實施例提供的方法,獲得用戶構(gòu)建的包括封裝有功能程序代碼的功能模塊的系統(tǒng)的信息,或者獲得用戶選擇的已經(jīng)構(gòu)建好的包括封裝有功能程序代碼的功能模塊的系統(tǒng)的信息,根據(jù)上述系統(tǒng)的信息可以得到包括各個功能模塊之間的驅(qū)動關(guān)系和與所述各個功能模塊的標(biāo)識分別對應(yīng)的功能描述信息的模型聲明文件,以及包括所述各個功能模塊與所述FPGA的外接設(shè)備之間的輸入輸出接口信息的頂層文件,根據(jù)所述模型聲明文件以及所述FPGA的資源信息得到接口邏輯文件,所述接口邏輯文件包括所述系統(tǒng)中的各個功能模塊在所述FPGA中的連接線路信息,最后將所述頂層文件、所述模型聲明文件以及所述接口邏輯文件進(jìn)行綜合、編譯、實現(xiàn)、生成比特流,所述比特流為能夠直接下載至FPGA中的程序。上述過程中用戶無需知道各個功能模塊中的功能程序代碼,只需要根據(jù)各個已有的功能模塊的功能構(gòu)建出一個具有自己所需功能的系統(tǒng),或者選擇一個已經(jīng)存在的系統(tǒng),計算機(jī)會根據(jù)該系統(tǒng)的信息自動生成相應(yīng)的模型聲明文件、頂層文件以及接口邏輯文件,從而加快了程序代碼的生成速度,使開發(fā)效率提高。請參閱圖2,為本發(fā)明實施例提供的一種現(xiàn)場可編程門陣列FPGA程序的生成方法的另一實施例的流程示意圖,該方法包括:步驟S201:獲得構(gòu)建的包括封裝有功能程序代碼的功能模塊的系統(tǒng)的信息。上述系統(tǒng)的信息包括各個功能模塊之間的連接關(guān)系和各個功能模塊的標(biāo)識。
步驟S202:根據(jù)上述各個功能模塊之間的連接關(guān)系以及上述各個功能模塊的標(biāo)識,獲得模型聲明文件和頂層文件。模型聲明文件包括上述各個功能模塊之間的驅(qū)動關(guān)系和與上述各個功能模塊的標(biāo)識分別對應(yīng)的功能描述信息。假設(shè)本發(fā)明實施例將FPGA的硬件接口封裝成可視化的simulink模塊。Simulink模塊是MATLAB中的一種可視化仿真工具,是一種基于MATLAB的框圖設(shè)計環(huán)境,是實現(xiàn)動態(tài)系統(tǒng)建模、仿真和分析的一個軟件包。由封裝有功能程序代碼的功能模塊組成的系統(tǒng)中可以包括simulink模塊,通過編寫的第一模型剖析腳本對系統(tǒng)進(jìn)行分析,可以分析出系統(tǒng)中各個功能模塊的標(biāo)識以及與功能模塊標(biāo)識對應(yīng)的功能性描述,并通過系統(tǒng)中的s imuI ink模塊得到所有功能模塊之間的驅(qū)動關(guān)系。通過模型操作腳本將所有功能模塊之間的驅(qū)動關(guān)系以及與功能模塊標(biāo)識對應(yīng)的功能性描述寫入的一個文件中,該文件就是模型聲明文件。在將模型聲明文件下載至FPGA,并在FPGA中運(yùn)行時,可以根據(jù)模型聲明文件定義各個功能模塊之間的接口信息。模型聲明文件可以以結(jié)構(gòu)體的形式存儲在FPGA中。各個功能模塊之間的驅(qū)動關(guān)系包括各個功能模塊之間的接口信息,模型聲明文件中各個功能模塊之間的接口的數(shù)量取決于構(gòu)建的系統(tǒng)中功能模塊的標(biāo)識和數(shù)量。頂層文件包括上述各個功能模塊與FPGA的外接設(shè)備之間的輸入輸出接口信息。請參閱圖3,為本發(fā)明實施例提供的一種FPGA的結(jié)構(gòu)示意圖。圖3中只示出了 FPGA的7個輸入輸出接口:顯示接口、內(nèi)存接口和5個視頻接口,F(xiàn)PGA可以通過顯示接口與外設(shè)LED相連,內(nèi)存接口可以與外設(shè)SRAM相連,5個視頻接口分別與外設(shè) Linkl> Link2、Link3、Link4 和 Link5 相連??梢岳脮r鐘301實現(xiàn)四種類型時鐘:全局時鐘、門控時鐘、多級邏輯時鐘和波動式時鐘。多時鐘系統(tǒng)包括上述四種時鐘類型的任意組合,此為現(xiàn)有技術(shù)在此不作一一贅述。FPGA程序可以控制FPGA外接設(shè)備進(jìn)行相應(yīng)的操作,例如,控制FPGA程序可以為控制LED5s滅5s亮的第一程序,此時程序員在編寫FPGA程序時,需要編寫第一程序與FPGA顯示接口的對應(yīng)關(guān)系,第一程序在FPGA中的連接線路信息,所以需要獲得模型聲明文件和頂層文件。因為可以通過模型聲明文件獲得FPGA程序在FPGA中的連接線路信息(可以將存儲有連接線路信息的文件稱為接口邏輯文件)。FPGA中每一與外接設(shè)備相連的輸入輸出接口都需要模型聲明文件、頂層文件和接口邏輯文件。頂層文件是根據(jù)FPGA所有輸入輸出接口定義的,輸入輸出接口與相應(yīng)的FPGA程序相對應(yīng),例如顯示接口與第一程序相對應(yīng)。FPGA的每個輸入輸出接口都有一 RTL,對于FPGA外設(shè)來說RTL為接口,對FPGA內(nèi)部程序來說RTL為信號接口,頂層文件可以包括RTL。步驟S203:根據(jù)模型聲明文件以及FPGA的資源信息獲得接口邏輯文件。接口邏輯文件包括上述系統(tǒng)中的各個功能模塊在FPGA中的連接線路信息。連接線路信息可以包括上述各個功能模塊與FPGA的管腳連接信息和上述各個功能模塊之間的接口連接信息。根據(jù)模型聲明文件可以得知各個功能模塊之間的驅(qū)動關(guān)系,通過接口邏輯腳本對FPGA的管腳資源信息與模型聲明文件進(jìn)行分析,可得知當(dāng)系統(tǒng)對應(yīng)的程序下載至FPGA中時,F(xiàn)PGA中各個管腳的連接關(guān)系,以及FPGA中各個硬件接口之間的連接關(guān)系,即各個功能模塊在FPGA中的連接線路信息。FPGA的管腳資源信息可以包括FPGA中硬件接口相關(guān)的屬性資源文件,例如位寬、方向、對應(yīng)的信號名稱等等,該資源信息可以存儲為XLS (Microsoft Excel工作表)或者TXT。接口邏輯文件對外與FPGA的所有輸入輸出接口、頂層文件相連,對內(nèi)與改為“wire”面相連,這些改為“wire”面與模型生成文件相連,接口邏輯文件中沒有用到的改為“wire”面以合適的方式賦值高阻或O值等。步驟S204:將頂層文件、模型聲明文件以及接口邏輯文件進(jìn)行預(yù)設(shè)操作生成比特流。預(yù)設(shè)操作可以為將頂層文件、模型聲明文件以及接口邏輯文件進(jìn)行綜合、編譯、實現(xiàn)從而生成比特流。本發(fā)明實施例通過網(wǎng)表生成工具對頂層文件進(jìn)行綜合、編譯、實現(xiàn)。編寫M文件腳本并作為FPGA板卡的編譯目標(biāo)。利用自動代碼生成工具,將模型聲明文件、接口邏輯文件生成網(wǎng)表文件,調(diào)用網(wǎng)表文件中的回調(diào)文件,并在適當(dāng)位置加入定制的M腳本函數(shù),生成新的模型聲明文件以及接口邏輯文件,并調(diào)用各種綜合、實現(xiàn)的命令,生成針對FPGA的比特流。網(wǎng)表編譯的回調(diào)M文件:該腳本是自動代碼生成工具代碼生成自動調(diào)用的文件,在里面設(shè)置硬件設(shè)計工具綜合時需要的各種文件,并用M語言調(diào)用綜合工具和生成流工具。步驟S205:將上述比特流下載至FPGA中。基于模型的FPGA開發(fā)時,將需要處理的信號,從外設(shè)接口輸入,即信號進(jìn)入FPGA芯片中進(jìn)行處理,通過頂層文件,由接口邏輯進(jìn)入用戶自定義的文件中,進(jìn)行信號處理,把處理后的信號通過的集成的matlab/simulink模塊輸出給外設(shè)輸出設(shè)備,其整個過程都可在matlab/simulink中進(jìn)行仿真實現(xiàn)。上述任一實施例中,獲得構(gòu)建的包括封裝有功能程序代碼的功能模塊的系統(tǒng)的信息的實現(xiàn)方式有很多種,請參閱圖4,為本發(fā)明實施例現(xiàn)場可編程門陣列FPGA程序的生成方法中獲得構(gòu)建的包括封裝有功能程序代碼的功能模塊的系統(tǒng)的信息的一種實現(xiàn)方式的方法流程圖,該方法包括:步驟S401:獲得該系統(tǒng)的標(biāo)識。當(dāng)用戶選擇已經(jīng)建立完畢的系統(tǒng)時,為了區(qū)別各個系統(tǒng),可以為各個系統(tǒng)分配一唯一標(biāo)識。步驟S402:根據(jù)該系統(tǒng)的標(biāo)識獲得該系統(tǒng)的信息。系統(tǒng)的信息包括組成該系統(tǒng)的各個功能模塊之間的連接關(guān)系和組成該系統(tǒng)的各個功能模塊的標(biāo)識。可以建立系統(tǒng)標(biāo)識與系統(tǒng)的信息的對應(yīng)關(guān)系,可以根據(jù)該對應(yīng)關(guān)系獲得系統(tǒng)的信息,這樣就不需要在對系統(tǒng)中的各個功能模塊進(jìn)行分析了,從而加快了現(xiàn)場可編程門陣列FPGA程序的生成速度。上述任一實施例中,將所述頂層文件、所述模型聲明文件以及所述接口邏輯文件進(jìn)行預(yù)設(shè)操作生成比特流的實現(xiàn)方法有多種,請參閱圖5,為本發(fā)明實施例現(xiàn)場可編程門陣列FPGA程序的生成方法中將所述頂層文件、所述模型聲明文件以及所述接口邏輯文件進(jìn)行預(yù)設(shè)操作生成比特流的一種實現(xiàn)方法的流程示意圖,該方法包括:步驟S501:將模型聲明文件轉(zhuǎn)換成第一網(wǎng)表文件。FPGA只能識別網(wǎng)表文件,所需要將模型聲明文件轉(zhuǎn)換成第一網(wǎng)表文件??梢岳矛F(xiàn)有技術(shù)中的代碼將模型聲明文件轉(zhuǎn)換為第一網(wǎng)表文件。步驟S502:將接口邏輯文件轉(zhuǎn)換成第二網(wǎng)表文件。FPGA只能識別網(wǎng)表文件,所需要將接口邏輯文件轉(zhuǎn)換成第二網(wǎng)表文件。可以利用現(xiàn)有技術(shù)中的代碼將模型聲明文件轉(zhuǎn)換為第二網(wǎng)表文件。步驟S503:將頂層文件、第一網(wǎng)表文件以及第二網(wǎng)表文件進(jìn)行預(yù)設(shè)操作生成比特流。上述本發(fā)明公開的實施例中詳細(xì)描述了方法,對于本發(fā)明的方法可采用多種形式的裝置實現(xiàn),因此本發(fā)明還公開了多種裝置,下面給出具體的實施例進(jìn)行詳細(xì)說明。請參閱圖6,為本發(fā)明實施例提供的一種現(xiàn)場可編程門陣列FPGA程序的生成裝置的結(jié)構(gòu)示意圖,該裝置包括:第一獲得模塊601、第二獲得模塊602、第三獲得模塊603以及生成模塊604,其中:第一獲得模塊601,用于獲得構(gòu)建的包括封裝有功能程序代碼的功能模塊的系統(tǒng)的信息。系統(tǒng)的信息包括各個功能模塊之間的連接關(guān)系和上述各個功能模塊的標(biāo)識。第二獲得模塊602,用于根據(jù)上述各個功能模塊之間的連接關(guān)系以及上述各個功能模塊的標(biāo)識,獲得模型聲明文件和頂層文件。上述模型聲明文件包括上述各個功能模塊之間的驅(qū)動關(guān)系和與上述各個功能模塊的標(biāo)識分別對應(yīng)的功能描述信息,上述頂層文件包括上述各個功能模塊與上述FPGA的外接設(shè)備之間的輸入輸出接口信息。各個功能模塊之間的驅(qū)動關(guān)系包括上述各個功能模塊之間的內(nèi)部接口信息。第三獲得模塊603,用于根據(jù)上述模型聲明文件以及上述FPGA的資源信息獲得接口邏輯文件。上述接口邏輯文件包括上述系統(tǒng)中的各個功能模塊在上述FPGA中的連接線路信
肩、O生成模塊604,用于將上述頂層文件、上述模型聲明文件以及上述接口邏輯文件進(jìn)行預(yù)設(shè)操作生成比特流。本發(fā)明實施例提供的裝置還可以包括下載模塊605,用于將上述比特流下載至上述FPGA中。發(fā)明實施例提供的一種現(xiàn)場可編程門陣列FPGA程序的生成裝置,第一獲得模塊601獲得用戶構(gòu)建的包括封裝有功能程序代碼的功能模塊的系統(tǒng)的信息,或者獲得用戶選擇的已經(jīng)構(gòu)建好的包括封裝有功能程序代碼的功能模塊的系統(tǒng)的信息,第二獲得模塊602根據(jù)上述系統(tǒng)的信息可以得到包括各個功能模塊之間的驅(qū)動關(guān)系和與所述各個功能模塊的標(biāo)識分別對應(yīng)的功能描述信息的模型聲明文件,以及包括所述各個功能模塊與所述FPGA的外接設(shè)備之間的輸入輸出接口信息的頂層文件,第三獲得模塊603根據(jù)所述模型聲明文件以及所述FPGA的資源信息得到接口邏輯文件,所述接口邏輯文件包括所述系統(tǒng)中的各個功能模塊在所述FPGA中的連接線路信息,最后生成模塊604將所述頂層文件、所述模型聲明文件以及所述接口邏輯文件進(jìn)行綜合、編譯、實現(xiàn)、生成比特流,所述比特流為能夠直接下載至FPGA中的程序。上述過程中用戶無需知道各個功能模塊中的功能程序代碼,只需要根據(jù)各個已有的功能模塊的功能構(gòu)建出一個具有自己所需功能的系統(tǒng),或者選擇一個已經(jīng)存在的系統(tǒng),計算機(jī)會根據(jù)該系統(tǒng)的信息自動生成相應(yīng)的模型聲明文件、頂層文件以及接口邏輯文件,從而加快了程序代碼的生成速度,使開發(fā)效率提高。上述實施例中的第一獲得模塊可以包括:第一獲得單元,用于獲得上述系統(tǒng)的標(biāo)識;第二獲得單元,用于根據(jù)上述系統(tǒng)的標(biāo)識獲得上述系統(tǒng)的信息。上述實施例中的第三獲得模塊可以包括:第一轉(zhuǎn)換單元,用于將上述模型聲明文件轉(zhuǎn)換成第一網(wǎng)表文件;第二轉(zhuǎn)換單元,用于將上述接口邏輯文件轉(zhuǎn)換成第二網(wǎng)表文件;生成單元,用于將上述頂層文件、上述第一網(wǎng)表文件以及上述第二網(wǎng)表文件進(jìn)行預(yù)設(shè)操作生成比特流。需要說明的是,本說明書中的各個實施例均采用遞進(jìn)的方式描述,每個實施例重點說明的都是與其他實施例的不同之處,各個實施例之間相同相似的部分互相參見即可。對于裝置或系統(tǒng)類實施例而言,由于其與方法實施例基本相似,所以描述的比較簡單,相關(guān)之處參見方法實施例的部分說明即可。還需要說明的是,在本文中,諸如第一和第二等之類的關(guān)系術(shù)語僅僅用來將一個實體或者操作與另一個實體或操作區(qū)分開來,而不一定要求或者暗示這些實體或操作之間存在任何這種實際的關(guān)系或者順序。而且,術(shù)語“包括”、“包含”或者其任何其他變體意在涵蓋非排他性的包含,從而使得包括一系列要素的過程、方法、物品或者設(shè)備不僅包括那些要素,而且還包括沒有明確列出的其他要素,或者是還包括為這種過程、方法、物品或者設(shè)備所固有的要素。在沒有更多限制的情況下,由語句“包括一個……”限定的要素,并不排除在包括所述要素的過程、方法、物品或者設(shè)備中還存在另外的相同要素。結(jié)合本文中所公開的實施例描述的方法或算法的步驟可以直接用硬件、處理器執(zhí)行的軟件模塊,或者二者的結(jié)合來實施。軟件模塊可以置于隨機(jī)存儲器(RAM)、內(nèi)存、只讀存儲器(ROM)、電可編程ROM、電可擦除可編程ROM、寄存器、硬盤、可移動磁盤、CD-ROM、或技術(shù)領(lǐng)域內(nèi)所公知的任意其它形式的存儲介質(zhì)中。對所公開的實施例的上述說明,使本領(lǐng)域?qū)I(yè)技術(shù)人員能夠?qū)崿F(xiàn)或使用本發(fā)明。對這些實施例的多種修改對本領(lǐng)域的專業(yè)技術(shù)人員來說將是顯而易見的,本文中所定義的一般原理可以在不脫離本發(fā)明的精神或范圍的情況下,在其它實施例中實現(xiàn)。因此,本發(fā)明將不會被限制于本文所示的這些實施例,而 是要符合與本文所公開的原理和新穎特點相一致的最寬的范圍。
權(quán)利要求
1.一種現(xiàn)場可編程門陣列FPGA程序的生成方法,其特征在于,包括: 獲得構(gòu)建的包括封裝有功能程序代碼的功能模塊的系統(tǒng)的信息,所述系統(tǒng)的信息包括各個功能模塊之間的連接關(guān)系和所述各個功能模塊的標(biāo)識; 根據(jù)所述各個功能模塊之間的連接關(guān)系以及所述各個功能模塊的標(biāo)識,獲得模型聲明文件和頂層文件,所述模型聲明文件包括所述各個功能模塊之間的驅(qū)動關(guān)系和與所述各個功能模塊的標(biāo)識分別對應(yīng)的功能描述信息,所述頂層文件包括所述各個功能模塊與所述FPGA的外接設(shè)備之間的輸入輸出接口信息; 根據(jù)所述模型聲明文件以及所述FPGA的資源信息獲得接口邏輯文件,所述接口邏輯文件包括所述系統(tǒng)中的各個功能模塊在所述FPGA中的連接線路信息; 將所述頂層文件、所述模型聲明文件以及所述接口邏輯文件進(jìn)行預(yù)設(shè)操作生成比特流。
2.根據(jù)權(quán)利要求1所述方法,其特征在于,所述獲得構(gòu)建的包括封裝有功能程序代碼的功能模塊的系統(tǒng)的信息包括: 獲得所述系統(tǒng)的標(biāo)識; 根據(jù)所述系統(tǒng)的標(biāo)識獲得所述系統(tǒng)的信息。
3.根據(jù)權(quán)利要求1或2所述方法,其特征在于,所述各個功能模塊之間的驅(qū)動關(guān)系包括所述各個功能模塊之間的內(nèi)部接口信息。
4.根據(jù)權(quán)利要求1或2所述方法,其特征在于,還包括: 將所述比特流下載至所述FPGA中。
5.根據(jù)權(quán)利要求1或2所述方法,其特征在于,所述將所述頂層文件、所述模型聲明文件以及所述接口邏輯文件進(jìn)行預(yù)設(shè)操作生成比特流包括:將所述模型聲明文件轉(zhuǎn)換成第一網(wǎng)表文件; 將所述接口邏輯文件轉(zhuǎn)換成第二網(wǎng)表文件; 將所述頂層文件、所述第一網(wǎng)表文件以及所述第二網(wǎng)表文件進(jìn)行預(yù)設(shè)操作生成比特流。
6.一種現(xiàn)場可編程門陣列FPGA程序的生成裝置,其特征在于,包括: 第一獲得模塊,用于獲得構(gòu)建的包括封裝有功能程序代碼的功能模塊的系統(tǒng)的信息,所述系統(tǒng)的信息包括各個功能模塊之間的連接關(guān)系和所述各個功能模塊的標(biāo)識; 第二獲得模塊,用于根據(jù)所述各個功能模塊之間的連接關(guān)系以及所述各個功能模塊的標(biāo)識,獲得模型聲明文件和頂層文件,所述模型聲明文件包括所述各個功能模塊之間的驅(qū)動關(guān)系和與所述各個功能模塊的標(biāo)識分別對應(yīng)的功能描述信息,所述頂層文件包括所述各個功能模塊與所述FPGA的外接設(shè)備之間的輸入輸出接口信息; 第三獲得模塊,用于根據(jù)所述模型聲明文件以及所述FPGA的資源信息獲得接口邏輯文件,所述接口邏輯文件包括所述系統(tǒng)中的各個功能模塊在所述FPGA中的連接線路信息;生成模塊,用于將所述頂層文件、所述模型聲明文件以及所述接口邏輯文件進(jìn)行預(yù)設(shè)操作生成比特流。
7.根據(jù)權(quán)利要求6所述裝置,其特征在于,所述第一獲得模塊包括: 第一獲得單元,用于獲得所述系統(tǒng)的標(biāo)識; 第二獲得單元,用于根據(jù)所述系統(tǒng)的標(biāo)識獲得所述系統(tǒng)的信息。
8.根據(jù)權(quán)利要求5或6所述裝置,其特征在于,所述各個功能模塊之間的驅(qū)動關(guān)系包括所述各個功能模塊之間的內(nèi)部接口信息。
9.根據(jù)權(quán)利要求5或6所述裝置,其特征在于,還包括: 下載模塊,用于將所述比特流下載至所述FPGA中。
10.根據(jù)權(quán)利要求5或6所述裝置,其特征在于,所述第三獲得模塊包括: 第一轉(zhuǎn)換單元,用于將所述模型聲明文件轉(zhuǎn)換成第一網(wǎng)表文件; 第二轉(zhuǎn)換單元,用于將所述接口邏輯文件轉(zhuǎn)換成第二網(wǎng)表文件; 生成單元,用于將所 述頂層文件、所述第一網(wǎng)表文件以及所述第二網(wǎng)表文件進(jìn)行預(yù)設(shè)操作生成比特流。
全文摘要
本發(fā)明實施例提供了一種現(xiàn)場可編程門陣列程序的生成方法及裝置,該方法包括獲得構(gòu)建的包括封裝有功能程序代碼的功能模塊的系統(tǒng)的信息;根據(jù)所述各個功能模塊之間的連接關(guān)系以及所述各個功能模塊的標(biāo)識,獲得模型聲明文件和頂層文件;根據(jù)所述模型聲明文件以及所述FPGA的資源信息獲得接口邏輯文件,所述接口邏輯文件包括所述系統(tǒng)中的各個功能模塊在所述FPGA中的連接線路信息;將所述頂層文件、所述模型聲明文件以及所述接口邏輯文件進(jìn)行預(yù)設(shè)操作生成比特流。采用本發(fā)明實施例提供的方法和裝置可以加快程序代碼的生成速度,使開發(fā)效率提高。
文檔編號G06F9/44GK103164228SQ20131010948
公開日2013年6月19日 申請日期2013年3月29日 優(yōu)先權(quán)日2013年3月29日
發(fā)明者韓相秋, 張海娟 申請人:北京經(jīng)緯恒潤科技有限公司