《基于FPGA的現(xiàn)代數(shù)字系統(tǒng)設(shè)計(jì)》課件第9章_第1頁
《基于FPGA的現(xiàn)代數(shù)字系統(tǒng)設(shè)計(jì)》課件第9章_第2頁
《基于FPGA的現(xiàn)代數(shù)字系統(tǒng)設(shè)計(jì)》課件第9章_第3頁
《基于FPGA的現(xiàn)代數(shù)字系統(tǒng)設(shè)計(jì)》課件第9章_第4頁
《基于FPGA的現(xiàn)代數(shù)字系統(tǒng)設(shè)計(jì)》課件第9章_第5頁
已閱讀5頁,還剩47頁未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)

文檔簡(jiǎn)介

第9章其它設(shè)計(jì)工具簡(jiǎn)介9.1Synplicity公司的SynplifyPro9.2Aldec公司的ActiveHDL9.3MentorGraphics公司的小結(jié)

9.1Synplicity公司的SynplifyPro

Synplify和SynplifyPro是Synplicity公司提供的專門針對(duì)FPGA和CPLD實(shí)現(xiàn)的邏輯綜合工具。SynplifyPro是Synplify的完整版,包含了后者的所有功能,但綜合原理和機(jī)制完全相同,它是目前業(yè)界最流行的、功能最強(qiáng)的綜合工具。它支持工業(yè)標(biāo)準(zhǔn)的Verilog和VHDL硬件描述語言,能高效地將它們的文本文件轉(zhuǎn)換為高性能的面向流行器件的設(shè)計(jì)網(wǎng)表,支持Xilinx、Altera、Lattice、Actel及QuickLogic等不同的廠家所生產(chǎn)的FPGA與CPLD的綜合、時(shí)序分析與配置等功能。

1.SynplifyPro軟件窗口

SynplifyPro軟件窗口如圖9.1所示,主要包含菜單欄、工具欄、狀態(tài)顯示欄、操作按鈕、重要綜合優(yōu)化參數(shù)設(shè)置、工程管理窗、綜合結(jié)果窗、消息窗口、綜合結(jié)果觀察窗等幾部分。

2.SynplifyPro軟件使用

下面以一個(gè)四路選擇器的例子來說明SynplifyPro軟件的使用方法,這里使用的軟件版本是SynplifyPro9.6.1,其設(shè)計(jì)步驟如下:

(1)建立工程Project。啟動(dòng)SynplifyPro,彈出SynplifyPro的主界面。選擇【File】→【New】命令,彈出新建工程【New】對(duì)話框,如圖9.2所示。在文件類型【FileType】欄中選擇新建工程【ProjectFile】選項(xiàng),工程名稱【FileName】欄輸入“mux_4_1”,然后設(shè)置工程存放路徑【FileLocation】。確認(rèn)后,工程管理窗口出現(xiàn)建立的工程mux_4_1.prj,如圖9.3所示。圖9.1SynplifyPro軟件窗口圖9.2新建工程【New】對(duì)話框圖9.3建立的工程

(2)添加源文件。選擇【File】→【New】命令,彈出【New】對(duì)話框。在【FileType】欄中選擇VerilogHDL文件類型【VerilogFile】,源文件名字【FileName】欄中輸入“mux_4_1”,單擊按鈕,如圖9.4所示。然后在彈出的程序編輯窗口添加設(shè)計(jì)源文件,如圖9.5所示。圖9.4建立新的源程序圖9.5源程序代碼

(3)代碼語法錯(cuò)誤檢查。

①選擇【Run】→【SyntaxCheck】命令,進(jìn)行代碼語法錯(cuò)誤檢查,如圖9.6所示。如果語法有錯(cuò)誤,檢查結(jié)果會(huì)提示錯(cuò)誤信息如圖9.7所示。按照提示修改代碼直至檢查結(jié)果正確。圖9.6語法錯(cuò)誤檢查圖9.7語法錯(cuò)誤檢查提示②在圖9.6中選擇【Run】→【SynthesisCheck】命令,進(jìn)行綜合檢查。檢查結(jié)果正確后才能進(jìn)行下一步設(shè)計(jì)。

(4)綜合選項(xiàng)設(shè)置。

