一、概述
本文以簡(jiǎn)單的26位分頻器工程實(shí)例為藍(lán)本,從頭至尾演示工程建立的所有細(xì)節(jié)及注意事項(xiàng),以便新手用戶快速掌握QuartusII的入門(mén)操作知識(shí)
二、聲明
本文以ALTERA QuartusII11.0版本進(jìn)行演示,雖然是針對(duì)CPLD EPM240T100開(kāi)發(fā)平臺(tái)所做的入門(mén)指導(dǎo)書(shū),但這些流程對(duì)于FPGA設(shè)計(jì)是完全通用的。另外,本文在行文時(shí)描述的QuartusII步驟操作,均使用菜單方式,事實(shí)上,大多數(shù)操作可以直接使用工具欄上的快捷按鈕,讀者可自行熟悉,執(zhí)行的結(jié)果與菜單操作都是一致的
三、基本思路
工程實(shí)例建立的基本步驟如下:
(1)工程建立:建立與您的開(kāi)發(fā)平臺(tái)相對(duì)應(yīng)的工程,比如您的開(kāi)發(fā)平臺(tái)是EPM3064,則后續(xù)的工程開(kāi)發(fā)也應(yīng)該基于該芯片進(jìn)行
(2)邏輯設(shè)計(jì):這里包括很多設(shè)計(jì)手段,如AHDL、VHDL、Verilog HDL、原理圖等等 ,由于本文講的是QuartusII設(shè)計(jì)流程,不會(huì)過(guò)多關(guān)注此步驟
(3)邏輯綜合:邏輯綜合用于宏觀上您設(shè)計(jì)的邏輯判斷是否有錯(cuò),同時(shí)分析出邏輯設(shè)計(jì)中的IO引腳,以便后續(xù)進(jìn)行IO引腳的分配
(4)引腳分配:將邏輯設(shè)計(jì)中的IO分配到實(shí)際器件中的IO引腳
(5)邏輯編譯:全編譯工程邏輯,并生成可用于下載的燒錄文件
(6)邏輯下載:將邏輯下載到實(shí)際的開(kāi)發(fā)平臺(tái)中進(jìn)行驗(yàn)證或使用
四、工程建立
下面我們來(lái)詳細(xì)描述一個(gè)實(shí)際工程是如何建立的:
(1)打開(kāi)QuartusII后,初始界面應(yīng)如下圖所示:
(2)選擇菜單【File】→【New Project Wizard…】后,即可彈出如下圖所示的新工程向?qū)?duì)話框:
設(shè)置工程目錄位于D:/demo,并將工程名命名為“demo”,同時(shí)軟件會(huì)自動(dòng)將頂層設(shè)計(jì)模塊名填充為“demo”,因?yàn)镼uartusII的工程名必須與頂層設(shè)計(jì)文件的模塊名一致,否則編譯將出錯(cuò)
(3)選擇【Next >】后,即可進(jìn)入如下圖所示的添加文件頁(yè)表。此頁(yè)表適用于源碼文件已經(jīng)準(zhǔn)備完好的情況,這樣直接添加源文件即可將其加入當(dāng)前工程。本文為了更詳細(xì)展示設(shè)計(jì)流程,重新建立源碼文件,不進(jìn)行添加操作。
(4)選擇【Next >】后,即可進(jìn)入如下圖所示的器件選擇頁(yè)表項(xiàng)。您的開(kāi)發(fā)平臺(tái)是什么芯片型號(hào),就在此頁(yè)表選擇相對(duì)應(yīng)的器件型號(hào),如果選擇的器件型號(hào)與您實(shí)際使用的芯片型號(hào)不一致,在邏輯下載步驟時(shí)將會(huì)出錯(cuò)(如果你手頭沒(méi)有開(kāi)發(fā)板,只是為了學(xué)習(xí)HDL語(yǔ)言或熟悉軟件,隨意選擇一個(gè)資源多點(diǎn)的就可以,防止因?yàn)镠DL邏輯規(guī)模太大資源不夠用而出現(xiàn)編譯錯(cuò)誤)。
由于ALTERA的器件非常多,因此QuartusII提供一些過(guò)濾選項(xiàng),以協(xié)助我們快速找到對(duì)應(yīng)的器件。本文的開(kāi)發(fā)平臺(tái)芯片型號(hào)為“EPM240T100I5N”,該芯片為MAXII系列(Family),封裝(Package)為“TQFP”,引腳數(shù)量(Pin count)為“100”,速度等級(jí)(Speed grade)為“5”,如下圖所示:(對(duì)于EPM3032/3064或FPGA也是同樣的方法,如果您按照此對(duì)話框設(shè)置后,沒(méi)有找到您需要的器件型號(hào),說(shuō)明您可能沒(méi)有安裝該芯片對(duì)應(yīng)的器件庫(kù))
對(duì)于本工程實(shí)例,設(shè)置好器件型號(hào)后,就可以直接選擇【Finish】即可進(jìn)入“第五節(jié)邏輯設(shè)計(jì)”即可,但如果您想了解其它頁(yè)表項(xiàng),可繼續(xù)往下閱讀。
(5)選擇【Next >】后即可進(jìn)入EDA工具設(shè)置頁(yè)表項(xiàng)。QuartusII支持很多第三方工具,比如綜合工具、仿真工具等等,第三工具通常在某一方面更為專業(yè),特別是仿真工具,QuartusII已經(jīng)不再提供仿真功能,只能用第三方仿真工具,如Modelsim來(lái)進(jìn)行仿真。
由于我們的實(shí)例比較簡(jiǎn)單,且僅注重開(kāi)發(fā)流程,因此我們對(duì)此步驟不做調(diào)整(后續(xù)我們將詳述)
(6)選擇【Next >】后,即可進(jìn)行進(jìn)入如下圖所示的總結(jié)(Summary)頁(yè)表,這里簡(jiǎn)要顯示了您之前所做的所有設(shè)置,如果沒(méi)有問(wèn)題的話,選擇【Finish】即可
五、邏輯設(shè)計(jì)
工程建立完成后,就可以開(kāi)始著手進(jìn)行邏輯的設(shè)計(jì)了
(1)選擇菜單【File】→【New…】即可彈出如下圖所示的新建(New)對(duì)話框,QuartusII支持很多的邏輯設(shè)計(jì)輸入方式,這里我們選擇“Verilog HDL File”,表示我們將使用Verilog HDL語(yǔ)言作為本工程的邏輯設(shè)計(jì)輸入方式。
(2)選擇【OK】后,QuartusII將默認(rèn)新建一個(gè)名為“Verilog1.v”的文件,我們將工程示例代碼拷貝進(jìn)去,此時(shí)應(yīng)如下圖所示:
注意:這個(gè)源代碼的模塊名demo是與左邊Project Navigator中工程名是一致的,而且是必須的
(2)選擇菜單【File】→【Save】后,將文件保存在工程目錄,并將其命名為“demo.v”即可,如下圖所示:
注意:文件名不一定必須是“demo.v”,QuartusII只要求模塊名與工程名相同,不要求與文件名相同
完成后此時(shí)應(yīng)如下圖所示:
六、邏輯綜合
邏輯設(shè)計(jì)完畢后,可以初步對(duì)邏輯進(jìn)行綜合,以判斷是否有諸如語(yǔ)法錯(cuò)誤、邏輯錯(cuò)誤等異常,并可初步對(duì)IO引腳進(jìn)行分析
(1)選擇菜單【Processing】→【Start】→【Start Analysis & Synthesis】后,即可開(kāi)始進(jìn)行邏輯設(shè)計(jì)的綜合過(guò)程,完成后應(yīng)如下圖所示:
(2)菜單選擇【Tools】→【Netlist Viewers】→【RTL Viewer】后即可出現(xiàn)RTL(寄存器傳輸級(jí))圖,通常,對(duì)于簡(jiǎn)單的邏輯錯(cuò)誤,使用RTL可以看出來(lái)。本文要實(shí)現(xiàn)的是26位分頻器,下圖表示,每到來(lái)一個(gè)時(shí)鐘,即使用Add0加法器將當(dāng)前tmp寄存器中的值累加1,再通過(guò)一個(gè)clk_out~reg0將最高位輸出,這正好應(yīng)證了我們的設(shè)計(jì)思路。
七、引腳分配
邏輯綜合如果順利的話,設(shè)計(jì)中的輸入輸出引腳信息已經(jīng)被分析出來(lái),我們要做的就是將邏輯中的引腳分配到實(shí)際器件的引腳
(1)選擇菜單【Assignments】→【Pin Planner】后,即可打開(kāi)PinPlanner對(duì)話框。我們根據(jù)EPM240T100開(kāi)發(fā)板規(guī)格書(shū)中的引腳說(shuō)明(對(duì)于任何一塊開(kāi)發(fā)板,都必將有一個(gè)開(kāi)發(fā)板的原理圖或接口引腳號(hào)的說(shuō)明書(shū),用來(lái)描述開(kāi)發(fā)板上主芯片與外圍的連接關(guān)系),將其引腳如下圖所示分配即可:
八、邏輯編譯
引腳分配完成后,就可以對(duì)工程進(jìn)行全編譯,這包括邏輯綜合、適配、時(shí)序分析等步驟,本文暫不關(guān)注這些細(xì)節(jié)
(1)選擇菜單【Processing】→【Start Compilation】后,即可開(kāi)始全編譯過(guò)程,如果順利的話,:
在總結(jié)中顯示了當(dāng)前工程編譯后所占用的資源情況,本工程使用51個(gè)宏單元,占用總設(shè)計(jì)資源的21%,使用了2個(gè)引腳(即clk與clk_out),占用總引腳的3%
九、邏輯下載
邏輯全編譯后即可生成下載文件,對(duì)于CPLD開(kāi)發(fā)平臺(tái),通常是.pof文件,對(duì)于FPGA開(kāi)發(fā)平臺(tái),還可以是.sof、.jic等文件
(1)選擇菜單【Tools】 → 【Programmer】后,在彈出的對(duì)話框中勾選“Program/Configure”,表示我們將要進(jìn)行燒錄操作,
如果您沒(méi)有插上下載器或下載器有異常,上圖中USB-Blaster[USB-0]處將會(huì)顯示“NoHardware”,這時(shí)您應(yīng)該看看驅(qū)動(dòng)是否安裝,或下載器是否正常,如果確定都正常,可以點(diǎn)擊左側(cè)的Hardware Setup…按鈕,彈出的對(duì)話框中列表中將有Usb blaster項(xiàng),點(diǎn)擊即可。
(2)將開(kāi)發(fā)平臺(tái)按規(guī)格書(shū)所述供好電源,再正確插上USB-Blaster JTAG口,點(diǎn)擊【Start】按鈕即可開(kāi)始進(jìn)行文件燒錄過(guò)程
責(zé)任編輯:xj
原文標(biāo)題:最詳細(xì)FPGA/CPLD開(kāi)發(fā)流程快速入門(mén)指南-基于Altera QuartusII
文章出處:【微信公眾號(hào):FPGA設(shè)計(jì)論壇】歡迎添加關(guān)注!文章轉(zhuǎn)載請(qǐng)注明出處。
-
FPGA
+關(guān)注
關(guān)注
1625文章
21619瀏覽量
601151 -
cpld
+關(guān)注
關(guān)注
32文章
1246瀏覽量
169143
原文標(biāo)題:最詳細(xì)FPGA/CPLD開(kāi)發(fā)流程快速入門(mén)指南-基于Altera QuartusII
文章出處:【微信號(hào):gh_9d70b445f494,微信公眾號(hào):FPGA設(shè)計(jì)論壇】歡迎添加關(guān)注!文章轉(zhuǎn)載請(qǐng)注明出處。
發(fā)布評(píng)論請(qǐng)先 登錄
相關(guān)推薦
評(píng)論