女人自慰AV免费观看内涵网,日韩国产剧情在线观看网址,神马电影网特片网,最新一级电影欧美,在线观看亚洲欧美日韩,黄色视频在线播放免费观看,ABO涨奶期羡澄,第一导航fulione,美女主播操b

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

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

3天內不再提示

用HDL代碼描述加法運算要用操作符“+” 看似很簡單實則不然

FPGA技術驛站 ? 來源:Lauren的FPGA ? 作者:Lauren的FPGA ? 2020-09-24 14:31 ? 次閱讀
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

采用HDL代碼描述加法運算只需要用操作符“+”即可,這看似很簡單,這里我們以兩個4-bit數相加為例,對輸入/輸出數據均寄存,從而形成如下圖所示電路。

此電路對應的HDL代碼如下圖所示。這里采用了SystemVerilog語言。有兩點值得注意:一是兩個N位數相加,無論是有符號數還是無符號數,其結果都有可能是N+1位,故輸出比輸入位寬多1位,這樣才能保證不會發生溢出(Overflow)。二是默認情況下,代碼中的logic表示的都是無符號數,但是對于下面這段代碼,無符號數和有符號數均適用,這是因為有符號數是以二進制補碼表示的。

為了進一步說明,我們看如下例子。數據a二進制形式位1001,既可以看作無符號數9(十進制),也可以看作有符號數-7(十進制);數據b二進制形式為1010,既可以看作無符號數10(十進制),也可以看作有符號數-6(十進制)。最終結果的二進制形式為10011,既可以看作無符號數19(十進制),也可以看作有符號數-13(十進制)。

這里兩個4-bit數相加和設置為5-bit,如果和設置為6-bit,有符號數和無符號數的結果是否一致呢?對于無符號數,sum[5]補0,如圖中紅色方框所示。

對于有符號數,sum[5]則是sum[4]的復制版本,實質上是符號位擴展。

本質上,在賦值時,如果把一個N位數據a賦值給一個位寬M的數據b(這里M>N),且兩個數據均為同一類型(都是有符號或無符號),此時是將N位數據做符號位擴展為M位再賦值給b。因此,對于兩個N位數據相加,如果輸出位寬選擇大于N+1,那么上述代碼只適合于無符號數,對于有符號數需要在logic后加關鍵字signed,如下圖所示。

如果兩個位寬不等的數相加,同樣需要指明是有符號數還是無符號數。例如,一個4-bit數和一個3-bit數相加,如下圖所示。如果a二進制為1001,對應無符號數9(十進制),b二進制形式為101,對應無符號數5(十進制),兩個無符號數相加,先將b高位補0,最終和為01110;如果將a和b看作有符號數,則要將b符號位擴展為1101,最終和為10110。符號位擴展是工具完成的,無需人工干預。

總體而言,在描述加法運算時,如果兩個數據均為N位,那么和要設置為N+1位,此時無符號數的描述方式也適合于有符號數。如果兩個數一個是N位,一個是M位,且M>N,那么和要設置為M+1位,此時要明確指出是有符號數還是無符號數。

原文標題:加法運算很簡單?

文章出處:【微信公眾號:Lauren的FPGA】歡迎添加關注!文章轉載請注明出處。

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

    關注

    10414

    文章

    10738

    瀏覽量

    542991
  • HDL
    HDL
    +關注

    關注

    8

    文章

    330

    瀏覽量

    48036
  • 代碼
    +關注

    關注

    30

    文章

    4900

    瀏覽量

    70681

原文標題:加法運算很簡單?

文章出處:【微信號:Lauren_FPGA,微信公眾號:FPGA技術驛站】歡迎添加關注!文章轉載請注明出處。

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

掃碼添加小助手

