新聞中心

        EEPW首頁 > 嵌入式系統 > 設計應用 > 如何調試數字硬件設計

        如何調試數字硬件設計

        作者: 時間:2014-01-27 來源:網絡 收藏

        本文引用地址:http://www.104case.com/article/256976.htm


        對于業界率先實現的同類型設計(即新產品首次進行實際構建)而言,我們或許應該制定更深入的設計決策,例如將電源與下游電子器件進行分離處理。這樣,我們就能確保電源和上電順序都能正常工作,從而避免下游組件的應力過大或損壞。更詳盡的前端設計階段有助于測試工作的例子還有一個,那就是確保端口除了在系統中對所有FPGA或處理器進行編程之外還能有更多用處,例如通過邊界掃描測試來進行初始的硬件驗證等。邊界掃描測試對在測試階段早期減少硬件設計風險非常有用,同時也要求對設計方案進行優化,以確保最大限度地覆蓋邊界掃描器件。

        明確硬件特性


        系統第一次到達實驗室時,您要做的第一件事情就是確定硬件底層模塊是否適合做進一步的測試。相關檢查包括模塊的初步通電測試,這是個緊張的過程。剛拿到模塊,您希望確保其準確投產,能夠成功實現首次通電啟動。第一步就是確保所有的組件都各就其位,引腳“1”正確定位,而且任何帶極性的組件都準確放置。設計中通常可能包含眾多無需檢查定位的組件,例如那些適合不同版本或不同構建選項的組件。


        如果您確定所有電源軌都沒有短路,那么下一步就該加電了。初次加電時,我傾向于采用分兩個階段進行的方案。第一個階段是采用低電壓(0.5V)和低電流,以確保不錯過信號層或電壓軌之間的任何短路情況;第二個階段是用正確的工作電壓在設定的電流限值內加電,看看是否獲得預期電流(不要忘了突入電流問題)。


        成功給設計方案加電后,下一步就是確定電源上電的排序、復位以及時鐘是否能按設想的工作。切記,要確保復位時長超過所有時鐘,并在釋放之前處于穩定狀態。


        明確硬件特性的下一步就是確保能通過鏈看到硬件,這使我們不僅能對FPGA編程,而且還能執行邊界掃描測試。邊界掃描測試能幫助我們快速測試器件之間的互連,通過測試存儲器可確保其正常工作,如開發回環接插件也可回轉輸入輸出。和邊界掃描測試可在進一步詳細的測試之前消除設計風險。


        致力于簡化


        如果您的設計在硬件和FPGA層面上都很復雜,那么簡化版的將有助于測試開發板以及FPGA和外設(圖2)之間的接口。對高速接口設計而言,更是如此。我們可結合采用優化的和賽靈思 ChipScope工具來捕獲數據,以及預載了數據模式的Block BRAM來發揮激勵作用。這種方法對采用ADC和DAC連接FPGA的情況尤其有用。在此情況下,您應發揮FPGA的可再編程特性來最大限度地進行設計開發,實現ADC和DAC的,比如噪聲/功率比、無雜散動態范圍和有效比特位數(effective-number-of-bit)計算等。


        此外,您還應該充分利用FPGA提供的資源,尤其是賽靈思System Monitor和XADC,非常有利于監控芯片上的電壓軌,進而還能有助于驗證在設計階段所執行的電源完整性分析。此外,上述技術還能方便地報告芯片溫度,這對環境測試以及芯片溫度的功耗關聯等都有幫助。


        多數情況下,簡化RTL設計并采用FPGA提供的資源對精確定位未按預期工作的區域都有極大的幫助。

        遇到問題怎么辦?


        在一步步推進測試計劃的過程中,您可能會遇到一兩個問題,如未能實現預期的功能,或在功能方面無法滿足所需的性能水平。不要擔心,我們能通過許多調查方法來確定問題根源和所需的糾正措施。


        在上述情況下,不要急于馬上做出修改。首先,要重新檢查設計方案,特別是原理圖和數據手冊等設計信息。如果問題與FPGA有關,則應檢查引腳約束文件是否適合設計需要,因為有可能文件與設計不同步。


        如果一時找不出什么明顯錯誤,則不妨發揮一下互聯網的優勢,去網上看看其他工程師是否也遇到過跟您同樣的問題。網上有很多論壇,您可在那里向其他設計人員提問。Programmable Planet和賽靈思論壇都可為基于FPGA的設計提供廣泛的支持。


        說到底,硬件調試是工程設計中極富挑戰,但又極具收獲的組成部分。若在設計早期階段即考慮到測試問題,并在設計中包含測試所需的各元素,就能顯著簡化調試工作。采用ChipScope、System Monitor和XADC等所有可用的資源來調試系統,外加合理利用傳統測試設備,我們就能成功完成開發工作。

        圖2:這里的優化代碼是從連接輸出的簡單DAC接口到已知狀態的代碼片段,能夠生成Fs/2的正弦波。此類代碼的標準版可能有數百行的長度。


        上一頁 1 2 下一頁

        評論


        相關推薦

        技術專區

        關閉
        主站蜘蛛池模板: 凉城县| 宜兰县| 高雄县| 布拖县| 九江市| 衡东县| 海丰县| 桂阳县| 五华县| 阜城县| 麻栗坡县| 韶关市| 临海市| 葫芦岛市| 叶城县| 清丰县| 中宁县| 宜城市| 吐鲁番市| 瑞金市| 吉木乃县| 嘉善县| 平果县| 柏乡县| 利津县| 色达县| 古丈县| 南木林县| 伊宁市| 行唐县| 衡水市| 武安市| 宽甸| 屏山县| 县级市| 报价| 青海省| 栾川县| 逊克县| 富蕴县| 柳州市|