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

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

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

關(guān)于有符號(hào)數(shù)據(jù)類(lèi)型的示例

芯片驗(yàn)證工程師 ? 來(lái)源:芯片驗(yàn)證工程師 ? 作者:芯片驗(yàn)證工程師 ? 2022-10-17 14:40 ? 次閱讀

我們學(xué)習(xí)一下Systemverilog中的有符號(hào)數(shù)據(jù)類(lèi)型的賦值。

module top;
 logic [7:0] r1;
 logic signed [7:0] sr1;
 initial begin
    r1 = -2;
    $display($stime,,,"r1=%d",r1);
    sr1 = -2;
    $display($stime,,,"sr1=%d",sr1);
    r1 = r1+1;
    $display($stime,,,"r1=%d",r1);
    sr1 = sr1+1;
    $display($stime,,,"sr1=%d",sr1);
 end
 endmodule

Simulation log:

# run –all
# 0 r1=254

# 0 sr1= -2
# 0 r1=255
# 0 sr1= -1
# exit

" r1 "被聲明為默認(rèn)的無(wú)符號(hào)8位向量,而" sr1 "被聲明為有符號(hào)8位向量。

當(dāng)我們賦值r1 =?2時(shí),因?yàn)椤皉1”是無(wú)符號(hào)的,所以它實(shí)際上會(huì)拿到值254(相當(dāng)于十進(jìn)制數(shù)字?2)。但是“sr1”會(huì)拿到值?2。

當(dāng)我們給“r1”加一個(gè)1時(shí),它的計(jì)算結(jié)果是255(254 + 1)。當(dāng)我們給“sr1”加一個(gè)1時(shí),它的計(jì)算結(jié)果是- 1(?2 + 1)。

f23af3da-47af-11ed-a3b6-dac502259ad0.png

默認(rèn)情況下,logic, reg, wire,input,output都是無(wú)符號(hào)的,但是也可以聲明為signed:

wire signed [7:0] w;
module sm (input signed [7:0] iBus, output logic signed 
[7:0] oBus);

下面還有一些簡(jiǎn)單的示例:

logic signed [3:0] sr = -1; ( sr = 4’sb1111)
logic signed [7:0] sr1 = 1; (sr1 = 8’sb00000001)
logic [7:0] adds = sr + sr1; ( adds = 8’b00000000)

logic [7:0] usr = 1;
logic signed [7:0] s_add;
s_add = sr + usr; (s_add = 15+1 = 8’sb00010000) (signed + 
unsigned = unsigned; sr is treated as unsigned 15)

審核編輯:湯梓紅

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

    關(guān)注

    28

    文章

    1343

    瀏覽量

    109925
  • System
    +關(guān)注

    關(guān)注

    0

    文章

    165

    瀏覽量

    36846
  • 數(shù)據(jù)類(lèi)型

    關(guān)注

    0

    文章

    236

    瀏覽量

    13596

原文標(biāo)題:SystemVerilog中的有符號(hào)數(shù)據(jù)類(lèi)型

文章出處:【微信號(hào):芯片驗(yàn)證工程師,微信公眾號(hào):芯片驗(yàn)證工程師】歡迎添加關(guān)注!文章轉(zhuǎn)載請(qǐng)注明出處。

