<meter id="pryje"><nav id="pryje"><delect id="pryje"></delect></nav></meter>
          <label id="pryje"></label>

          新聞中心

          EEPW首頁 > 測試測量 > 設計應用 > “虛擬”邏輯分析儀SignalTap II

          “虛擬”邏輯分析儀SignalTap II

          作者: 時間:2017-01-09 來源:網(wǎng)絡 收藏
          虛擬邏輯分析儀SignalTap II

          Quartus II中集成的SignalTap II在一些高端應用中,尤其是邏輯資源(主要是余量)充足的應用中是非常不錯的調(diào)試手段。而對于一些邏輯資源或者存儲資源余量不多的應用中,這種調(diào)試方法則顯得毫無意義。話說“魚和熊掌不可兼得”,在Quartus II中所能夠支持的在線調(diào)試手段中,例如In-system Sources and Probes、Logic Analyzer和SignalTap II,乃至Virtual JTAG,唯有SignalTap II的性能是最好的,對于高速應用的調(diào)試是最有幫助的。但與此對應的是,使用SignalTap II需要FPGA器件本身付出比較高的資源消耗。

          本文引用地址:http://www.ex-cimer.com/article/201701/337563.htm

          盡管如此,SignalTap II還是很受高端FPGA應用群體的親睞。雖然特權同學項目應用中使用的多是中低端的器件,但最近的項目上采集的一組控制信號受限與單機示波器的帶寬和存儲深度,很難準確的摸透信號的脾性。因此只能借助于某個現(xiàn)成的FPGA模塊,在Quartus II中搭建一個SignalTap II可訪問工程,并將待采集的信號連接到采集模塊的可用IO管腳上,在這個簡單的“邏輯分析儀”中,一定要連接上采集和被采集模塊的地線。

          關于SignalTap II的使用方法,不是本文談論的焦點,建議大家去消化《Quartus II Handbook.pdf》的Chapter 15: Design Debugging Using the SignalTap II Embedded Logic Analyzer。

          通常示波器都有一個采樣頻率,說白了就是示波器根據(jù)這個采樣時鐘每隔固定時間去讀取當前接口信號的電平。這個采樣頻率越高,那么相對而言就能夠更準確的還原信號的真實波形。那么對于SignalTap II這個“虛擬”邏輯分析儀而言,它的采樣時鐘是誰?如何設置呢?很簡單,如圖1所示,設置好這個Clock就可以了。這個Clock可以是FPGA外部輸入時鐘,也可以是經(jīng)過PLL分頻或倍頻后的時鐘。有了PLL的幫助,這個采樣頻率就可以被設置的“游刃有余”了。

          圖1

          關于存儲深度,圖1的Data選項中也可以進行設置。觸發(fā)條件、觸發(fā)模式等等設置SignalTap II中都有很靈活的支持。用戶可以根據(jù)自己的需要靈活的調(diào)整。具體的使用方法都可以在軟件的handbook中找到。圖2和圖3是特權同學的一個“虛擬”邏輯分析儀應用和采集信號的分析,發(fā)現(xiàn)這個“虛擬”邏輯分析儀還是蠻實用的,至少能夠在沒有先進調(diào)試設備和更好調(diào)試手段的情況下幫助信號的分析。

          圖2

          圖3

          FPGA器件在嵌入式開發(fā)中真的是非常實用,哪怕你不用它去做項目做產(chǎn)品,只要掌握了它的設計精髓,也許它一不小心就能夠成為你的開發(fā)設計過程中的一個“小助手”,大大加速產(chǎn)品問題定位和開發(fā)進度。



          評論


          技術專區(qū)

          關閉
          看屁屁www成人影院,亚洲人妻成人图片,亚洲精品成人午夜在线,日韩在线 欧美成人 (function(){ var bp = document.createElement('script'); var curProtocol = window.location.protocol.split(':')[0]; if (curProtocol === 'https') { bp.src = 'https://zz.bdstatic.com/linksubmit/push.js'; } else { bp.src = 'http://push.zhanzhang.baidu.com/push.js'; } var s = document.getElementsByTagName("script")[0]; s.parentNode.insertBefore(bp, s); })();