ভেরিলোগ টিউটোরিয়াল | গুরুত্বপূর্ণ ভেরিলগ অপারেটর

ভেরিলোগ টিউটোরিয়াল: আলোচনার বিষয়

  • ভেরিলোগ কী?
  • ইতিহাস ও মানিককরণ
  • ভেরিলোগ ডিজাইন
  • ভেরিলোগ মডেলিং
  • Verilog অপারেটর

অন্যদের জন্য ভেরিলোগ টিউটোরিয়াল সম্পর্কিত বিষয়, এখানে ক্লিক করুন!

ভেরিলোগ কী?

ভেরিলোগ হ'ল "যাচাইকরণ" এবং "লজিক" পদগুলির সংমিশ্রণ। এটি হার্ডওয়্যার বর্ণনার ভাষা বা একটি বিশেষ ধরণের প্রোগ্রামিং ল্যাঙ্গুয়েজ যা ডিজিটাল সিস্টেম এবং সার্কিটগুলির হার্ডওয়্যার বাস্তবায়ন বর্ণনা করে। এটি একটি দৃ strongly়ভাবে টাইপ করা ভাষা এবং এটি মনে রাখতে হবে যে এটি কোনও প্রোগ্রামিং ভাষা নয়।

ধাপে ধাপে ভিএইচডিএল টিউটোরিয়াল, এখানে ক্লিক করুন!

ভেরিলোগের ইতিহাস ও মানিককরণ

প্রভু গোয়েল, চি-লাই হুয়াং, ডগলাস ওয়ার্মকে এবং ফিল মুরবি 1983-1984 সালের দিকে ভেরিলোগের বিকাশ করেছিলেন। প্রথম নামটি ছিল "অটোমেটেড ইন্টিগ্রেটেড ডিজাইন সিস্টেমস" যা এর আরও নামকরণ করা হয়েছিল "গেটওয়ে ডিজাইন অটোমেশন" এবং এটি ১৯৯০ সালে ক্যাডেন্স দ্বারা ক্রয় করা হয়েছিল। ক্যাডেন্স এখন ভেরিলোগ এবং ভেরিলগ-এক্সএল এর কপিরাইটের মালিক।

প্রাথমিকভাবে, ভেরিলোগের ব্যবহারটি সংজ্ঞা দেওয়া এবং সিমুলেশন শুরু করা ছিল। পরবর্তীকালে ভাষার জনপ্রিয়তা আরও বিকাশের জন্য দাবি উত্থাপন করে এবং এটি লজিক সার্কিটগুলির সংশ্লেষণের দিকে পরিচালিত করে।

ভেরিলোগ টিউটোরিয়াল | গুরুত্বপূর্ণ ভেরিলগ অপারেটর
ভেরিলোগ বাস, চিত্র ক্রেডিট - সূক্ষ্ম লোডভেরিলগ বাস, পাবলিক ডোমেন হিসাবে চিহ্নিত, আরও বিশদ উইকিমিডিয়া কমন্স

ভেরিলোগ টিউটোরিয়াল: প্রমিতকরণ

ভিএইচডিএলের জনপ্রিয়তা ভেরিলোগ ভাষাটিকে মুক্ত উত্স হিসাবে প্রকাশ করতে বাধ্য করেছিল। আইইইই দ্বারা ভেরিলোগের প্রথম মানীকরণের নামটি 1364-1995 হিসাবে লেবেল করা হয়েছিল এবং ভেরিলোগ -95 নামকরণ করা হয়েছিল।

পুনর্বিবেচনাআপডেট
আইইইই 1364 - 2001ভেরিলোগ -2001। স্বাক্ষরযুক্ত ভেরিয়েবল এবং বাসা সমর্থন করে। ইডিএ প্যাকেজগুলি দ্বারা বহুল ব্যবহৃত।
আইইইই 1364-2005ভারিলোগ ২০০৫. সামান্য সংশোধন এবং স্পষ্টতা নিয়ে হাজির।
আইইইই পি 1800-2005সিস্টেম ভেরিলোগ।
আইইইই 1800-2017সিস্টেমভেরিলোগ এবং ভেরিলোগের মার্জার। SystemVerilog 2009 হিসাবে পরিচিত।
ভেরিলোগের আইইইই মানককরণ, ভেরিলোগ টিউটোরিয়াল সারণী -১

