


版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認領(lǐng)
文檔簡介
1、SignalTapII 學(xué)習(xí)簡明教程一引言FPGA 紹到了嵌入式邏輯分析儀(或稱之為虛擬邏輯分析儀)的相關(guān)知識,包括為什么要Altera SignalTapII 對具體的工程進行在線調(diào)試。二背景知識回顧FPGA SignalTap II 的Follow Me 直接動手操作,那么完全可以跳過這一小節(jié)。但是, FPGA 初學(xué)者,幫助他們從浩繁的資料中解脫出來,用簡短且通SignalTap II 工具的使用。正如至芯的目標:FPGA 培訓(xùn)專家,而不是扮演手冊翻譯工的角色。好,直奔主題,讓我們先看一組術(shù)語: 在線調(diào)試 :在線調(diào)試也稱作板級調(diào)試,它是將工程下載到 FPGA 芯片上后分析代碼運行的情況。有
2、人會以為,我們已經(jīng)做過仿真了,甚至是時序仿真都通過了,還會存在問題么?但是在實際中,還有以下情況我們需要用到在線調(diào)試:1、仿真不全面而沒有發(fā)現(xiàn)的 FPGA 設(shè)計錯誤。很多情況下,由于太復(fù)雜,無法做到 100%的代碼覆蓋率;2、在板級交互中,存在異步事件,很難做仿真,或者仿真起來時間很長,無法運行;3FPGA IC 信號干擾問題,都可能導(dǎo)致系統(tǒng)運行出錯;4、其他潛在問題。在線調(diào)試的方式主要有兩種,一種是利用外部測試設(shè)備,把內(nèi)部信號傳送到FPGA 12 JTAG 邊緣數(shù)據(jù)掃描和開發(fā)工具完成數(shù)據(jù)交互。FPGA 3、(多少FPGA 所含有的邏輯資源。在FPGA 內(nèi)部,根據(jù)設(shè)置的需要查看的PC 端的測試
3、工具進行波形顯示,供開發(fā)者進行調(diào)試。FPGA FPGA 商都會有自己的軟件開發(fā)平臺,嵌入式邏輯分析儀也就不同。 Altera 廠家在QuartusII SignalTapII 用在后面詳細講解。圖表1圖表2 外部邏輯分析儀 :傳統(tǒng)的外部邏輯分析儀和示波器類似,但是就像圖 1、圖 2 所展示的,在測試復(fù)雜的 FPGA 設(shè)計時,會面臨如下一些問題:1I/OI/O 引腳數(shù)目和設(shè)計的需求是恰好匹配的。2、I/O 引腳難以引出。設(shè)計者為減小電路板的面積,大都采用細間距工藝技術(shù),在不改變PCB 板布線的情況下引出I/O 引腳非常困難。3、外接邏輯分析儀有改變FPGA設(shè)計中信號原來狀態(tài)的可能,因此難以保證信
4、號的正確性。4、傳統(tǒng)的邏輯分析儀價格昂貴,將會加重設(shè)計方的經(jīng)濟負擔(dān)。 嵌入式邏輯分析儀 :SignalTap II 基本上采用了典型外部邏輯分析儀的理念和功能,卻無需額外的邏I/O、電路板走線和探點,只要建立一個對應(yīng)的.stp 文件并做相關(guān)設(shè)置后,與當(dāng)前工程捆綁編譯,用一根JTAG 接口的下載電纜連接到要調(diào)試的FPGA SignalTap II FPGA 的引腳和內(nèi)部的連線信號進行捕獲后, 將數(shù)RAM 塊中。因此,用于保存采樣時鐘信號和被捕獲的待測信號RAM 塊,同時也會占用邏輯資源(LE)、Memory 資源(Block RAM)和布線資源1024 128k Bit 數(shù)據(jù),但是這兩個極限值沒
5、辦法同時滿足32768 M4K FPGA 器件能夠提供那圖表3圖表4三典型的 SignalTap II 調(diào)試流程圖表 55 Step By Step 教大家詳細步驟:1FPGA FPGA 器件中進行在線調(diào)試;2、使用.stp 文件在該工程中建立嵌入式邏輯分析儀,并進行相關(guān)設(shè)置,包括指3、根據(jù)需要對工程進行編譯。當(dāng)?shù)谝淮螌⑦壿嫹治鰞x加入到工程中,或者對邏SignalTap II 4、將含有邏輯分析儀的設(shè)計下載至 FPGA 器件,通過 JTAG 鏈接來運行并控制它5、出現(xiàn)觸發(fā)事件時,邏輯分析儀停止,采集到的數(shù)據(jù)被傳送到 SignalTap II 文件窗口。用戶在該窗口進行查看、分析、保存,找到設(shè)計
6、中的問題。6、調(diào)試后判斷是否發(fā)現(xiàn)并改正了問題,如果是,則將捆綁在工程中的邏輯分析儀去掉,整個調(diào)試流程結(jié)束;相反,則重新配置邏輯分析儀,調(diào)整觸發(fā)條件,再次尋找其他問題或漏洞。四SignalTap II 調(diào)試具體操作步驟SignalTap II 終于要登場了, 可筆者還要賣個關(guān)子,先制定幾條約定:1SignalTap 邏輯分析儀有兩種方法SignalTap 文件(.stp),然后定義STP 文件的詳細內(nèi)容;第二種方法是用MegaWizard Plug-InManager 建立并配置STP 文件,然后用MegaWizard 實例化一個HDL 輸出模塊。對于工程來講掌握2、默認讀者已經(jīng)掌握在 Quar
7、tusII 軟件中輸入設(shè)計代碼、綜合,會使用modelsim 進行簡單仿真,能夠編譯整個工程,分配好引腳后,下載到 FPGA 器件。3、基本步驟均以“ 提示操作流程之外的知識點本文以 標注而對于更高階的屬性,筆者則推薦大家直接閱讀手冊。4.筆者的目的是讓大家從浩繁的資料中解脫出來,但是自己在撰寫本文時卻個人的敬意!具體步驟:準備待測工程6 Verilog ModelSim 中仿真驗證結(jié)果正確,經(jīng)QuartusII ZX-1到預(yù)期結(jié)果。圖表 6下圖為led_six模塊的Testbench代碼:圖表 7仿真結(jié)果如下圖:圖表 8ZX-1開發(fā)板現(xiàn)象如下圖:圖表 9創(chuàng)建.stp 文件,啟動 Signal
8、TapII步驟如下:在Quartus 軟件中,選擇菜單欄【File】【New】命令。NewSignalTapLogic AnalyzerFile】 。點擊SignalTap 窗口(Tools】SignalTap Logic Analyzer點擊SignalTap 窗口(Tools】與其他文件一樣,SignalTap II 文件也需要保存。選擇【File 【Save as】SignalTapIIled_six.stp。單擊按鈕后,將彈出提示“單擊按鈕后,將彈出提示“按鈕。提示Do you want to enable SignalTap II. ,此時單擊按鈕,表示SignalTap II 提示
9、Do you want to enable SignalTap II. ,此時單擊按鈕,表示 注意:如果我們需要在工程中不使用該 SignalTap II 文件,或者不使用SignalTap IIQuartus IIAssignmentsSettings II Logic Analyzer】,如下圖EnableSignalTap II LogicAnalyzer析儀。在一個工程中可能同時會有多個 SignalTap 文件,但在同一時刻只能有一個有效。多個 SignalTap II 文件是非常有用的,比如工程很大,在工程中不同的部分都需要用 SignalTap II 來捕捉信號,這樣探測不同的部
10、分時我們只需要使用不同的 SignalTap II 文件就可以了,避免反復(fù)設(shè)定SignalTap II4.2 可以建立新的 SignalTap IISignalTap IISignalTap IISignalTap II File name】選擇框中點右邊的瀏覽按鈕,選擇所需要的SignalTap II【OpenOKEnable SignalTap II Logic Analyzer】選項并使用 led_six.stp 文件。設(shè)定好后點擊【OK設(shè)置窗口。設(shè)置采集時鐘SignalTap 邏輯分析儀進行數(shù)據(jù)采集之前,首先應(yīng)該設(shè)置采集時鐘。采Altera Quartus 時序分析結(jié)果給出設(shè)計的最大采
11、集時鐘頻率。步驟如下:在SignalTap Setup】標簽頁。ClockBrowse Node Node 對話框。Node SignalTap:post-fitting】。注意: 在 Node 節(jié)點發(fā)現(xiàn)器) (過濾器)欄下SignalTapre-synthesi和【SignalTap:post-fitting】這兩種。pre-synthesis(預(yù)綜合)提取的信號表 示寄存器傳輸級(RTLpost-fitting節(jié) 點),IP 加密信號則不可以,究竟哪些可以被提取哪些不能被提取,詳情請參閱手冊。Named框中,輸入作為采樣時鐘的信號名稱,然后按鍵盤上的回車鍵確定,如組圖;圍,可以在框中點擊【
12、圍,可以在框中點擊【】按鈕,通過層次化列表指定某層模Found列表中選擇后,點擊Selected OK】,結(jié)ListNodes FoundFound列表中選擇后,點擊Selected OK】,結(jié)果如組圖。 注意:用戶如果在 SignalTap 窗口中沒有分配采集時鐘, 軟件會自動建立一個名為auto_stp_external_clk(PCB)上必須有一個外部時鐘信號驅(qū)動該引腳。添加被測信號步驟如下:在SignalTap Setup】標簽頁;在STPSetupNode (Double-click to add nodes)NodeFilterSignalTap:pre-synthesis】或【S
13、ignalTap :post-fitting】。Selected OK在Named框中輸入節(jié)點名、部分節(jié)點名或通配符,按回車鍵確定;或者在Look in對話框中指定層次,點擊Selected OK將選擇的節(jié)點或總線插入STP文件。(詳細步驟和圖示類似添加采集時鐘,在此不贅述)。我們按照上面的方法步驟把要觀測的信號seg6:0、sel2:0添加進來如組圖。 注意:細心的同學(xué)可能會發(fā)現(xiàn),怎么缺少 seg3和 seg7節(jié)點信號呢? 大家的學(xué)習(xí)興趣。指定采樣深度和觸發(fā)位置在觸發(fā)事件開始之前,用戶可以指定要觀測數(shù)據(jù)的采樣數(shù)量,即數(shù)據(jù)存儲深度。前面我們介設(shè)置的數(shù)據(jù)存儲深度。為方便觀察被采到的數(shù)據(jù),我們常常
14、要設(shè)置合適的觸發(fā)位置。步驟如下:SignalConfiguration(信號配置區(qū))DataSampledepth側(cè)列表,選擇采樣深度。本例選用【1K depth 框右側(cè)還有一個 RAM type 框,通過RAM 類型設(shè)置,用戶可以選擇使用哪一類型的存儲器模塊資源(例如M4KM9K來實現(xiàn) signaltapFPGA II 器件。對于不支持這一特性的器件,這一設(shè)置將被設(shè)置為AUTO,顯示為灰色。 本例中采用 Cyclone IV 器件,并不支持該特性,所以顯示為灰色 AUTO的大小。下面兩幅組圖,可以看出不同采樣深度占用的資源數(shù)。采樣深度設(shè)置為 1K采樣深度設(shè)置為 4K在Trigger Trig
15、ger 觸發(fā)位置Pre trigger 注意:Trigger position 觸發(fā)位置設(shè)置允許用戶指定 SignalTap 邏輯分析儀在觸發(fā)信號發(fā)生前后需要捕獲的采樣點數(shù),其中:Pre trigger position:保存觸發(fā)信號發(fā)生之前的信號狀態(tài)信息(8812觸發(fā)后數(shù)據(jù));Center trigger position:保存觸發(fā)信號發(fā)生前后的數(shù)據(jù)信息,各占 50;Post trigger position :保存觸發(fā)信號發(fā)生之后的信號狀態(tài)信息(12觸發(fā)前數(shù)據(jù), 88觸發(fā)后數(shù)據(jù));究竟三種選項各帶來怎樣的數(shù)據(jù)捕獲結(jié)果,讀者在此可以先存有一些疑問,直觀的表現(xiàn)留待查看采樣數(shù)據(jù)部分再展示。邏輯分
16、析儀觸發(fā)控制邏輯分析儀觸發(fā)控制包括設(shè)置觸發(fā)類型和觸發(fā)條件(也叫觸發(fā)級數(shù)。步驟如下:觸發(fā)類型在Setup標簽頁中,Trigger Conditions框下方的下拉菜單中,選擇【Basic】類型seg0sel2Trigger Conditions 框鼠標右鍵單擊選中現(xiàn)一個復(fù)選列表,即c Dot Care發(fā)),Low(),High(),F(xiàn)alling ),Rising Edge(上升沿觸發(fā))以及seg0sel2Trigger Conditions 框鼠標右鍵單擊選中16 進制數(shù)如前步驟所述,我們可以逐個設(shè)置 seg0sel2的觸發(fā)方式,也可以將 seg sel 位選信號分別設(shè)置為一組信號向量。具體操
17、作為:選中名稱相同segn,Group16 進制數(shù)如下圖:zx-1我們設(shè)置Sel2:0值為3h,觀測開發(fā)板右起第三個數(shù)碼管顯示是否為376 80的變化。 注意:觸發(fā)類型【Advanced】放在本文高級觸發(fā)特性部分紹觸發(fā)條件(觸發(fā)級數(shù))SignalTap 邏輯分析儀的多級觸發(fā)特性為設(shè)計者提供了更精確的觸發(fā)條件設(shè)置功能。在多級觸發(fā)中,Signal1ap II邏輯分析儀首先對第一級觸發(fā)模式進行觸發(fā); 當(dāng)?shù)谝患売|發(fā)表達式滿足條件,測試結(jié)果為TRUE時,SignalTap 邏輯分析儀對 邏輯分析儀開始捕獲信號狀態(tài)。Trigger Conditions 10 1 就夠了。1 3 后,setup 標簽頁的變
18、化觸發(fā)級數(shù)為 1觸發(fā)級數(shù)為 3保存并編譯嵌入 SignalTap 邏輯分析儀后的設(shè)計步驟如下:保存的詳細步驟前文已經(jīng)講解,因為我們在生成 .STP 文件之后立刻對該文件進行了保存,所以此處只需點擊菜單欄【File】【Save】,或者使用鍵盤上的快捷鍵 Ctrl+ S。Quartus II 工程中后,重新點擊全編譯。STP SignalTap Quartus II 工程中后,重新點擊全編譯。SignalTap 分析器件編程如前面所約定,默認讀者已經(jīng)具備分配引腳,將.sof FPGA 器件的能SignalTal .sof STP 行下載設(shè)置。步驟如下:將電源、下載線和開發(fā)板連接好,下載線連接的是口
19、JTAGChainConfiguration欄點擊【Setup】雙擊鼠標左鍵選中【雙擊鼠標左鍵選中【USB-Blaster從HardWare列表中選擇USB-BlasterUSB-0】SOF Manage SOF Manage 框后面的按鈕選中已經(jīng)嵌入SignalTap led_six.sofOpen】點擊點擊按鈕下載查看 SignalTap 采樣數(shù)據(jù)步驟如下:SiganlTap 窗口中,SignalTap 在實體窗口中選中當(dāng)前實體后,四個選項高亮起來可以操作,如組圖:選中前四按鈕為灰色選中后四按鈕變高亮 注意:【Run Analysis】:單步執(zhí)行SignalTap 邏輯分析儀。即執(zhí)行該命令
20、后, SignalTap 邏輯分析儀等待觸發(fā)事件,當(dāng)觸發(fā)事件發(fā)生時開始采集數(shù)據(jù),然停止?!続utoRun Analysis】: 執(zhí)行該命令后, SignalTap 邏輯分析儀連續(xù)捕獲數(shù)據(jù),直到用戶按下Stop Analysis為止?!維top Analysis】: 停止SignalTap 分析。如果觸發(fā)事件還沒有發(fā)生,則沒有接收數(shù)據(jù)顯示出來?!綬ead Data】: 顯示捕獲的數(shù)據(jù)。如果觸發(fā)事件還沒有發(fā)生,用戶可以點擊該按鈕查看當(dāng)前捕獲的數(shù)據(jù)選擇【Run選擇【RunAnalysis】或【AutoRunAnalysis】SignalTapSignalTapSignalTapData標簽頁中 注意
21、:分析數(shù)據(jù)結(jié)果,當(dāng)位選信號為 3h3 時值并符合預(yù)期8hb0,究竟怎么回事呢?有心的同學(xué)會記得,此前我們使用post-fittinseg3seg7這兩個節(jié)點信號被 Quartus II頭從【pre-synthesis】預(yù)綜合過濾器添加需要的信號,大家不要怕麻煩,也不要有畏難情緒,修改和添加信號的過程往往更接近真實調(diào)試 。請讀者結(jié)合教程前面內(nèi)容和下方組圖提示,完成這一任務(wù)。完成任務(wù)后,保存 .stp文件,這個時候需要我們重新編譯工程生成新的sof文件,下載到FPGA器件。 么具體什么樣的設(shè)置需要我們重新生成呢?在下幅組圖中,可以看到當(dāng)前的狀態(tài),會顯示我們需不需要重新編譯。點擊【Run Analysis】或【AutoRun Analysis經(jīng)在零點得到了我們預(yù)期的結(jié)果。 position 觸發(fā) 設(shè)置為 Pre trigger position 及其捕獲結(jié)果 設(shè)置為 Center trigger position 及其捕獲結(jié)果設(shè)置為 Post trigger position 及其捕獲結(jié)果點數(shù) 128+896 = 512+512 = 896+128 = 1024 點,即采樣
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 2025跨國租賃合同條款
- 2025年簡約門面租賃合同樣本
- 2025商業(yè)性房屋租賃合同
- 沙石料運輸合同
- 房產(chǎn)出資贈與協(xié)議書范本
- 房屋分割離婚協(xié)議書范本
- 婚后財產(chǎn)約定協(xié)議書
- 單位收購?fù)恋貐f(xié)議書
- Unit 10 Lending a Helping hand 第四課時Wrapping up the Topic(含答案)仁愛版2024七下英語日清限時練
- 2025年03月國家天文臺人才崗位公開招聘8人(第一輪)筆試歷年典型考題(歷年真題考點)解題思路附帶答案詳解
- 山東省國控設(shè)計集團有限公司招聘真題2024
- GB/T 45417-2025汽車再生制動功能缺陷分析指南
- 2021年5月四級江蘇省人力資源管理師考試《理論知識》真題及答案
- 污水處理日常運營管理與維護方案
- 第11課《山地回憶》課件-2024-2025學(xué)年統(tǒng)編版語文七年級下冊
- 稀土磁性材料項目可行性研究報告申請備案
- 物業(yè)民法典知識培訓(xùn)課件
- 企業(yè)安全生產(chǎn)責(zé)任制管理制度模版(三篇)
- 中式面點知識培訓(xùn)課件
- 《水文監(jiān)測單位安全生產(chǎn)標準化評價標準》
- 設(shè)備清潔管理制度內(nèi)容
評論
0/150
提交評論