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

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

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

多重驅(qū)動是什么?為什么需要解決

汽車玩家 ? 來源:賽靈思 ? 作者:賽靈思 ? 2020-03-08 17:31 ? 次閱讀

多重驅(qū)動定義:

具有兩個或更多個源的網(wǎng)絡(luò)信號被稱為多重驅(qū)動場景。

為何需要解決多重驅(qū)動場景?

多重驅(qū)動的存在屬于設(shè)計錯誤,最終值可能難以確定。

因此綜合工具會針對具有多重驅(qū)動的網(wǎng)絡(luò)或信號發(fā)出錯誤或警告。在 Vivado 綜合工具中將標(biāo)記“嚴(yán)重警告 (Critical Warning)”。如果不加以解決,那么“opt_design”會標(biāo)記“錯誤 (Error)”。

Vivado 報告多重驅(qū)動場景的方式如下:

Vivado 會在綜合階段識別具有多重驅(qū)動的網(wǎng)絡(luò)或信號。

它會針對設(shè)計中具有多重驅(qū)動的網(wǎng)絡(luò)標(biāo)記 Critical Warning (SYNTH 8-6859)。

它還會打印一個表,其中包含設(shè)計中多重驅(qū)動網(wǎng)絡(luò)的數(shù)量。

例如:

示例 1:多重驅(qū)動樣本

此處 out1 是在順序塊 B1 和 B2 中驅(qū)動的,這就導(dǎo)致出現(xiàn)了多重驅(qū)動狀況。

同樣,由組合邏輯和/或順序邏輯驅(qū)動的連線也會導(dǎo)致出現(xiàn)多重驅(qū)動場景。

對于總線,由多個源驅(qū)動的任意比特都會導(dǎo)致出現(xiàn)多重驅(qū)動場景。

注:對于具有不同源的專用比特,Vivado 不會標(biāo)記多重驅(qū)動。

示例 2:多重驅(qū)動、三態(tài)和層級注意事項

具有三態(tài)多重驅(qū)動的網(wǎng)絡(luò)不被視作為多重驅(qū)動狀況。

通常,任意給定時間點只能有單一源處于活動狀態(tài)。

子模塊中存在的三態(tài)驅(qū)動將被提取出來并劃歸最高層級。

示例 3:其中一個驅(qū)動屬于用戶定義的常量的多重驅(qū)動場景

在此示例中,其中一個網(wǎng)絡(luò)驅(qū)動為常量。

在此類情況下,該工具會遵循常量驅(qū)動運行而忽略另一個驅(qū)動。

該工具仍然會發(fā)出清晰的 Critical Warning。

示例 4:VIO/ILA 標(biāo)記調(diào)試和多重驅(qū)動注意事項

在 Vivado 中,如果不同的總線比特由不同子模塊驅(qū)動,則不會將其視為由多個源驅(qū)動。由于每個比特都有自己的專用驅(qū)動,因此不存在爭用。

但在此示例中,如果應(yīng)用以下任一層級限制或類似限制,Vivado 就會將其視作為多重驅(qū)動狀況。

在子模塊上應(yīng)用“keep_hierarchy”

在子模塊上應(yīng)用“don’t_touch”屬性

在子模塊的任意端口上應(yīng)用“mark_debug”屬性

將子模塊的任意端口連接到 ILA/VIO 調(diào)試核

多重驅(qū)動是什么?為什么需要解決

發(fā)生此狀況的原因是用戶未嚴(yán)格遵循相關(guān)準(zhǔn)則來保持子模塊例化的邊界。

實例 U1 僅驅(qū)動 out1[0],out1[1] 連接到 GND。

實例 U2 僅驅(qū)動 out1[1],out1[0] 連接到 GND。

由于 out1 的每個比特都具有兩個驅(qū)動,因此 Vivado 將此視作為多重驅(qū)動狀況。

調(diào)試方法:

有時根據(jù)生成的消息難以確定多重驅(qū)動的準(zhǔn)確名稱。

當(dāng)驅(qū)動適用于工具生成的網(wǎng)絡(luò)而不是用戶定義的網(wǎng)絡(luò)時,就會發(fā)生此類狀況。

您需要通過搜索具有多個驅(qū)動的網(wǎng)絡(luò)來查找多重驅(qū)動網(wǎng)絡(luò)的驅(qū)動。

您可以使用以下 Tcl 命令:

get_nets -hierarchical -top_net_of_hierarchical_group -filter { DRIVER_COUNT > 1 }

