FPGA設計開發軟體Quartus II的使用技巧之: 典型實例-SignalTap II...

2021-01-12 電子產品世界
5.10.1實例的內容及目標1.實例的主要內容

本節旨在通過給定的工程實例——「正弦波發生器」來熟悉AlteraQuartusII高級調試功能SignalTapII和IntentMemoryContentEditor的使用方法。同時使用基於AlteraFPGA的開發板將該實例進行下載驗證,完成工程設計的硬體實現。在本節中,將主要講解下面知識點。

·QuartusII原理圖輸入方式。

·QuartusII約束設計。

·QuartusII工程編譯。

·QuartusII硬體下載。

·SignalTapII在線調試。

·IntentMemoryContentEditor在線修改片上ROM數據。

通過這些知識點,按照實例的流程,讀者可以迅速地掌握使用QuartusII軟體高級調試技巧。

2.實例目標

通過詳細的流程講解,讀者應達到下面的目標。

·熟悉QuartusII原理圖設計方法。

·熟悉SignalTapII在線調試方法。

·熟悉IntentMemoryContentEditor在線修改片上ROM數據的方法。

5.10.2實例詳解

本實例將使用圖解的方式將整個流程一步一步展現給讀者,使讀者能夠輕鬆掌握開發的流程。

5.10.2.1工程系統框圖

本實例使用QuartusII自帶的宏模塊(MegaWizardPlug-inManager)來設計邏輯功能,並使用嵌入式硬體邏輯分析儀觀察結果。

正弦函數發生器的原理比較簡單,硬體實現也比較簡單:首先設計一個ROM用來存放正弦函數的幅度數據;用一個計數器來指定ROM地址(也就是相位)的增加,輸出相應的幅度值。這樣在連續的時間內顯示的就是一個完整的正弦波形。

系統的電路圖如圖5.40所示。

圖5.40系統電路圖

div模塊是分頻模塊,可以用前面設計過的分頻器的程序生成模塊(symbol),也可以使用Altera的計數器宏模塊來生成分頻器。

5.10.2.2添加分頻器模塊1.將分頻文件添加到工程

將分頻器模塊div.v加入到工程中,在工程中打開分頻器模塊div.v(分頻器程序由讀者完成),如圖5.41所示。

2.產生.bsf文件

選擇「File」/「Create/Update」/「CreateSymbolFilesforCurrentFile」選項。軟體會自動分析div.v程序的語法錯誤,如圖5.42所示。

圖5.41分頻器VerilogHDL文件

圖5.42生成模塊菜單

3.修改程序語法錯誤

如果出錯則修改錯誤,直到沒有錯誤為止。此時軟體會自動生成div.bsf文件,此文件為原理圖中的模塊圖形。

4.在原理圖中加入分頻器模塊div.bsf

在原理圖文件中單擊「」按鈕,就可以加入剛剛建立的模塊,如圖5.43所示。

圖5.43在原理圖中添加分頻器模塊

5.10.2.3添加QuartusII系統自帶宏模塊

ROM和計數器都可以通過QuartusII自帶的宏模塊生成。

1.建立ROM初始化文件

在菜單中選擇新建文件,在「OtherFiles」中選擇「MemoryInitializationFile」選項,如圖5.44所示。

填入如圖5.45所示的正弦波幅度數據。當然也可以用MATLAB、C++或Excel的函數生成數據。保存文件,命名sin.mif。

圖5.44新建ROM初始化文件圖5.45輸入正弦波幅度數據

2.添加自帶宏模塊

在「Tools」菜單中選擇「MegaWizardPlug-PnManager」選項,出現如圖5.46所示的對話框,選擇新建宏模塊單擊「Next」按鈕。

圖5.46引用自帶宏對話框

圖5.47左側是QuartusII自帶的免費的宏模型,可以看到Quartus提供了很多免費的IP核。

其中ROM在storage目錄中,計數器counter在arithmetic目錄中。

3.添加ROM

在storage中選擇ROM,並在右側的選項欄中選擇Cyclone系列晶片,outputfile類型選擇VerilogHDL,並在下方選擇ROM文件的生成地址及名稱,如圖5.48所示。

圖5.47選擇系統自帶宏模塊

圖5.48選擇ROM宏模塊

單擊「Next」按鈕,設定ROM基本參數,包括ROM的位寬q、地址位寬(存儲深度)和時鐘。一般ROM的時鐘選為單時鐘控制Singleclock,如圖5.49所示。

單擊「Next」按鈕,設定ROM其他參數,設定輸出寄存器、時鐘使能端和異步清零。如果選中「qoutputport」,則會在輸出端加一級寄存器,如圖5.50所示。

