<dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><s id="yhprb"><strike id="yhprb"></strike></s></dfn><small id="yhprb"></small><dfn id="yhprb"></dfn><small id="yhprb"><delect id="yhprb"></delect></small><small id="yhprb"></small><small id="yhprb"></small> <delect id="yhprb"><strike id="yhprb"></strike></delect><dfn id="yhprb"></dfn><dfn id="yhprb"></dfn><s id="yhprb"><noframes id="yhprb"><small id="yhprb"><dfn id="yhprb"></dfn></small><dfn id="yhprb"><delect id="yhprb"></delect></dfn><small id="yhprb"></small><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn> <small id="yhprb"></small><delect id="yhprb"><strike id="yhprb"></strike></delect><dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"><s id="yhprb"><strike id="yhprb"></strike></s></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn>

新聞中心

EEPW首頁(yè) > 嵌入式系統 > 設計應用 > FPGA設計開(kāi)發(fā)軟件Quartus II的使用技巧之: 典型實(shí)例-SignalTap II功能演示

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

作者: 時(shí)間:2017-06-05 來(lái)源:網(wǎng)絡(luò ) 收藏

本文引用地址:http://dyxdggzs.com/article/201706/348820.htm

5.10典型實(shí)例9:功能演示

5.10.1實(shí)例的內容及目標

1.實(shí)例的主要內容

本節旨在通過(guò)給定的工程實(shí)例——“正弦波發(fā)生器”來(lái)熟悉Altera高級調試功能和IntentMemoryContentEditor的使用方法。同時(shí)使用基于A(yíng)ltera的開(kāi)發(fā)板將該實(shí)例進(jìn)行下載驗證,完成工程設計的硬件實(shí)現。在本節中,將主要講解下面知識點(diǎn)。

·原理圖輸入方式。

·約束設計。

·QuartusII工程編譯。

·QuartusII硬件下載。

·在線(xiàn)調試。

·IntentMemoryContentEditor在線(xiàn)修改片上ROM數據。

通過(guò)這些知識點(diǎn),按照實(shí)例的流程,讀者可以迅速地掌握使用QuartusII軟件高級調試技巧。

2.實(shí)例目標

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

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

·熟悉SignalTapII在線(xiàn)調試方法。

·熟悉IntentMemoryContentEditor在線(xiàn)修改片上ROM數據的方法。

5.10.2實(shí)例詳解

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

5.10.2.1工程系統框圖

本實(shí)例使用QuartusII自帶的宏模塊(MegaWizardPlug-inManager)來(lái)設計邏輯功能,并使用嵌入式硬件邏輯分析儀觀(guān)察結果。

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

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

圖5.40系統電路圖

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

5.10.2.2添加分頻器模塊

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

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

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

選擇“File”/“Create/Update”/“CreateSymbolFilesforCurrentFile”選項。軟件會(huì )自動(dòng)分析div.v程序的語(yǔ)法錯誤,如圖5.42所示。

圖5.41分頻器VerilogHDL文件

圖5.42生成模塊菜單

3.修改程序語(yǔ)法錯誤

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

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

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

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

5.10.2.3添加QuartusII系統自帶宏模塊

ROM和計數器都可以通過(guò)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所示的對話(huà)框,選擇新建宏模塊單擊“Next”按鈕。

圖5.46引用自帶宏對話(huà)框

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

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

3.添加ROM

在storage中選擇ROM,并在右側的選項欄中選擇Cyclone系列芯片,outputfile類(lèi)型選擇VerilogHDL,并在下方選擇ROM文件的生成地址及名稱(chēng),如圖5.48所示。

圖5.47選擇系統自帶宏模塊

圖5.48選擇ROM宏模塊

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

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

單擊“Next”按鈕,接下來(lái)在對話(huà)框中填入ROM初始化文件,并選中“allowin-systemmemory”選項,并選擇名稱(chēng)為“NONE”,如圖5.51所示。

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

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

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

單擊“Next”按鈕,完成設置,向導生成的文件如圖5.52所示。

圖5.52設置ROM宏模塊完成

4.添加計數器

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

圖5.53新建計數器模塊參數

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

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

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

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