①選擇【Project】→【ImplementationOptions】命令,彈出綜合選項(xiàng)設(shè)置對(duì)話框,如圖9.8所示。選擇器件【Device】標(biāo)簽,進(jìn)行元器件選項(xiàng)設(shè)置,可設(shè)置綜合目標(biāo)器件廠家【Technology】、型號(hào)【Part】、封裝【Package】、速度級(jí)別【Speed】等信息,如圖9.8所示。圖9.8綜合選項(xiàng)設(shè)置對(duì)話框的器件標(biāo)簽②在綜合選項(xiàng)設(shè)置對(duì)話框中選擇選項(xiàng)【Options】標(biāo)簽進(jìn)行優(yōu)化選項(xiàng)設(shè)置。選中【FSMCompiler】和【ResourceSharing】欄,如圖9.9所示。【FSMCompiler】在綜合過程中啟動(dòng)有限狀態(tài)編譯機(jī),對(duì)設(shè)計(jì)中的狀態(tài)機(jī)進(jìn)行優(yōu)化?!綬esourceSharing】欄啟動(dòng)資源共享,在設(shè)計(jì)能夠滿足時(shí)鐘頻率的情況下,一般選中此欄以節(jié)約資源。圖9.9在綜合選項(xiàng)設(shè)置對(duì)話框的選項(xiàng)標(biāo)簽③在綜合選項(xiàng)設(shè)置對(duì)話框中選擇約束【Constraints】標(biāo)簽可進(jìn)行系統(tǒng)運(yùn)行頻率【Frequency】和約束文件的設(shè)置,如在【Frequency】欄輸入頻率值“100”MHz。

④選擇【ImplementationResults】標(biāo)簽進(jìn)行綜合結(jié)果輸出設(shè)置,包括結(jié)果放置的目錄【ResultsDirectory】、綜合結(jié)果的文件名稱【ResultsFileName】,一般保持默認(rèn)設(shè)置。注意一定要將【W(wǎng)riteVendorConstraintFile】欄選項(xiàng)選中以生成布局布線工具使用的時(shí)間約束文件。

⑤選擇【TimingReport】標(biāo)簽進(jìn)行時(shí)序報(bào)告輸出的設(shè)置,【NumberofCriticalPaths】欄表示時(shí)序報(bào)告中會(huì)顯示的關(guān)鍵路徑條數(shù),【NumberofStart/EndPoints】欄表示關(guān)鍵路徑上起始點(diǎn)和結(jié)束點(diǎn)的數(shù)量。

以上步驟完成之后,單擊按鈕,完成設(shè)置。

(5)單擊【Run】命令,開始綜合。當(dāng)狀態(tài)顯示欄變成“Done”時(shí),說明綜合運(yùn)行結(jié)束,如圖9.10所示。圖9.10狀態(tài)顯示欄

(6)檢查綜合后的電路。

①選擇【HDLAnalyst】→【RTL】→【HierarchalView】命令,查看四路選擇器綜合后的網(wǎng)表文件對(duì)應(yīng)的RTL級(jí)電路,如圖9.11所示。圖9.11網(wǎng)表文件對(duì)應(yīng)的RTL級(jí)電路

②選擇【HDLAnalyst】→【Technology】→【HierarchalView】命令,查看RTL級(jí)電路向具體器件進(jìn)行結(jié)構(gòu)映射的結(jié)果,如圖9.12所示。圖9.12綜合結(jié)果的TechnologyView輸出 9.2Aldec公司的ActiveHDL

1.ActiveHDL軟件窗口

啟動(dòng)ActiveHDL以后,彈出如圖9.13所示主窗口,主窗口分為操作區(qū)、工作區(qū)和狀態(tài)區(qū)。操作區(qū)上端為菜單欄,其下是工具欄,菜單欄包含了大部分的操作選項(xiàng),其下的按鈕欄是一些常用的快捷按鈕。圖9.13ActiveHDL6.1的軟件窗口

2.ActiveHDL軟件使用

以一個(gè)簡(jiǎn)單的D觸發(fā)器的例子來說明ActiveHDL軟件的使用,這里使用的軟件版本是ActiveHDL7.2,其設(shè)計(jì)步驟如下:

