在线观看www成人影院-在线观看www日本免费网站-在线观看www视频-在线观看操-欧美18在线-欧美1级

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

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

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

assign和signed的聯(lián)合背刺事件

冬至子 ? 來源:芯時代青年 ? 作者:尼德蘭的喵 ? 2023-12-04 11:33 ? 次閱讀

沒想到啊沒想到啊,有一天會被濃眉大眼的assign背刺!想當(dāng)年在always消失術(shù)里,在X態(tài)分析里,在xprop平替策略里,把a(bǔ)ssign捧的這么高,優(yōu)點說了800多項,然后今天一仿真出bug了?!

還有有符號數(shù)和無符號數(shù),我都吹出去了已經(jīng)大成大成了,這還能出錯?!

萬事皆有可能,于是就出現(xiàn)了這個事。

事情的根源簡化完就是下面這個語法,當(dāng)sel為0時輸出i_a高位補(bǔ)零的右移結(jié)果(相當(dāng)于視i_a為無符號數(shù)),sel為1時輸出i_a高位補(bǔ)符號位的輸出結(jié)果相當(dāng)于視i_a為有符號數(shù)):

//test
wire [31:0]i_a = 32'hff00_0000;
wire       sel = 1'b1;


wire [31:0]en0     = (sel == 1'b0) ? i_a > >> 8 : 
                                     $signed(i_a) > >> 8;

wire [31:0]en1_mid = $signed(i_a) > >> 8;
wire [31:0]en1     = (sel == 1'b0) ? i_a > >> 8 : en1_mid;

好,大家先看著這en0和en1的值。

en0和en1的值分別是啥呢?

圖片

en0 = 32'h00ff_0000;

en1 = 32'hffff_0000;

問題出在哪呢?前面咱們總結(jié)過:有符號數(shù)和無符號數(shù)運算,結(jié)果為無符號數(shù)。這句話不太嚴(yán)謹(jǐn),應(yīng)該完善為:有符號數(shù)和無符號數(shù)運算,所有的運算數(shù)會被視為無符號數(shù),結(jié)果為無符號數(shù)。

因為en0運算公式中,有符號數(shù)和無符號數(shù)混合運算了,有符號數(shù)和無符號數(shù)混合時會自動將所有的變量視為無符號數(shù)進(jìn)行運算,而這個混合運算很難發(fā)現(xiàn):

wire [31:0]en0     = (sel == 1'b0) ? i_a > >> 8 : $signed(i_a) > >> 8;

對,i_a >>> 8是個無符號數(shù)的運算!/(ㄒoㄒ)/~~所以帶著signed(i_a) >>> 8也變成了無符號數(shù)的運算。所以說如果把signed(i_a) >>> 8單提出來先算好,再參與選擇邏輯就是預(yù)期的結(jié)果了。

那么最后一個小問題,選擇邏輯參與不參與這個有符號數(shù)和無符號數(shù)的爭端呢?不參與,比如代碼改成這樣:

wire [31:0]en0     = (sel == 1'b0) ? $signed(i_a > >> 8) : $signed(i_a) > >> 8;

我把前面的運算結(jié)果通過$signed擴(kuò)了一下,然后再仿真:

圖片

這說明了兩個問題:

1.選擇邏輯沒有參與到有符號數(shù)和無符號數(shù)的判定中;

2.判定時signed(i_a) >>> 8,看的是同一級別的其他運算項的符號屬性,比如此時他看的是signed(...);

再改一下就又回去了:

wire [31:0]en0     = (sel == 1'b0) ? $signed(i_a > >> 8) + 1'b1 : $signed(i_a) > >> 8;

圖片

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

    關(guān)注

    14

    文章

    1018

    瀏覽量

    83744
收藏 人收藏

    評論

    相關(guān)推薦

    ALLEGRO畫銅皮時可否自動ASSIGN NET

    在ALLEGRO中畫SHAPE時需要再ASSIGN給它NET,這樣感覺不太方便,而且ASSIGN NET需要在右鍵選項很下面,感覺效率很低。不知ALLEGRO中可否做到象PROTEL 那樣,畫銅皮到器件上時,能自動附上網(wǎng)絡(luò)屬性呢?這樣我就可以省很多時間了咯。
    發(fā)表于 03-31 06:52

    typedef volatile signed short什么意思

    typedef volatile signed short什么意思,求求
    發(fā)表于 07-18 11:58

    wire 和 assign的 區(qū)別 ---求助

    regrst_nr2;wirelocked; (1)wire sysrst_nr0= rst_nr2 & locked; (2)assign sysrst_nr0= rst_nr2 & locked;上面 兩個賦值 一樣嗎,有區(qū)別嗎
    發(fā)表于 02-20 10:59

    資料下載:HDL中的unsigned與signed

    unsigned與signed:想必大家在C語言是經(jīng)常用到,可不知HDL語言中的unsigned與signed是否常用羅!其含義與C語言中的意思無異,區(qū)別主要是取值范圍。unsigned
    發(fā)表于 07-02 07:59

    HDL語言中的unsigned與signed的主要區(qū)別是什么

    unsigned是什么意思?signed是什么意思?HDL語言中的unsigned與signed的主要區(qū)別是什么?
    發(fā)表于 09-24 07:02

    -靠-巴倫測試電路圖

    -靠-巴倫測試電路圖 用背靠背的方法來得到巴倫插入損耗的特性值圖7 是
    發(fā)表于 07-23 11:43 ?2901次閱讀
    <b class='flag-5'>背</b>-靠-<b class='flag-5'>背</b>巴倫測試電路圖

    什么是DLP投?和液晶投有何區(qū)別?

    什么是DLP投?和液晶投有何區(qū)別? 相信曾在一段時間里,你耳邊經(jīng)常聽到、媒體上經(jīng)常看到"投電視"一詞,或許你正在每天都在使用它。
    發(fā)表于 02-06 11:48 ?3208次閱讀

    投電視,投電視工作原理是什么?

    投電視,投電視工作原理是什么? 一、何為投電視  顧名思義,"投"就是背后投影的電視機(jī)。一種假借投影和反射原理,
    發(fā)表于 03-24 11:59 ?1.6w次閱讀

    舌診圖像點和瘀點的識別與提取

    計算機(jī)舌診系統(tǒng)中,點和瘀血點是重要的舌象。基于斑點檢測、支持向量機(jī)( SVM)和K均值聚類算法,提出了對舌診圖像中點和瘀點的識別及提取方法。首先利用SimpleBlobDetector斑點
    發(fā)表于 11-20 11:34 ?4次下載
    舌診圖像點<b class='flag-5'>刺</b>和瘀點的識別與提取

    投電視歷史_投電視的應(yīng)用領(lǐng)域

    本文首先闡述了投電視的歷史。其次介紹了投電視的優(yōu)勢,最后介紹了投電視的應(yīng)用領(lǐng)域。
    發(fā)表于 09-14 16:55 ?3186次閱讀

    投電視的安裝方法_投電視的保養(yǎng)維護(hù)

    本文主要闡述了投電視的安裝方法及投電視的保養(yǎng)維護(hù)。
    發(fā)表于 09-15 16:49 ?2970次閱讀

    專業(yè)游戲手機(jī)”iQOO Neo5開始首次發(fā)售

    iQOO正式推出了搭載“雙芯”的“新生代性能旗艦”iQOO Neo5手機(jī),堪稱“專業(yè)游戲手機(jī)”。這款手機(jī)已開始首次發(fā)售。
    的頭像 發(fā)表于 03-22 10:19 ?2239次閱讀

    miniLED芯片晶工藝對錫膏需要什么條件?

    miniLED顯示器的制造,今天錫膏廠家來聊一聊miniLED芯片晶工藝對錫膏需要什么條件?如何理解晶工藝?晶工藝是在miniLED制造過程中所用到的其中一種工藝,
    的頭像 發(fā)表于 03-03 16:50 ?904次閱讀
    miniLED芯片<b class='flag-5'>刺</b>晶工藝對錫膏需要什么條件?

    Grok即將上線!馬斯克據(jù)此成為“數(shù)據(jù)封建王”?

    馬斯克Open AI,即將成為“數(shù)據(jù)封建主”?
    的頭像 發(fā)表于 12-12 10:18 ?623次閱讀
    Grok即將上線!馬斯克據(jù)此成為“數(shù)據(jù)封建王”?

    assign語句和always語句的用法

    Assign語句和Always語句是在硬件描述語言(HDL)中常用的兩種語句,用于對數(shù)字電路建模和設(shè)計。Assign語句用于連續(xù)賦值,而Always語句用于時序邏輯建模。本文將詳細(xì)探討這兩種語句
    的頭像 發(fā)表于 02-22 16:24 ?2562次閱讀
    主站蜘蛛池模板: 四虎影永久地址www| 久久伊人成人网| 国产va免费精品观看| 欧美黄业| 老师办公室高h文小说| 国产成人精品午夜二三区| 欧美区亚洲区| 欧美性色黄| 天天摸天天操天天干| 49vv婷婷网| 日本黄色片在线观看| 久久精品99无色码中文字幕| 天天射天天操天天| 性做久久久久久久| 日本大片网| 天天干天天色天天射| 亚洲国产精品国产自在在线| 日本成人视屏| 日本在线视| 49pao强力免费打造在线高清| 色版视频| 天天干夜夜爽天天操夜夜爽视频| 亚洲男人的天堂在线观看| 欧美日韩亚洲国内综合网俺| 天天操天天操天天干| 99热.com| 国产va在线播放| h视频在线观看视频观看| 日本黄色免费电影| 免费人成网站永久| 一级特级毛片免费| aa毛片| 一区二区三区免费精品视频| 欧美二区三区| 大黄蕉| 人与禽性视频77777| 免费欧美黄色| 四虎影视院| 手机看片福利在线| 亚洲免费成人在线| 午夜影院普通|