加入星計劃,您可以享受以下權(quán)益:

  • 創(chuàng)作內(nèi)容快速變現(xiàn)
  • 行業(yè)影響力擴散
  • 作品版權(quán)保護
  • 300W+ 專業(yè)用戶
  • 1.5W+ 優(yōu)質(zhì)創(chuàng)作者
  • 5000+ 長期合作伙伴
立即加入
  • 正文
    • 5.10  典型實例9:SignalTap II功能演示
  • 相關(guān)推薦
  • 電子產(chǎn)業(yè)圖譜
申請入駐 產(chǎn)業(yè)圖譜

FPGA設(shè)計開發(fā)軟件Quartus II的使用技巧之: 典型實例-SignalTap II功能演示

2013/08/26
3
閱讀需 15 分鐘
加入交流群
掃碼加入
獲取工程師必備禮包
參與熱點資訊討論

?

5.10??典型實例9:SignalTap?II功能演示

5.10.1??實例的內(nèi)容及目標(biāo)

1.實例的主要內(nèi)容

本節(jié)旨在通過給定的工程實例——“正弦波發(fā)生器”來熟悉Altera?Quartus?II高級調(diào)試功能SignalTap?II和Intent?Memory?Content?Editor的使用方法。同時使用基于Altera?FPGA開發(fā)板將該實例進行下載驗證,完成工程設(shè)計的硬件實現(xiàn)。在本節(jié)中,將主要講解下面知識點。

·??Quartus?II原理圖輸入方式。

·??Quartus?II約束設(shè)計。

·??Quartus?II工程編譯。

·??Quartus?II硬件下載。

·??SignalTap?II在線調(diào)試。

·??Intent?Memory?Content?Editor在線修改片上ROM數(shù)據(jù)。

通過這些知識點,按照實例的流程,讀者可以迅速地掌握使用Quartus?II軟件高級調(diào)試技巧。

2.實例目標(biāo)

通過詳細(xì)的流程講解,讀者應(yīng)達到下面的目標(biāo)。

·??熟悉Quartus?II原理圖設(shè)計方法。

·??熟悉SignalTap?II在線調(diào)試方法。

·??熟悉Intent?Memory?Content?Editor在線修改片上ROM數(shù)據(jù)的方法。

5.10.2??實例詳解

本實例將使用圖解的方式將整個流程一步一步展現(xiàn)給讀者,使讀者能夠輕松掌握開發(fā)的流程。

5.10.2.1??工程系統(tǒng)框圖

本實例使用Quartus?II自帶的宏模塊(MegaWizard?Plug-in?Manager)來設(shè)計邏輯功能,并使用嵌入式硬件邏輯分析儀觀察結(jié)果。

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

系統(tǒng)的電路圖如圖5.40所示。

圖5.40??系統(tǒng)電路圖

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

5.10.2.2??添加分頻器模塊

1.將分頻文件添加到工程

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

2.產(chǎn)生.bsf文件

選擇“File”/“Create/Update”/“Create?Symbol?Files?for?Current?File”選項。軟件會自動分析div.v程序的語法錯誤,如圖5.42所示。

圖5.41??分頻器Verilog?HDL文件

圖5.42??生成模塊菜單

?

3.修改程序語法錯誤

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

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

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

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

5.10.2.3??添加Quartus?II系統(tǒng)自帶宏模塊

ROM和計數(shù)器都可以通過Quartus?II自帶的宏模塊生成。

1.建立ROM初始化文件

在菜單中選擇新建文件,在“Other?Files”中選擇“Memory?Initialization?File”選項,如圖5.44所示。

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

????????? ???????????????????

?????????圖5.44??新建ROM初始化文件??????????????????????圖5.45??輸入正弦波幅度數(shù)據(jù)

?

2.添加自帶宏模塊

在“Tools”菜單中選擇“MegaWizard?Plug-Pn?Manager”選項,出現(xiàn)如圖5.46所示的對話框,選擇新建宏模塊單擊“Next”按鈕。

