![FPGA的編譯過程討論_第1頁](http://file4.renrendoc.com/view/76b56c206b548beeadf656015e24d456/76b56c206b548beeadf656015e24d4561.gif)
![FPGA的編譯過程討論_第2頁](http://file4.renrendoc.com/view/76b56c206b548beeadf656015e24d456/76b56c206b548beeadf656015e24d4562.gif)
![FPGA的編譯過程討論_第3頁](http://file4.renrendoc.com/view/76b56c206b548beeadf656015e24d456/76b56c206b548beeadf656015e24d4563.gif)
![FPGA的編譯過程討論_第4頁](http://file4.renrendoc.com/view/76b56c206b548beeadf656015e24d456/76b56c206b548beeadf656015e24d4564.gif)
![FPGA的編譯過程討論_第5頁](http://file4.renrendoc.com/view/76b56c206b548beeadf656015e24d456/76b56c206b548beeadf656015e24d4565.gif)
下載本文檔
版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報或認(rèn)領(lǐng)
文檔簡介
FPGA的編譯過程討論綜合構(gòu)建FPGA的第一階段稱為綜合。此過程將功能性RTL設(shè)計轉(zhuǎn)換為門級宏的陣列。這具有創(chuàng)建實(shí)現(xiàn)RTL設(shè)計的平面分層電路圖的效果。在這種情況下,宏實(shí)際上是內(nèi)部FPGA單元的模型。這可以是FPGA中的任何數(shù)字元素,例如觸發(fā)器,RAM或查找表(LUT)。綜合工具我們可以使用許多不同的工具來運(yùn)行綜合過程。兩個主要的FPGA供應(yīng)商(Xilinix和Intel)都提供適用于大多數(shù)項目的免費(fèi)綜合工具。除此之外,還有許多我們可以使用的開源綜合工具。這些工具中最流行的是yosys,它經(jīng)常與LatticeFPGA一起使用。也有用于此目的的付費(fèi)工具。這些工具中最著名的是Synopsys的SynplifyPro和MentorGraphics的LeonardoSpectrum。與免費(fèi)工具相比,付費(fèi)工具通常能夠提供更多優(yōu)化的網(wǎng)表。通常,對于大型或高速設(shè)計,我們只需要付費(fèi)工具即可。綜合過程至少需要兩個輸入。其中第一個是我們設(shè)計的源代碼。我們還需要一個腳本或項目文件,用于定義綜合工具的配置。該腳本通常告訴工具目標(biāo)為哪個FPGA,設(shè)計的引腳以及在運(yùn)行綜合時使用哪種策略。除此之外,優(yōu)良作法是創(chuàng)建一個文件,該文件定義設(shè)計的時序約束,我們稱之為約束文件。綜合我們使用時序約束來定義有關(guān)FPGA的細(xì)節(jié),而這些細(xì)節(jié)無法在源代碼中指定。這包括諸如時鐘頻率,時鐘域數(shù)和外部接口的時序之類的信息。這些細(xì)節(jié)決定了綜合器為優(yōu)化FPGA內(nèi)的時序投入了多少精力。邏輯利用率作為綜合過程的一部分,我們還可以對設(shè)計進(jìn)行一些分析。但是,在布局和布線過程之后,此信息通常更可靠。這些分析中的第一個是設(shè)計的邏輯利用率。該分析詳細(xì)說明了我們設(shè)計使用的每種不同類型的FPGA單元有多少個。設(shè)備中的各個單元隨芯片的不同以及供應(yīng)商之間的不同而不同。幾乎所有現(xiàn)代芯片都將包括RAM,某種形式的LUT和觸發(fā)器。高端芯片還可以包括專用的DSP內(nèi)核,時鐘管理模塊(例如PLL)以及其他外圍接口(例如ADC)或?qū)S玫母咚俳涌凇M瓿删C合過程后,我們可以生成報告,以絕對值和器件中所有可用單元的百分比告訴我們設(shè)計中使用了多少個單元。在運(yùn)行綜合過程之后,經(jīng)常會發(fā)現(xiàn)我們的設(shè)計對我們的設(shè)備而言太大了。發(fā)生這種情況時,我們有很多選擇。通??梢酝ㄟ^更改綜合工具的配置來降低利用率。這樣的示例可以是更改FSM編碼或選擇其他綜合算法。如果我們的設(shè)計僅比我們選擇的FPGA大一點(diǎn),那么這種減少就足夠了。如果這還不能充分降低利用率,那么我們必須選擇一個新的FPGA或提高原始代碼的效率。時序分析運(yùn)行綜合后,我們還可以分析FPGA的時序。我們使用該分析來確定FPGA是否可以以所需的頻率運(yùn)行我們的設(shè)計。當(dāng)我們的設(shè)計不能以所需的頻率運(yùn)行時,我們不能確定內(nèi)部觸發(fā)器將不會有時序違規(guī)。因此,我們無法保證我們的設(shè)備能夠按預(yù)期運(yùn)行。我們通常會在布局和布線過程之后詳細(xì)分析設(shè)計的時序。由于時序取決于FPGA中單元的位置,因此經(jīng)過此過程,結(jié)果將更加準(zhǔn)確。綜合后仿真在綜合過程中,我們可以要求該工具以VHDL或verilog生成網(wǎng)表。此過程還生成一組時序延遲,該時序延遲可對信號通過FPGA的傳播進(jìn)行建模。然后,我們可以使用此信息來運(yùn)行我們的綜合網(wǎng)表的仿真。由于這些仿真還可以對我們的設(shè)計時序進(jìn)行建模,因此它們可以為最終設(shè)備的行為提供更準(zhǔn)確的模型。無論我們在設(shè)計中使用哪種語言,我們通常都使用verilog生成綜合后仿真模型。這樣做的原因是基于Verilog的模型比其VHDL等效模型的仿真速度更快。這對于綜合后仿真尤其重要,因為它們通常執(zhí)行時間較長。運(yùn)行綜合后仿真有兩個主要優(yōu)點(diǎn)。首先,這些仿真有助于確保我們生成的網(wǎng)表與原始RTL模型的行為相匹配。其次,可以更緊密地考慮芯片的時序。這有助于我們發(fā)現(xiàn)可能與基于時序的錯誤(例如時序違規(guī))相關(guān)的錯誤。盡管運(yùn)行后綜合仿真有很多優(yōu)點(diǎn),但是我們通常不會在設(shè)計流程中這樣做。原因之一是這些仿真需要很長時間才能運(yùn)行。綜合后的仿真需要幾天來運(yùn)行全套測試的情況并不少見。另一個原因是,我們也可以在由我們的布局和布線工具生成的網(wǎng)表上運(yùn)行仿真。由于這些網(wǎng)表更能代表最終的芯片方案,因此最好使用該網(wǎng)表進(jìn)行任何時序仿真。布局布線(實(shí)現(xiàn))完成綜合后,我們需要將網(wǎng)表映射到FPGA中的實(shí)際資源。此過程稱為“布局布線”,實(shí)際上包含幾個不同的步驟。通常,此過程的第一階段涉及優(yōu)化網(wǎng)表。我們使用此過程刪除或替換網(wǎng)表中任何多余或重復(fù)的元素。然后,將優(yōu)化后的網(wǎng)表映射到FPGA中的物理單元,這通常稱為布局。完成布局過程后,然后運(yùn)行稱為布線的過程。我們使用構(gòu)建過程的這一部分來定義所選FPGA中不同單元之間的互連。為了滿足設(shè)計的時序要求,我們通常會執(zhí)行此過程的幾次運(yùn)行。但是,布局布線工具負(fù)責(zé)根據(jù)我們的配置安排這些多次運(yùn)行。當(dāng)我們難以使設(shè)計滿足時序要求時,通常會增加允許工具執(zhí)行的運(yùn)行次數(shù)和類型。布局布線工具對于Xilinx或Intel部件,沒有第三方布局和布線工具,這意味著我們必須使用供應(yīng)商特定的工具。這些版本可以免費(fèi)下載,盡管也提供付費(fèi)版本。這些工具也有付費(fèi)版本可用,盡管通常只有針對高端FPGA的設(shè)計才需要它們。對于萊迪思的FPGA,開源的nextpnr軟件是一種流行的布局布線工具。根據(jù)我們設(shè)計的大小,布局和布線過程可能需要幾個小時才能完成。與綜合過程一樣,布局布線工具需要大量輸入才能正確運(yùn)行。我們使用綜合工具生成的網(wǎng)表是最重要的輸入。該網(wǎng)表通常是.edf文件,盡管這在工具之間有所不同。通常,我們還使用項目文件或腳本來確定布局和布線工具的配置。我們使用它來定義重要信息,例如FPGA零件號和封裝。除此之外,我們使用此腳本定義布局和路線工具的配置。我們還需要向工具提供一個約束文件,以定義我們設(shè)計的時序特征。該文件通常與我們在綜合過程中使用的文件相同,該文件定義了有關(guān)時鐘頻率和域的信息。我們還使用約束文件來定義我們的設(shè)計的物理特性,而這些特性在HDL代碼中無法描述。至少,這將包括輸入和輸出到設(shè)備物理引腳的映射。流程圖顯示了綜合網(wǎng)表,約束和項目文件作為布局和布線工具的輸入,網(wǎng)表作為輸出。布局布線時序與利用率與綜合過程一樣,在布局和路線完成之后,我們可以生成許多報告。這使我們可以進(jìn)一步分析設(shè)計以確保其正常工作。我們通常會在完成布局和布線過程后運(yùn)行實(shí)用程序報告。該報告詳細(xì)介紹了我們用于通過FPGA實(shí)現(xiàn)設(shè)計的不同單元的數(shù)量。該報告與我們在綜合過程中可以生成的報告完全相同。但是,當(dāng)我們在完成布局布線過程后生成此報告時,該報告會更準(zhǔn)確。我們通常在完成布局和布線過程后執(zhí)行的另一項分析是靜態(tài)時序分析(STA)。我們使用此過程來計算設(shè)計中所有邏輯鏈的延遲時間。通過計算此信息,布局布線工具可以確定芯片是否能夠以指定的時鐘頻率運(yùn)行。布局布線工具會在最壞情況和最佳情況下的定時條件下執(zhí)行此分析。但是,最常見的情況是在硅中出現(xiàn)最壞情況下的延遲會導(dǎo)致時序問題。我們通常將STA報告用作設(shè)計驗證的關(guān)鍵部分。如果我們的設(shè)計使STA失敗,那么我們將無法保證FPGA能夠可靠地工作。發(fā)生這種情況時,我們要么必須使用不同的設(shè)置再次運(yùn)行實(shí)施過程,要么
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 現(xiàn)代辦公環(huán)境下的職業(yè)技能培訓(xùn)策略
- 現(xiàn)代企業(yè)如何進(jìn)行高效的稅務(wù)規(guī)劃
- 新版華東師大版八年級數(shù)學(xué)下冊《16.4.2科學(xué)記數(shù)法》聽評課記錄12
- 2025年度國際文化遺產(chǎn)保護(hù)合作合同范本
- 生產(chǎn)線優(yōu)化與作業(yè)效率飛躍
- 現(xiàn)代辦公軟件在企業(yè)管理中的應(yīng)用與價值
- 現(xiàn)代職場競爭力報告設(shè)計與演講并行
- 湘教版數(shù)學(xué)九年級上冊5.2《統(tǒng)計的簡單應(yīng)用》聽評課記錄
- 【基礎(chǔ)卷】同步分層練習(xí):五年級下冊語文第1課《古詩三首》(含答案)
- 電商平臺中女性用戶的消費(fèi)心理研究
- 預(yù)應(yīng)力錨索張拉及封錨
- 烤煙生產(chǎn)沿革
- GB 1886.227-2016食品安全國家標(biāo)準(zhǔn)食品添加劑嗎啉脂肪酸鹽果蠟
- 毛澤東思想課件-第七章 毛澤東思想的活的靈魂
- 公共關(guān)系效果的評估課件
- 建筑施工安全員理論考核試題與答案
- 高速公路用地勘測定界及放線定樁技術(shù)標(biāo)書
- 建筑工程節(jié)后復(fù)工自查表
- 華萊士標(biāo)準(zhǔn)化體系
- 快捷smt全自動物料倉儲方案
- keysight眼圖和抖動噪聲基礎(chǔ)知識與測量方法
評論
0/150
提交評論