1.4QUARTUS開發(fā)工具-明德揚至簡設計法原理與應用
這是本文的文檔編號:001500000031
需要看對應的視頻,請點擊視頻編號:001200000073
1、本章主要介紹FPGA的兩大制造商——Xinlinx和Altera,基于每個廠商生產的FPGA芯片都要在對應的開發(fā)工具上才能進行設計,其中Xilinx芯片的開發(fā)工具包括vivado,Altera的開發(fā)工具是Quartus。
2、本章通過一個上板例程來介紹quartus prime軟件的使用方法。
3、這是ALTERA文檔
第一階段設 計基礎
第四章?QUARTUS開發(fā)工具
1?軟件介紹
Quartus prime?是Altera公司的綜合性PLD/FPGA開發(fā)軟件,原理圖、VHDL、VerilogHDL以及AHDL(Altera Hardware?支持Description Language)等多種設計輸入形式,內嵌自有的綜合器以及仿真器,可以完成從設計輸入到硬件配置的完整PLD設計流程。
Altera Quartus prime?作為一種可編程邏輯的設計環(huán)境,?由于其強大的設計能力和直觀易用的接口,越來越受到數字系統(tǒng)設計者的歡迎。當前官方提供下載的最新版本是v17.0。
Altera Quartus prime?(15.1和更高版本)設計軟件是業(yè)界唯一提供FPGA和固定功能HardCopy器件統(tǒng)一設計流程的設計工具。工程師使用同樣的低價位工具對?Stratix FPGA進行功能驗證和原型設計,又可以設計HardCopy Stratix器件用于批量成品。系統(tǒng)設計者現在能夠用Quartus prime軟件評估HardCopy Stratix器件的性能和功耗,相應地進行最大吞吐量設計。
Altera的Quartus prime可編程邏輯軟件屬于第四代PLD開發(fā)平臺。該平臺支持一個工作組環(huán)境下的設計要求,其中包括支持基于Internet的協作設計。Quartus平臺與Cadence、ExemplarLogic、?MentorGraphics、Synopsys和Synplicity等EDA供應商的開發(fā)工具相兼容。改進了軟件的LogicLock模塊設計功能,增添了FastFit編譯選項,推進了網絡編輯性能,而且提升了調試能力。
2?第一個上板例程軟件:
Quartus prime?15.1
本教材及案例,均使用Quartus?prime?15.1。其他版本的軟件,在界面上略有不同,為了避免未知的錯誤,強烈推薦使用此版本。
本章介紹Quartusprime軟件的基本特征,展示如何使用Verilog硬件描述語言來設計和實現電路。使用GUI來實現Quartus?prime指令。通過本份章,讀者將學習到:

2.1?開始
在Quartus prime中設計的每個邏輯電路或子電路,叫做一個工程。軟件每次運行一個工程,并將所有信息保存在單一文件夾中。欲開始一個新的邏輯電路設計,第一步就是新建一個文件夾來保存文件。為了保存本指南的設計文件,在D盤新建introtutorial文件夾。指南者運行的范例為一個簡單的雙路燈控電路。
打開Quartus prime軟件,將看到類似于圖2的畫面。該顯示畫面包括若干窗口,用戶可使用鼠標選擇,以訪問Quartus?prime軟件的相關功能。Quartus prime提供的大多數命令都可用菜單形式來訪問。例如,在圖2中,在File標簽下點擊左鍵,可打開如圖3所示的菜單。用左鍵單擊Exit可退出?Quartus?prime軟件。

圖?49
圖2 Quartus prime主體顯示

圖?50
圖3 File菜單一例
對于有些命令,需要連續(xù)訪問兩個或以上的菜單才可以使用。
2.2?新建工程
按如下步驟新建工程:
1.?選擇File>New Project Wizard,以打開圖4所示窗口,可通過Don't show me this introduction again跳過此窗口步驟。單擊Next,出現圖51所示窗口。

圖?51
圖4?引導的任務顯示

圖?52
圖5?創(chuàng)建新的工程
2.?選擇工作文件夾introtutorial,也可以使用您自己設定的文件夾。工程必須有一個名字,通常情況下,與頂層設計實體的名字相同。如圖5所示,選擇light作為工程名和頂層實體名。單擊Next。因為還沒有創(chuàng)建introtutorial文件夾,Quartus?prime彈出一個對話框,詢問是否新建所需文件夾,如圖6所示。單擊Yes,將會引出圖7所示的窗口。