圖5.46??引用自帶宏對話框

圖5.47左側(cè)是Quartus?II自帶的免費的宏模型,可以看到Quartus提供了很多免費的IP核。

其中ROM在storage目錄中,計數(shù)器counter在arithmetic目錄中。

3.添加ROM

在storage中選擇ROM,并在右側(cè)的選項欄中選擇Cyclone系列芯片,output?file類型選擇Verilog?HDL,并在下方選擇ROM文件的生成地址及名稱,如圖5.48所示。

圖5.47??選擇系統(tǒng)自帶宏模塊

圖5.48??選擇ROM宏模塊

單擊“Next”按鈕,設(shè)定ROM基本參數(shù),包括ROM的位寬q、地址位寬(存儲深度)和時鐘。一般ROM的時鐘選為單時鐘控制Single?clock,如圖5.49所示。

單擊“Next”按鈕,設(shè)定ROM其他參數(shù),設(shè)定輸出寄存器、時鐘使能端和異步清零。如果選中“'q'?output?port”,則會在輸出端加一級寄存器,如圖5.50所示。

單擊“Next”按鈕,接下來在對話框中填入ROM初始化文件,并選中“allow?in-system?memory”選項,并選擇名稱為“NONE”,如圖5.51所示。

圖5.49??rom宏模塊基本參數(shù)設(shè)置

圖5.50??設(shè)置ROM宏模塊其他參數(shù)

圖5.51??設(shè)置ROM宏模塊初始化文件

單擊“Next”按鈕,完成設(shè)置,向?qū)傻奈募鐖D5.52所示。

圖5.52??設(shè)置ROM宏模塊完成

?

4.添加計數(shù)器

引入計數(shù)器作為ROM的地址,當(dāng)計數(shù)器地址遞增時,相應(yīng)的ROM的地址遞增(正弦波的相位增加)。同樣的在“MegaWizard?Plug-In?Manager”中選擇arithmetic數(shù)學(xué)庫中的“LPM?COUNTER”宏模塊,添加計數(shù)器,如圖5.53所示。

圖5.53??新建計數(shù)器模塊參數(shù)

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

圖5.54??設(shè)置計數(shù)器宏模塊參數(shù)

一直單擊“Next”按鈕,使用系統(tǒng)默認(rèn)設(shè)置,直到生成如圖5.55所示的文件輸出。

圖5.55??完成計數(shù)器宏模塊設(shè)置

?

5.10.2.4??添加端口

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

圖5.56??加入輸入輸出端口

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

圖5.57??完成工程原理圖輸入

?

5.10.2.5??編譯工程

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

5.10.2.6??使用SignalTap?II觀察波形

1.建立SignalTap?II文件

在菜單中選擇“Tools”/“SignalTap?II?Logic?Analyzer”選項,打開如圖5.58所示界面。

圖5.58??新建SignalTap?II文件

作如圖5.59所示的設(shè)置。

圖5.59??SignalTap?II文件設(shè)置

SignalTap?II基本設(shè)置需注意以下問題。

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

(2)采樣信號不宜用作主時鐘,可以用作分頻后的時鐘,采樣條件可用Center?trigger?position。

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

?

2.設(shè)置SignalTap?II高級觸發(fā)條件

在如圖5-58所示的添加觀察信號區(qū)域窗口中,將Trigger?Levels選項改為Advanced,將Basic改為Advanced,則會彈出高級觸發(fā)設(shè)置頁面,如圖5.60和圖5.61所示。

圖5.60??打開SignalTap?II文件高級觸發(fā)設(shè)置

圖5.61??SignalTap?II文件高級觸發(fā)設(shè)置

?

本例中設(shè)置為當(dāng)?shù)刂沸盘朼ddress=0時開始觸發(fā)。從“node?list”中拖入address信號,在“Object?Library”/“Comparison?Operator”中加入equality,最后加入“Input?Objects”/“Bus?Value”。得到如圖5.62所示的觸發(fā)條件。

