ভেরিলোগে কীভাবে দুটি সংখ্যার (নেট, ভেরিয়েবল, ধ্রুবক) তুলনা করবেন


10

আমি ভেরিলোগে নতুন, এবং কীভাবে দুটি সংখ্যার তুলনা করা যায় তা শিখতে চাই। উদাহরণস্বরূপ, আসুন 2 (2'b10) সংখ্যার সাথে একটি পরামিতি বা রেগ (একটি বলুন) তুলনা করা যাক। এটি ভেরিলোগে কীভাবে লেখা হবে?

উত্তর:


11

সমতা এবং রিলেশনাল অপারেটর (কোনও অপারেন্ডের এক্স বা জেড থাকলে এক্স ফেরত)

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, এক্স, এবং জেডের সাথে যুক্তির মান তুলনা করুন)

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)

উদাহরণ

যদি রেগ এ 2'b10 এর চেয়ে কম হয় তবে একটি'তে 2'b11 সঞ্চয় করুন।

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

আদেশ সহকারে

  1. বেশিরভাগ অপারেশনের জন্য, অপারেন্ডগুলি নেট, ভেরিয়েবল, ধ্রুবক বা ফাংশন কল হতে পারে। কিছু অপারেশন বাস্তব (ভাসমান-পয়েন্ট) মানগুলিতে বৈধ নয়।
  2. অপারেটরগণ যা সত্য / মিথ্যা ফলাফল দেয় তারা 1 বিট মান প্রদান করবে যেখানে 1 সত্যকে, 0 টি মিথ্যা উপস্থাপন করে এবং এক্স অনির্দিষ্টকালের প্রতিনিধিত্ব করে
  3. দ্য === এবং! == অপারেটরগুলি সংশ্লেষণের জন্য সমর্থিত নয়, কারণ সিমুলেশন এবং হার্ডওয়্যারে জেড এবং এক্স এর একই অর্থ নেই।
  4. আপনি যদি অসম প্রস্থের দুটি সংখ্যার তুলনা করেন তবে ছোটটি প্রসারিত হবে। স্বাক্ষরযুক্ত অপারেশনগুলি শূন্যের সাথে বাম-প্রসারিত দ্বারা প্রসারিত হয়। স্বাক্ষরযুক্ত অপারেশনগুলি বাম-প্রসারিত দ্বারা মোস্টিগিনিফিসেন্ট বিট (সাইন বিট) এর মান সহ প্রসারিত হয়।

উত্স: স্টুয়ার্ট সাদারল্যান্ডের "ভেরিলোগ এইচডিএল দ্রুত রেফারেন্স গাইড ভেরিলোগ -2001 স্ট্যান্ডার্ড (আইইইই স্ট্যান্ড 1364-2001) এর ভিত্তিতে"


আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.