收藏 人收藏

    評(píng)論

    相關(guān)推薦

    關(guān)于verilog中的無(wú)符號(hào)數(shù)符號(hào)數(shù)

    在數(shù)字電路中,出于應(yīng)用的需要,我們可以使用無(wú)符號(hào)數(shù),即包括0及整數(shù)的集合;也可以使用符號(hào)數(shù),即包括0和正負(fù)數(shù)的集合。在更加復(fù)雜的系統(tǒng)中,也許這兩種類(lèi)型的數(shù),我們都會(huì)用到。
    的頭像 發(fā)表于 11-18 17:46 ?1.7w次閱讀

    采集的數(shù)據(jù)轉(zhuǎn)換成符號(hào)數(shù)的問(wèn)題

    的時(shí)候怎么都不正確,具體原因如下,字符串轉(zhuǎn)數(shù)值的時(shí)候只發(fā)現(xiàn)可以轉(zhuǎn)換成無(wú)符號(hào)數(shù),而采集下來(lái)的數(shù)據(jù)符號(hào)數(shù),轉(zhuǎn)換成無(wú)符號(hào)數(shù)之后就無(wú)法正確顯示波
    發(fā)表于 05-02 11:55

    1.2FreeRTOS中的數(shù)據(jù)類(lèi)型

    即可。BaseType_t這個(gè)數(shù)據(jù)類(lèi)型根據(jù)系統(tǒng)架構(gòu)的位數(shù)而定,對(duì)于 32 位架構(gòu),BaseType_t 定義的是 32 位符號(hào)數(shù),對(duì)于 16 位架構(gòu),BaseType_t定義的是 16 位
    發(fā)表于 07-22 23:27

    雙狀態(tài)無(wú)符號(hào)/符號(hào)數(shù)據(jù)類(lèi)型

    雙狀態(tài)無(wú)符號(hào)數(shù)據(jù)類(lèi)型雙狀態(tài)符號(hào)數(shù)據(jù)類(lèi)型四狀態(tài)數(shù)據(jù)類(lèi)型
    發(fā)表于 01-18 06:03

    Verilog 變量聲明與數(shù)據(jù)類(lèi)型

    沒(méi)有特別指定,reg型變量是無(wú)符號(hào)數(shù),而integer聲明的變量是符號(hào)數(shù)的。integer類(lèi)型數(shù)據(jù)一般作為循環(huán)變量用在循環(huán)語(yǔ)句中。例:r
    發(fā)表于 08-06 09:21

    SpinalHDL的UInt與SInt數(shù)據(jù)類(lèi)型能夠進(jìn)行符號(hào)/無(wú)符號(hào)數(shù)操作

    在Bits的基礎(chǔ)上,SpinalHDL提供了UInt、SInt數(shù)據(jù)類(lèi)型,從而能夠進(jìn)行符號(hào)/無(wú)符號(hào)數(shù)操作。變量定義/初始化UInt/SInt的初始化與Bits
    發(fā)表于 07-14 14:45

    是否可以使用ActiveX API獲取符號(hào)數(shù)據(jù)類(lèi)型?

    ActiveX API 提供了一種方法 GetSymbolInfo,它返回輸入符號(hào)名稱(chēng)的地址和大小。但我還需要數(shù)據(jù)類(lèi)型,而且我沒(méi)有看到任何 API 功能來(lái)獲取此信息。我在我的嵌入式應(yīng)用程序中使用 TSA 表,因此我希望主機(jī)可以使用數(shù)據(jù)類(lèi)
    發(fā)表于 03-21 07:37

    fpga 符號(hào)數(shù)、無(wú)符號(hào)數(shù)

    signed 關(guān)鍵字定義輸入端口的數(shù)據(jù)類(lèi)型符號(hào)數(shù) ?input signed [7:0] a; ?input signed [7:0] b; //通過(guò) signed 關(guān)鍵字定義寄存器的數(shù)
    的頭像 發(fā)表于 10-09 15:22 ?6021次閱讀
    fpga <b class='flag-5'>有</b><b class='flag-5'>符號(hào)數(shù)</b>、無(wú)<b class='flag-5'>符號(hào)數(shù)</b>

    plc位、字節(jié)、字、雙字、符號(hào)、無(wú)符號(hào)數(shù)據(jù)類(lèi)型的關(guān)系

    plc位、字節(jié)、字、雙字、符號(hào)、無(wú)符號(hào)的關(guān)系以下內(nèi)容由深圳市綜科智控科技開(kāi)發(fā)有限公司編輯整理 2021/08/18前言:很多同學(xué)在PLC開(kāi)發(fā)過(guò)程中,因?yàn)?b class='flag-5'>數(shù)據(jù)類(lèi)型選擇錯(cuò)誤而出現(xiàn)得到的
    發(fā)表于 12-29 18:52 ?2次下載
    plc位、字節(jié)、字、雙字、<b class='flag-5'>有</b><b class='flag-5'>符號(hào)</b>、無(wú)<b class='flag-5'>符號(hào)數(shù)據(jù)類(lèi)型</b>的關(guān)系

    匯編基礎(chǔ)知識(shí)教程之數(shù)據(jù)類(lèi)型與寄存器

    字或字節(jié)。這些數(shù)據(jù)類(lèi)型的擴(kuò)展是。-h或-sh用于半字,-b或-sb用于字節(jié),而字則沒(méi)有擴(kuò)展。符號(hào)和無(wú)符號(hào)數(shù)據(jù)類(lèi)型之間的區(qū)別是。
    的頭像 發(fā)表于 01-30 15:06 ?989次閱讀
    匯編基礎(chǔ)知識(shí)教程之<b class='flag-5'>數(shù)據(jù)類(lèi)型</b>與寄存器

    PLC數(shù)據(jù)類(lèi)型

    ) 或 64 位雙精度數(shù) (LReal) 表示。比如模擬量模塊采集的溫度 壓力等 4 時(shí)間 日期數(shù)據(jù)類(lèi)型 TIME 數(shù)據(jù)作為符號(hào)雙整數(shù)存儲(chǔ),基本單位為毫秒。存儲(chǔ)的數(shù)值是多少,就代表
    發(fā)表于 04-17 15:49 ?0次下載
    PLC<b class='flag-5'>數(shù)據(jù)類(lèi)型</b>

    PLC數(shù)據(jù)類(lèi)型匯總表

    數(shù)據(jù)類(lèi)型前面的U為無(wú)符號(hào),例如UINT為無(wú)符號(hào)16位整數(shù)。INT位符號(hào)16位整數(shù)。
    的頭像 發(fā)表于 09-19 12:51 ?3076次閱讀

    FreeRTOS使用的數(shù)據(jù)類(lèi)型哪些

    的就是 32 位無(wú)符號(hào)數(shù)。對(duì)于 32 位架構(gòu)的處理器,一定要禁止此宏定義,即設(shè)置此宏定義數(shù)值為 0 即可。 BaseType_t 這個(gè)數(shù)據(jù)類(lèi)型根據(jù)系統(tǒng)架構(gòu)的位數(shù)而定,對(duì)于 32 位架
    的頭像 發(fā)表于 09-28 11:49 ?712次閱讀

    Redis的數(shù)據(jù)類(lèi)型哪些

    Redis的數(shù)據(jù)類(lèi)型哪些?五種常用數(shù)據(jù)類(lèi)型:String、Hash、Set、List、SortedSet。以及三種特殊的數(shù)據(jù)類(lèi)型:Bit
    的頭像 發(fā)表于 10-09 10:51 ?751次閱讀

    verilog中數(shù)據(jù)符號(hào)屬性(符號(hào)數(shù)和無(wú)符號(hào)數(shù))探究根源

    為了省流,還是先甩結(jié)論。符號(hào)數(shù)和無(wú)符號(hào)數(shù)的最本質(zhì)區(qū)別就是:符號(hào)位的識(shí)別和高位拓展。除此之外,另一個(gè)區(qū)別就是從人的角度如何如何讀這個(gè)數(shù),或者說(shuō)$display(%d)打印時(shí)打印的值是什
    的頭像 發(fā)表于 12-10 10:50 ?1406次閱讀
    verilog中<b class='flag-5'>數(shù)據(jù)</b>的<b class='flag-5'>符號(hào)</b>屬性(<b class='flag-5'>有</b><b class='flag-5'>符號(hào)數(shù)</b>和無(wú)<b class='flag-5'>符號(hào)數(shù)</b>)探究根源