加入工程師交流群

    評論

    相關推薦
    熱點推薦

    為什么光刻要用黃光?

    進入過無塵間光刻區的朋友,應該都知道光刻區里的都是黃燈,這個看似很簡單的問題的背后卻蘊含了很多鮮為人知的道理,那為什么實驗室光刻要用黃光呢? 光刻是微流控芯片制造中的重要工藝之一。
    的頭像 發表于 06-16 14:36 ?232次閱讀

    USB組合設備的配置描述符里一定要用IAD描述符嗎?

    USB組合設備的配置描述符里一定要用IAD描述符
    發表于 03-11 06:41

    邏輯異或運算符在Python中的用法

    在Python編程語言中,邏輯異或運算符并不直接作為一個內置的操作符存在,因為Python更側重于高級編程和可讀性,并沒有直接提供異或運算符的簡寫形式用于邏輯運算(真/假值的異或)。然
    的頭像 發表于 11-19 09:46 ?846次閱讀

    FPGA中的浮點四則運算是什么

    由于定點的四則運算比較簡單,如加減法只要注意符號擴展,小數點對齊等問題即可。在本文中,運用在前一節中描述的自定義浮點格式FPGA中數的表示方法(下),完成浮點四則運算的實現過程 1.自
    的頭像 發表于 11-16 12:51 ?932次閱讀
    FPGA中的浮點四則<b class='flag-5'>運算</b>是什么

    FPGA中浮點四則運算的實現過程

    由于定點的四則運算比較簡單,如加減法只要注意符號擴展,小數點對齊等問題即可。在本文中,運用在前一節中描述的自定義浮點格式FPGA中數的表示方法(下),完成浮點四則運算的實現過程 1.自
    的頭像 發表于 11-16 11:19 ?1419次閱讀
    FPGA中浮點四則<b class='flag-5'>運算</b>的實現過程

    C語言指針運算符詳解

    在C語言中,當你有一個指向數組中某個元素的指針時,你可以對該指針執行某些算術運算,例如加法或減法。這些運算可以用來遍歷數組中的元素,如ptr[i]等價于*(ptr + i)。然而,如果你的操作
    的頭像 發表于 10-30 11:16 ?793次閱讀

    Verilog語法中運算符的用法

    verilog語法中使用以下兩個運算符可以簡化我們的位選擇代碼。
    的頭像 發表于 10-25 15:17 ?2543次閱讀
    Verilog語法中<b class='flag-5'>運算符</b>的用法

    技術干貨驛站 ▏解鎖C語言高效編程秘訣:深入解析運算符與優先級

    在C語言的學習過程中,運算符的使用是不可忽視的重要環節。本文將繼續深入探討C語言中的運算符,重點介紹位運算符、賦值運算符及其優先級。掌握這些運算符
    的頭像 發表于 10-13 08:09 ?631次閱讀
    技術干貨驛站 ▏解鎖C語言高效編程秘訣:深入解析<b class='flag-5'>運算符</b>與優先級

    【「數字IC設計入門」閱讀體驗】+目錄和前2章

    4.1.8函數調用30 4.2操作符30 4.2.1算術操作符31 4.2.2關系操作符33 4.2.3相等關系操作符33 4.2.4邏輯操作符
    發表于 10-10 17:12

    技術干貨驛站 ▏深入理解C語言:編程高手必備,全方位解析運算符的核心技能!

    在C語言的編程領域中,運算符是實現數據處理與邏輯操作的關鍵工具。無論是在處理簡單的數值計算,還是在構建復雜的邏輯結構時,運算符的使用貫穿始終。作為編程語言的基礎組成部分之一,
    的頭像 發表于 09-18 15:56 ?764次閱讀
    技術干貨驛站 ▏深入理解C語言:編程高手必備,全方位解析<b class='flag-5'>運算符</b>的核心技能!

    鴻蒙原生應用元服務開發-倉頡基礎數據類型整數類型

    :一元負號(-)、加法(+)、減法(-)、乘法(*)、除法(/)、取模(%)、冪運算( )。 除了一元負號(-)和冪運算( ),其他操作符要求左右
    發表于 09-13 14:55

    鴻蒙原生應用元服務開發-倉頡基礎數據類型布爾類型

    let b: Bool = false 布爾類型支持的操作 布爾類型支持的操作符包括:邏輯操作符(邏輯非!,邏輯與 &&,邏輯或 ||)、部分關系操作符
    發表于 09-09 09:57

    c語言中從左到右結合怎么看

    在C語言中,操作符的結合性(Associativity)是指當操作符在表達式中連續出現時,它們如何與操作數結合的順序。對于大多數二元操作符(即需要兩個
    的頭像 發表于 08-20 11:42 ?1667次閱讀

    c語言從右到左的運算符有哪些

    用在變量之后時,它們會先返回變量的原始值,然后再進行遞增或遞減。 三元條件運算符 ( ?: ):這個運算符的求值順序是從右到左。首先計算第三個表達式,然后根據第一個表達式的結果選擇第二個或第三個表達式。 賦值運算符 ( = ):
    的頭像 發表于 08-20 11:39 ?1838次閱讀

    請問全差分運算放大器能像一般運算放大器一樣設計加法器嗎?

    全差分運算放大器能像一般運算放大器一樣設計加法器嗎?
    發表于 08-09 06:26