0
我目前有問題,當試圖將來自我的模塊輸入來自我的邏輯變量之一的16位數字。當我在測試臺上設置所有位時,我得到一個值:0000000000000001.希望你能幫助! PS:對不起,不知道如何在這裏插入代碼....爲什麼我不能在SystemVerilog的邏輯中存儲16位?
我的代碼如下所示:
我目前有問題,當試圖將來自我的模塊輸入來自我的邏輯變量之一的16位數字。當我在測試臺上設置所有位時,我得到一個值:0000000000000001.希望你能幫助! PS:對不起,不知道如何在這裏插入代碼....爲什麼我不能在SystemVerilog的邏輯中存儲16位?
我的代碼如下所示:
我覺得你的問題很可能與這一行:
regy = (!regy)+1;
regy
是一個16位值。在多位值上使用否定運算符(!)
相當於(value != 0)
。因此,對於除零之外的任何值regy
將將regy
設置爲1.
如果您嘗試反轉所有位並添加1,則需要使用~
運算符。
實施例:
regy = (~regy)+1;
'〜X + 1'是可以寫成'一個二進制補碼反轉-x' – Morgan