衡阳派盒市场营销有限公司

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

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

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

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

sanyue7758 ? 來源:IC的世界 ? 2023-09-26 09:47 ? 次閱讀

在項(xiàng)目初期,在使用FPGA工具quartus或者vivado生成版本燒入開發(fā)板進(jìn)行調(diào)試時(shí)(DC開啟優(yōu)化選項(xiàng)后同樣會(huì)優(yōu)化掉寄存器),我們有時(shí)會(huì)發(fā)現(xiàn)部分寄存器被優(yōu)化掉了,今天簡(jiǎn)單聊聊被優(yōu)化的幾種情況。

1、寄存器被優(yōu)化的原因

目前鴿子發(fā)現(xiàn)寄存器被優(yōu)化的原因主要有兩種:

1)驅(qū)動(dòng)寄存器的信號(hào)沒有驅(qū)動(dòng)源

a. 至少有一個(gè)信號(hào)沒有驅(qū)動(dòng)源,也可能是多個(gè)

2)寄存器負(fù)載是懸空的,包含如下場(chǎng)景

a. 寄存器的唯一負(fù)載時(shí)懸空

b. 寄存器的所有負(fù)載均懸空

部分場(chǎng)景下被優(yōu)化的問題很好排查,有些場(chǎng)景排查會(huì)比較麻煩,僅僅從信號(hào)連線上看都是正常的,無法通過肉眼快速發(fā)現(xiàn)問題,這時(shí)候需要去看綜合報(bào)告,找到問題的源頭。

2、案例--大量寄存器被優(yōu)化

如下圖所示,crm是復(fù)制產(chǎn)生時(shí)鐘復(fù)位的模塊,其中輸出clka/clka_rst_n給模塊a,其中輸出clkb/clkb_rst_n給模塊b。Soft_reset_n是clka_rst_n和clkb_rst_n的源頭之一。Soft_reset_n為0,則clka_rst_n/clkb_rst_n為0,處于復(fù)制狀態(tài)。Soft_reset_n是配置讀寫模塊CSR的一個(gè)可配置寄存器,其內(nèi)部偏移地址為0x60。

通過quartus/vivado查看網(wǎng)表結(jié)構(gòu)和資源利用率,我們發(fā)現(xiàn)模塊A和模塊B大量資源被優(yōu)化,不符合常理。經(jīng)過檢測(cè)發(fā)現(xiàn),所有信號(hào)連接均正常,沒有懸空,所有信號(hào)均存在負(fù)載。

經(jīng)過反復(fù)排查后發(fā)現(xiàn),CSR模塊被手動(dòng)添加的Soft_reset_n寄存器地址分配在0x60,而CSR入口wr_addr[5:0]只有6bit,只能訪問0x40以內(nèi)的地址范圍,因此Soft_reset_n在實(shí)際網(wǎng)表中是不存在的,導(dǎo)致clka_rst_n/clkb_rst_n都沒有驅(qū)動(dòng)源,因此模塊A和模塊B大量資源被優(yōu)化。

3、推薦檢查方法

在進(jìn)行FPGA版本調(diào)試之前,首先進(jìn)行spyglass lint檢查 或者檢查quartus/vivado產(chǎn)生的綜合報(bào)告,檢查是否存在如下warning:

信號(hào)沒有驅(qū)動(dòng)

信號(hào)懸空

把這些warning確認(rèn)完后再進(jìn)行版本調(diào)試。

4、簡(jiǎn)單的規(guī)律

大量模塊邏輯被優(yōu)化,重點(diǎn)看時(shí)鐘復(fù)位

少量模塊邏輯被優(yōu)化,重點(diǎn)看資源獨(dú)享的驅(qū)動(dòng)信號(hào)

End

原審核編輯:湯梓紅


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

    關(guān)注

    1630

    文章

    21796

    瀏覽量

    605987
  • 寄存器
    +關(guān)注

    關(guān)注

    31

    文章

    5363

    瀏覽量

    121155
  • CSR
    CSR
    +關(guān)注

    關(guān)注

    3

    文章

    118

    瀏覽量

    69724
  • 優(yōu)化
    +關(guān)注

    關(guān)注

    0

    文章

    220

    瀏覽量

    23959
  • Vivado
    +關(guān)注

    關(guān)注

    19

    文章

    815

    瀏覽量

    66886