ভেরিলোগ ডিজাইন

ভেরিলগের দুই ধরণের ডিজাইনের পদ্ধতি রয়েছে। তারা হ'ল - নীচে আপ অ্যাপ্রোচ এবং টপ-ডাউন অ্যাপ্রোচ।

নীচে আপ পদ্ধতি: এটি মডেলগুলি ডিজাইনের প্রচলিত পদ্ধতি। পরিকল্পনাটি গেট স্তরে বাস্তবায়ন করা হয়। সাধারণ গেটগুলি বাস্তবায়নের জন্য ব্যবহৃত হয়। এই পদ্ধতিটি বিভিন্ন কাঠামোগত এবং আদেশযুক্ত পরিকল্পনার জন্য পথ উন্মুক্ত করে।

উপরে নিচে অভিগমন: প্রচলিতটির চেয়ে এই পদ্ধতির কিছু সুবিধা রয়েছে। পরিবর্তনগুলি এখানে আরও সহজ করা যায়। প্রাথমিক পরীক্ষাও সম্ভব।

ভেরিলোগ মডেলিং

ভেরিলোগ মডেলিংয়ের কিছু ডিজাইন ইউনিট রয়েছে। আসুন প্রাথমিক উপাদানগুলি নিয়ে আলোচনা করা যাক।

ভেরিলোগ টিউটোরিয়াল | গুরুত্বপূর্ণ ভেরিলগ অপারেটর
ফ্লিপ-ফ্লপের জন্য ভেরিলোগ কোড

উ: মডিউল

ভেরিলোগ মডেলটি বন্দর ঘোষণা, ডেটা ধরণের ঘোষণা, সার্কিট কার্যকারিতা, সময় সংক্রান্ত নির্দিষ্টকরণ সহ উপস্থিত হয়। মডিউলটির একটি প্রাথমিক কাঠামো নীচে দেওয়া হয়েছে।

মডিউল মডিউল_নাম (পোর্ট_লিস্ট);

শেষ মডিউল

  • ভারিলোগ কেস সংবেদনশীল।
  • সংরক্ষিত কীওয়ার্ডগুলি ছোট ক্ষেত্রে লেখা থাকে।
  • বিবৃতিটি শেষ করতে একটি সেমিকোলন ব্যবহৃত হয়।
  • মন্তব্যের নিয়ম সি প্রোগ্রামিং ল্যাঙ্গুয়েজের মতোই।
  • একক লাইন মন্তব্য "//" দিয়ে শুরু হয়.

উদাহরণ স্বরূপ - // ভেরিলোগ একক লাইন মন্তব্যের উদাহরণ

  • একাধিক মন্তব্য মন্তব্য - '/ *' দিয়ে শুরু হয় এবং '* /' দিয়ে শেষ হয়।

উদাহরণ স্বরূপ -

/ * উদাহরণ

ভেরিলোগ একাধিক

লাইন মন্তব্য * /

  • সিমুলেশন প্রক্রিয়ার জন্য সময় নির্দিষ্টকরণ ব্যবহৃত হয়।

একটি মডিউল ধারণার সর্বোচ্চ চারটি স্তর নিয়ে গঠিত। স্তরগুলি নীচে সংজ্ঞায়িত করা হয়।

ব্যবহারিক: ধারণা সর্বোচ্চ স্তর। প্রত্যাশিত নকশা এই স্তরে পরিকল্পনা করা হয়েছে। যদিও, হার্ডওয়্যার প্রয়োগের জন্য কোনও চিন্তা নেই।

তথ্য প্রবাহ: ভেরিলোগ মডিউলটির এই স্তরটি পছন্দসই ডিজাইনের ডেটাফ্লো বর্ণনা করে। এই স্তরের নকশা করার সময় উপাদানগুলির মাধ্যমে ডেটাফ্রোয়ের হার্ডওয়্যার প্রয়োগগুলি মাথায় রাখা হয়।

