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