圖5.62??SignalTap?II高級觸發(fā)設(shè)置結(jié)果

3.運行SignalTap?II并觀察波形

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

在Instance?Manager中單擊按鈕進行一次觸發(fā),將會得到如圖5.64所示的波形。

圖5.64??觀察采樣數(shù)據(jù)數(shù)字顯示波形

因為開發(fā)板硬件沒有AD/DA功能,要想看模擬信號的輸出也可以用邏輯分析儀來完成。在信號名(比如q信號)上單擊右鍵,選擇“Bus?Display?Format”/“Unsigned?Line?Chart”選項,如圖5.65所示。

? ? ? ? ? ?? ???????????

???? ? ? ? 圖5.65??觀察采樣數(shù)據(jù)模擬顯示波形?????? 圖5.66??觀察采樣數(shù)據(jù)模擬顯示波形結(jié)果圖

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

5.10.2.7??使用在線ROM編輯器

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

1.打開ROM編輯器

選擇“Tools”/“In?system?Memory?Content?Editor”選項,打開如圖5.67所示的rom編輯器。

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

2.選擇下載電纜

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

圖5.68??設(shè)置下載電纜

?

3.選擇ROM標(biāo)號

點擊設(shè)置ROM參數(shù)時指定的none的文件,將出現(xiàn)FPGA運行之中的ROM的數(shù)據(jù),如圖5.69所示。

圖5.69??選擇ROM標(biāo)號

?

4.讀取ROM數(shù)據(jù)

右鍵單擊“NONE”,選擇“Read?Data?from?System?Memory”選項,就可以得到ROM中的數(shù)據(jù)了,如圖5.70所示。

圖5.70??讀取ROM數(shù)據(jù)

?

5.修改ROM數(shù)據(jù)

通過編輯器,可以修改ROM中的數(shù)據(jù)。例如可以把數(shù)據(jù)中的幾個數(shù)改成0,然后單擊“write”,再回到邏輯分析儀中觀察波形,就可以發(fā)現(xiàn)其中的變化,如圖5.71所示。

圖5.71??修改后ROM數(shù)據(jù)顯示

?

5.10.3??小結(jié)

上述訓(xùn)練流程就是一個完整的Quartus?II硬件調(diào)試流程。雖然此訓(xùn)練實現(xiàn)的功能比較簡單,但對于初學(xué)者來說,是一個不錯的入門訓(xùn)練。其主要目的是讓初學(xué)者對的設(shè)計有一個初步的了解。通過該訓(xùn)練來熟悉Quartus?II的高級調(diào)試技巧,為今后的學(xué)習(xí)打下基礎(chǔ)。

相關(guān)推薦

電子產(chǎn)業(yè)圖譜

華清遠見(www.farsight.com.cn)是國內(nèi)領(lǐng)先嵌入師培訓(xùn)機構(gòu),2004年注冊于中國北京海淀高科技園區(qū),除北京總部外,上海、深圳、成都、南京、武漢、西安、廣州均有直營分公司。華清遠見除提供嵌入式相關(guān)的長期就業(yè)培訓(xùn)、短期高端培訓(xùn)、師資培訓(xùn)及企業(yè)員工內(nèi)訓(xùn)等業(yè)務(wù)外,其下屬研發(fā)中心還負(fù)責(zé)嵌入式、Android及物聯(lián)網(wǎng)方向的教學(xué)實驗平臺的研發(fā)及培訓(xùn)教材的出版,截止目前為止已公開出版70余本嵌入式/移動開發(fā)/物聯(lián)網(wǎng)相關(guān)圖書。企業(yè)理念:專業(yè)始于專注 卓識源于遠見。企業(yè)價值觀:做良心教育、做專業(yè)教育,更要做受人尊敬的職業(yè)教育。