多重驅(qū)動是什么?為什么需要解決

并且有時最好運行 opt_design,因為只要綜合中存在多重驅(qū)動,“opt_design”就會發(fā)出 Errors 標(biāo)記。但由于設(shè)計經(jīng)過進一步優(yōu)化,并且當(dāng)前所有塊(DCP、調(diào)試模塊)都可用,因此 opt 中的多重驅(qū)動錯誤可能更精確。

受篇幅所限,本文并未涵蓋所有場景。以下列出部分其他場景,將來可根據(jù)需要進一步詳細(xì)講解。

非對稱 3D RAM:在 TDP 3D RAM 中,不受支持的模板可能導(dǎo)致出現(xiàn)多重驅(qū)動場景。

接口 modport:接口中已定義信號但未將其定義為 modport,此類信號將被作為 inout 來處理。這可能會導(dǎo)致出現(xiàn)多重驅(qū)動場景。

總結(jié):

至此,相信您應(yīng)該已經(jīng)了解了可能發(fā)生多重驅(qū)動的各種場景,并且已清楚認(rèn)識到需要修改 RTL 才能繼續(xù)運行流程。

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

    關(guān)注

    19

    文章

    815

    瀏覽量

    66702
收藏 人收藏

    評論

    相關(guān)推薦

    開發(fā)觸摸屏驅(qū)動需要考慮哪些因素

    摸屏驅(qū)動板是現(xiàn)代電子設(shè)備中不可或缺的一部分,它負(fù)責(zé)將用戶的觸摸操作轉(zhuǎn)化為設(shè)備可以理解的信號。觸摸屏驅(qū)動需要通過多個關(guān)鍵步驟來實現(xiàn)其功能,以下是對這些步驟的詳細(xì)介紹。
    的頭像 發(fā)表于 10-29 14:05 ?547次閱讀

    PCM2912A是否需要驅(qū)動?

    各位高手,請幫忙回復(fù)一下下面的問題: 1.PCM2912A是否需要驅(qū)動,的應(yīng)用介紹里面說明支持XP英文,IOS,VIsta系統(tǒng),但沒說支持WIN7,那么是否支持XP中文和WIN7系統(tǒng)呢? 2.目前在XP中文上顯示無法識別,是否與手冊上面沒說支持中文版有關(guān)?
    發(fā)表于 10-29 06:59

    lvds接口需要驅(qū)動

    LVDS(Low-Voltage Differential Signaling,低電壓差分信號)接口確實需要驅(qū)動,但其驅(qū)動方式與其他常見的接口有所不同。 一、LVDS接口概述 LVDS接口是一種
    的頭像 發(fā)表于 10-06 15:06 ?1202次閱讀
    lvds接口<b class='flag-5'>需要</b><b class='flag-5'>驅(qū)動</b>嗎

    超聲波風(fēng)速傳感器的換能器需要多大電容驅(qū)動

    傳感器的換能器。 關(guān)于換能器需要多大電容驅(qū)動的問題,這取決于換能器的具體參數(shù)和設(shè)計要求。以下是一些關(guān)鍵因素: 換能器的電容量 :換能器本身具有一定的電容量,這是由其材料和尺寸決定的。在設(shè)計驅(qū)動電路時,
    的頭像 發(fā)表于 09-07 11:29 ?425次閱讀

    一般繼電器需要多少電流才能驅(qū)動

    一般繼電器所需的驅(qū)動電流會根據(jù)其型號、規(guī)格和額定工作電壓等因素有所不同。通常,繼電器需要一定的電流來驅(qū)動其線圈產(chǎn)生磁場,從而使觸點閉合或斷開。以下是對繼電器驅(qū)動電流的一般性說明: 一、
    的頭像 發(fā)表于 09-05 15:18 ?3340次閱讀

    基于多重化整流器的變頻器系統(tǒng)設(shè)計

    為滿足大功率試驗系統(tǒng)的應(yīng)用需求,開展基于多重化整流的變頻器研制。在分析變頻器總體原理的基礎(chǔ)上,闡述了多重化整流器的原理,重點研究了三電平逆變器控制系統(tǒng),最后通過半實物仿真試驗驗證了三電平控制算法和控制系統(tǒng)的可行性,變頻器系統(tǒng)實現(xiàn)逆變輸出,初步完成變頻器的研制。
    的頭像 發(fā)表于 08-13 17:18 ?163次閱讀
    基于<b class='flag-5'>多重</b>化整流器的變頻器系統(tǒng)設(shè)計

    NN325-Q1多重感應(yīng)觸摸管理器數(shù)據(jù)表

    電子發(fā)燒友網(wǎng)站提供《NN325-Q1多重感應(yīng)觸摸管理器數(shù)據(jù)表.pdf》資料免費下載
    發(fā)表于 08-06 09:42 ?0次下載
    NN325-Q1<b class='flag-5'>多重</b>感應(yīng)觸摸管理器數(shù)據(jù)表

    構(gòu)造多重化整流電路的目的是什么

    提高效率 :多重化整流電路可以提高整流器的效率。通過將多個整流器并聯(lián),可以減少每個整流器的負(fù)載,從而降低損耗。 減少諧波 :在電力系統(tǒng)中,諧波會導(dǎo)致設(shè)備效率降低和熱損失增加。多重化整流電路可以有效地
    的頭像 發(fā)表于 07-22 17:23 ?1221次閱讀

    伺服驅(qū)動需要設(shè)置哪些參數(shù)

    伺服驅(qū)動器是一種用于控制伺服電機的設(shè)備,它可以接收來自控制器的指令,并將指令轉(zhuǎn)換為電機的轉(zhuǎn)速、位置和扭矩等參數(shù)。為了使伺服驅(qū)動器正常工作,需要驅(qū)動器進行一些參數(shù)設(shè)置。以下是一些常見的
    的頭像 發(fā)表于 07-13 09:52 ?3838次閱讀

    逆變電路多重化的目的是什么?如何實現(xiàn)?

    問題嚴(yán)重影響了逆變電路的性能。為了解決這些問題,人們提出了逆變電路多重化技術(shù)。本文將介紹逆變電路多重化的目的、原理、實現(xiàn)方法以及應(yīng)用領(lǐng)域。 逆變電路多重化的目的 2.1 提高輸出波形質(zhì)量 逆變電路的輸出波形質(zhì)量是衡量其性能
    的頭像 發(fā)表于 07-05 11:21 ?1935次閱讀

    直線電機需不需要驅(qū)動器以及驅(qū)動器的作用

    ,兩類電機均由動子和定子組成的,直線電機本身是不會運動的,需要通過驅(qū)動器控制其運動。 驅(qū)動器的主要功能是將電源提供的電能轉(zhuǎn)化為直線電機所需的電流和電壓信號,從而控制直線電機的運動。直線電機驅(qū)動
    的頭像 發(fā)表于 07-03 08:21 ?947次閱讀
    直線電機需不<b class='flag-5'>需要</b>配<b class='flag-5'>驅(qū)動</b>器以及<b class='flag-5'>驅(qū)動</b>器的作用

    FX3的多重DMA可處理的最大帶寬是多少?

    假設(shè)有 2 個插座,F(xiàn)X3 的多重 DMA 可處理的最大帶寬是多少? 我正試圖通過使用 2 個插座和 3 個 16KB 緩沖區(qū)的多 DMA 設(shè)置來流式傳輸未壓縮的 1080p60 視頻,但遇到
    發(fā)表于 07-03 07:17

    步進電機驅(qū)動器有哪些參數(shù)需要設(shè)置

    步進電機驅(qū)動器是一種將電脈沖信號轉(zhuǎn)換為機械運動的裝置,廣泛應(yīng)用于自動化設(shè)備、機器人、數(shù)控機床等領(lǐng)域。在使用步進電機驅(qū)動器時,需要對一些參數(shù)進行設(shè)置,以確保電機的正常運行和達(dá)到預(yù)期的性能。 電機類型
    的頭像 發(fā)表于 06-12 09:43 ?1752次閱讀

    pcb應(yīng)變測試有多重要?一文了解!

    pcb應(yīng)變測試有多重要?一文了解!
    的頭像 發(fā)表于 02-24 16:26 ?1144次閱讀

    選擇電機驅(qū)動需要注意什么

    電機驅(qū)動器是用于控制電動機運行的設(shè)備,它可以調(diào)節(jié)電機的速度、轉(zhuǎn)矩、位置等參數(shù),以滿足不同應(yīng)用場景的需求。在選擇和使用電機驅(qū)動器時,通常需要考慮以下四大要點: 匹配性:電機驅(qū)動器與電動機
    的頭像 發(fā)表于 02-05 11:32 ?1086次閱讀