FPGA設(shè)計開發(fā)軟件Quartus II的使用技巧之: 創(chuàng)建工程設(shè)計文件
5.5創(chuàng)建工程設(shè)計文件
5.5.1創(chuàng)建工程
QuartusII軟件將工程信息存儲在QuartusII工程配置文件中,如表5.1所示。它包含有關(guān)QuartusII工程的所有信息,包括設(shè)計文件、波形文件、SignalTap®II文件、內(nèi)存初始化文件以及構(gòu)成工程的編譯器、仿真器和軟件構(gòu)建設(shè)置。
本文引用地址:http://cafeforensic.com/article/201706/348825.htm表5.1 QuartusII工程文件
文件類型 | 說明 |
QuartusIIProjectFile(.qpf) | 指定用來建立和修訂工程的QuartusII軟件版本 |
QuartusIISettingFile(.qsf) | 包括AssignmentEditor、FloorplanEditor、“Setting”對話框(“Assignment”菜單),Tcl腳本或者QuartusII可執(zhí)行文件產(chǎn)生的所有修訂范圍或者獨立的分配。工程中每個修訂有一個QSF |
QuartusIIWorkspaceFile(.qws) | 包含用戶偏好和其他信息,例如窗口信息、窗口打開文件及其位置 |
QuartusIIDefaultSettingsFile(.qdf) | 位于QuartusIIsystemdirectory>bin目錄下,包括所有全局默認(rèn)工程設(shè)置。QSF中的設(shè)置將替代這些設(shè)置 |
可以使用“File”菜單中的“NewProjectWizard”來創(chuàng)建工程。使用“NewProjectWizard”可以為工程指定工作目錄、分配工程名稱以及指定最高層設(shè)計實體的名稱,還可以指定工程中使用的設(shè)計文件、其他源文件、用戶庫、EDA工具以及目標(biāo)器件。
建立工程后,可以使用“Assignments”菜單的“Settings”對話框中的“Add/Remove”頁,在工程中添加和刪除設(shè)計和其他文件。在執(zhí)行QuartusIIAnalysisSynthesis期間,QuartusII軟件將按“Add/Remove”頁中顯示的順序處理文件。
如圖5.5~圖5.10所示為使用NewProjectWizard來創(chuàng)建工程的流程。
圖5.5新建工程向?qū)?圖5.6選擇工程路徑、名、頂層模塊名
圖5.7添加設(shè)計文件圖5.8選擇目標(biāo)器件(FPGA型號)
圖5.9選擇EDA綜合、仿真、時序分析工具圖5.10工程信息匯總
如果想通過QuartusII來查看和編輯MAX+PLUSII工程,還可以使用“File”菜單的“ConvertMAX+PLUSIIProject”命令,將MAX+PLUSII分配與配置文件(.acf)轉(zhuǎn)換為QuartusII工程可編輯的文件,如圖5.11所示。
圖5.11“ConvertMAX+PLUSIIProject”對話框
5.5.2添加設(shè)計文件
1.添加設(shè)計文件方式
QuartusII軟件支持如下幾種設(shè)計輸入方式。
·在BlockEditor中建立設(shè)計。
·在TextEditor中通過AHDL、VerilogHDL或VHDL設(shè)計語言建立設(shè)計。
·采用EDA設(shè)計輸入和綜合工具生成的EDIF輸入文件(.edf)或VQM文件(.vqm)建立設(shè)計。
2.支持的設(shè)計文件類型
如表5.2所示為QuartusII軟件支持的設(shè)計文件類型。
表5.2 QuartusII設(shè)計文件類型
類型 | 描述 | 擴(kuò)展名 |
原理圖設(shè)計文件 | 使用QuartusIIBlockEditor建立的原理圖設(shè)計文件 | .bdf |
EDIF輸入文件 | 使用任何標(biāo)準(zhǔn)EDIF網(wǎng)表編寫程序生成的2000版EDIF網(wǎng)表文件 | .edf .edif |
圖形設(shè)計文件 | 使用MAX+PLUSIIGraphicEditor建立的原理圖設(shè)計文件 | .gdf |
文本設(shè)計文件 | 以Altera硬件描述語言(HDL)編寫的設(shè)計文件 | .tdf |
Verilog設(shè)計文件 | 包含使用VerilogHDL定義的設(shè)計邏輯的設(shè)計文件 | .v .vlg .verilog |
VHDL設(shè)計文件 | 包含使用VHDL定義的設(shè)計邏輯的設(shè)計文件 | .vh .vhd .vhdl |
VQM設(shè)計文件 | 通過SynplicitySynplify軟件或QuartusII軟件生成的VerilogHDL格式網(wǎng)表文件 | .vqm |
如圖5.12是QuartusII軟件所支持的設(shè)備設(shè)計文件類型。
如圖5.13所示是QuartusII軟件所支持的軟件文件類型。
圖5.12“DeviceDesignFiles”對話框圖5.13“SoftwareFiles”對話框
如圖5.14所示是QuartusII軟件所支持的其他文件類型。
圖5.14其他文件類型
3.使用Blockeditor設(shè)計文件
BlockEditor用于以原理圖和流程圖的形式輸入和編輯圖形設(shè)計信息。QuartusIIBlockEditor可以讀取并編輯原理圖設(shè)計文件和MAX+PLUSII圖形設(shè)計文件。也可以在QuartusII軟件中打開圖形設(shè)計文件并將其另存為原理圖設(shè)計文件。
BlockEditor將每個流程圖、原理圖或符號代表的設(shè)計邏輯融合到工程中。這些圖形設(shè)計文件包含塊和符號,這些塊和符號代表設(shè)計中的邏輯。
可以使用原理圖設(shè)計文件的塊建立新設(shè)計文件,或在修改塊和符號時更新設(shè)計文件,也可以在原理圖設(shè)計文件的基礎(chǔ)上生成塊符號文件(.bsf)、AHDL包含文件(inc)和HDL文件。
還可以在編譯之前分析原理圖設(shè)計文件是否出錯。BlockEditor還提供有助于在原理圖設(shè)計文件中連接塊和基本單元(包括總線和節(jié)點連接以及信號名稱映射)的一組工具??梢愿腂lockEditor的顯示選項,例如根據(jù)偏好更改導(dǎo)向線和網(wǎng)格間距、橡皮帶式生成線、顏色和屏幕元素、縮放以及不同的塊屬性等。
BlockEditor具備以下的功能。
·插入塊和基本單元符號。流程圖使用稱為塊的矩形符號代表設(shè)計實體以及相應(yīng)的已分配信號,在從上到下的設(shè)計中很有用。塊是用代表相應(yīng)信號流程的管道連接起來的。可以只用流程圖進(jìn)行設(shè)計,也可以將流程圖與圖形單元相結(jié)合進(jìn)行設(shè)計。
從塊或原理圖文件建立文件。在層次化設(shè)計中,可以在使用BlockEditor中的Create/Update命令,利用原理圖文件中的塊建立其他類型的設(shè)計文件,還可以從原理圖文件本身建立這些設(shè)計文件。
4.使用TextEditor設(shè)計文件
TextEditor是一個靈活的工具,用于以AHDL、VHDL和VerilogHDL語言以及Tcl腳本語言輸入文本型設(shè)計。還可以使用TextEditor輸入、編輯和查看其他ASCII文本文件,包括為QuartusII軟件或由QuartusII軟件建立的那些文本文件。
5.使用SymbolEditor設(shè)計文件
SymbolEditor用于查看和編輯代表宏功能、宏功能模塊、基本單元或設(shè)計文件的預(yù)定義符號。每個SymbolEditor文件代表一個符號。對于每個符號文件,均可以從包含Altera宏功能模塊和LPM函數(shù)的庫中選擇。
可以自定義這些塊符號文件,然后將這些符號添加到使用BlockEditor建立的原理圖中。SymbolEditor讀取并編輯塊符號文件和MAX+PLUSII符號文件(.sym),并將它們轉(zhuǎn)存為塊符號文件。
6.使用VerilogHDL、VHDL與AHDL設(shè)計文件
可以使用TextEditor或其他文本編輯器建立文本設(shè)計文件、Verilog設(shè)計文件和VHDL設(shè)計文件,并在分級設(shè)計中將這些文件與其他類型的設(shè)計文件相結(jié)合。Verilog設(shè)計文件和VHDL設(shè)計文件可以包含由QuartusII支持的構(gòu)造的任意組合。
它們還可以包含Altera提供的邏輯函數(shù),包括基本單元和宏功能模塊以及用戶自定義的邏輯函數(shù)。在TextEditor中,使用Create/Update命令(“File”菜單)從當(dāng)前的VerilogHDL或VHDL設(shè)計文件建立塊符號文件,然后將其合并到原理圖設(shè)計文件中。
同樣,可以建立代表VerilogHDL或VHDL設(shè)計文件的AHDL包含文件,并將其合并到文本設(shè)計文件中或另一個VerilogHDL或VHDL設(shè)計文件中。
AHDL是一種完全集成到QuartusII系統(tǒng)中的高級模塊化語言。AHDL支持布爾等式、狀態(tài)機(jī)、條件邏輯和解碼邏輯。AHDL還可用于建立和使用參數(shù)化函數(shù),并完全支持LPM函數(shù)。AHDL特別適合設(shè)計復(fù)雜的組合邏輯、批處理、狀態(tài)機(jī)、真值表和參數(shù)化邏輯。
7.使用宏功能模塊設(shè)計文件
Altera宏功能模塊是復(fù)雜的高級構(gòu)建模塊,可以在QuartusII設(shè)計文件中與邏輯門和觸發(fā)器基本單元一起使用。Altera提供的參數(shù)化宏功能模塊和LPM功能均為Altera器件結(jié)構(gòu)做了優(yōu)化。
必須使用宏功能模塊才可以使用一些Altera專用器件的功能,例如,存儲器、DSP塊、LVDS驅(qū)動器、PLL以及SERDES和DDIO電路??梢允褂肕egaWizardPlug-InManager(“Tools”菜單)建立Altera宏功能模塊、LPM功能和IP功能,用于QuartusII軟件和EDA設(shè)計輸入與綜合工具中的設(shè)計。
表5.3列出了能夠由MegaWizardPlug-InManager建立的Altera提供的宏功能模塊和LPM功能類型。
表5.3 Altera提供的宏功能模塊與LPM功能表
類型 | 說明 |
算術(shù)組件 | 包括累加器、加法器、乘法器和LPM算術(shù)功能 |
邏輯門 | 包括多路復(fù)用器和LPM門功能 |
I/O組件 | 包括時鐘數(shù)據(jù)恢復(fù)(CDR)、鎖相環(huán)(PLL)、雙數(shù)據(jù)速率(DDR)、千兆收發(fā)器塊(GXB)、LVDS接收器和發(fā)送器、PLL重新配置和遠(yuǎn)程更新宏功能模塊 |
存儲器編譯器 | 包括FIFOPartitioner、RAM和ROM宏功能模塊 |
存儲組件 | 存儲器,移位寄存器宏功能模塊和LPM存儲器功能 |
評論