原文標(biāo)題:啥?我的寄存器被被優(yōu)化掉了!

文章出處:【微信號(hào):處芯積律,微信公眾號(hào):處芯積律】歡迎添加關(guān)注!文章轉(zhuǎn)載請(qǐng)注明出處。

收藏 人收藏

    評(píng)論

    相關(guān)推薦

    寄存器是什么?怎么操作寄存器點(diǎn)亮LED燈?

    寄存器,是集成電路中非常重要的一種存儲(chǔ)單元,通常由觸發(fā)組成。在集成電路設(shè)計(jì)中,寄存器可分為電路內(nèi)部使用的寄存器和充當(dāng)內(nèi)外部接口的寄存器這兩
    的頭像 發(fā)表于 07-21 16:59 ?4124次閱讀
    <b class='flag-5'>寄存器</b>是什么?怎么操作<b class='flag-5'>寄存器</b>點(diǎn)亮LED燈?

    聊聊寄存器優(yōu)化的2種情況

    在項(xiàng)目初期,在使用FPGA工具quartus或者vivado生成版本燒入開發(fā)板進(jìn)行調(diào)試時(shí)(DC開啟優(yōu)化選項(xiàng)后同樣會(huì)優(yōu)化寄存器),我們有時(shí)會(huì)發(fā)現(xiàn)部分寄存器
    的頭像 發(fā)表于 09-08 15:09 ?2394次閱讀
    聊聊<b class='flag-5'>寄存器</b><b class='flag-5'>被</b><b class='flag-5'>優(yōu)化</b>的2種情況

    寄存器與移位寄存器

    寄存器與移位寄存器 寄存器是用來寄存數(shù)碼的邏輯部件,所以必須具備接收和寄存數(shù)碼的功能。任何一種觸發(fā)
    發(fā)表于 03-12 15:19 ?59次下載

    寄存器,寄存器是什么意思

    寄存器,寄存器是什么意思 寄存器定義  寄存器是中央處理內(nèi)的組成部分。寄存器是有限存貯容量
    發(fā)表于 03-08 14:26 ?2.2w次閱讀

    數(shù)據(jù)寄存器,數(shù)據(jù)寄存器是什么意思

    數(shù)據(jù)寄存器,數(shù)據(jù)寄存器是什么意思 數(shù)據(jù)寄存器數(shù)據(jù)寄存器包括累加AX、基址寄存器BX、計(jì)數(shù)
    發(fā)表于 03-08 14:38 ?1.3w次閱讀

    移位寄存器,移位寄存器是什么意思

    移位寄存器,移位寄存器是什么意思 移位寄存器_
    發(fā)表于 03-08 14:50 ?1.8w次閱讀

    基于FPGA的可變長(zhǎng)度移位寄存器優(yōu)化設(shè)計(jì)

    本文以最大可變長(zhǎng)度為N、寬度為1bit的移位寄存器為模型,討論如何從結(jié)構(gòu)上優(yōu)化可變長(zhǎng)度移位寄存器和有效的FPGA實(shí)現(xiàn)。至于寬度不為1bit的情況,可以此類推
    發(fā)表于 07-23 10:55 ?5499次閱讀
    基于FPGA的可變長(zhǎng)度移位<b class='flag-5'>寄存器</b><b class='flag-5'>優(yōu)化</b>設(shè)計(jì)

    寄存器與移位寄存器

    寄存器與移位寄存器:介紹寄存器原理和移位寄存器的原理及實(shí)現(xiàn)。
    發(fā)表于 05-20 11:47 ?0次下載

    淺談ARM寄存器組織

    3.3 ARM寄存器組織 ARM處理有37個(gè)32位長(zhǎng)的寄存器。 1個(gè)用作PC(Program Counter)。 1個(gè)用作CPSR(Current Program Status Register
    發(fā)表于 10-18 13:26 ?1次下載
    <b class='flag-5'>淺談</b>ARM<b class='flag-5'>寄存器</b>組織

    為什么寄存器比內(nèi)存快_原因是這個(gè)

    本文開始介紹了寄存器特點(diǎn)、分類以及寄存器的工作原理,其次介紹了內(nèi)存的容量、大小與選購方法,最后闡述了寄存器比內(nèi)存更快的原因
    發(fā)表于 04-11 09:09 ?7154次閱讀
    為什么<b class='flag-5'>寄存器</b>比內(nèi)存快_<b class='flag-5'>原因</b>是這個(gè)

    寄存器的特性和四大種類

    寄存器是由觸發(fā)組成的,一個(gè)觸發(fā)是一個(gè)一位寄存器。多個(gè)觸發(fā)就可以組成一個(gè)多位的寄存器。由于
    的頭像 發(fā)表于 06-19 16:44 ?2w次閱讀
    <b class='flag-5'>寄存器</b>的特性和四大種類

    AD轉(zhuǎn)換寄存器設(shè)置

    AD轉(zhuǎn)換寄存器設(shè)置AD轉(zhuǎn)換寄存器設(shè)置AD轉(zhuǎn)換寄存器設(shè)置
    發(fā)表于 11-10 17:36 ?16次下載
    AD轉(zhuǎn)換<b class='flag-5'>寄存器</b>設(shè)置

    ARM通用寄存器及狀態(tài)寄存器詳解

    筆者來聊聊ARM通用寄存器以及狀態(tài)寄存器的認(rèn)識(shí)與理解。
    的頭像 發(fā)表于 01-06 14:58 ?7391次閱讀

    簡(jiǎn)述RAL寄存器模型基礎(chǔ)

    ,以及如何將寄存器模型集成到驗(yàn)證環(huán)境中。篇幅原因,將在下一篇文章再給出寄存器模型的操作圖鑒(前后門訪問API),以及寄存器覆蓋率的收集。
    的頭像 發(fā)表于 02-14 16:55 ?2833次閱讀
    簡(jiǎn)述RAL<b class='flag-5'>寄存器</b>模型基礎(chǔ)

    寄存器分為基本寄存器和什么兩種

    寄存器是計(jì)算機(jī)中用于存儲(chǔ)數(shù)據(jù)的高速存儲(chǔ)單元,它們是CPU內(nèi)部的重要組成部分。寄存器可以分為基本寄存器和擴(kuò)展寄存器兩種類型。 一、基本寄存器
    的頭像 發(fā)表于 07-12 10:31 ?1618次閱讀
    全讯网报码| 百家乐游戏真人游戏| 榆社县| 致胜百家乐软件| 百家乐官网路技巧| 吐鲁番市| 真人百家乐娱乐场开户注册 | 百家乐官网翻天粤语| 永利百家乐官网娱乐| 太阳百家乐网址| 澳门百家乐官网论坛| 百家乐官网分析概率原件| 顶级赌场下载| 百家乐l23| 百盛百家乐官网的玩法技巧和规则| 百家乐官网如何玩法| 大发888线上娱乐加盟合作| 百家乐平台注册送彩金| 百家乐官网大小技巧| 贵族娱乐城信誉| 威尼斯人娱乐网网上百家乐的玩法技巧和规则 | 蓝盾百家乐赌场| 百家乐官网怎么玩才会赢钱| 金堂县| 大发888官方删除| 百家乐娱乐平台备用网址| 百家乐官网正负计算| 百家乐官网开户送10彩金| 新世纪| 威尼斯人娱乐城真人游戏| 澳门百家乐开户投注| 百家乐官网博百家乐官网的玩法技巧和规则 | 百家乐游戏作弊| 做生意门朝向什么方向| 百家乐官网沙| 聊城市| 876棋牌游戏中心| 立博百家乐的玩法技巧和规则| 百家乐娱乐皇冠世界杯| 新花园百家乐官网的玩法技巧和规则| 金百家乐官网博彩公司|