




版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報或認(rèn)領(lǐng)
文檔簡介
1、4.5.1SynplifyPro軟件的使用 在FPGA設(shè)計中,許多設(shè)計人員都習(xí)慣于使用綜合工具SynplifyPro。雖然ISE軟件可以不依賴于任何第三方 EDA軟件完成整個設(shè)計,但SynplifyPro軟件有綜合性能高以及綜合速度快等特點(diǎn),無論在物理面積上還是 工作頻率都能達(dá)到較理想的效果。因此如何在ISE中調(diào)用SynplifyPro綜合工具,并進(jìn)行無縫的設(shè)計連接仍然 是設(shè)計人員需要解決的一個設(shè)計流程問題。 1. SynplifyPro綜合軟件的安裝 卜面介紹SynplifyPro的安裝步驟。運(yùn)行安裝程序,歡迎界面過后,將出現(xiàn)如圖4-89所示的安裝選擇界面, 可以根據(jù)自己的需要選擇相應(yīng)的組件
2、。然后按照默認(rèn)選項繼續(xù)即可完成安裝 圖4-89Synplify的安裝選擇界面 在Synplify安裝完后,還需要安裝Identify。在開始程序Synplify菜單欄中會出現(xiàn)Identify211Installation 雙擊即開始安裝,一般來講,可以按照默認(rèn)選項繼續(xù),直至安裝完畢。安裝完之后需要添加授權(quán)的License 文件,才能正常使用。 2. 關(guān)聯(lián)ISE和SynplifyPro 完成了SynplifyPro安裝后,需要將其和ISE軟件關(guān)聯(lián)后才能使用SynplifyPro進(jìn)行綜合。運(yùn)行ISE軟件,在 主界面中選擇Edit|Preference菜單項,進(jìn)行“Reference設(shè)定如圖4-90
3、所示。在彈出的Preference對話框中選擇IntegratedTools”選項卡。該選項卡用于設(shè)定與ISE集成的軟件的路徑,第三項的SynplifyPro就用于設(shè)定 SynplifyPro仿真軟件的路徑,如圖4-91所示。 frifwtactl 圖4-90選擇Preference菜單項 單擊SynplifyPro文本框后面的按鈕,會彈出一個文件選擇對話框,選擇的synplify_pro.exe文件即可。 注意:在IntegratedTools”選項卡中還可以看到其他幾個可以和ISE進(jìn)行無縫鏈接的第三方軟件,如ModelSi m、synplifyLeonardoSpectrum、ChipSc
4、opeAnalyzer等軟件。 3. SynplifyPro的使用方法簡介 Synthesis將HDL代碼轉(zhuǎn)化為門級網(wǎng)表的過程,其對電路的綜合包括以下3個步驟:首先,HDLcompilation 把HDL的描述編譯成已知的結(jié)構(gòu)元素;其次,運(yùn)用一些算法,對設(shè)計進(jìn)行面積優(yōu)化和減小時延。在沒有目標(biāo)庫的情況下,Synplify只能執(zhí)行一些最基本的優(yōu)化措施;最后,將設(shè)計映射到指定廠家的特定器件上,并執(zhí)行 一些附加的優(yōu)化措施,包括根據(jù)由器件供應(yīng)商提供的專用約束進(jìn)行優(yōu)化。工程文件以*.prj作為擴(kuò)展名,以tc l的格式保留了以下信息:設(shè)計文件、約束文件、綜合時開關(guān)選項的設(shè)置情況等。 1)SynplifyPr
5、o用戶界面介紹 SynplifyPro是標(biāo)準(zhǔn)的windows應(yīng)用程序,所有功能均可以通過菜單選擇來實(shí)現(xiàn)。下面按照圖4-92中數(shù)字所 標(biāo)示的次序,對其界面作簡要介紹。圖中1表示Synplify的主要工作窗口,在這個窗口中可以詳細(xì)顯示設(shè)計 者所創(chuàng)建工程的詳細(xì)信息,包括工程的源文件,綜合后的各種結(jié)果文件。同時如果綜合完成后,每個源文件 有多少錯誤或者警告都會在這個窗口顯示出來。圖中2表示TCL窗口,在這個窗口中設(shè)計者可以通過TCL 命令而不是菜單來完成相應(yīng)的功能。圖中3表示觀察窗口,在這里可以觀察設(shè)計被綜合后的一些特性,比如 最高工作頻率等。圖中4是狀態(tài)窗口,它表示現(xiàn)在Synplify所處的狀態(tài),比
6、如下圖表示Synplify處于閑置狀 態(tài),在綜合過程中會顯示編譯狀態(tài)、映射狀態(tài)等等。圖中5所示的一些復(fù)選框,可以對將要綜合的設(shè)計的一 些特性進(jìn)行設(shè)置。Synplify可以根據(jù)這些設(shè)置對設(shè)計進(jìn)行相應(yīng)的優(yōu)化工作。圖中6是運(yùn)行按鈕,當(dāng)一個工程加 入之后,按這個RUN按鈕,Synplify就會對工程進(jìn)行綜合。圖中7所示的是Synplify的工具欄。FinJF3 MF1H4Inl f 皿口口 ,目,LcIki1 lnt4ElntlfrFTW4,*li+TlfrFTW4 1s1s+1TfXie+1TfXie ViVi- -Ul4frUk.Ul4frUk. ,-FJ-I *.Cj.擊山 4 一 4Rplk.
7、小G|J|Q hiMi:聞 Hi1gtaiM. :I 圖4-91ISE集成工具設(shè)定頁面 SynplifyPro安裝路徑下bin目錄下 2)建立工程、添加源文件 建立工程首先需要打開SynplicityPro。點(diǎn)擊開始”菜單,依次選擇程序SynplicitySynplifyPro”,啟動Syn plifyPro。在工程窗口中包含了以下內(nèi)容:源文件信息、結(jié)果文件信息和目標(biāo)器件信息。 缺省情況下,當(dāng)Synplify啟動時將自動建立一個新工程。這時,可以選擇將工程,以新名字保存。如果結(jié)束了一個工程的操作,想新建一個工程,則可以選擇“FILENEW;然后選擇工程文件,就可以建立一個新的工程。這項操作也可
8、以通過工具條來進(jìn)行,單擊工具條的P圖標(biāo),則在彈出對話框選擇工程文件即可。 新建工程之后,需要將源文件添加進(jìn)來。點(diǎn)擊“ADDFILE”按鈕。添加源文件和約束文件。SynplifyPro把最 后編譯的module/entityandthearchitecture作為頂層設(shè)計,所以需要把頂層設(shè)計文件用左鍵拖拉到源文件菜單的末尾處或者點(diǎn)擊“ImplOptions”按鈕,在Verilog屬性頁中設(shè)置頂層模塊的名稱。 3)工程屬性設(shè)置 添加完源文件后需要設(shè)置工程屬性,點(diǎn)擊“Imploption按鈕出現(xiàn)屬性頁又舌框,如圖4-51所示。下面介紹常 用的芯片設(shè)置、綜合選項、約束設(shè)置以及實(shí)現(xiàn)結(jié)果選項等參數(shù)的配置
9、uk Kirn卯1J廣FPsrt邛廣口 圖4-92SynplifyPro綜合工具示意圖 圖4-93設(shè)置器件屬性頁 1 .首先.設(shè)置FPGA芯片信息。打開“Device屬性頁,分別設(shè)置器件廠家器件型號、速度級別和封裝信息。 根據(jù)設(shè)計的速度和面積要求??梢栽O(shè)置最大扇出系數(shù),缺省是10000。根據(jù)該工程所屬模塊是否和片外有信號聯(lián)系,選中或者不選中“DisableI/Oinsert:如果選中該選項,則SynplifyPro不會為輸入輸出信號加緩沖,缺省為不選。 2 .設(shè)置通用綜合詵項。點(diǎn)擊“options屬性頁,選中SymbolicFSMCompiler:SynplifyPro會在綜合過程中 啟動有限
10、狀態(tài)機(jī)編譯器,對設(shè)計中的狀態(tài)機(jī)進(jìn)行優(yōu)化。選中“ResourceSharing選項,則啟動資源共享;設(shè)置 了資源共享后,設(shè)計的最高工作頻率會低于不選中的情況,但是資源會節(jié)約很多,因此在設(shè)計能夠滿足時鐘 頻率要求的情況下,一般選中以節(jié)省資源。選中UseFSMExplorer選項,即可以用synplify內(nèi)置的狀態(tài)機(jī)瀏 覽器觀察狀態(tài)機(jī)的各種屬性。選中“Pipelining選項,即啟動流水,在高速時鐘設(shè)計中,如果其他措施都不能 達(dá)到目標(biāo)頻率則最好選中此項。 3 .設(shè)置約束選項。點(diǎn)擊“Constraints屬性頁,設(shè)置模塊最高工作頻率以及添加約束文件(.sdc)。過嚴(yán)或是過 松的約束都達(dá)不到最佳的效果。
11、一般可先嘗試通用的約束,如時鐘扇出限制等;如果沒有達(dá)到要求,可加入一些嚴(yán)格的具體約束,同時注意放松一些可以放松的約束。需要注意的是,綜合約束的結(jié)果是估計值,應(yīng)該以布局布線的結(jié)果為準(zhǔn)。 4 .設(shè)置實(shí)現(xiàn)結(jié)果。點(diǎn)擊“ImplementationResults屬性頁,設(shè)置綜合結(jié)果放置的目錄,綜合結(jié)果的文件名稱。同時一定要將“WriteVendorConstraintFile和“WriteVerificationInterfaceFormat”選項選中。 4)時序約束定義時間約束是為了讓綜合結(jié)果滿足預(yù)期的時序要求,時間約束通常分為兩類:一是通用時間約束,用于目 標(biāo)結(jié)構(gòu)的時序要求;二是黑盒時間約束,用于在
12、設(shè)計中指定為黑盒的模塊時間約束。在SynplifyPro中,可 通過SCOPE、約束文件以及綜合屬性和指示等3種方法添加時序。本節(jié)主要介紹利用約束文件添加約束的方 法。 約束文彳采用Tcl語言,以*.sdc保存,用來提供設(shè)計者定義的時序約束、綜合屬性以及FPGA生產(chǎn)商定義的屬性等。約束文件既可以通過SCOPE創(chuàng)建編輯也可以使用正文編輯器創(chuàng)建編輯可被添加到在工程窗口的代碼菜單中也可以被Tcl腳本文件調(diào)用。 5)綜合屬性和指示 (1)綜合屬性和指示簡介 綜合指示用于控制綜合中編譯階段的設(shè)計分析,因而必須加入到源代碼中。屬性是在編譯后讀入的,因而既可以在源程序中說明,也可以在約束文件中說明。約束文件
13、提供了較大的靈活性,使得可以僅修改約束而不用重新編譯源程序,因而是強(qiáng)烈推薦采用的方法。 在Verilog源程序中,說明指示或?qū)傩圆捎米⑨尩姆椒ㄕZ法如下: /synthesisdirective|attribute=value 或/*synthesisdirectiveattribute=value*/ (2)綜合指不 綜合指示用于通知SynplifyPro軟件某些用戶定制的設(shè)置,常以注釋的形式出現(xiàn)在源代碼后面,Synplify軟件 會自動識別相應(yīng)的說明,按照用戶指令完成綜合。常用的綜合只是如下: black_box_pad_pin 聲明用戶定義的黑盒管腳彳為外部環(huán)境可見的I/Opad。如果有不
14、止一個端口列在雙引號內(nèi),則以逗號分開。 由于Synplify提供了預(yù)定義的I/Os,一般不需要這一屬性。其語法如下: object/*synthesissyn_black_boxblack_box_pad_pin=port_list*/;例如: moduleBS(D,IN,PAD,Q)/*synthesissyn_black_boxblack_box_pad_pin=PAD*/; block_box_tri_pins 聲明黑盒的一個輸出端口是三態(tài),如不止一個列在雙引號內(nèi),則以逗號分開。其語法如下: object/*synthesissyn_black_boxblack_box_tri_pins
15、=port_list*/;例如: moduleBBDLHS(D,E,GIN,GOUT,PAD,Q)/*synthesissyn_black_boxblack_box_tri_pins=PAD*/; full_case 僅用于Verilog的case語句,表明所有可能的狀態(tài)都已經(jīng)給出,不需要其他邏輯保持信號的值,其語法如下: object/*synthesisfull_case*/ 其中object可以是casecasex、casezsstatements和declaration。 parallel_case 僅用于Verilog中case語句,表明生成一個并行的多路選擇結(jié)構(gòu)而不是一個優(yōu)先譯碼結(jié)
16、構(gòu)。其語法如下: object/*synthesisparallel_case*/ 其中object可以是casecasex、casezsstatements和declaration。 syn_block_box 說明一個模塊或組件為黑盒,僅利用其界面進(jìn)行綜合,而不管內(nèi)部是否為空,也不進(jìn)行優(yōu)化。一般應(yīng)用于廠家原語或宏或IP等用戶定義的宏。其語法如下: object/*synthesissyn_black_box*/; 其中object可以是module和declaration。 syn_encoding 強(qiáng)制選擇自動機(jī)實(shí)現(xiàn)的方式,其可選值(value)如下: default:綜合根據(jù)狀態(tài)的數(shù)量
17、選擇編碼方式編碼方式可以是onehotgraysequential; onehot:采用onehot編碼方式; gray:采用格雷碼; sequential:采用自然碼; safe:如果不能到達(dá)任一個狀態(tài)時讓其回到復(fù)位態(tài)。 syn_encoding的語法如下: object/*synthesissyn_encoding=value*/; 其中object是狀態(tài)寄存器定義。 syn_isclock 說明黑盒的一個輸入是時鐘信號。對名字為clk、rclk、wclk的黑盒輸入信號,軟件自動當(dāng)作時鐘,可以用這個屬性說明任意輸入信號為時鐘信號。其語法如下: object/*synthesissyn_is
18、clock=0|1*/; 其中object是黑盒的inputport。 例如: moduleram4(myclk,out,opcode,a,b)/*synthesissyn_black_box*/; output7:0out; inputmyclk/*synthesissyn_isclock=1*/; input2:0opcode; input7:0a,b; /*Othercoding*/ syn_keep 保證被指定的wire在綜合中保持不動,不會被優(yōu)化掉,常用于用define_multicycle_path或define_true_path,用了-through選項。如果你用了這一屬性,將
19、生成一個keepbuf,可對其定義時間約束,且這個Buffer只占用 一個位置,不出現(xiàn)在門級網(wǎng)表里。其語法如下: object/*synthesissyn_keep=0|1*/; 其中object是wire或reg聲明。 syn_noprune 用來保持一個或多個component的實(shí)例,而不管其輸出能否完成映射。一般在沒有該指示的情況下,未用輸 出端口的實(shí)例會從EDIF文件中刪除。syn_noprune可被置于約束文件中,其語法如下:.sdc文件中: define_attributemodule|instancesyn_noprune0|1 Verilog中: object/*synthes
20、issyn_noprune=0|1*/; 其中object可以是module、declaration,也可以是實(shí)例。 syn_preserve 用在某些獨(dú)立的寄存器上或模塊,使模塊中的所有寄存器在優(yōu)化時保持不動,也可用于保持某個自動機(jī)在優(yōu)化時不動。其語法如下: object/*synthesissyn_preserve=0|1*/; 其中object可以是寄存器定義信號,也可以是Module。 syn_sharing 確定綜合時是否對運(yùn)算符進(jìn)行資源共享。缺省值是禁止,也可以在project視窗里設(shè)置這一選項。 其語法如下: object/*synthesissyn_sharing=on|off*/; 其中object可以是module定義語句。 syn_state_machine 對設(shè)計中的某組狀態(tài)寄存器進(jìn)行自動機(jī)優(yōu)化,其語法如下: object/*synthesissyn_state_machine=0|1*/; 其中object是該組狀態(tài)寄存器。 syn_tco 提供黑盒的輸出延遲信息,其語法如下: objec
溫馨提示
- 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)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 【正版授權(quán)】 IEC TR 63424-1:2024 EN Validation of dynamic power control and exposure time-averaging algorithms - Part 1: Cellular network implementations for SAR at frequencies up to 6 G
- 2025-2030年中國防曬霜產(chǎn)業(yè)競爭格局及發(fā)展盈利分析報告
- 2025-2030年中國鈹銅合金市場運(yùn)行態(tài)勢及投資策略分析報告
- 2025-2030年中國速凝劑市場運(yùn)行態(tài)勢規(guī)劃研究報告
- 2025-2030年中國茶黃素產(chǎn)業(yè)運(yùn)行趨勢及發(fā)展前景分析報告
- 2025遼寧省安全員-B證(項目經(jīng)理)考試題庫
- 2025-2030年中國節(jié)水灌溉行業(yè)運(yùn)行現(xiàn)狀及發(fā)展前景分析報告
- 2025年遼寧省建筑安全員知識題庫附答案
- 2025-2030年中國羥乙基皂莢膠行業(yè)市場運(yùn)行現(xiàn)狀及投資發(fā)展前景預(yù)測報告
- 2025-2030年中國硫酸氧釩行業(yè)發(fā)展趨勢及投資戰(zhàn)略研究報告
- 注塑模具基礎(chǔ)知識
- 2024年單招考試題
- 三年級數(shù)學(xué)下冊期末測試卷及答案【可打印】
- 蘇教版小學(xué)語文上冊教學(xué)研究論文
- 片狀鋅粉行業(yè)分析!中國片狀鋅粉行業(yè)市場發(fā)展前景研究報告(2024版)
- 公鐵兩用牽引車市場發(fā)展預(yù)測和趨勢分析
- 兒童繪本故事《我的情緒小怪獸》
- 部編版六年級下冊道德與法治全冊教案
- 3.1 導(dǎo)數(shù)的概念 課件 《高等數(shù)學(xué)》
- 2024版《供電營業(yè)規(guī)則》學(xué)習(xí)考試題庫500題(含答案)
- 供貨送貨服務(wù)承諾書
評論
0/150
提交評論