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

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】歡迎添加關注!文章轉載請注明出處。

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

    關注

    10347

    文章

    10721

    瀏覽量

    531005
  • HDL
    HDL
    +關注

    關注

    8

    文章

    327

    瀏覽量

    47406
  • 代碼
    +關注

    關注

    30

    文章

    4791

    瀏覽量

    68694

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

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

收藏 人收藏

    評論

    相關推薦

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

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

    C語言指針運算符詳解

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

    Verilog語法中運算符的用法

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

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

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

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

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

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

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

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

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

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

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

    FPGA學習筆記---基本語法

    3、信號類型:wire, reg, tri等 4、參數定義:parameter 5、運算操作符:各種邏輯操作符、移位操作符、算數操作符
    發表于 06-23 14:58

    二維PDMA可以使用描述符鏈嗎?

    我正在嘗試使用二維描述符連鎖。 編寫了一些二維描述符鏈的代碼。 但我有一些疑問,比如 1.二維 PDMA 可以使用描述符鏈嗎? 2.如果 1 是,請附上一些
    發表于 05-31 08:16

    Golang為何舍棄三元運算符

    golang中不存在?:運算符的原因是因為語言設計者已經預見到三元運算符經常被用來構建一些極其復雜的表達式。雖然使用if進行替代會讓代碼顯得更長,但這毫無疑問可讀性更強。
    的頭像 發表于 04-03 15:13 ?711次閱讀

    鴻蒙TypeScript入門學習第5天:【TypeScript 運算符

    運算符用于執行程序代碼運算,會針對一個以上操作數項目來進行運算
    的頭像 發表于 04-01 16:18 ?492次閱讀
    鴻蒙TypeScript入門學習第5天:【TypeScript <b class='flag-5'>運算符</b>】

    加法運算電路和減法運算電路的區別

    加法運算的電路如下圖所示,輸出電壓為若干個輸入電壓的比例和
    的頭像 發表于 02-19 09:52 ?7546次閱讀
    <b class='flag-5'>加法</b><b class='flag-5'>運算</b>電路和減法<b class='flag-5'>運算</b>電路的區別

    什么是反相加法運算電路?反相加法運算電路與減法運算電路

    在電子技術的海洋中,有一種電路如同數學中的加法器一樣,能夠將不同的信號進行相加處理。這就是被廣泛應用于信號處理領域的反相加法運算電路。
    的頭像 發表于 02-17 15:34 ?4734次閱讀
    什么是反相<b class='flag-5'>加法</b><b class='flag-5'>運算</b>電路?反相<b class='flag-5'>加法</b><b class='flag-5'>運算</b>電路與減法<b class='flag-5'>運算</b>電路

    反相加法運算電路原理介紹

    反相加法運算電路利用運算放大器(通常簡稱為Op-Amp)的特性來實現多個輸入信號的加法運算。每個輸入信號都通過一個電阻連接到
    的頭像 發表于 01-31 15:53 ?4058次閱讀
    反相<b class='flag-5'>加法</b><b class='flag-5'>運算</b>電路原理介紹
    主站蜘蛛池模板: 欧美有码视频| 欧美日本不卡| 国产免费人成在线看视频| 四虎在线免费播放| 日本一区二区视频| 婷婷亚洲五月琪琪综合| 天堂8在线天堂bt| 美女性爽视频国产免费| 寂寞午夜影院| 天天艹天天操| 不卡中文字幕在线| 久久视频免费| 日本黄色短片| 色婷婷在线视频观看| 三级黄色录像| 四虎国产精品永久在线看| 亚洲色图在线观看视频| 日本高清一区二区三区不卡免费| 亚洲第一区在线| 怡红院最新网址| 伊人久久狼人| 台湾佬自偷自拍情侣在线| 日本免费性| 日本精高清区一| 精品一级毛片| 黄色大片日本| 最近高清免费观看视频大全| 成人欧美一区二区三区的电影| 欲色淫香| 国产精品午夜在线观看| 国产成人综合网在线播放| 成人午夜大片免费7777| 1024人成软件色www| rrr523亚洲国产片| 国产在线欧美精品卡通动漫| 熊出没之环球大冒险旧版免费观看| 亚洲伊人久久大香线蕉综合图片| 婷婷激情综合网| 五月婷婷六月色| 婷婷免费视频| 久久99精品久久久久久久野外|