Table of Contents
VHDL (VHSIC हार्डवेयर विवरण भाषा) एक शक्तिशाली भाषा है जिसका उपयोग इलेक्ट्रॉनिक प्रणालियों के मॉडल के लिए किया जाता है। इसकी प्रमुख विशेषताओं में से एक पुस्तकालयों का उपयोग है और क्लॉज का उपयोग करता है, जो जटिल हार्डवेयर विवरण को कुशलतापूर्वक व्यवस्थित और प्रबंधित करने में मदद करता है। यह समझना कि कैसे ठीक से इन सुविधाओं का उपयोग करने के लिए स्पष्ट और रखरखाव योग्य VHDL कोड लिखने के लिए आवश्यक है।
VHDL पुस्तकालय क्या हैं?
VHDL में, एक पुस्तकालय संबंधित डिजाइन इकाइयों का संग्रह है, जैसे कि संस्थाएं, आर्किटेक्चर, पैकेज और विन्यास। पुस्तकालयों में ऐसे कंटेनरों के रूप में काम किया जाता है जो कोड को व्यवस्थित करने और एकाधिक परियोजनाओं में पुन: उपयोग करने में मदद करते हैं। डिफ़ॉल्ट रूप से, work] पुस्तकालय का उपयोग अस्थायी, परियोजना-विशिष्ट डिजाइन इकाइयों के लिए किया जाता है।
Understanding क्लेउस
use VHDL में क्लॉज का उपयोग वर्तमान दायरे में पैकेज के विशिष्ट डिजाइन इकाइयों या भागों को लाने के लिए किया जाता है। यह प्रत्येक बार पूर्ण पुस्तकालय और पैकेज नाम निर्दिष्ट करने की आवश्यकता के बिना कार्यों, प्रकारों और स्थिरांकों तक सीधी पहुंच की अनुमति देकर कोड को सरल बनाता है।
उपयोग के वाक्यविन्यास
एक उपयोग खंड का मूल वाक्यविन्यास है:
Use Library name.package name.element name;
उदाहरण के लिए, numeric std पैकेज से ] ie] पुस्तकालय, आप लिखते हैं:
Use ieee.numeric std.all;
पुस्तकालयों और उपयोग के लिए सर्वश्रेष्ठ अभ्यास Clauses
- हमेशा अपने VHDL फ़ाइल की शुरुआत में आपको आवश्यक पुस्तकालयों की घोषणा करते हैं।
- all keyword to import all तत्वों को पैकेज से आयात करने के लिए उपयुक्त है।
- नामस्थान संघर्ष से बचने के लिए अपने उपयोग खंडों के साथ विशिष्ट होना।
- अपने कोड को एक साथ संबंधित उपयोग खंडों को समूहीकृत करके व्यवस्थित करें।
VHDL कोड का उदाहरण
यहाँ पुस्तकालयों के उपयोग का प्रदर्शन करने और खंडों का उपयोग करने का एक सरल उदाहरण है:
library ie; ]
Use ieee.std logic 1164.all;
Use ieee.numeric std.all;
इकाई उदाहरण है
बंदरगाह (a, b: std logic vector(3 downto 0);
योग: आउट std logic vector(4 downto 0));
अंत उदाहरण;
उदाहरण के वास्तुकला व्यवहार्य है
संकेत a int, b int: unsigned(3 downto 0);
शुरू
A int <= unsigned(a);
B int <= unsigned(b);
<= std logic vector(a int + b int);
अंत व्यवहार्य;