91欧美超碰AV自拍|国产成年人性爱视频免费看|亚洲 日韩 欧美一厂二区入|人人看人人爽人人操aV|丝袜美腿视频一区二区在线看|人人操人人爽人人爱|婷婷五月天超碰|97色色欧美亚州A√|另类A√无码精品一级av|欧美特级日韩特级

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

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

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

Verilog中signed和$signed()的用法

FPGA設計論壇 ? 來源:FPGA設計論壇 ? 2025-02-17 17:47 ? 次閱讀
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

1、在verilog中有時會用signed修飾符來修飾定義的數(shù)據(jù),運算的時候也會用$signed()任務來強制轉(zhuǎn)換數(shù)據(jù),那么signed的修飾是為什么呢,是為了區(qū)分有符號數(shù)和無符號數(shù)的加法和乘法嗎?其實不是的,因為有符號數(shù)和無符號數(shù)據(jù)的加法強結果和乘法器結構是一樣的,signed的真正作用是決定如何對操作數(shù)擴位的問題。

2、verilog中的加法和乘法操作前,會先對操作數(shù)據(jù)擴位成結果相同的位寬,然后進行加法或者乘法處理。比如a/b都為4位數(shù)據(jù),c為5位數(shù)據(jù),c = a + b,這個運算的時候會先把a和b擴位成5位,然后按照無符號加法進行相加。a/b沒有被signed修飾的時候會按照無符號數(shù)的擴位方式進行擴位,即高位補0,加法的結果當然也是a、b為無符號數(shù)相加的結果。

3、如果想把a、b作為有符號數(shù)來相加,那么就得在a/b數(shù)據(jù)定義的時候用signed修改,或者在計算的時候用$signed()來修飾,這樣在c = a + b,這個運算開始的擴位就會按照有符號數(shù)的方式進行擴位,在高位補符號位,加法得出的結果就是a、b視為有符號數(shù)的結果。當然c要視為有符號數(shù)據(jù)。

e55494b0-ec1b-11ef-9310-92fbcf53809c.png

e5626766-ec1b-11ef-9310-92fbcf53809c.png

e577d7d6-ec1b-11ef-9310-92fbcf53809c.png

$signed()函數(shù)

返回有符號的值,值得注意的是verilog中的負數(shù)其實是{1’b1,pos_num},而并非高級語言中的補碼。使用中最好通過增加$signed{1’b符號,正數(shù)}來實現(xiàn)轉(zhuǎn)換以避免錯誤。

此外在對signed wire 或signed reg 賦值時,右側的所有變量最好全部加上$signed函數(shù)轉(zhuǎn)換,以防止遺漏,造成數(shù)據(jù)錯誤

signed變量移位操作時最好使用<<<和>>>,防止對符號位進行操作,導致數(shù)據(jù)出錯

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

    關注

    30

    文章

    1374

    瀏覽量

    114542

原文標題:Verilog 中signed和$signed()的用法

文章出處:【微信號:gh_9d70b445f494,微信公眾號:FPGA設計論壇】歡迎添加關注!文章轉(zhuǎn)載請注明出處。

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

掃碼添加小助手