ভেরিলোগ টিউটোরিয়াল | গুরুত্বপূর্ণ ভেরিলগ অপারেটর
ডেটাফ্লো মডেলিং, ভেরিলোগ টিউটোরিয়াল

গেট: লজিক গেটগুলি এই ভেরিলোগ মডিউল স্তরে প্রয়োগ করা হয়। গেটগুলির মধ্যে আন্তঃসংযোগগুলি প্রয়োগ করা হয়।

স্যুইচ করুন: ধারণা সর্বনিম্ন স্তর। সুইচ, স্টোরেজ গলদা বাস্তবায়ন করা হয়। আন্তঃসংযোগগুলিও তাদের মধ্যে নকশাকৃত।

খ। মডিউল ঘোষণা

মডিউল ঘোষণা 'দিয়ে শুরুমডিউল'কীওয়ার্ড। এটিতে একটি বন্দর তালিকা অন্তর্ভুক্ত রয়েছে (যদি বিদ্যমান থাকে)।

বন্দরের ধরণ: তিন ধরণের বন্দর রয়েছে। নাম এবং এর কার্যকারিতা নীচে দেওয়া হল।

  • ইনপুট - ইনপুট পোর্ট
  • আউটপুট - আউটপুট পোর্ট
  • ইনআউট - দ্বি-দিকনির্দেশক বন্দর
ভেরিলোগ টিউটোরিয়াল | গুরুত্বপূর্ণ ভেরিলগ অপারেটর
মডিউল মিশ্রণের জন্য ভেরিলোগ কোড, ভেরিলোগ টিউটোরিয়াল

বন্দর ঘোষণা: বন্দর ঘোষণার জন্য সাধারণ কাঠামো নীচে দেওয়া হয়েছে।

<পোর্ট_প্রকার>পোর্ট_নাম>;

সি তথ্য প্রকার

ভেরিলোগে বিভিন্ন ধরণের ডেটা ধরণের রয়েছে।

 নেট ডেটা প্রকার: এই ধরণের ডেটা প্রবাহের মধ্যে শারীরিক আন্তঃসংযোগ বর্ণনা করে।

জাল -> কার্যকরী ব্লক: MUX -> কার্যকরী ব্লক: অ্যাড্রেস -> জাল

নীচে সারণি নেট ডেটাটাইপ সম্পর্কে আরও বিশদ সরবরাহ করবে।

আদর্শবৈশিষ্ট্যপ্রদান
টেলিগ্রামনোড বা সংযোগগুলি বর্ণনা করে
ট্রাইএকটি ত্রি-রাষ্ট্র নোড বর্ণনা করে
সরবরাহ0লজিক 0 প্রতিনিধিত্ব করে
suppy1লজিক 1 প্রতিনিধিত্ব করে
নেট ডেটা প্রকার, ভেরিলোগ টিউটোরিয়াল সারণী - 2
  •  বাস ঘোষণা: বাস ঘোষণার সাধারণ কাঠামো নীচে দেওয়া হল।

<ডাটা_ টাইপ> [সর্বাধিক উল্লেখযোগ্য বিট (এমএসবি): স্বল্পতম বিগ (এলএসবি)]সিগন্যাল_নাম>;

          <ডাটা_ টাইপ> [সর্বনিম্ন উল্লেখযোগ্য বিট (এলএসবি): সর্বাধিক উল্লেখযোগ্য বিট (এমএসবি)]সিগন্যাল_নাম>;

উদাহরণ স্বরূপ -

টেলিগ্রাম [3: 1] in;

পরিবর্তনশীল ডেটা প্রকার: এই ডেটাটাইপ আপাতত একটি ডেটা সংরক্ষণ করার জন্য উপাদানটি বর্ণনা করে।

ভেরিলোগ দ্বারা সমর্থিত বিভিন্ন ধরণের ভেরিয়েবল রয়েছে। তাদের মধ্যে কিছু হ'ল -

পূর্ণসংখ্যা - 32 বিট, স্বাক্ষরিত।

REG - কোনও বিট আকার, স্বাক্ষরবিহীন। স্বাক্ষরিত রেজি প্রয়োগ করতে, কীওয়ার্ড - 'রেজি স্বাক্ষরিত' ব্যবহার করুন।