單擊「Next」按鈕,接下來在對話框中填入ROM初始化文件,並選中「allowin-systemmemory」選項,並選擇名稱為「NONE」,如圖5.51所示。

圖5.49rom宏模塊基本參數設置

圖5.50設置ROM宏模塊其他參數

圖5.51設置ROM宏模塊初始化文件

單擊「Next」按鈕,完成設置,嚮導生成的文件如圖5.52所示。

圖5.52設置ROM宏模塊完成

4.添加計數器

引入計數器作為ROM的地址,當計數器地址遞增時,相應的ROM的地址遞增(正弦波的相位增加)。同樣的在「MegaWizardPlug-InManager」中選擇arithmetic數學庫中的「LPMCOUNTER」宏模塊,添加計數器,如圖5.53所示。

圖5.53新建計數器模塊參數

本實例中用的ROM寬度為8,深度為64,也就是數據寬度是8位,可以存64個數據。ROM有64個地址,因此計數器的位寬要定義為6位,如圖5.54所示。

圖5.54設置計數器宏模塊參數

一直單擊「Next」按鈕,使用系統默認設置,直到生成如圖5.55所示的文件輸出。

圖5.55完成計數器宏模塊設置

5.10.2.4添加埠

要添加輸入輸出埠,選擇按鈕,打開如圖5.56所示的對話框,然後選擇需要增加的埠形式。

圖5.56加入輸入輸出埠

添加後雙擊埠,給埠命名,總線型埠要命名name[N..0]的格式,如圖5.57所示。

圖5.57完成工程原理圖輸入

5.10.2.5編譯工程

按照2.5節進行語法分析,指定FPGA設備,指定管腳,整體編譯程序。在本實例中只需要對主時鐘管腳進行分配,即pin_153。

5.10.2.6使用SignalTapII觀察波形1.建立SignalTapII文件

在菜單中選擇「Tools」/「SignalTapIILogicAnalyzer」選項,打開如圖5.58所示界面。

圖5.58新建SignalTapII文件

作如圖5.59所示的設置。

圖5.59SignalTapII文件設置

SignalTapII基本設置需注意以下問題。

(1)分頻時鐘作為採樣信號,不要放到被觀察的信號中。

(2)採樣信號不宜用作主時鐘,可以用作分頻後的時鐘,採樣條件可用Centertriggerposition。

下載程序,就可以看仿真的波形了。

2.設置SignalTapII高級觸發條件

在如圖5-58所示的添加觀察信號區域窗口中,將TriggerLevels選項改為Advanced,將Basic改為Advanced,則會彈出高級觸發設置頁面,如圖5.60和圖5.61所示。

圖5.60打開SignalTapII文件高級觸發設置

圖5.61SignalTapII文件高級觸發設置

本例中設置為當地址信號address=0時開始觸發。從「nodelist」中拖入address信號,在「ObjectLibrary」/「ComparisonOperator」中加入equality,最後加入「InputObjects」/「BusValue」。得到如圖5.62所示的觸發條件。

圖5.62SignalTapII高級觸發設置結果

3.運行SignalTapII並觀察波形

首先整體編譯工程,在菜單欄中單擊按鈕,開始編譯。之後使用JTAG模式將程序下載到FPGA中運行。打開SignalTapII文件,選擇如圖5.63所示的下載電纜。

在InstanceManager中單擊按鈕進行一次觸發,將會得到如圖5.64所示的波形。

圖5.64觀察採樣數據數字顯示波形

因為開發板硬體沒有AD/DA功能,要想看模擬信號的輸出也可以用邏輯分析儀來完成。在信號名(比如q信號)上單擊右鍵,選擇「BusDisplayFormat」/「UnsignedLineChart」選項,如圖5.65所示。

圖5.65觀察採樣數據模擬顯示波形 圖5.66觀察採樣數據模擬顯示波形結果圖

此時,就可以顯示如圖5.66所示的模擬波形了。

5.10.2.7使用在線ROM編輯器

嵌入式存儲數據編輯器是通過JTAG下載電纜來觀看FPGA中ROM加載的數據的,不僅能觀看,還能在線修改數據,無需重新編譯與下載。

1.打開ROM編輯器

選擇「Tools」/「InsystemMemoryContentEditor」選項,打開如圖5.67所示的rom編輯器。

圖5.67打開在線ROM編輯器窗口

2.選擇下載電纜

使用列印口LPT1下載電纜,如圖5.68所示。

圖5.68設置下載電纜

3.選擇ROM標號

