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

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

3天內(nèi)不再提示

Vivado怎么避免信號被優(yōu)化掉

FPGA之家 ? 來源:FPGA之家 ? 2023-01-31 18:03 ? 次閱讀

剛寫了一段 Verilog代碼,辛辛苦苦花了很長時間綜合,在debug的過程中,卻找不到需要debug的信號了,查看網(wǎng)表發(fā)現(xiàn)沒有?

這種情況是因為我們的某些中間信號被優(yōu)化掉了。

被優(yōu)化掉的原因有可能是你這個信號確實對后面的輸出沒用,我寫的這個項目由于還在中間過程,功能還沒有完善,所以不想把大量的中間信號作為輸出,所以被優(yōu)化掉了,以至于在debug過程中找不到這些信號。

如何解決這個問題呢?

很簡單,最常用的就是在變量定義的時候添加語句:

(* keep = "true" *)

例如:

8a15322a-9679-11ed-bfe3-dac502259ad0.png

這樣即可,從網(wǎng)表中可以找到這些變量了。

8a38ab6a-9679-11ed-bfe3-dac502259ad0.png

當然還有其他辦法,例如:

1、 信號前面將keep hierarchy選擇yes ,或者選擇soft(在綜合時保持層次),這樣有利于你從模塊中找到你想抓取的信號和信號名不被更改。

(* keep_hierarchy = "yes" *)module fre( a, b, c, d);

or

(* keep_hierarchy = "yes" *)fre fre_inst( a, b, c, d);

2、 信號前面使用(* DONT_TOUCH= “{TRUE|FALSE}” *),可以防止信號在綜合,以及布局布線的時候被優(yōu)化掉。

(* dont_touch = "true" *) wire a;

不在話下。

聲明:本文內(nèi)容及配圖由入駐作者撰寫或者入駐合作網(wǎng)站授權(quán)轉(zhuǎn)載。文章觀點僅代表作者本人,不代表電子發(fā)燒友網(wǎng)立場。文章及其配圖僅供工程師學習之用,如有內(nèi)容侵權(quán)或者其他違規(guī)問題,請聯(lián)系本站處理。 舉報投訴
  • 信號
    +關(guān)注

    關(guān)注

    11

    文章

    2739

    瀏覽量

    76166
  • DEBUG
    +關(guān)注

    關(guān)注

    3

    文章

    89

    瀏覽量

    19773
  • Vivado
    +關(guān)注

    關(guān)注

    19

    文章

    797

    瀏覽量

    65852

原文標題:Vivado中如何避免信號被優(yōu)化掉?

文章出處:【微信號:zhuyandz,微信公眾號:FPGA之家】歡迎添加關(guān)注!文章轉(zhuǎn)載請注明出處。

