国产精品久久久aaaa,日日干夜夜操天天插,亚洲乱熟女香蕉一区二区三区少妇,99精品国产高清一区二区三区,国产成人精品一区二区色戒,久久久国产精品成人免费,亚洲精品毛片久久久久,99久久婷婷国产综合精品电影,国产一区二区三区任你鲁

0
  • 聊天消息
  • 系統消息
  • 評論與回復
登錄后你可以
  • 下載海量資料
  • 學習在線課程
  • 觀看技術視頻
  • 寫文章/發帖/加入社區
會員中心
創作中心

完善資料讓更多小伙伴認識你,還能領取20積分哦,立即完善>

3天內不再提示

Vivado調試ILA debug結果也許不對

汽車玩家 ? 來源:科學計算technomania ? 作者:貓叔 ? 2020-03-08 17:35 ? 次閱讀
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

FPGA的調試是個很蛋疼的事,即便Vivado已經比ISE好用了很多,但調試起來依舊蛋疼。即便是同一個程序,FPGA每次重新綜合、實現后結果都多多少少會有所不同。而且加入到ila中的數據會占用RAM資源,影響布局布線的結果。

尤其是在時序緊張的情況下,ila占的資源越多,布線的難度就會越大。當時序不收斂時,就可能會導致一個問題,我們從ila中看到的信號可能不是真實的。

下面說一下今天在調試中碰到的現象:

場景還原:

1. 程序中有4個主時鐘,而且一直處于在時序收斂的邊緣狀態,也就是說有時候Implementation后時序收斂,有時時序違規,但我沒有去管,因為報時序違規的地方并不是我當時調試的代碼處。

2. 數據的位寬較大,為256bit,要對該數據做一系列的處理,比如原始數據為A[255:0],在數據處理過程中需要將A賦值給B[255:0],再將B賦值給C[255:0]。

3. 數據C最后通過PCIe傳給了上位機,在上位機中看到C波形有時會有毛刺,但不確定是哪一步出了問題,于是將A、B和C都引入到ila中,又多抓了幾個相關的信號,加起來總共有800多bits。

4. 總的BARM占用率不超過40%,LUT RAM沒超過10%,LUT和FF都沒有超過30%,BUFG用了47%。

出現的問題:

1. 在沒有加這么多的debug信號前,偶爾時序會報違規,但都是個別的一兩處報的setup違規。但加了這些信號后,所有時鐘的Intra-Clock Paths的Hold-up Time都違規。如果是建立時間不過,解決辦法有很多,但保持時間不過,就有點麻煩了。但這肯定是增加了這么多的debug導致的,所以不用去理會。

2. 由于看到上位機中的波形有毛刺,首先確定C的數據是否有問題,排除PCIe傳輸中的錯誤。對比發現C和上位機的數據完全一樣,因此毛刺肯定是出現在前面的邏輯中。

3. 發現A、B和C的數據都是不一致的,可能會出現下面的現象:

A的數據是xxxx10101010xxxx
B的數據是xxxx00101010xxxx
C的數據是xxxx10101011xxxx

也就是說,在B中發現數據出現了誤碼,1->0,但C中該bit依然是對的,跟原始數據的A是一樣的,由于我們的 賦值過程是A->B->C。

說明可能有兩種原因:

1. 從B到C的傳輸過程中,剛好在這個bit處產生了誤碼
2. 數據B的這個bit其實是正確的,只是抓出來的數據有問題

由于程序中在很多地方都會出現這種情況,所以認為第二種可能性更大一些。

總結:

在時序不收斂的情況下,我們通過ila抓出來的數據可能并不是真實的,在碰到這種問題時,可能需要我們先把時序調整后再進行后續調試。

最后,碰到這種問題怎么解決呢?最根本的解決辦法當然是修改設計,使時序能夠收斂。還有一種笨辦法,由于程序Implementation后有時能收斂有時不能收斂,那我們就把時序收斂時的bit作Release即可,再對這個bit程序做詳細測試。

聲明:本文內容及配圖由入駐作者撰寫或者入駐合作網站授權轉載。文章觀點僅代表作者本人,不代表電子發燒友網立場。文章及其配圖僅供工程師學習之用,如有內容侵權或者其他違規問題,請聯系本站處理。 舉報投訴
  • FPGA
    +關注

    關注

    1660

    文章

    22408

    瀏覽量

    636231
  • Vivado
    +關注

    關注

    19

    文章

    857

    瀏覽量

    71102