(1)創(chuàng)建新設(shè)計(jì)。啟動(dòng)ActiveHDL,進(jìn)入工作界面。單擊菜單欄【File】→【New】→【Design】命令,彈出【NewDesignWizard】窗口,如圖9.14所示。在【NewDesignWizard】窗口選擇創(chuàng)建新設(shè)計(jì)【CreateanEmptyDesignWithDesign】選項(xiàng),單擊??按鈕。圖9.14New選項(xiàng)下拉菜單及新建設(shè)計(jì)選擇窗口

(2)在彈出的對(duì)話框中選擇默認(rèn)硬件描述語言【DefaultHDLLanguage】項(xiàng)為“VERILOG”,其它為默認(rèn)值,單擊 按鈕。

(3)在彈出的對(duì)話框中輸入設(shè)計(jì)名稱,如“D_Trigger”和文件存放路徑。單擊按鈕后,再單擊按鈕,此時(shí)就生成一個(gè)新設(shè)計(jì)。

(4)系統(tǒng)返回到主窗口,此時(shí)主窗口的左邊出現(xiàn)了設(shè)計(jì)瀏覽【DesignBrowser】窗口,單擊工具欄上按鈕,在主窗口的工作區(qū)顯示如圖9.15所示的設(shè)計(jì)流程管理器【DesignFlowManager】窗口,該窗口中的流程圖會(huì)隨著設(shè)計(jì)流程的改變而改變,它是做設(shè)計(jì)的向?qū)АD9.15含設(shè)計(jì)流程管理器的主窗口

(5)新建源代碼文件。在【DesignFlowManager】窗口單擊菜單欄【File】→【New】→【VerilogSource】命令,在彈出的硬件描述語言編輯器【HDLEditor】窗口中選擇【Verilog】選項(xiàng),然后單擊按鈕,彈出新源文件向?qū)А綨ewSourceFileWizard】窗口,選中【Addthegeneratedfiletothedesign】,單擊按鈕,在彈出的窗口中輸入源文件名和模塊名“D_Trig”,繼續(xù)單擊按鈕。

(6)在彈出對(duì)話框的【Name:】欄和【Array】欄分別輸入端口名和端口數(shù)組值,在【Portdirection】欄中設(shè)置端口方向,單擊【Tpye…】按鈕設(shè)置端口數(shù)據(jù)類型,如圖9.16所示。單擊按鈕,軟件自動(dòng)返回到工作區(qū)并打開“D_Trig.V”文件,進(jìn)行D觸發(fā)器代碼編寫。圖9.16設(shè)置端口名以及端口方向

(7)在完成了代碼的輸入后,單擊菜單欄中的【DesignFlowManager】→【Compile】選項(xiàng)或者在【DesignBrowser】窗口中的【Files】視圖中選中編譯模塊“D_Trig”后右擊,在彈出對(duì)話框中選擇【Compile】選項(xiàng)對(duì)源代碼進(jìn)行編譯。源文件編譯通過以后,接下來進(jìn)行功能仿真來驗(yàn)證設(shè)計(jì)結(jié)果是否正確。

(8)選擇菜單欄【File】→【New】或者單擊工具欄上按鈕,在彈出頁中單擊【W(wǎng)aveform】選項(xiàng)或者在工具欄上單擊按鈕,創(chuàng)建一個(gè)新的【wave】窗口。在圖9.17所示波形窗口信號(hào)列表區(qū)右擊,在彈出菜單欄中選擇【AddSignals…】選項(xiàng),彈出添加信號(hào)【AddSignals】對(duì)話框,如圖9.18所示。圖9.17Waveform編輯窗口圖9.18【AddSignals】對(duì)話框

(9)在波形窗口的信號(hào)列表區(qū)右擊,在彈出菜單欄中選擇【Stimulators…】選項(xiàng),彈出【Stimulators】對(duì)話框,如圖9.19所示。在【Stimulators】對(duì)話框分別設(shè)置CLK、Reset、D信號(hào)屬性。設(shè)置CLK為Clock類型,頻率設(shè)置為10MHz;設(shè)置Reset為隨機(jī)信號(hào);D為Clock類型,頻率設(shè)置為7MHz。圖9.19【Stimulators】對(duì)話框