收藏 人收藏

    評論

    相關(guān)推薦

    如何避免自動初始化組件截斷的情況?

    大小const數(shù)組用來占用這個區(qū)域,避免鏈接時將執(zhí)行代碼鏈接到此區(qū)域。 但編譯的時候,鏈接腳本會把合適大小的執(zhí)行代碼填補0x08000000 ~ 0x08003FFF 區(qū)域,導致鏈接時把自動初始化組件給截斷了。 請教各位大神,有沒有解決方法。避免自動初始化組件
    發(fā)表于 09-13 08:06

    優(yōu)化 FPGA HLS 設(shè)計

    優(yōu)化 FPGA HLS 設(shè)計 用工具用 C 生成 RTL 的代碼基本不可讀。以下是如何在不更改任何 RTL 的情況下提高設(shè)計性能。 介紹 高級設(shè)計能夠以簡潔的方式捕獲設(shè)計,從而
    發(fā)表于 08-16 19:56

    日常使用中如何避免信號發(fā)生器出現(xiàn)故障

    如何避免信號發(fā)生器出現(xiàn)故障的方法,對于提高設(shè)備使用效率和延長設(shè)備壽命具有重要意義。本文將從信號發(fā)生器的使用、維護、保養(yǎng)以及安全操作等方面,詳細闡述如何避免
    的頭像 發(fā)表于 05-15 11:53 ?211次閱讀

    Vivado編譯常見錯誤與關(guān)鍵警告梳理與解析

    Xilinx Vivado開發(fā)環(huán)境編譯HDL時,對時鐘信號設(shè)置了編譯規(guī)則,如果時鐘由于硬件設(shè)計原因分配到了普通IO上,而非_SRCC或者_MRCC專用時鐘管腳上時,編譯器就會提示錯誤。
    的頭像 發(fā)表于 04-15 11:38 ?3630次閱讀

    怎樣檢測測電路的差分信號和單端信號?

    在檢測電路信號之前,首先要知道什么是測電路,什么是信號。盲目測試或使用不正確的測量方法可能會導致錯誤的波形甚至損壞儀器,危及安全。 1、差分
    的頭像 發(fā)表于 03-26 11:00 ?566次閱讀
    怎樣檢測<b class='flag-5'>被</b>測電路的差分<b class='flag-5'>信號</b>和單端<b class='flag-5'>信號</b>?

    普通探頭對差分信號測量的危害有哪些?如何避免呢?

    普通探頭對差分信號測量的危害有哪些?如何避免呢? 普通探頭對差分信號測量的危害主要包括共模噪聲、信號間干擾以及接地問題。為了避免這些問題,需
    的頭像 發(fā)表于 01-08 15:40 ?501次閱讀

    如何禁止vivado自動生成 bufg

    Vivado中禁止自動生成BUFG(Buffered Clock Gate)可以通過以下步驟實現(xiàn)。 首先,讓我們簡要了解一下什么是BUFG。BUFG是一個時鐘緩沖器,用于緩沖輸入時鐘信號,使其更穩(wěn)
    的頭像 發(fā)表于 01-05 14:31 ?1440次閱讀

    Vivado時序問題分析

    有些時候在寫完代碼之后呢,Vivado時序報紅,Timing一欄有很多時序問題。
    的頭像 發(fā)表于 01-05 10:18 ?1419次閱讀

    VIVADO軟件使用問題總結(jié)

    【關(guān)鍵問題?。。?!重要!??!】VIVADO會在MESSAGE窗口出提示很多錯誤和警告信息!
    的頭像 發(fā)表于 12-15 10:11 ?1524次閱讀
    <b class='flag-5'>VIVADO</b>軟件使用問題總結(jié)

    Vivado中DONT TOUCH該如何使用?

    在FPGA編碼中,經(jīng)常會遇到一些信號、模塊等綜合工具優(yōu)化,而有些信號恰恰是我們需要的,或者需要觀測的,針對這種情況,DONT TOUCH可以滿足我們的需求,該屬性的使用頻率也較高。
    的頭像 發(fā)表于 11-30 09:56 ?1300次閱讀

    devc怎么注釋一段代碼

    DevC中,有兩種類型的注釋符號可供使用:單行注釋和多行注釋。 單行注釋:用于注釋單行代碼。在要注釋的代碼行前面添加兩個斜杠(//),該行代碼將被注釋。 示例: int x = 5 ; // printf("x的值是:%d", x); // 這行代碼
    的頭像 發(fā)表于 11-22 10:23 ?1827次閱讀

    c語言怎么把代碼全部注釋

    要將C語言代碼全部注釋,即不讓代碼編譯和執(zhí)行,可以使用注釋語句來實現(xiàn)。C語言提供兩種注釋方式:單行注釋和多行注釋。 單行注釋:使用雙斜杠(//)來注釋一行代碼。 示例: // 這是一行注釋的例子
    的頭像 發(fā)表于 11-22 10:21 ?4907次閱讀

    如何避免ADG1419的漏電流對測電流信號的影響?

    ADA4530-1的參考電路CN0407能夠檢測fA級電流,但電路中使用的開關(guān)ADG1419的漏電流為nA級,需要什么樣的處理來避免ADG1419的漏電流對測電流信號的影響?謝謝。
    發(fā)表于 11-17 08:23

    使用JTAG仿真器在vivado環(huán)境下抓信號時報錯咋辦?

    在使用JTAG仿真器在vivado環(huán)境下抓信號時,報如下錯誤:
    的頭像 發(fā)表于 11-14 10:37 ?2963次閱讀

    淺談寄存器優(yōu)化的原因

    在項目初期,在使用FPGA工具quartus或者vivado生成版本燒入開發(fā)板進行調(diào)試時(DC開啟優(yōu)化選項后同樣會優(yōu)化寄存器),我們有時會發(fā)現(xiàn)部分寄存器
    的頭像 發(fā)表于 09-26 09:47 ?915次閱讀
    淺談寄存器<b class='flag-5'>被</b><b class='flag-5'>優(yōu)化</b>的原因