2013-07-01 5 views
6

मेरे पास एक टेस्ट बेंच है जो बस पर नज़र रखता है। बस के भीतर कुछ सिग्नल 1'बीएक्स हो सकते हैं। कई कारणों से मुझे यह जानने की जरूरत है कि बस के भीतर कोई सिग्नल 1'बीएक्स है या नहीं। यदि बस में कोई एक्स है तो परीक्षण करने के लिए सबसे अच्छा तरीका (संश्लेषण के लिए नहीं - सिमुलेशन उद्देश्यों के लिए) क्या है? मैंने आशा की थी कि मैं कमी का उपयोग कर सकता हूं या फिर === का उपयोग कर सकता हूं, लेकिन ऐसा लगता है कि यह काम नहीं कर रहा है। धन्यवाद,यह बताने का सबसे अच्छा तरीका क्या है कि बस में Verilog में एक x है?

डी

+0

इस प्रश्न को वोट क्यों दिया गया था? – Doov

उत्तर

7

(^bus === 1'bX)

बिट के लिहाज से XOR बस तो किसी भी बिट है एक्स या जेड एक्स तो परिणाम होगा

बस में जो थोड़ा है पता करने के लिए करता है, तो परिणाम एक्स है की जाँच त्रुटि:

always @* begin 
    for(integer i=0; i<$size(bus); i++) begin 
    if(bus[i]===1'bX) $display("bus[%0d] is X",bus[i]); 
    if(bus[i]===1'bZ) $display("bus[%0d] is Z",bus[i]); 
    end 
end 
+0

आह, समझ गया। मुझे वह पसंद है। धन्यवाद! – Doov

+0

बिट-वार xor पूरी बस की जांच करेगा, लेकिन यह नहीं कहेंगे कि एक्स या ज़ेड बस में मौजूद है। यदि आप एक्स या जेड के स्थान को जानना नहीं चाहते हैं तो यह उपयोगी है। – Greg

5
$isunknown (IEEE Std 1800-2005 में शुरू की)

आप उपयोग कर सकते हैं:

module tb; 

reg [3:0] data; 

initial begin 
    #5 data = 4'b0101; 
    #5 data = 4'b000x; 
    #5 data = 4'b1111; 
    #5 data = 4'b0x0x; 
    #5 data = 4'b0x1x; 
    #5 data = 4'bzzzz; 
    #5 $finish; 
end 

always @(data) begin 
    if ($isunknown(data)) $display($time, " data=%b has x's", data); 
end 

endmodule 

/* 

        10 data=000x has x's 
        20 data=0x0x has x's 
        25 data=0x1x has x's 
        30 data=zzzz has x's 

*/ 

ध्यान दें कि यह भी x रूप z व्यवहार करता है।

+1

बिट-वार 'या' यदि कोई बिट 1 – Greg

+0

@ ग्रेग है तो एक्स एक्स का पता लगाने में असफल हो जाएगा: आप सही हैं। मैंने अपना जवाब संशोधित कर दिया है। बहुत बुरा ओपी कुछ इनपुट डेटा प्रदान नहीं किया था। – toolic

+0

यदि आपके पास कोई 1s और xs मिश्रित नहीं है तो कमी या काम करता है। यदि आप 4'b010x की तरह कुछ कोशिश करते हैं तो यह असफल हो जाएगा। – Doov

संबंधित मुद्दे

 संबंधित मुद्दे