আসল, সময়, রিয়েলটাইম - সংশ্লেষণের জন্য কোনও সমর্থন নেই।

D. মডিউল ইনস্ট্যান্টেশন

সমস্ত ঘোষণার পরে মডিউলটি কিছু বাক্য গঠনগুলির সাহায্যে একটি উচ্চ-স্তরের মডিউলে ইনস্ট্যান্ট করা যায়। মডিউলগুলি ইনস্ট্যান্ট করে আমরা একাধিক স্তরের স্তরক্রম সহ ডিজাইন তৈরি করতে পারি। এটি আমাদের আরও সহজ রক্ষণাবেক্ষণ অর্জনে সহায়তা করবে। আধুনিক ডিজাইনের বেশিরভাগটিতে স্তরের স্তরের অসংখ্য স্তর রয়েছে।

ইনস্ট্যান্টেশনের জন্য সাধারণ ফর্ম্যাটটি নীচে দেওয়া হয়েছে।

<componenet_name> #<বিলম্ব>instance_name> (পোর্ট_লিস্ট);

উপাদানের নাম: এটি নিম্ন-স্তরের উপাদানগুলির জন্য মডিউলটির নাম।

বিলম্ব: এটি একটি alচ্ছিক পছন্দ। বিলম্ব পুরো উপাদান জুড়ে একটি বিলম্ব পরিচয় করিয়ে দেয়।

উদাহরণের নাম: এটি প্রতিটি স্বতন্ত্র উদাহরণের জন্য ডিজাইনারের দেওয়া একচেটিয়া নাম।

বন্দর তালিকা: পোর্ট তালিকা সংকেত তালিকা দেয় যা উপাদানটির সাথে সংযুক্ত থাকবে।

E. সিমুলেশন উপাদান

ডিজাইনিং প্রক্রিয়াটি শেষ হওয়ার পরে, পরীক্ষার প্রক্রিয়া শুরু হয়। এই পরীক্ষাটি স্টিমুলাস ব্লক ব্যবহার করে করা যেতে পারে। উদ্দীপনা ব্লক সাধারণত একটি টেস্ট বেঞ্চ হিসাবে পরিচিত।

উদ্দীপক অ্যাপ্লিকেশন দুটি ধরণের হতে পারে। প্রাথমিক নকশাটি ডিজাইন ব্লক দিয়ে শুরু হয় এবং সরাসরি পোর্ট সিগন্যালগুলি ডিজাইন ব্লকগুলিতে টেনে নেয়।

দ্বিতীয় ডিজাইনটি উচ্চ-স্তরের প্রতিরূপ মডেলটিতে উদ্দীপনা এবং নকশা ব্লকটি ইনস্ট্যান্ট করে। ইন্টারফেস হ'ল ব্লকগুলির মধ্যে যোগাযোগের লিঙ্ক।

কিছু বেসিক ভেরিলোগ ধারণা

Verilog অপারেটর

ভেরিলোগের এইচডিএল এর জন্য তিনটি মৌলিক অপারেটর রয়েছে। তারা নীচে দেওয়া হয়।

ইউনারি ভেরিলোগ অপারেটর: এই ধরণের ভেরিলগ অপারেটরগুলি অপারেন্ডগুলির মধ্যে প্রথম আসে।

উদাহরণস্বরূপ: x = ~ y; এখানে '~' একটি অযৌক্তিক অপারেটর

বাইনারি ভেরিলগ অপারেটর: এই জাতীয় ভেরিলোগ অপারেটর দুটি অপারেন্ডের মধ্যে চলে আসে।

যেমন: x = y || z; এখানে '||' একটি বাইনারি অপারেটর।

টার্নারি ভেরিলগ অপারেটর: Tহিজি ধরণের ভেরিলগ অপারেটর দুটি অপারেটরকে আলাদা করতে দুটি পৃথক অপারেটর ব্যবহার করে।

উদাহরণস্বরূপ: x = y? z: w; এখানে '?' এবং ':' হ'ল টেরিনারি অপারেটর।

