最詳細FPGA/CPLD開發流程快速入門指南-基於Altera QuartusII(1)

2021-01-12 電子製作站

一、概述

本文以簡單的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】按鈕即可開始進行文件燒錄過程,燒錄順利後應如下圖所示:

相關焦點

  • 【從零開始走進FPGA】創造平臺——Quartus II 11.0 套件安裝指南
    自從Bingo 2009年開始接觸FPGA,Quartus II 版本的軟體從n年前的5.1版本到今天的最新發布的11.0,都使用過;當然對於軟體核心構架而言,萬變不離其宗。雖然多多少少有點bug,但這10多個版本發展到了現在,能看到Altera一直在努力,致力於更完美的用戶界面,更快的綜合速度的軟體開發。
  • fpga/cpld - fpga_電子產品世界
    快速的系統開發開始新的硬體設計之前,工程師經常會在自己的測試臺上評估最重要的晶片。一旦獲得了運行典型評估板所需的設備,組件評估通常會在理想情況的電源和信號源下進行。,近日宣布,面向 5G 網絡中的 O-RAN 分布式單元( O-DU )和虛擬基帶單元( vBBU )推出 T1 電信加速器卡。該加速卡採用經現場驗證的賽靈思晶片以及正在 5G 網絡中廣泛部署的 IP 開發而成,是行業唯一一款既能運行 O-RAN 前傳協議,又能提供 L1 卸載功能的多功能 PCIe 尺寸規格的「二合一」板卡。
  • Altera Quartus II軟體8.0開創高端FPGA的性能和效能最高水平
    和最相近的競爭軟體相比,這一版本的Quartus II軟體在高端FPGA上平均快出兩個速率等級,編譯時間縮短了3倍。8.0版增加了新的效能特性,支持業界最先進的FPGA,進一步印證了Altera幫助FPGA設計人員獲得最佳性能和效能的承諾(請參考相關的發布「Altera發布業界的首款40-nm  FPGA和HardCopy ASIC)。
  • Altera發布最新版Quartus II開發軟體
    業界最快的FPGA編譯時間本文引用地址:http://www.eepw.com.cn/article/133491.htm  Quartus II軟體12.0保持業界最快的編譯時間,使得用戶能夠將設計團隊資源集中在設計創新上,同時提高了設計人員的效能。
  • FPGA開發板快速教程(一)
    作為一個簡明的教程,主要宗旨是讓初學者快速地了解FPGA/SOPC(可編程片上系統)開發的流程。目前IT技術的發展可以說是一日千裡,以本人的觀點來講,如果希望在電子設計領域有所作為,則必須具備快速掌握新技術的能力。電子設計最重要的是實踐的積累,我們只要具備了一定的基礎,應當馬上投入實踐,否則很多概念都無法真正理解。
  • 《ANSYS ACT寶典》帶你快速上手仿真嚮導開發全流程
    因為仿真流程通常非常複雜,因此仿真使用往往會僅限於少數專家用戶,從而會降低工作流程的整體效率。通過ACT嚮導開發,就可以利用成熟的仿真流程以及最佳實踐,將特定的仿真流程壓縮為簡化、易於遵循的仿真步驟;這樣即使是非專業用戶可以使用嚮導逐步完成複雜的模擬,來快速生成所需的結果,提升整個企業的研發實力。今天我們文章內容會主要介紹ACT仿真嚮導的開發技術,另外兩種模式後續文章再做介紹。
  • Altera發布Quartus Prime Pro設計軟體,加速大容量FPGA設計
    內置在最新版軟體中的功能前所未有的縮短了編譯時間,提供通用設計輸入方法,簡化了智慧財產權(IP)的集成,從而加速了大規模FPGA設計流程。  關於Quartus Prime Pro設計軟體16.0版特性的詳細信息,請訪問www.altera.com.cn/whatsnew。  使用Altera豐富的IP系列產品  Quartus Prime設計軟體支持用戶使用豐富的智慧財產權(IP)內核。這些IP內核與大量的IP實用增強功能相結合,簡化了IP評估、IP選擇以及硬體驗證,幫助設計人員提高了效能。
  • 基於FPGA的RCN226絕對式編碼器通信接口設計
    為了減小體積,絕對式編碼器一般採用串行通信方式輸出絕對編碼,針對伺服電機控制等高端場合,為了滿足快速的電流環、速度環、位置環的控制需要,編碼輸出的速度又應該非常快,這些不利因素都對絕對式編碼的接收增加了難度。 絕對式編碼器廠家大多為其編碼器配套了接收晶片,實現串行編碼到並行編碼的轉換,便於控制器的讀取操作。
  • 基於FPGA的無損圖像壓縮系統設計
    編者按:  摘要:本文簡要介紹了圖像壓縮的重要性和常用的無損圖像壓縮算法,分析了快速高效無損圖像壓縮算法(FELICS)的優勢,隨後詳細分析了該算法的編碼步驟和硬體實現方案,最後公布了基於該方案的FPGA性能指標。
  • 基於DSP和FPGA的機器人聲控系統設計與實現
    本文引用地址:http://www.eepw.com.cn/article/21345.htm 本次設計採用了性價比較高的數位訊號處理晶片tms320vc5509作為語音識別處理器,具有較快的處理速度,使機器人在脫機狀態下,獨立完成複雜的語音信號處理和動作指令控制,fpga系統的開發降低了時序控制電路和邏輯電路在pcb板所佔的面積[1],使機器人的"大腦"的語音處理部分微型化、低功耗。
  • 基於fpga二維小波變換核的實時可重構電路
    項目背景及可行性分析本文引用地址:http://www.eepw.com.cn/article/266432.htm  2.1 項目名稱及摘要:  基於fpga二維小波變換核的實時可重構電路  現場可編程門陣列為可進化設計提供了一個理想的模板
  • 基於FPGA高精度浮點運算器的FFT設計與仿真
    摘要 基於IEEE浮點表示格式及FFT算法,提出一種基2FFT的FPGA方法,完成了基於FPGA高精度浮點運算器的FFT的設計。利用VHDL語言描述了蝶形運算過程及地址產生單元,其仿真波形基本能正確的表示輸出結果。
  • Altera新版Quartus Prime設計軟體延續了設計性能和效能的領先優勢
    新的Quartus Prime設計軟體經過優化,減少了設計迭代,其編譯時間是業界最快的,提高了矽片性能,從而增強了FPGA和SoC FPGA設計過程。本文引用地址:http://www.eepw.com.cn/article/282460.htm  Altera軟體和IP營銷資深總監Alex Grbic說:「我們的軟體工具性能和效能在業界都是最好的,廣受讚譽。
  • 基於FPGA的實時中值濾波器硬體實現
    在許多實際應用場合,如高清視頻監控、X光圖像的降噪等,需要快速且實時地進行中值濾波,軟體實現達不到實時處理的要求,因此選用硬體實現。 在硬體實現上,文獻[1]、[2]等採用行延遲的方法形成鄰域數據,以實現3×3的中值濾波。文獻[7]為了提高紅外成像跟蹤器設計了大窗口的中值濾波器。
  • FPGA開發外設子板模塊電路設計詳解
    FPGA的開發相對於傳統PC、單片機的開發有很大不同。FPGA以並行運算為主,以硬體描述語言來實現;相比於PC或單片機(無論是馮諾依曼結構還是哈佛結構)的順序操作有很大區別,也造成了FPGA開發入門較難。目前國內有專業的FPGA外協開發廠家,開發展基本電路如下:蜂鳴器電路如圖3.47所示。FM信號由FPGA的I/O口控制。
  • 高雲半導體FPGA系列面世 為國產FPGA注入活力
    本文引用地址:http://www.eepw.com.cn/article/264914.htm  三大系列產品詳細情況如下:  1.擁有完全自主智慧財產權的現場可編程門陣列(FPGA)朝雲™產品系列  朝雲™產品系列在目前FPGA市場上處於中密度範圍,邏輯單元從18K LUT到100K LUT。
  • 基於FPGA的結構光圖像中心線提取
    有鑑於此,線結構光條中心信息的圖像處理在測量過程中就顯得十分關鍵[1-3]。雖然目前結構光中心線的提取方法有許多種,比如:閾值法、極值法、灰度重心法、方向模板法、Hessian矩陣法等[4-6],這些方法都有各自的優缺點以及一定的應用範圍。基於數字圖像處理的特點是處理的數據量非常大,處理非常耗時。
  • Altera發布Quartus® II軟體v14.1,擴展支持Arria® 10 FPGA和...
    Altera發布Quartus® II軟體v14.1,擴展支持Arria® 10 FPGA和SoC
  • 一種基於FPGA的實時紅外圖像預處理方法
    針對這一問題,提出一種基於FPGA的實時紅外圖像預處理方法。該方法採用了流水線技術來並行完成非均勻校正、空間濾波、直方圖統計等多個紅外圖像預處理算法,對系統結構進行了改進和優化。經過實驗測試驗證,該方法合理可行,能夠實時高效地完成紅外圖像預處理任務。與DSP圖像預處理系統相比可以節約將近50%的處理時間。
  • 賽靈思推出Spartan-6 FPGA系列
    先進功率管理技術方面的創新以及可選的1.0v低功耗內核使得Spartan-6 FPGA能夠比前一代Spartan系列功耗降低多達65%。 快速靈活的I/O支持超過12Gbps的存儲器訪問帶寬,兼容3.3v電壓並且採用了更為綠色的RoHS兼容無鉛封裝。