वेरिलोग में दो संख्याओं (नेट, चर, स्थिरांक) की तुलना कैसे करें


10

मैं वेरिलोग के लिए नया हूं, और दो संख्याओं की तुलना करना सीखना चाहता हूं। उदाहरण के लिए, चलो संख्या 2 (2'b10) के साथ एक पैरामीटर या रेग (कहें) की तुलना करें। यह कैसे लिखा जाएगा वेरिलोग में?

जवाबों:


11

समानता और संबंधपरक संचालक (यदि X के पास कोई X या Z है तो रिटर्न एक्स)

m == n  // is m equal to n? (1-bit True/False result)

m != n  // is m not equal to n? (1-bit True/False result)

m < n   // is m less than n? (1-bit True/False result)

m > n   // is m greater than n? (1-bit True/False result)

m <= n  // is m less than or equal to n? (1-bit True/False result)

m >= n  // is m greater than or equal to n? (1-bit True/False result)

पहचान ऑपरेटर (तर्क मानों की तुलना 0, 1, X, और Z)

m === n // is m identical to n? (1-bit True/False results)

m !== n // is m not identical to n? (1-bit True/False result)

उदाहरण

यदि reg 2'b10 से कम है, तो a में 2'b11 स्टोर करें।

if (a < 2'b10) begin
   a = 2'b11;
end

चेतावनियां

  1. अधिकांश कार्यों के लिए, ऑपरेंड नेट, वैरिएबल, कॉन्स्टेंट या फ़ंक्शन कॉल हो सकते हैं। कुछ ऑपरेशन वास्तविक (फ्लोटिंग-पॉइंट) मूल्यों पर कानूनी नहीं हैं।
  2. ऑपरेटर जो एक सच्चा / गलत परिणाम लौटाते हैं, वह 1-बिट मान लौटाएगा जहाँ 1 सच का प्रतिनिधित्व करता है, 0 गलत का प्रतिनिधित्व करता है, और X अनिश्चितता का प्रतिनिधित्व करता है
  3. === और! == संचालक संश्लेषण के लिए समर्थित नहीं हैं, क्योंकि सिमुलेशन और हार्डवेयर में Z और X का समान अर्थ नहीं है।
  4. यदि आप असमान चौड़ाई की दो संख्याओं की तुलना करते हैं, तो छोटे का विस्तार किया जाएगा। निरस्त ऑपरेशंस का विस्तार शून्य के साथ बाएं-विस्तार द्वारा किया जाता है। हस्ताक्षर किए गए ऑपरेंड का विस्तार सबसे अधिक बिट्स (साइन बिट) के मान के साथ बाईं ओर विस्तारित किया जाता है।

स्रोत: स्टुअर्ट सदरलैंड द्वारा "वेरिलॉग एचडीएल क्विक रेफरेंस गाइड वेरिलॉग-2001 मानक (IEEE Std 1364-2001) पर आधारित"


हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.