ভেরিলোগ এইচডিএল এর শ্রেণিবদ্ধ অপারেটরগুলি হলেন - গাণিতিক, লজিকাল, রিলেশনাল, বিটওয়াইজ, শিফট, কনটেনটেশন এবং সমতা। বিভিন্ন ধরণের ভারিলোগ অপারেটর এবং তাদের প্রতীকগুলি নীচের সারণিতে দেওয়া হয়েছে।

অপারেটর প্রকারপ্রতীকঅপারেশনঅপারেন্ডস প্রয়োজন
পাটীগণিত*গুণদুই
পাটীগণিত/বিভাগদুই
পাটীগণিত+যোগদুই
পাটীগণিত-বিয়োগদুই
পাটীগণিত%মডিউলসদুই
যৌক্তিক!অস্বীকারএক
যৌক্তিক&&এবংদুই
যৌক্তিক||ORদুই
সম্পর্কিতঅপেক্ষা বৃহত্তরদুই
সম্পর্কিতকম তুলনায়দুই
সম্পর্কিত> =এর চেয়ে বড় বা সমানদুই
সম্পর্কিত<=অপেক্ষাকৃত ছোট বা সমানদুই
সমতা==সমানদুই
সমতা! =সমান নয়দুই
সমতা===কেস সমানদুই
সমতা! ==মামলা সমান নয়দুই
, bitwise~নেতিবাচকতাএক
, bitwise&বিটওয়াইস এবংদুই
, bitwise|বিটওয়্যার ওদুই
, bitwise^বিটওয়াইস এক্সওআরদুই
, bitwise~^বিটওয়াইজ এক্সএনওআরদুই
কমানো&হ্রাস এবংএক
কমানো~&হ্রাস NANDএক
কমানো|হ্রাস ORএক
কমানো~|হ্রাস NORএক
কমানো^হ্রাস XORএক
কমানো^~হ্রাস XNORএক
স্থানপরিবর্তন>> ডান শিফটদুই
স্থানপরিবর্তন<< বাম স্থানান্তরদুই
সংবিধান{}সংবিধানযে কোনও সংখ্যার হতে পারে
প্রতিলিপি{{}}প্রতিলিপিযে কোনও সংখ্যার হতে পারে
শর্তাধীন? :শর্তাধীনতিন
ভেরিলগ অপারেটর, ভেরিলোগ টিউটোরিয়াল সারণী - 3

ভেরিলগ অপারেটরদেরও অগ্রাধিকার রয়েছে। তাদের অগ্রাধিকার নীচে সারণিতে দেওয়া আছে।

অপারেটরপ্রতীকপ্রাধান্য
ইউনিারি গুণ, বিভাগ, মডুলাস +, -,!, ~ *, /,%সর্বোচ্চ
সংযোজন, বিয়োগফল শিফট+, - <<, >> 
সম্পর্কিত সমতা<, <=,>,> = ==,! =, ===,! == 
হ্রাস যৌক্তিক&, ~ & ^, ^ ~ |,। | && || 
শর্তাধীন?:অধম
ভেরিলগ অপারেটর, ভেরিলোগ টিউটোরিয়াল টেবিল - 4

Verilog নম্বর বিশেষ উল্লেখ

ভেরিলোগ নম্বর দুটি প্রকারের, মাপের সংখ্যা এবং আনসাইজড নম্বর।

আকারযুক্ত ভেরিলোগ নম্বর: ভেরিলোগ এইচডিএলে আকারের সংখ্যাগুলি উপস্থাপনের জন্য সাধারণ কাঠামো নীচে দেওয়া হয়েছে।

'

উদাহরণ স্বরূপ - 8'b3456;

এটি একটি আকারের ভেরিলোগ নম্বর যা বর্ণনা করে যে এটি একটি 8-বিট সংখ্যা এবং বাইনারি ধরণের।

  • আকার: আকারটি মূল সংখ্যার সংখ্যাগুলির সংখ্যা। দশমিক দশমিক মান ব্যবহার করে আকার বর্ণিত হয়।
  • বেস_ফর্ম্যাট: বেস বিন্যাসটি হ'ল এটি কোন ধরণের সংখ্যা হবে। বাইনারি (- বি দ্বারা প্রদত্ত), দশমিক (দ্বারা দেওয়া - 'ডি'), অক্টাল (- 'ও' দ্বারা প্রদত্ত), হেক্সাডেসিমাল (- 'এইচ' দ্বারা প্রদত্ত) বেশ কয়েকটি প্রকার রয়েছে। যদি বেস_ফর্ম্যাটটির জন্য কোনও স্পেসিফিকেশন না থাকে তবে ডিফল্টরূপে এটি একটি দশমিক সংখ্যা।
  • সংখ্যা: আপনি যে মুখ্য নম্বরটি রাখতে চান তা।

