2012-02-17 40 views
6

मैं एक 8 बिट में संग्रहीत एक हस्ताक्षरित पूर्णांक मान प्रिंट कैसे करूं रूपप्रकार reg के एक चर में संग्रहीत Verilog मुद्रण पर हस्ताक्षर किए पूर्णांक मान में

reg घोषित रजिस्टर [7: 0] एसीसी;

$ प्रदर्शन का उपयोग करना ("एसीसी:% d", एसीसी)

यह अहस्ताक्षरित मूल्य प्रिंट करता है।

$ प्रदर्शन फ़ंक्शन के लिए सही वाक्यविन्यास क्या है?

उत्तर

6

आप यह घोषणा करते हैं regsigned के रूप में, $display ऋण चिह्न दिखाएगा:

module tb; 

reg signed [7:0] acc; 

initial begin 
    acc = 8'hf0; 
    $display("acc : %d", acc); 
end 

endmodule 

/* 

Prints out: 

acc :   -16 

*/ 
4

रूप में अच्छी तरह से इस समस्या में पड़ गए और SystemVerilog 2012 मानक के माध्यम से देखा, लेकिन में signedness का कोई उल्लेख नहीं देखा प्रारूप विनिर्देशों के बारे में अनुभाग।

$display("acc : %d", $signed(acc)) 

"$ पर हस्ताक्षर किए" समारोह में एक ही bitwidth के साथ एक हस्ताक्षरित प्रकार में इनपुट मूल्य धर्मान्तरित: यहाँ एक विकल्प (मूल रूप से बराबर) समाधान है कि भी काम करता है।