點擊設置ROM參數時指定的none的文件,將出現FPGA運行之中的ROM的數據,如圖5.69所示。

圖5.69選擇ROM標號

4.讀取ROM數據

右鍵單擊「NONE」,選擇「ReadDatafromSystemMemory」選項,就可以得到ROM中的數據了,如圖5.70所示。

圖5.70讀取ROM數據

5.修改ROM數據

通過編輯器,可以修改ROM中的數據。例如可以把數據中的幾個數改成0,然後單擊「write」,再回到邏輯分析儀中觀察波形,就可以發現其中的變化,如圖5.71所示。

圖5.71修改後ROM數據顯示

5.10.3小結

上述訓練流程就是一個完整的QuartusII硬體調試流程。雖然此訓練實現的功能比較簡單,但對於初學者來說,是一個不錯的入門訓練。其主要目的是讓初學者對的設計有一個初步的了解。通過該訓練來熟悉QuartusII的高級調試技巧,為今後的學習打下基礎。

相關焦點

  • FPGA設計開發軟體Quartus II的使用技巧之: 典型實例-LogicLock...
    本文引用地址:http://www.eepw.com.cn/article/201706/348821.htm5.11.1實例的內容及目標1.實例的主要內容本節旨在通過Quartus軟體自帶的工程實例——「lockmult」來熟悉AlteraQuartusII邏輯鎖定功能LogicLock的使用方法。在本節中,將主要講解下面知識點。
  • 【從零開始走進FPGA】創造平臺——Quartus II 11.0 套件安裝指南
    自從Bingo 2009年開始接觸FPGA,Quartus II 版本的軟體從n年前的5.1版本到今天的最新發布的11.0,都使用過;當然對於軟體核心構架而言,萬變不離其宗。雖然多多少少有點bug,但這10多個版本發展到了現在,能看到Altera一直在努力,致力於更完美的用戶界面,更快的綜合速度的軟體開發。
  • FPGA設計開發軟體Quartus II的使用技巧之:Quartus II軟體基礎介紹
    QuartusII設計軟體是Altera提供的完整的多平臺設計環境,能夠直接滿足特定設計需要,為可編程晶片系統(SOPC)提供全面的設計環境。QuartusII軟體含有FPGA和CPLD設計所有階段的解決方案。
  • Quartus II 18.0 PLD/FPGA開發軟體
    Quartus II 是Altera公司帶來的專業的PLD/FPGA開發軟體,該版本不僅增加了Spectra-Q引擎,還帶了新的算法更新了TimeQuest時序分析器,時序分析速度提高了2倍,新的Spectra-Q引擎,進一步提高了下一代可編程器件的設計效能,並且利用新一代的設計空間管理器(DSE)針對用戶界面更新了流程,通過工具指導用戶的使用。
  • Altera發布最新版Quartus II開發軟體
    Altera公司(Nasdaq: ALTR)日前發布業界成熟可靠的最新版Quartus  II開發軟體——對於FPGA設計,性能和效能在業界首屈一指的軟體。
  • FPGA設計開發軟體Quartus II的使用技巧之: 編譯及仿真工程
    圖5.17 編譯無錯誤5.6.2 仿真可以使用Quartus II Simulator在工程中仿真任何設計。根據所需的信息類型,可以進行功能仿真以測試設計的邏輯功能,也可以進行時序仿真。在目標器件中測試設計的邏輯功能和最壞情況下的時序,或者採用Fast Timing模型進行時序仿真,在最快的器件速率等級上仿真儘可能快的時序條件。下面是利用Quartus II Simulator進行仿真的步驟。(1)設置頂層模塊。Quartus II軟體可以仿真整個設計,也可以仿真設計的一部分。
  • 使用Quartus II開發軟體
    Altera公司的PLD(可編程邏輯)開發軟體平臺工具Quartus II 能幫助工程人員提高效能,它是如何實現的呢?概括起來說就是 Quartus II的T.I.P.S.方法。Altera 的 Quartus II 軟體針對 65nm 和以前的設計繼續提供標準時序分析器。  Altera建議在180nm、90nm和65nm工藝節點上都使用 TimeQuest 時序分析器。此外,還建議所有移植到65nm器件上的設計都使用TimeQuest時序分析器。
  • FPGA設計開發軟體Quartus II的使用技巧之: 約束及配置工程
    設計好工程文件後,首先要進行工程的約束。約束主要包括器件選擇、管腳分配及時序約束等。時序約束屬於較為高級的應用,通過時序約束可以使工程設計文件的綜合更加優化。下面對這幾種約束方式進行介紹。按照用戶的設計需求進行管腳定義,然後再編譯整個工程文件,即可進行下載。
  • Altera Quartus II軟體8.0開創高端FPGA的性能和效能最高水平
    在過去5年中,Quartus II軟體的高端FPGA編譯時間在業界一直是最短的,每年平均縮短20%。客戶在Windows平臺上使用8.0版來設計Altera的65-nm Stratix III FPGA,和7.2版相比,編譯時間縮短多達50%,平均達到22%。在Linux平臺上,編譯時間平均縮短30%以上。
  • Quartus II 9.1安裝教程
    連結:https://pan.baidu.com/s/1q1hkfRXZxLdf4EwjDTX5qw提取碼:dy4qQuartus II是Altera公司的綜合性PLD/FPGA開發軟體,支持原理圖、VHDL、VerilogHDL以及AHDL(Altera Hardware Description Language)等多種設計輸入形式,內嵌自有的綜合器以及仿真器,可以完成從設計輸入到硬體配置的完整PLD設計流程。
  • Quartus II 12.0安裝教程
    [名稱]:Quartus II 12.0[大小]:7.41GB[語言]:英文[適用系統]:win7,win8,win10位系統[簡介]:Quartus II是一款綜合性PLD/FPGA開發軟體,支持原理圖、VHDL、VerilogHDL以及AHDL(Altera Hardware Description Language)等多種設計輸入形式,內嵌自有的綜合器以及仿真器,可以完成從設計輸入到硬體配置的完整PLD設計流程。
  • Quartus II 11.0安裝教程
    [名稱]:Quartus II 11.0[大小]:5.24GB[語言]:英文[適用系統]:win7,win8,win10位系統[簡介]:Quartus II是一款綜合性PLD/FPGA開發軟體,支持原理圖、VHDL、VerilogHDL以及AHDL(Altera Hardware Description Language)等多種設計輸入形式,內嵌自有的綜合器以及仿真器,可以完成從設計輸入到硬體配置的完整PLD設計流程。
  • Quartus II軟體12.0的新功能詳解
    (1)業界領先的編譯時間   近10年來,對於高端FPGA,Quartus II 軟體一直保持了業界最快的編譯時間,平均每年縮短20%。不斷的改進進一步增強了Quartus II軟體特性,例如,集成綜合、高級布局布線算法、多處理器支持以及TimeQuest時序分析器等。這一版本的發布也是Altera持續關注縮短編譯時間的另一實例。
  • Altera Quartus II軟體11.1版
    Altera公司今天宣布推出Quartus II軟體11.1版——在CPLD、FPGA和HardCopy ASIC設計方面,業界性能和效能最好的軟體。
  • Mouser供貨最新的Altera Quartus II軟體
    Mouser Electronics開始提供Altera 公司推出的最新款Quartus® II軟體,設計工程師已經可通過www.mouser.cn購買並下載Quartus II(版本13.0)的數字發布版。
  • 基於Cyclone II FPGA開發平臺實現語音識別算法程序的設計
    這樣的系統設計方法不僅模塊化,而且大大縮短了系統設計周期。FFT運算模塊不僅可以直接使用IP,還可以用C2H加速工具來提高系統性能。在此次設計中,FFT、DCT以及數據量較大的循環運算都採用C2H完成了硬體加速,效果較為明顯。
  • Quartus II 15.0和Modelsim SE最快速的聯調
    最近在Quartus上做一點項目,要進行一些仿真,電腦上只安裝有Modelsim SE,於是在網上尋找聯調的方法,發現絕大部分教程要麼太老,要麼還是過於複雜(需要重複編譯庫,或者每做一個新的設計都要重新編譯庫)。
  • Altera Quartus II軟體v13.1編譯時間縮短70%
    軟體還包括最新的快速重新編譯特性,適用於客戶對Altera Stratix® V FPGA設計進行少量原始碼改動的情形。採用快速重新編譯特性,客戶可以重新使用以前的編譯結果,從而保持性能,不需要前端設計劃分,進一步將編譯時間縮短了50%。
  • 使用Quartus II提高可編程邏輯設計效能的T.I.P.S
    Altera的PLD開發軟體平臺工具Quartus II 能幫助工程人員提高效能,它是如何實現的呢?概括起來說就是 Quartus II的T.I.P.S. • T代表Timequest, ——新一代ASIC功能時序分析儀,支持業界標準Synopsys設計約束(SDC)時序分析方法。
  • Quartus II 15.0
    Quartus II 15.0是Altera公司帶來的專業的PLD/FPGA開發軟體,該版本不僅增加了Spectra-Q引擎,針對