加入工程師交流群

    評論

    相關推薦
    熱點推薦

    使用 VisionFive 2 上的氣壓傳感器測量高度

    此參考值測量高程值。 在實際測量,由于環(huán)境影響,結果值可能會有一定程度的漂移??梢钥紤]連續(xù)讀取多條數(shù)據(jù),然后使用一定的算法來獲得最終合理的測試結果。 4. 總結 在這個演示,我們學習了氣壓傳感器的基本用法。 事實上,壓力傳感
    發(fā)表于 03-09 06:02

    變頻器的特殊用法

    變頻器作為電力電子技術的重要應用設備,其核心功能是通過改變電源頻率實現(xiàn)對電機轉(zhuǎn)速的精確控制。然而在實際工業(yè)場景和創(chuàng)意應用,工程師們早已突破傳統(tǒng)認知,開發(fā)出一系列令人驚嘆的特殊用法。這些創(chuàng)新實踐不僅拓展了變頻器的應用邊界,更展現(xiàn)了電力電子技術的無限可能。
    的頭像 發(fā)表于 03-03 17:08 ?480次閱讀

    通過2的冪次進行除法和取余數(shù)快捷方法優(yōu)化

    如果除法的除數(shù)是2的冪次,我們可以更好的優(yōu)化除法。 編譯器使用移位操作來執(zhí)行除法。因此,我們需要盡可能的設置除數(shù)為2的冪次(例如64而不是66)。 并且依然記住,無符號unsigned整數(shù)除法
    發(fā)表于 12-12 06:02

    verilog testbench運行測試用例時,運行到make run_test出錯怎么解決?

    按照胡老師書上的在verilog testbench運行測試用例時,在運行到make run_test步驟時出錯,查了很多方案沒有解決。
    發(fā)表于 11-11 06:52

    使用NucleiStudio生成tb仿真需要的.verilog文件

    打開仿真頂層文件tb_top.v,存放在ITCM模塊里面的指令是通過readmemh函數(shù)讀入.verilog文件實現(xiàn)的: 下面通過對NucleiStudio IDE進行設置,實現(xiàn)將c
    發(fā)表于 11-05 07:07

    定點數(shù)表示實數(shù)的方法以及定點數(shù)在硬件上的運算驗證

    實現(xiàn),不建議使用除法,通常除法運算較慢,將嚴重影響時序。 FPGA定點數(shù)乘法運算 高版本的綜合工具已經(jīng)支持有符號整數(shù)運算的綜合,我們僅需要在RTL代碼的對應數(shù)據(jù)中加入 signed關鍵詞
    發(fā)表于 10-28 08:13

    rt-thread studio怎么設置才能讓char變量是真正的有符號類型?

    如下圖所示‘char’ is signed(fsigned-char)這個選項,編譯器都將char變量視為無符號的。請知曉的朋友指導一下,謝謝。
    發(fā)表于 09-16 08:23

    用TXT編輯器打開十六進制文件,如何知道校驗和值?

    ).elf --output ./build/APP_PMG1-CY7113/Release/ $(APPNAME)_signed.elf --hex ./build/APP_PMG1-CY7113
    發(fā)表于 05-23 07:49

    UIAbility組件基本用法說明

    UIAbility組件基本用法 UIAbility組件的基本用法包括:指定UIAbility的啟動頁面以及獲取UIAbility的上下文UIAbilityContext。 指定UIAbility
    發(fā)表于 05-16 06:32

    SVA斷言的用法教程

    SVA是System Verilog Assertion的縮寫,即用SV語言來描述斷言。斷言是對設計的屬性的描述,用以檢查設計是否按照預期執(zhí)行。
    的頭像 發(fā)表于 05-15 11:39 ?3412次閱讀
    SVA斷言的<b class='flag-5'>用法</b>教程

    verilog模塊的調(diào)用、任務和函數(shù)

    在做模塊劃分時,通常會出現(xiàn)這種情形,某個大的模塊包含了一個或多個功能子模塊,verilog是通過模塊調(diào)用或稱為模塊實例化的方式來實現(xiàn)這些子模塊與高層模塊的連接的.
    的頭像 發(fā)表于 05-03 10:29 ?1579次閱讀
    <b class='flag-5'>verilog</b>模塊的調(diào)用、任務和函數(shù)

    harmony OS NEXT-Navagation基本用法

    # Navagation基本用法 > Navigation組件是路由導航的根視圖容器,一般作為Page頁面的根容器使用,其內(nèi)部默認包含了標題欄,內(nèi)容欄和公工具欄,其中內(nèi)容區(qū)默認首頁顯示導航內(nèi)容
    的頭像 發(fā)表于 04-27 17:39 ?941次閱讀

    使用RT1060的mcuboot開源sdk示例擦除主插槽的錯誤鏡像怎么解決?

    你好 我在控制臺上遇到以下錯誤: 主插槽: version=1.0.0 0 圖像 0 輔助插槽:未找到圖像 擦除主插槽的錯誤映像。 沒有要為映像 0 加載的插槽 找不到可啟動映像。 所以讓我
    發(fā)表于 04-10 08:13

    FPGA Verilog HDL語法之編譯預處理

    Verilog HDL語言和C語言一樣也提供了編譯預處理的功能?!熬幾g預處理”是Verilog HDL編譯系統(tǒng)的一個組成部分。Verilog HDL語言允許在程序中使用幾種特殊的命令(它們不是一般
    的頭像 發(fā)表于 03-27 13:30 ?1454次閱讀
    FPGA <b class='flag-5'>Verilog</b> HDL語法之編譯預處理

    一文詳解Verilog HDL

    Verilog HDL(Hardware Description Language)是一種硬件描述語言,用于從算法級、門級到開關級的多種抽象設計層次的數(shù)字系統(tǒng)建模?,F(xiàn)實生活多用于專用集成電路
    的頭像 發(fā)表于 03-17 15:17 ?4319次閱讀
    一文詳解<b class='flag-5'>Verilog</b> HDL