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