chinese直男口爆体育生外卖, 99久久er热在这里只有精品99, 又色又爽又黄18禁美女裸身无遮挡, gogogo高清免费观看日本电视,私密按摩师高清版在线,人妻视频毛茸茸,91论坛 兴趣闲谈,欧美 亚洲 精品 8区,国产精品久久久久精品免费

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

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

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

用HDL代碼描述加法運(yùn)算要用操作符“+” 看似很簡單實(shí)則不然

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

掃碼添加小助手

加入工程師交流群

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

此電路對應(yīng)的HDL代碼如下圖所示。這里采用了SystemVerilog語言。有兩點(diǎn)值得注意:一是兩個N位數(shù)相加,無論是有符號數(shù)還是無符號數(shù),其結(jié)果都有可能是N+1位,故輸出比輸入位寬多1位,這樣才能保證不會發(fā)生溢出(Overflow)。二是默認(rèn)情況下,代碼中的logic表示的都是無符號數(shù),但是對于下面這段代碼,無符號數(shù)和有符號數(shù)均適用,這是因?yàn)橛蟹枖?shù)是以二進(jìn)制補(bǔ)碼表示的。

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

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

對于有符號數(shù),sum[5]則是sum[4]的復(fù)制版本,實(shí)質(zhì)上是符號位擴(kuò)展。

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

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

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

原文標(biāo)題:加法運(yùn)算很簡單?

文章出處:【微信公眾號:Lauren的FPGA】歡迎添加關(guān)注!文章轉(zhuǎn)載請注明出處。

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

    關(guān)注

    10473

    文章

    10752

    瀏覽量

    553857
  • HDL
    HDL
    +關(guān)注

    關(guān)注

    8

    文章

    331

    瀏覽量

    48896
  • 代碼
    +關(guān)注

    關(guān)注

    30

    文章

    4956

    瀏覽量

    73513

原文標(biāo)題:加法運(yùn)算很簡單?

文章出處:【微信號:Lauren_FPGA,微信公眾號:FPGA技術(shù)驛站】歡迎添加關(guān)注!文章轉(zhuǎn)載請注明出處。

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

掃碼添加小助手

加入工程師交流群

    評論

    相關(guān)推薦
    熱點(diǎn)推薦

    如何在TensorFlow Lite Micro中添加自定義操作符(1)

    來支持各種神經(jīng)網(wǎng)絡(luò)層的計算。也就是說,我們不僅可以使用內(nèi)嵌的算子運(yùn)算,還可以自己注冊一個新的算子,更加的靈活。本期就將用兩期的文章以 `reshape.cpp` 為例,詳細(xì)說明如何在 TensorFlow Lite Micro 中添加一個新的操作符。
    的頭像 發(fā)表于 12-26 10:34 ?4354次閱讀

    布爾表達(dá)式和零值比較處理

    ==0,x!=0(或者x>0)。 C代碼中每次關(guān)系運(yùn)算符的調(diào)用,編譯器都會發(fā)出一個比較指令。 如果操作符是上面提到的,編譯器便會優(yōu)化掉比較指令。例如: int aFunction
    發(fā)表于 12-12 06:16

    飛凌嵌入式ElfBoard-文件I/O的了解探究之復(fù)制文件描述符

    open返回得到的文件描述符fd可以進(jìn)行復(fù)制,復(fù)制成功之后可以得到一個新的文件 描述符,使用新的文件描述符和舊的文件描述符都可以對文件進(jìn)行IO操作
    發(fā)表于 11-26 15:36

    C語言位操作符

    C 語言位操作符包括按位與( )、按位或(|)、按位異或(^)、按位取反(~)、左移(<<)和右移(>>)。 按位與( ) 只有當(dāng)兩個二進(jìn)制位
    發(fā)表于 11-21 07:52

    飛凌嵌入式ElfBoard-文件I/O的了解探究之文件描述符和FILE指針轉(zhuǎn)換

    *fdopen(int fd, const char *mode);3)參數(shù)fd:要操作的文件描述符。mode:表示打開文件操作(1-6必選其一,7和8可以省略)?\"r\":以
    發(fā)表于 11-20 09:24

    C語言宏拼接運(yùn)算符典型使用

    在C語言中,##運(yùn)算符(稱為[size=16.002px]標(biāo)記拼接運(yùn)算符)用于宏定義中將兩個標(biāo)記(token)拼接成一個新的標(biāo)記。它在預(yù)處理階段處理,常用于動態(tài)生成變量名、函數(shù)名或類型名,以提高代碼
    發(fā)表于 11-20 08:27

    看似簡單的自動泊車需要哪些技術(shù)支撐?

    [首發(fā)于智駕最前沿微信公眾號]要實(shí)現(xiàn)自動泊車,背后需要哪些技術(shù)作為支撐?自動泊車作為現(xiàn)在很多車主應(yīng)用非常多的一項(xiàng)功能,看似只是簡單的入庫操作,但想要完美入庫,其實(shí)需要非常多的技術(shù)支持。 ? 感知
    的頭像 發(fā)表于 10-30 09:09 ?596次閱讀
    <b class='flag-5'>看似</b><b class='flag-5'>簡單</b>的自動泊車需要哪些技術(shù)支撐?

    復(fù)雜的軟件算法硬件IP核的實(shí)現(xiàn)

    中的運(yùn)算符有對應(yīng)關(guān)系。 結(jié)構(gòu)域負(fù)責(zé)將功能域中的各個基本功能單元按特定的順序和方式連接起來,通常被實(shí)現(xiàn)為一個由有限狀態(tài)機(jī)控制的數(shù)據(jù)通路,該結(jié)構(gòu)與C 語言的流程控制語句相對應(yīng)。 以一個簡單加法組合邏輯為例
    發(fā)表于 10-30 07:02

    使用Simulink自動生成浮點(diǎn)運(yùn)算HDL代碼(Part 1)

    引言 想要實(shí)現(xiàn)浮點(diǎn)運(yùn)算功能,如果自己寫Verilog代碼,需要花費(fèi)較多的時間和精力。好在Simulink HDL Coder工具箱提供了自動代碼生成技術(shù)。下圖展示了
    發(fā)表于 10-22 06:48

    如何使用 GDMA 描述符模式嗎?

    如何使用 GDMA 描述符模式嗎?
    發(fā)表于 08-29 06:00

    如何確定 M483 HSUSB 描述符?

    我們使用M843SIDAE對于USB 2.0設(shè)備,時鐘和寄存器等的初始化是正確的,但是在與主機(jī)通信時,發(fā)生了錯誤: “ USB 1-6:設(shè)備描述符讀取/64,錯誤 -71 USB 1-6:設(shè)備
    發(fā)表于 08-28 06:46

    CSD 船變壓器合閘困局,華興變壓器的破解之法

    在船舶日常維護(hù)和運(yùn)行中,您是否常常被CSD船變壓器合不上閘的問題所困擾呢?這看似一個簡單操作故障,實(shí)則背后牽扯著復(fù)雜的電力系統(tǒng)原理和諸多
    的頭像 發(fā)表于 07-05 09:32 ?497次閱讀
    CSD 船<b class='flag-5'>用</b>變壓器合閘困局,華興變壓器的破解之法

    為什么光刻要用黃光?

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

    cx3提示未知的描述符是怎么回事?

    我通過配置生成一個新的工程 運(yùn)行起來總是提示 未知的描述符
    發(fā)表于 06-04 07:08

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

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