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