5.10.2.4添加端口

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

圖5.56加入輸入輸出端口

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

圖5.57完成工程原理圖輸入

5.10.2.5編譯工程

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

5.10.2.6使用SignalTapII觀(guān)察波形

1.建立SignalTapII文件

在菜單中選擇“Tools”/“SignalTapIILogicAnalyzer”選項,打開(kāi)如圖5.58所示界面。

圖5.58新建SignalTapII文件

作如圖5.59所示的設置。

圖5.59SignalTapII文件設置

SignalTapII基本設置需注意以下問(wèn)題。

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

(2)采樣信號不宜用作主時(shí)鐘,可以用作分頻后的時(shí)鐘,采樣條件可用Centertriggerposition。

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

2.設置SignalTapII高級觸發(fā)條件

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

圖5.60打開(kāi)SignalTapII文件高級觸發(fā)設置

圖5.61SignalTapII文件高級觸發(fā)設置

本例中設置為當地址信號address=0時(shí)開(kāi)始觸發(fā)。從“nodelist”中拖入address信號,在“ObjectLibrary”/“ComparisonOperator”中加入equality,最后加入“InputObjects”/“BusValue”。得到如圖5.62所示的觸發(fā)條件。

圖5.62SignalTapII高級觸發(fā)設置結果

3.運行SignalTapII并觀(guān)察波形

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

在InstanceManager中單擊按鈕進(jìn)行一次觸發(fā),將會(huì )得到如圖5.64所示的波形。

圖5.64觀(guān)察采樣數據數字顯示波形

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

圖5.65觀(guān)察采樣數據模擬顯示波形 圖5.66觀(guān)察采樣數據模擬顯示波形結果圖

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

5.10.2.7使用在線(xiàn)ROM編輯器

嵌入式存儲數據編輯器是通過(guò)JTAG下載電纜來(lái)觀(guān)看FPGA中ROM加載的數據的,不僅能觀(guān)看,還能在線(xiàn)修改數據,無(wú)需重新編譯與下載。

1.打開(kāi)ROM編輯器

選擇“Tools”/“InsystemMemoryContentEditor”選項,打開(kāi)如圖5.67所示的rom編輯器。

圖5.67打開(kāi)在線(xiàn)ROM編輯器窗口

2.選擇下載電纜

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

圖5.68設置下載電纜

3.選擇ROM標號

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

圖5.69選擇ROM標號

4.讀取ROM數據

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

圖5.70讀取ROM數據

5.修改ROM數據

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

圖5.71修改后ROM數據顯示

5.10.3小結

上述訓練流程就是一個(gè)完整的QuartusII硬件調試流程。雖然此訓練實(shí)現的功能比較簡(jiǎn)單,但對于初學(xué)者來(lái)說(shuō),是一個(gè)不錯的入門(mén)訓練。其主要目的是讓初學(xué)者對的設計有一個(gè)初步的了解。通過(guò)該訓練來(lái)熟悉QuartusII的高級調試技巧,為今后的學(xué)習打下基礎。



關(guān)鍵詞: QuartusII SignalTapII FPGA

評論


相關(guān)推薦

技術(shù)專(zhuān)區

關(guān)閉
国产精品自在自线亚洲|国产精品无圣光一区二区|国产日产欧洲无码视频|久久久一本精品99久久K精品66|欧美人与动牲交片免费播放
<dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><s id="yhprb"><strike id="yhprb"></strike></s></dfn><small id="yhprb"></small><dfn id="yhprb"></dfn><small id="yhprb"><delect id="yhprb"></delect></small><small id="yhprb"></small><small id="yhprb"></small> <delect id="yhprb"><strike id="yhprb"></strike></delect><dfn id="yhprb"></dfn><dfn id="yhprb"></dfn><s id="yhprb"><noframes id="yhprb"><small id="yhprb"><dfn id="yhprb"></dfn></small><dfn id="yhprb"><delect id="yhprb"></delect></dfn><small id="yhprb"></small><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn> <small id="yhprb"></small><delect id="yhprb"><strike id="yhprb"></strike></delect><dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"><s id="yhprb"><strike id="yhprb"></strike></s></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn>