亚洲免费av电影一区二区三区,日韩爱爱视频,51精品视频一区二区三区,91视频爱爱,日韩欧美在线播放视频,中文字幕少妇AV,亚洲电影中文字幕,久久久久亚洲av成人网址,久久综合视频网站,国产在线不卡免费播放

        ?

        FPGA軟件開發(fā)系統(tǒng)布局模塊探討

        2023-12-09 14:08:24王碩蘇峰黃賾
        電子元器件與信息技術(shù) 2023年9期
        關(guān)鍵詞:系統(tǒng)設(shè)計(jì)

        王碩,蘇峰,黃賾

        北京航天長征飛行器研究所,北京,100048

        0 引言

        在FPGA軟件開發(fā)系統(tǒng)的應(yīng)用中如果不采用國外的平臺(tái),將會(huì)嚴(yán)重影響FPGA用戶的使用體驗(yàn)。因此有必要加強(qiáng)對(duì)FPGA軟件開發(fā)系統(tǒng)布局模塊的研究分析,從而在滿足FPGA硬件需要的同時(shí),提供配套的FPGA開發(fā)系統(tǒng),為國內(nèi)用戶提供更好的使用體驗(yàn),帶動(dòng)FPGA技術(shù)在國內(nèi)實(shí)現(xiàn)更好的發(fā)展。

        1 FPGA軟件開發(fā)系統(tǒng)介紹

        FPGA即現(xiàn)場可編程門陣列,本質(zhì)上屬于一種半定制電路。FPGA的存在,促使可編程更加靈活,可編程門電路容量也得到了有效提升。除此之外,F(xiàn)PGA的成本更低,運(yùn)行功耗更小,且有著較高的密度,運(yùn)行速度也會(huì)不斷加快。在開發(fā)數(shù)字電路功能時(shí),應(yīng)用FPGA能夠顯著提升開發(fā)效率[1]。FPGA的基礎(chǔ)編程資源一般包括三項(xiàng)內(nèi)容:一是邏輯模塊;二是輸出/輸入模塊;三是可編程開關(guān)模塊。其中前兩種資源經(jīng)常用到,這是實(shí)現(xiàn)開發(fā)功能的關(guān)鍵所在。在FPGA生成時(shí),相關(guān)的廠商可以靈活地以各種開發(fā)需求為依據(jù),設(shè)計(jì)生產(chǎn)出不同的FPGA產(chǎn)品。產(chǎn)品不同,具體的編程技術(shù)應(yīng)用、產(chǎn)品結(jié)構(gòu)以及配置的資源規(guī)模也會(huì)有所不同。在國內(nèi),F(xiàn)PGA軟件開發(fā)平臺(tái)仍有很大的探索發(fā)展空間。國外成熟的FPGA軟件開發(fā)平臺(tái)分類以及平臺(tái)名稱如表1所示。

        表1 FPGA 軟件開發(fā)平臺(tái)分類以及平臺(tái)名稱

        2 FPGA軟件開發(fā)系統(tǒng)布局面臨的挑戰(zhàn)

        2.1 挑戰(zhàn)一

        當(dāng)前FPGA軟件開發(fā)系統(tǒng)均采用了模塊化設(shè)計(jì)方式。模塊不同,實(shí)際輸入和輸出也有所差異。例如在ISE軟件開發(fā)系統(tǒng)中,RTL通過綜合生成NGC(包含邏輯設(shè)計(jì)數(shù)據(jù)和約束的網(wǎng)表)格式文件后,隨后將其處理為NGD(本地通用數(shù)據(jù)庫)格式文件,MAP讀取NGD格式文件后,通過工藝映射與組裝處理,最終輸出了NCD格式文件。然后,再通過PAR讀取NCD格式文件,完成整個(gè)布局布線過程。從中可知,上述僅僅一個(gè)基礎(chǔ)流程便非常復(fù)雜,需要進(jìn)行多種不同格式文件的轉(zhuǎn)換處理,實(shí)際效率低下。為解決這一問題,本次在FPGA軟件開發(fā)系統(tǒng)開發(fā)設(shè)計(jì)的過程中,主要目的是圍繞不同模塊,組建一套通用的數(shù)據(jù)模型。通過這一模型,不同模塊之間可以交互,降低格式文件轉(zhuǎn)化的復(fù)雜程度。所以,如何進(jìn)行通用的數(shù)據(jù)模型設(shè)計(jì),是本次FPGA軟件開發(fā)系統(tǒng)布局挑戰(zhàn)之一。

        2.2 挑戰(zhàn)二

        通過上文敘述可知,F(xiàn)PGA產(chǎn)品不同,實(shí)際配置的資源規(guī)模、種類等有所差異。因此在設(shè)計(jì)通用模型時(shí),需要圍繞不同的基本單元,完成對(duì)應(yīng)的建模。但上述整個(gè)過程占據(jù)的內(nèi)存空間非常大[2]。在具體使用FPGA產(chǎn)品時(shí),一般只會(huì)使用其中一種產(chǎn)品。所以在完成通用模型設(shè)計(jì)后,只需要存儲(chǔ)在硬盤中。在開發(fā)時(shí),需要某個(gè)對(duì)應(yīng)的模型,可以通過硬盤進(jìn)行內(nèi)存讀取,可以解決存儲(chǔ)空間占用較大的問題。在實(shí)際建立器件模型的過程中,針對(duì)HWD2V/4V系列FPGA產(chǎn)品,還需要考慮其在結(jié)構(gòu)、規(guī)模等方面存在的差異。在這一過程中,可以找到相同點(diǎn),簡化建模過程。針對(duì)不同點(diǎn),則需要加強(qiáng)設(shè)計(jì)和測試。想要完成上述目標(biāo),需要建立器件模型文件規(guī)則,這也是本次研究的一項(xiàng)挑戰(zhàn)。

        2.3 挑戰(zhàn)三

        通過實(shí)現(xiàn)FPGA軟件開發(fā)系統(tǒng)自動(dòng)化布局,目的是提高用戶FPGA產(chǎn)品的使用體驗(yàn),讓用戶感到更加便捷。但對(duì)HWD2V/4V系列FPGA產(chǎn)品來說,實(shí)際容量非常大,因此需要解決大容量FPGA優(yōu)化布局算法設(shè)計(jì)問題。在這一過程中,針對(duì)FPGA的一些特殊資源,由于數(shù)量較少,可以進(jìn)行優(yōu)先布局。針對(duì)其他一些資源,如何高效地完成布局優(yōu)化,也是一項(xiàng)重大的挑戰(zhàn)。

        2.4 挑戰(zhàn)四

        對(duì)FPGA軟件開發(fā)系統(tǒng)布局模塊而言,在實(shí)際運(yùn)行時(shí),自身必須具有一定的可擴(kuò)展性,才能滿足后續(xù)的開發(fā)要求。在擴(kuò)展要求方面,一是要實(shí)現(xiàn)命令可擴(kuò)展,二是在不改變代碼內(nèi)容的條件下,滿足添加器件封裝的要求。所以對(duì)布局模塊而言,如何實(shí)現(xiàn)可擴(kuò)展性設(shè)計(jì),是一項(xiàng)重大的挑戰(zhàn)。

        3 FPGA軟件開發(fā)系統(tǒng)布局技術(shù)分析

        3.1 XDL文件的分析與數(shù)據(jù)建模

        在Xilinx中,XDL文件比較常見,該文件屬于一份網(wǎng)表文件。文件語法如圖1所示。從中可知,Design可以對(duì)設(shè)計(jì)信息進(jìn)行詳細(xì)描述。Design Name則是指設(shè)計(jì)的具體名稱。Device代表的是FPGA具體的名稱。Package則是指器件封裝。Speed代表的是速度。Version指的是本地電路描述版本號(hào)。在cfg中,則包括了一些配置信息。配置信息不同,相應(yīng)的名稱、邏輯等也有所差異。對(duì)inst而言,則是在整個(gè)邏輯網(wǎng)表中,代表其中一個(gè)邏輯實(shí)體塊。這種實(shí)體塊在信息配置方面,整體的配置方法與design相同。Net代表的是一組實(shí)體之間的連接關(guān)系。Outpin與Inpin分別代表輸出/輸入管腳,二者均源自inst管腳。在一個(gè)XDL文件中,有且僅有一個(gè)design語句。除此之外,還包括一些inst與net語句。

        圖1 XDL 代碼語法

        在建立數(shù)據(jù)模型時(shí),需要以XDL文件為核心,通過分析組裝對(duì)象,完成實(shí)體類的建立。實(shí)體類不同,代表了不同階段的網(wǎng)表。因此需要著重考慮處于不同階段網(wǎng)表的需求信息。比如在組裝階段,需要表示具體的邏輯單元信息[3]。在布局階段,需要表示布局后的物理位置信息。在獲取實(shí)體類以及對(duì)應(yīng)關(guān)系后,還需要通過設(shè)計(jì)分析,完成類圖的建立。以數(shù)據(jù)模型為依據(jù),布局模塊能夠與其他模塊互相產(chǎn)生影響,彼此實(shí)現(xiàn)交互。對(duì)輸入的XDL而言,可以代表多種內(nèi)容,比如可以是網(wǎng)表文件,也可以是一種組裝結(jié)果。在完成布局后,結(jié)合最終的布局結(jié)果,需要將其寫入數(shù)據(jù)模型內(nèi)部。如此一來,布線器可以發(fā)揮出應(yīng)有的價(jià)值。

        3.2 FPGA器件資源分析與數(shù)據(jù)建模

        針對(duì)FPGA的布局模塊分析,想要實(shí)現(xiàn)自動(dòng)化布局以及布線操作,需要對(duì)FPGA器件資源進(jìn)行分析,并完成模型構(gòu)建。對(duì)HWD2V系列FPGA而言,本身的結(jié)構(gòu)非常復(fù)雜,整體的結(jié)構(gòu)是一種島型結(jié)構(gòu)。不僅如此,在資源分布方面,物理分布形式與其他分布形式也比較相似。在器件資源硬件配置方面,實(shí)際種類沒有明顯的差別。但在數(shù)量上,差異關(guān)系比較大。所以在實(shí)際設(shè)計(jì)的過程中,需要充分考慮資源類型?;诓煌念愋?,先完成資源模型的構(gòu)建。在布局模塊方面,可以應(yīng)用XML文件存儲(chǔ)器件資源信息。在應(yīng)用過程中,針對(duì)XML文件,需要自定義一些具體的標(biāo)簽與語法規(guī)則。在定義XML標(biāo)簽時(shí),可以以不同器件資源為依據(jù),完成各種標(biāo)簽定義。隨后再確定不同標(biāo)簽對(duì)應(yīng)的語法規(guī)則。例如一個(gè)標(biāo)簽io用于表示一個(gè)管腳[4]。管腳需要對(duì)應(yīng)管腳名稱、類型等信息。上述這些信息實(shí)際存儲(chǔ)位置并不確定。比如可以在io標(biāo)簽屬性中進(jìn)行存儲(chǔ),也可以存儲(chǔ)在其子標(biāo)簽內(nèi)部。如果實(shí)際的資源量比較大,需要采用循環(huán)結(jié)構(gòu)完成建模,提升建模效率。

        3.3 基于隨機(jī)布局策略的布局方案優(yōu)化

        在布局方案優(yōu)化方面,可以采用隨機(jī)布局策略,完成初始方案的設(shè)計(jì)。隨后,在模擬退火算法的幫助下,完成對(duì)初始方案的優(yōu)化。具體的優(yōu)化算法流程如下。

        第一步,通過對(duì)布局方案S進(jìn)行初始化,設(shè)置最優(yōu)方案Sbest=S。

        第二步,完成初始溫度T設(shè)置。在不同溫度下,需要結(jié)合實(shí)際,設(shè)置迭代次數(shù)SwapNum。除此之外,還需要做好初始交換范圍的設(shè)置。

        第三步,針對(duì)Sbest方案關(guān)鍵路徑進(jìn)行計(jì)算分析。然后以延時(shí)延矩陣為依據(jù),獲得初始花費(fèi)代價(jià)C。

        第四步,判斷是否滿足退出條件,如果沒有滿足條件,則執(zhí)行第五步與第六步。

        第五步,從Range入手,采用隨機(jī)選擇的方式,獲取2個(gè)邏輯模塊。在此基礎(chǔ)上,需要交換模塊的具體位置,最終可以獲得布局方案Snew。最后,還需對(duì)相應(yīng)的關(guān)鍵路徑進(jìn)行復(fù)雜的計(jì)算,可以獲得花費(fèi)代價(jià)Cnew。

        第六步,根據(jù)以下公式作出判斷:ΔC=Cnew-C(1),小于0,則設(shè)置C=Cnew,Sbest=Snew。

        第七步,降低溫度T,對(duì)Range進(jìn)行更新,跳回第四步。

        第八步,優(yōu)化結(jié)束。

        在溫度更新與模塊交換的過程中,二者的成功率與優(yōu)化是否成功有著緊密的關(guān)系。一般情況下,優(yōu)化越成功,溫度下降速度越快。在計(jì)算關(guān)鍵路徑時(shí),需要應(yīng)用到關(guān)鍵路徑算法。該算法在圖論中應(yīng)用比較廣泛。在對(duì)FPGA軟件開發(fā)系統(tǒng)布局的過程中,設(shè)計(jì)關(guān)鍵路徑所付出的代價(jià)大小,一般與布局方案質(zhì)量水平高低有著非常密切的聯(lián)系。通常而言,關(guān)鍵路徑付出的實(shí)際代價(jià)越小,說明布局方案得到了更好的優(yōu)化,最終的布局結(jié)果越好。在具體進(jìn)行關(guān)鍵路徑計(jì)算時(shí),通過采用邏輯模塊作為頂點(diǎn),然后立足不同模塊之間,選擇相應(yīng)的連線和信號(hào)流通方向。然后整合上述內(nèi)容,使其作為有向圖的邊。在此基礎(chǔ)上,結(jié)合實(shí)際信號(hào)的延遲時(shí)間大小,賦予有向圖邊具體的屬性,以此來完成有向圖的構(gòu)建。與此同時(shí),還應(yīng)注意,需要再添加一個(gè)新頂點(diǎn)作為源點(diǎn)。那么源點(diǎn)到有向圖之間,針對(duì)為0的頂點(diǎn),實(shí)際付出的代價(jià)也是0。在這一過程中,還需要結(jié)合實(shí)際情況,添加一個(gè)新的頂點(diǎn)。該頂點(diǎn)可以成為有向圖的匯點(diǎn)。那么頂點(diǎn)到匯點(diǎn),最終的代價(jià)都是0。最終形成一個(gè)新的有向圖[5]。在新的有向圖上,可以計(jì)算出關(guān)鍵的路徑。

        3.4 布局模塊擴(kuò)展設(shè)計(jì)分析

        在開發(fā)實(shí)踐的過程中,開發(fā)人員在實(shí)際使用FPGA產(chǎn)品時(shí),經(jīng)常會(huì)習(xí)慣性應(yīng)用TCL腳本。在該腳本的幫助下,在實(shí)際開發(fā)的過程中,可以實(shí)現(xiàn)批量處理。實(shí)際開發(fā)效率將會(huì)得到有效提升。因此在實(shí)際設(shè)計(jì)的過程中,開發(fā)語言應(yīng)選擇TCL語言。與此同時(shí),為了進(jìn)一步提升自身的運(yùn)行處理效率,并更好地滿足可擴(kuò)展性需求,還需要在TCL開發(fā)語言的幫助下,完成底層處理工作。在開發(fā)設(shè)計(jì)的過程中,需要采用C++。不僅如此,開發(fā)人員可以結(jié)合自身實(shí)際需求,對(duì)基本TCL擴(kuò)展命令進(jìn)行靈活組合,從而形成新的自定義命令。

        在底層中,通用模型開發(fā)在采用TCL語言時(shí),能夠在不改變C++代碼的前提下,完成對(duì)器件模型的封裝。在這一過程中,通過應(yīng)用C++和TCL相互調(diào)用技術(shù),可以進(jìn)一步提升FPGA的布局模塊的可擴(kuò)展性。通過運(yùn)用C++語言,調(diào)用TCL的過程并不復(fù)雜。只需要應(yīng)用TCL Interpreter解析器,完成對(duì)TCL語句的解析處理,或者解析TCL的腳本文件即可。在這一過程中,可以采用Tcl_Eval函數(shù)公式,完成TCL命令的執(zhí)行。隨后,將會(huì)返回執(zhí)行結(jié)果。該函數(shù)通過解析器完成解析處理,隨后再完成相應(yīng)腳本的執(zhí)行。在執(zhí)行后,如果返回的結(jié)果存在錯(cuò)誤,將會(huì)把結(jié)果保存到tclInterp的result中。透過現(xiàn)象看本質(zhì),在TCL腳本中,還需要調(diào)用C++函數(shù)。采用該函數(shù),可以生成TCL命令。在具體進(jìn)行注冊(cè)的過程中,第一步,需要先調(diào)用Tcl_CreateInterp函數(shù),創(chuàng)建一個(gè)解析器interp。第二步,再調(diào)用Tcl_Init函數(shù),對(duì)函數(shù)進(jìn)行初始化處理。在此基礎(chǔ)上,還需要輸入?yún)?shù)interp。第三步,還需要調(diào)用Tcl_CreateCommand函數(shù),完成C++函數(shù)到解析器中的注冊(cè)。

        4 結(jié)論

        總而言之,針對(duì)FPGA軟件開發(fā)系統(tǒng)布局模塊設(shè)計(jì)開發(fā)是一項(xiàng)專業(yè)、系統(tǒng)、復(fù)雜的工作,在這一過程中,需要對(duì)相應(yīng)的開發(fā)系統(tǒng)布局模塊進(jìn)行深入了解,認(rèn)識(shí)到當(dāng)前系統(tǒng)面臨的問題,在提出解決方案的同時(shí),提出一些有效的開發(fā)設(shè)計(jì)技術(shù)方法,提升FPGA軟件開發(fā)系統(tǒng)布局模塊設(shè)計(jì)開發(fā)效果。

        猜你喜歡
        系統(tǒng)設(shè)計(jì)
        Smartflower POP 一體式光伏系統(tǒng)
        WJ-700無人機(jī)系統(tǒng)
        ZC系列無人機(jī)遙感系統(tǒng)
        北京測繪(2020年12期)2020-12-29 01:33:58
        何為設(shè)計(jì)的守護(hù)之道?
        《豐收的喜悅展示設(shè)計(jì)》
        流行色(2020年1期)2020-04-28 11:16:38
        基于PowerPC+FPGA顯示系統(tǒng)
        半沸制皂系統(tǒng)(下)
        瞞天過?!律O(shè)計(jì)萌到家
        連通與提升系統(tǒng)的最后一塊拼圖 Audiolab 傲立 M-DAC mini
        設(shè)計(jì)秀
        海峽姐妹(2017年7期)2017-07-31 19:08:17
        亚洲精品色午夜无码专区日韩| 最近中文字幕一区二区三区| 一区二区三区乱码专区| 欧美做受又硬又粗又大视频| 青青久在线视频免费观看| 四虎精品国产一区二区三区| 亚洲精品乱码久久麻豆| 久久伊人这里都是精品| 亚洲爆乳精品无码一区二区| 欧美a级在线现免费观看| 国产在线看不卡一区二区| 精品一区三区视频在线观看| 日本老熟妇毛茸茸| 国产精品99精品一区二区三区∴| 国产精品久久一区二区蜜桃| 亚洲国产精品日本无码网站| 国产久热精品无码激情| 国产自在自线午夜精品视频在| 亚洲国产91精品一区二区| 少妇伦子伦情品无吗| 人妻无码一区二区三区四区| 国产精品久久久久久久y| 男女上床免费视频网站| 大地资源网高清在线播放| 成人国产精品999视频| 激情一区二区三区视频| 国产精品成人亚洲一区| 国産精品久久久久久久| 91久久国产自产拍夜夜嗨| 人妻系列中文字幕av| 精品成在人线av无码免费看| 国产黄色片在线观看| 国产一区二区三区av香蕉| 亚洲av天堂在线视频| 300部国产真实乱| 亚洲无码图| 日韩中文字幕素人水野一区| 熟女精品视频一区二区三区| 中文字幕永久免费观看| 亚洲国产av综合一区| 少妇人妻精品一区二区三区|