(10)設(shè)置完成以后單擊菜單欄【Stimulation】→【Run】選項(xiàng)或者按快捷鍵“ALT?+?F5”,開始仿真,功能仿真結(jié)果如圖9.20所示。仿真結(jié)果實(shí)現(xiàn)了時(shí)鐘上升沿觸發(fā)、同步復(fù)位的D觸發(fā)器。圖9.20功能仿真結(jié)果

ActiveHDL還可以在進(jìn)行邏輯綜合和物理實(shí)現(xiàn)后,對(duì)設(shè)計(jì)進(jìn)行綜合后仿真和物理實(shí)現(xiàn)后的時(shí)序仿真。Active-HDL能夠和業(yè)界標(biāo)準(zhǔn)IEEE、ISO、IEC及其它標(biāo)準(zhǔn)相容,為設(shè)計(jì)提供了極廣的覆蓋率及支持,同時(shí)ActiveHDL有特色的圖形化界面能提高設(shè)計(jì)速率和效率。

本章節(jié)通過一個(gè)簡(jiǎn)單的D觸發(fā)器實(shí)例展示了一些ActiveHDL軟件的基礎(chǔ)應(yīng)用,但是ActiveHDL軟件的強(qiáng)大功能遠(yuǎn)遠(yuǎn)不止這些,有興趣的讀者可以更深入地了解ActiveHDL軟件,實(shí)現(xiàn)更加高效的設(shè)計(jì)。

9.3MentorGraphics公司的FPGAAdvantage

1.設(shè)計(jì)輸入

由于設(shè)計(jì)輸入支持框圖設(shè)計(jì)、狀態(tài)機(jī)設(shè)計(jì)、真值表設(shè)計(jì)、HDL設(shè)計(jì)等方式,這里以常用的框圖設(shè)計(jì)、狀態(tài)機(jī)設(shè)計(jì)為例對(duì)其進(jìn)行介紹。

1)框圖設(shè)計(jì)

(1)啟動(dòng)FPGAAdvantage,將出現(xiàn)如圖9.21所示【DesignManager】對(duì)話框,該對(duì)話框包括菜單欄、工具欄、項(xiàng)目欄和項(xiàng)目管理欄等四個(gè)部分。圖9.21【DesignManager】對(duì)話框

(2)在【DesignerManager】窗口中單擊按鈕,選擇下拉菜單中的【GraphicalView】→【BlockDiagram】選項(xiàng),相應(yīng)的框圖設(shè)計(jì)編輯窗口被打開,如圖9.22所示。圖9.22框圖設(shè)計(jì)編輯窗口

(3)單擊按鈕,添加所需要的模塊(BLOCK),在框圖中添加兩個(gè)模塊,模塊會(huì)顯示默認(rèn)的庫<LIBRARY>和模塊名<BLOCK>,以及唯一的實(shí)例名I1和I0。在一個(gè)庫中,描述一個(gè)BLOCK的視圖必須被命名和保存成一個(gè)獨(dú)一無二的設(shè)計(jì)單元。一個(gè)BLOCK同時(shí)可以存在很多種描述方式,可以是狀態(tài)機(jī)、框圖和源代碼等。

(4)一個(gè)BLOCK以及其它的一些模塊添加完成之后,需要添加端口與連線,其快捷圖標(biāo)包括:按鈕為添加信號(hào);按鈕為添加總線;按鈕為添加端口。

(5)單擊相應(yīng)的BLOCK以及端口和信號(hào),對(duì)相關(guān)的端口和信號(hào)按照需要重新命名,完成后保存文件,鍵入相應(yīng)的文件名稱,如圖9.23所示。圖9.23端口與連線的添加

2)狀態(tài)機(jī)設(shè)計(jì)

(1)狀態(tài)機(jī)設(shè)計(jì)可以直接在【DesignerManager】窗口中單擊按鈕,選擇下拉菜單中的【GraphicalView】→【StateDiagram】命令,進(jìn)入狀態(tài)機(jī)設(shè)計(jì)編輯窗口,如圖9.24所示。圖9.24狀態(tài)機(jī)設(shè)計(jì)編輯窗口

(2)單擊按鈕添加狀態(tài),默認(rèn)的狀態(tài)按照從小到大的順序從s0開始。這里第一個(gè)狀態(tài)被假定為初始狀態(tài),用綠色表示。單擊按鈕,添加狀態(tài)之間的轉(zhuǎn)

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。

評(píng)論

0/150

提交評(píng)論