圖?53
圖6?創(chuàng)建新的工程文件夾與否?

圖?54
圖7 工程類型

圖?55
圖8?添加用戶指定設計文件
3.?如果沒有已存在的設計文件,單擊Next,將會打開如圖8所示的畫面。

圖?56
圖8?選擇器件家族和指定的器件
4.?教學板采用的器件為Cyclone?ⅣE?EP4CE15F23C8。此處選擇Cyclone ⅣE器件家族。單擊Next,出現圖9所示畫面。

圖?57
圖9?指定第三方EDA工具
5.?用戶可指定一些第三方EDA工具。默認不改變。單擊Next,出現圖10所示窗口。
6.?設置一覽如圖10所示。單擊Finish,返回Quartus?prime主體窗口。標題欄將顯示light工程,如圖11所示。

圖?58
圖10?工程設置一覽

圖?59
圖11 Quartus prime顯示已建工程
2.3?使用Verilog代碼設計輸入
作為一個設計范例,我們將采用雙路的燈控電路,如圖?60所示。此燈可由兩個按鍵中的任一按鍵來控制,x1和x2,按鍵按下的為0。真值表也同時在圖中給出。注意輸入x1和x2是異或的關系,但是我們仍然用門來顯示。

圖 60
圖12?燈控電路
所需電路,如圖13所示,使用Verilog代碼來描述。注意,Verilog模塊叫做 light,這個圖5所示的名稱是一致的。此代碼的編輯可以使用任何可存儲ASCprime碼的文本編輯器,或者使用Quartus prime自帶的編輯器。當然,文件的名稱可以任意?。欢晚攲覸erilog模塊的名稱一致,是一個設計慣例。文件名稱必須帶.v擴展名,用以指示此文件為 Verilog文件。所有,我們使用light.v這個名稱。

圖?61
圖13?圖12所示電路的Verilog代碼
2.3.1?使用Quartus?prime文本編輯器
本節(jié)將展示如何使用Quartus prime文本編輯器。如果你喜歡使用其他文本編輯器來創(chuàng)建Verilog源文件,可以逃過此節(jié)。選擇File>New打開圖14所示窗口,選擇?Verilog HDL File,并單擊OK。這將打開文本編輯器窗口。第一步是指定所創(chuàng)建的文件的名稱。選擇File>Save As,打開圖15所示的對話框。選擇存儲類型為Verilog HDL File,填寫名稱為light.v。單擊Save,打開圖16所示窗口。輸入圖13所示的代碼。使用Ctrl+s保存該文件。

圖?62
圖14?選擇新建的文件類型

圖?63
圖15?命名文件

圖?64
圖16?文本編輯器窗口
2.3.2?使用Verilog模板
對于設計者來說,Verilog的語法有時很難被記住。為了解決問題,文本編輯器提供了Verilog模板集。這些模板提供了不同類型的Verilog表達的范例,譬如module聲明、always塊和設置語句的陳述??梢酝ㄟ^Edit>Insert Template>Verilog HDL來瀏覽這些模板,以熟悉這些資源,這是相當值得的。
2.3.3?添加設計文件到工程中
正如圖7所討論的那樣,我們可以告訴Quartus?prime軟件,哪些文件是當前工程的一部分。要查看當前的light工程中已包含的文件列表,選擇?Assignment>Setting>File,這將打開圖17所示畫面。另外一個可用的方法是選擇標簽?Project>Add/Remove Files in Project。
使用Quartus prime文本編輯器創(chuàng)建文件時,勾上Add file to current project選項,所創(chuàng)建文件即自動加入到工程文件列表。如果使用的不是Quartus?prime自帶的文本編輯器,那么圖17,列表中就沒有所創(chuàng)建的文件,此時必須手動添加文件到工程文件列表中。欲添加文件到工程文件列表中,單擊圖17中的?File Name:的按鈕,彈出圖18所示對話框,選擇light.v,單擊Open。再次查看圖17畫面,此時所添加的文件就已經在文件列表了。需要注意的是,在大多數案例中,Quartus?prime軟件可根據各個實體自動找到正確的文件,即使某些文件沒有被認真地添加到工程中。
然而,對于包含許多文件的復雜工程,按照上述方法,添加指定所需文件到工程中,是一個很好的設計慣例。