收藏 人收藏
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

    評論

    相關推薦
    熱點推薦

    使用Vivado ILA進行復雜時序分析的完整流程

    在 HDL 代碼中標記待觀測信號,添加 (* mark_debug = "true" *) 屬性(Verilog)或 keep 屬性(VHDL)
    的頭像 發表于 02-04 11:28 ?272次閱讀

    如何在vivadoila進行debug調試

    其中1是添加幾個觀察信號,2是采樣深度。1根據自己要觀察的信號進行選擇,2一般越大越好。
    的頭像 發表于 01-15 14:25 ?477次閱讀
    如何在<b class='flag-5'>vivado</b>用<b class='flag-5'>ila</b>進行<b class='flag-5'>debug</b><b class='flag-5'>調試</b>

    進迭時空 debug upstream | 取之于開源,貢獻于開源

    。Debug相關軟件項目概覽RISC-V調試所涉及的核心開源軟件主要包括GDB和OpenOCD。GDB(GNUDebugger)是GNU項目下的功能強大的源碼級調
    的頭像 發表于 11-17 09:33 ?5451次閱讀
    進迭時空 <b class='flag-5'>debug</b> upstream | 取之于開源,貢獻于開源

    Vivado仿真之后沒有出現仿真結果的解決方法

    ;Run Behavioral Simulation之后,會出現如下圖界面,此時,在Tcl Console中并沒有出現仿真結果。 沒有出現仿真結果的原因是沒有給Vivado時間進行仿真,解決方法
    發表于 10-31 06:24

    ILA 抓取MCU200T的內部信號

    我們在調BUG的過程中單純利用引腳輸出中間變量的方法可能比較困難,因此我們在實際的開發過程中使用了ILA內嵌式邏輯分析儀來進行內部信號的捕捉和觀察。 1、在E203的 vivado工程中打開IP
    發表于 10-29 08:03

    將e203 例化AXI總線接口

    將系統外設總線內部axi接口引出給gpio,注意vivado中gpio地址分配應保證移植 Debug: 通過Xil_Out32函數給gpio的地址寫1或者0,注意這里地址是gpio地址也就是核中給
    發表于 10-29 06:08

    VIVADO中對NICE進行波形仿真的小問題的解決

    分別如下圖 可以看到,輸出運算結果的pritnf函數被#ifdef所定義,所以我們如果想在VIVADO的控制臺看到輸出結果,要先在main.c中定義DEBUG_INFO,如下圖
    發表于 10-27 06:41

    使用nuclei studio進行調試的一些方法和技巧

    首先是在進行處理器優化時,需要觀察信號波形debug,那么就需要使用nuclei studio編譯相關benchmark,產生.verilog文件在vivado中跑testbench。對于如何編譯
    發表于 10-24 07:08

    vivado上基于二進制碼對指令運行狀態進行判斷

    a0 -8 為例 獲取相應的二進制碼將其轉換為16進制導入vivado,方法就是將代碼文件修改為.verilog文件并存入蜂鳥的tb文件夾,在vivado的tb中修改測試用例路徑即可進行仿真。 得到結果
    發表于 10-24 06:31

    AMD Vivado ChipScope助力硬件調試

    許多硬件問題只有在整個集成系統實時運行的過程中才會顯現出來。AMD Vivado ChipScope 提供了一套完整的調試流程,可在系統運行期間最大限度提升對可編程邏輯的觀測能力,助力設計調試。
    的頭像 發表于 09-05 17:08 ?1148次閱讀

    FPGA調試方式之VIO/ILA的使用

    Vivado中,VIO(Virtual Input/Output)是一種用于調試和測試FPGA設計的IP核,它允許設計者通過JTAG接口實時讀取和寫入FPGA內部的寄存器,從而檢查設計的運行狀態并修改其行為。VIO IP核提供了一個簡單易用的接口,使得用戶可以輕松地與F
    的頭像 發表于 06-09 09:32 ?3948次閱讀
    FPGA<b class='flag-5'>調試</b>方式之VIO/<b class='flag-5'>ILA</b>的使用

    FPGA遠程燒寫bit文件和調試ILA指南

    在 FPGA 開發過程中,燒寫bit文件和使用ILA進行調試是再常見不過的操作。但如果 FPGA 板卡被放在機房,或者通過PCIe插在服務器上,那么每次調試時我們都不得不帶著筆記本電腦跑去機房或服務器旁,接上 JTAG 線后才能
    的頭像 發表于 06-05 16:41 ?2562次閱讀
    FPGA遠程燒寫bit文件和<b class='flag-5'>調試</b><b class='flag-5'>ILA</b>指南

    如何使用One Spin檢查AMD Vivado Design Suite Synth的結果

    本文講述了如何使用 One Spin 檢查 AMD Vivado Design Suite Synth 的結果(以 Vivado 2024.2 為例)。
    的頭像 發表于 05-19 14:22 ?1291次閱讀
    如何使用One Spin檢查AMD <b class='flag-5'>Vivado</b> Design Suite Synth的<b class='flag-5'>結果</b>

    蜂鳥N203移植到xilinx ZCU104板子上,用JTAG調試的時出現報錯怎么解決?

    求助各位大佬,蜂鳥N203移植到xilinx ZCU104板子上,用JTAG調試的時候出現這樣的錯誤 在vivado里面跟JTAG有關的約束如下: 在調試的時候,用的是Nuclei官方的
    發表于 04-17 06:33

    蜂鳥N203移植到xilinx ZCU104板子上,用JTAG調試的時候出現錯誤怎么解決?

    求助各位大佬,蜂鳥N203移植到xilinx ZCU104板子上,用JTAG調試的時候出現這樣的錯誤 在vivado里面跟JTAG有關的約束如下: 在調試的時候,用的是Nuclei官方的
    發表于 03-07 16:46