আনসাইজড ভেরিলোগ নম্বর: এই সংখ্যাগুলির জন্য কোনও নির্দিষ্ট আকারের প্রয়োজন হয় না।

ভেরিলোগ এইচডিএলে আনসাইজড সংখ্যাগুলির প্রতিনিধিত্ব করার জন্য সাধারণ কাঠামো নীচে দেওয়া হয়েছে।

'

উদাহরণ স্বরূপ - 'h3456;

এটি একটি অচির্তিত ভারিলোগ নম্বর যা বর্ণনা করে যে এটি একটি হেক্সাডেসিমাল সংখ্যা।

নেতিবাচক সংখ্যা: আপনি যদি কোনও সংখ্যাকে aণাত্মক সংখ্যা হিসাবে ঘোষণা করতে চান তবে সংখ্যার আগে একটি বিয়োগ চিহ্ন (-) রাখুন।

উদাহরণ স্বরূপ: - 345; এটি একটি নেতিবাচক, আনসাইজড, দশমিক সংখ্যা।

ভেরিলোগ অ্যারে

ভেরিলোগ এইচডিএলে পূর্ণসংখ্যার রেজি, রেজিস্টার (রেজি), ভেক্টর (রেগ বা নেট ডেটা ধরণের, বেশ কয়েকটি বিট দৈর্ঘ্যের) এবং সময় সম্ভব are অ্যারেগুলির প্রাথমিক ঘোষণাটি নীচে একটি উদাহরণ সহ প্রদর্শিত হবে।

পূর্ণসংখ্যা ম্যাট্রিক্স [0: 3];

এর অর্থ সাতটি মানের একটি অ্যারে।

  • ভারিলোগ রিয়েল ভেরিয়েবলের জন্য কোনও অ্যারের অনুমতি দেয় না।
  • ভেরিলোগ এইচডিএল কোনও বহুমাত্রিক অ্যারে সমর্থন করে না।
  • অ্যারের উপাদানগুলি ব্যবহার করে পুনরুদ্ধার করা যেতে পারে - [ ]

অন্যদের জন্য ভেরিলোগ টিউটোরিয়াল সম্পর্কিত বিষয়, এখানে ক্লিক করুন!

Xilinx ব্যবহার করে ধাপে ধাপে ভেরিলোগ টিউটোরিয়ালের জন্য, আমাদের পরবর্তী নিবন্ধটি দেখুন!

সুদীপ্ত রায় সম্পর্কে

ভেরিলোগ টিউটোরিয়াল | গুরুত্বপূর্ণ ভেরিলগ অপারেটরআমি একজন ইলেকট্রনিক্স উত্সাহী এবং বর্তমানে ইলেকট্রনিক্স এবং যোগাযোগের ক্ষেত্রে নিবেদিত।
আমার কাছে এআই এবং মেশিন লার্নিংয়ের মতো আধুনিক প্রযুক্তিগুলি অন্বেষণে আগ্রহী।
আমার লেখাগুলি সমস্ত শিক্ষার্থীদের সঠিক এবং আপডেট হওয়া ডেটা সরবরাহের প্রতি নিবেদিত।
কাউকে জ্ঞান অর্জনে সহায়তা করা আমাকে প্রচুর আনন্দ দেয়।

লিঙ্কডইন - https://www.linkedin.com/in/sr-sudipta/ এর মাধ্যমে সংযোগ করি

মতামত দিন

আপনার ইমেইল প্রকাশ করা হবে না। প্রয়োজনীয় ক্ষেত্রগুলি * চিহ্নিত করা আছে।

en English
X