圖?65
圖17?設置窗口

圖?66
圖18?選擇文件
2.4?編譯設計電路
在light.v中Verilog代碼,要經過幾個Quartus?prime工具的處理:分析代碼、綜合電路以及生成目標芯片的實現內容。這些應用程序被聚集在一起,且被稱作編譯器。
選擇Processing>Start Compilation運行編譯器,或者單擊

按鈕運行。在編譯過程中,Quartus prime的左邊會顯示不同階段的進度。全部100%即表示編譯成功。
當編譯成功后,可以通過

按鈕手動打開編譯報告。

圖?67
圖19?編譯報告
在此窗口的左面,列出了許多信息的列表。如圖19所示,本工程使用了1個LE和3個引腳。
2.4.1?錯誤
在編譯期間,Quartus prime在消息窗口,會顯示生成的消息。如果此Verilog設計正確,其中一條消息就會顯示編譯成功及無錯誤。
如果編譯不是零錯誤,那么在Verilog代碼中,至少有一個錯誤。在這種情況下,與錯誤對應的消息就會在消息窗口顯示。雙擊某條錯誤信息,該信息將會滾動顯示完整;并且打開Quartus?prime自帶文本編譯器,Verilog代碼中的某行將被高亮顯示。類似的,編譯器也會顯示許多警告消息。同樣的方法也適用于查看完整的警告消息。針對于某條錯誤或警告消息,想得到更多信息,可選住此條消息,然后按住F1功能鍵,即可查看。
我們將light.v的最后一行改成endmodules,重新編譯。Quartus?prime彈出對話框,報告編譯錯誤;單擊OK,以確認。編譯報告如圖20所示。在消息窗口,單擊Error標簽,顯示圖21所示消息。雙擊第一條錯誤信息,Quartus?prime文本編輯器打開light.v,最后一行被高亮,如圖22所示。修正代碼,重新編譯,直至成功為止。

圖?68
圖20?編譯報告

圖?69
圖21?錯誤信息

圖?70
圖22?指示錯誤代碼的位置
2.5?引腳分配
我們使用LED6(連接的信號線為LED1_NET)代表f,sw0和sw1分別代表x1和x2,所需引腳如圖23所示。選擇Assignments>Pin Planner(或單擊
按鈕),打開圖26所示窗口,在下方Location下面輸入要配置的管腳。

? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?圖?71

圖?72
圖23?所需引腳

圖?73
圖24引腳分配
2.6?編程及配置FPGA器件
2.6.1?安裝下載電纜驅動
USB-Blaster用戶,請參考http://www.altera.com.cn/literature/ug/ug_usb_blstr.pdf
ByteBlaster prime用戶,請參考http://www.altera.com.cn/literature/ug/ug_bbprime.pdf
EthernetBlaster用戶,請參考http://www.altera.com.cn/literature/ug/ug_ebcc.pdf
2.6.2?JTAG編程
將USB-Blaster與FPGA開發(fā)板連接在一起,打開FPGA開發(fā)板電源,回到Quartus?prime主題窗口。選擇Tools>Progrmmer或單擊
按鈕,打開圖35所示窗口。選擇Mode為JTAG。缺省情況下,USB-Blaster沒有被選中,單擊Hardware Setup按鈕,在彈出的窗口選擇USB-Blaster,如圖36所示,單擊Close退出。

? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ??圖?74
圖36?編程器窗口

圖?75
圖37?硬件設置窗口
如圖37所示,light.sof已被列入窗口。如果沒有列入的話,單擊Add File,選擇light.sof文件加入。這是一個由編譯器的匯編模塊生成的二進制文件,它包含配置FPGA器件的數據。.sof文件后綴,表示 SRAM目標文件(SRAM Object File)。同時可以注意到,選中的器件為EP4CE15F23。勾上Program/Configure,單擊 Start開始下載。

? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?圖?76
圖38?下載SRAM目標文件
2.7?測試設計電路
下載完畢后,就可以測試實現的電路了。使用sw0和sw1]輸入所有可能值,觀察LED亮滅是否和預期一致。
如果與預期不致,那么就需要去定位問題,此時將使用到SINGNALTAP工具,請看下一章內容。