वीएचडीएल ट्यूटोरियल: 13 महत्वपूर्ण अवधारणाएं

इस वीएचडीएल ट्यूटोरियल में, हम वीएचडीएल तकनीक से संबंधित कुछ बुनियादी अवधारणाओं और कोडिंग के साथ कुछ उदाहरणों पर चर्चा करेंगे। वीएचडीएल ट्यूटोरियल को इस प्रकार खंडित किया गया है:

विषय के विषय

A. वीएचडीएल क्या है?

B. इतिहास और मानकीकरण

सी। वीएचडीएल डिज़ाइन प्रक्रियाएँ

घ। VHDL के बारे में कुछ नियम और बुनियादी जानकारी

ई। सिंटैक्स और वीएचडीएल कोड लिखने के लिए कुछ महत्वपूर्ण अवधारणाएँ

VHDL ट्यूटोरियल के लिए F. VHDL सिमुलेटर

VHDL || VHDL क्या है?

वीएचडीएल का पूर्ण रूप बहुत उच्च गति एकीकृत सर्किट हार्डवेयर विवरण भाषा (वीएचएसआईसी-एचडीएल) के लिए है।

जैसा कि नाम से पता चलता है, वीएचडीएल एक हार्डवेयर विवरण भाषा या एक विशेष प्रकार की प्रोग्रामिंग भाषा है जो डिजिटल सिस्टम और सर्किट के हार्डवेयर कार्यान्वयन का वर्णन करती है। यह एक जोरदार टाइप की गई भाषा है और याद किए जाने वाले बिंदु हैं कि यह एक प्रोग्रामिंग भाषा नहीं है।  

इतिहास और मानकीकरण

अमेरिकी रक्षा विभाग का आधुनिक तकनीकी क्षेत्र में महत्वपूर्ण योगदान है। इसने कई महान विचारों और नवाचारों को जन्म दिया है। यूएस डिफेंस ने वर्ष 1983 में VHDL का भी विकास किया। यह एप्लिकेशन विशिष्ट एकीकृत सर्किट के व्यवहार के प्रलेखन के लिए विकसित किया गया था।

बाद में, आद्या प्रोग्रामिंग भाषाओं से कुछ विचारों को लागू किया गया। VHDL को पहली बार वर्ष 1987 में मानकीकृत किया गया था। इसे कई प्रकारों के डेटा प्रकारों के साथ जोड़ा गया था, जिसमें तार और संख्यात्मक और तार्किक शामिल थे।

मानकीकरण

वीएचडीएल या बहुत उच्च गति के लिए एकीकृत सर्किट हार्डवेयर विवरण भाषा (वीएचएसआईसी-एचडीएल) आईईईई 1076 मानक द्वारा मानकीकृत है। यह अपने जन्म से अद्यतन किया जा रहा है और कई संशोधनों से गुज़रा है। आइए हम कुछ मानक संशोधन और प्रमुख अपडेट देखें।

संशोधनअपडेट
IEEE 1076 - 1987अमेरिकी रक्षा से संशोधन और मानकीकरण।
IEEE 1076 - 1993सबसे बड़ी रिलीज के साथ आया, और यह सबसे व्यापक रूप से इस्तेमाल किया जाने वाला संस्करण है।
आईईसी 61691 -1 - 1- 1: 2004IEC ने IEEE 1076-2002 संस्करण अपनाया
आईईईई 1076 -2008 -कुछ प्रमुख परिवर्तनों के साथ अपडेट किया गया - पैकेजों पर जेनेरिक का परिचय और बाहरी नामों का उपयोग
आईईसी 61691 -1 - 1- 1: 2011IEC ने IEEE 1076-2008 संस्करण अपनाया
मानकीकरण की जाँच करें यहाँ उत्पन्न करें, वीएचडीएल ट्यूटोरियल तालिका - 1

VHDL का डिज़ाइन

VHDL डिज़ाइन में कुछ डिज़ाइन इकाइयाँ हैं। वे के रूप में जाना जाता है - इकाई, वास्तुकला, विन्यास, और पैकेज।

निकाय: इकाई एक मॉडल के बाहरी विचारों को परिभाषित करता है जो एक प्रतीक है।

वास्तुकला: आर्किटेक्चर एक मॉडल की कार्यक्षमता को परिभाषित करता है जो योजनाबद्ध है।

विन्यास: कॉन्फ़िगरेशन का उपयोग किसी इकाई के साथ वास्तुकला को जोड़ने के लिए किया जाता है।

पैकेज: पैकेज जानकारी का संग्रह है जिसे VHDL मॉड्यूल द्वारा संदर्भित किया जा सकता है। VHDL पैकेज में दो भाग होते हैं। वे हैं - पैकेज घोषणा और पैकेज बॉडी।

1200px Vhdl हस्ताक्षरित योजक source.svg
वीएचडीएल ट्यूटोरियल, इमेज क्रेडिट में डिज़ाइन किया गया एक मूल कोड - Vhdl_signed_adder.pngरेवराग्नारोक व्युत्पन्न कार्य: बर्नार्ड लैडेन्थिनवीएचडीएल हस्ताक्षरित योजक स्रोतसीसी द्वारा एसए 3.0

इकाई घोषणा

इकाई घोषणा की सामान्य संरचना नीचे दी गई है -

ENTITY को < इकाई नाम > IS

          सामान्य घोषणाएँ

          पोर्ट की घोषणा

समाप्ति की योग्यता <इकाई नाम>;

  • अल्फाबेटिक / न्यूमेरिकल या अल्फा-न्यूमेरिकल हो सकता है।
  • सामान्य घोषणाएँ एक मॉडल में जानकारी पारित करने के लिए है।
  • पोर्ट घोषणाओं इनपुट और आउटपुट पिन का वर्णन करने के लिए है।
  • एक इकाई को कई तरीकों से बंद किया जा सकता है।
    • समाप्ति की योग्यता <इकाई नाम>;
    • समाप्ति की योग्यता;
    • अंत;

पोर्ट घोषणाएँ

पोर्ट घोषणाओं के लिए एक सामान्य संरचना नीचे दी गई है -

ENTITY को < इकाई नाम > IS

          सामान्य घोषणाएँ

          - पोर्ट घोषणाएँ:

पोर्ट (

          सिग्नल सीएलके, सीएलआर: BIT में;

          q: बिट के बाहर

          - ध्यान दें कि घोषणाओं की अंतिम पंक्ति में कोई अर्धविराम नहीं है।

          );

समाप्ति की योग्यता <इकाई नाम>;

बंदरगाह घोषणा की संरचना: OBJECT_NAME : ;

  • वर्ग: क्लास वह है जो किसी ऑब्जेक्ट को किया जा सकता है। यहाँ क्लास सिग्नल है। याद रखने वाली बात यह है कि कार्यक्रम लिखते समय SIGNAL नहीं लिखा जाता है; बल्कि, यह माना जाता है और आवश्यक नहीं है।
  • वस्तु_नाम: यह पहचानकर्ता है।
  • विधि: यह दिशा निर्दिष्ट करता है।

में - निवेश

बाहर - उत्पादन

INPUT - द्विदिश

खरीदार - आंतरिक प्रतिक्रिया के साथ आउटपुट

  • प्रकार प्रकार निर्दिष्ट करता है कि किसी वस्तु के अंदर क्या निहित हो सकता है।

सामान्य घोषणाएँ

सामान्य घोषणाओं की एक सामान्य संरचना नीचे दी गई है -

ENTITY कोUnit_name> IS

          सामान्य (

                    स्थिर tplh, tphl: समय := 5 एनएस;

                    tphz, tplz: समय := 3एनएस;

                    default_value: INTEGER: = 1;

                    cnt_dir: STRING := "यूपी"

                    - ध्यान दें कि घोषणाओं की अंतिम पंक्ति में कोई अर्धविराम नहीं है।

                    );

          पोर्ट की घोषणा

          समाप्ति की योग्यताUnit_name>;

  • संकलन के दौरान सामान्य मूल्यों को अधिलेखित किया जा सकता है।
  • जेनेरिक को एक कार्यक्रम के संकलन के दौरान एक निरंतरता के लिए तप के पास होना चाहिए।  

ध्यान दें कि CONSTANT कीवर्ड मान लिया गया है और लिखने की आवश्यकता नहीं है।

आर्किटेक्चर

  • सादृश्य-योजनाबद्ध: सादृश्य योजनाबद्ध एक मॉडल की कार्यक्षमता और इसके साथ जुड़े समय का विवरण देता है।  
  • एक मॉडल की वास्तुकला को एक ईएनटीटीआई के साथ जोड़ा जाना चाहिए।
  • एक इकाई में कई आर्किटेक्चर जुड़े हो सकते हैं।
  • आर्किटेक्चर स्टेटमेंट समवर्ती रूप से निष्पादित होते हैं।
  • वास्तुकला की कुछ शैलियाँ -
  • व्यवहार: व्यवहार मॉडल बताता है कि डिजाइन कैसे काम करते हैं।

आरटीएल: आरटीएल बताता है कि रजिस्टर का उपयोग करके डिजाइन कैसे लागू किया जा सकता है।

कार्यात्मक: इसमें कोई समय शामिल नहीं है।

  • संरचनात्मक: गेट स्तर संरचना का कार्यान्वयन।
  • डाटा प्रवाह: सत्य सारणी का क्रियान्वयन।
  • वास्तुकला के साथ समाप्त हो गया है -
    • अंत वास्तुकला ;
    • अंत वास्तुकला
    • समाप्त;

वास्तुकला लिखने की एक सामान्य संरचना:

वास्तुकला <पहचानकर्ता> OF <Unit_identifier> IS

          सिग्नल signal_1: INTEGER: = 1;

          स्थिर cnst: = BOOLEAN: = true;

          TYPE प्रक्रिया IS है (डब्ल्यू एक्स वाई जेड);

          - घोषणाओं को पूरा करें

          - विशिष्टताओं को शामिल करें

          - उपप्रोग्राम घोषणा

          - सबप्रोग्राम बॉडी

शुरू

          प्रक्रिया कथन

          समवर्ती प्रक्रियात्मक कॉल

          संकेत कार्य

          बयान जनरेट करें

अंत वास्तुकला <पहचानकर्ता>;

IMG18 1024x576 1
VHDL ट्यूटोरियल से एक और गेट के RTL योजनाबद्ध

विन्यास     

जैसा कि पहले चर्चा की गई थी configuration एक इकाई के साथ वास्तुकला को जोड़ने के लिए उपयोग किया जाता है। संबद्ध करना या संयोजन करना आवश्यक है क्योंकि जब तक आर्किटेक्चर इसके साथ जुड़ा नहीं होता है तब तक एक ENTITY काम नहीं कर सकती है। कॉन्फ़िगरेशन की एक सामान्य संरचना नीचे दी गई है।

विन्यास  < पहचानकर्ता > OF < इकाई नाम > IS

          के लिए < आर्किटेक्चर_नाम >

                    के लिए < उदाहरण के नाम >: घटक का नाम > उपयोग < सत्ता > ( स्थापत्य >)

                    अंत के लिए;

                    के लिए < उदाहरण के नाम >: घटक का नाम > उपयोग < कॉन्फ़िगरेशन_नाम >

                    के लिए अंत;

          के लिए अंत;

अंत संवहन < पहचानकर्ता >;

संकुल

VHDL पैकेज एक पूरे सिस्टम की एक पूरी इकाई है। यह वीएचडीएल के कार्यान्वयन का मुख्य उद्देश्य है। एक पैकेज के दो भाग होते हैं। जैसा कि पहले कहा गया था, पैकेज घोषणाएं और पैकेज बॉडी एक पूर्ण पैकेज बनाते हैं।

VHDL दो-इन-पैकेज तैयार करता है।

VHDL ट्यूटोरियल के बारे में कुछ नियम और बुनियादी जानकारी

VHDL ट्यूटोरियल का पता लगाने के लिए गोता लगाने से पहले हम कुछ बुनियादी जानकारी पर एक नज़र डालते हैं।

1. सुरक्षित डेवलपर: VHDL में कुछ खोजशब्द आरक्षित हैं (जिनका उपयोग किसी चर को घोषित करने के लिए नहीं किया जा सकता है)।

2. भागों: मॉडल के निर्माण के लिए VHDL के दो चरण या भाग हैं। एक है सिमुलेशन, और दूसरा है संश्लेषण और सिमुलेशन।

3. केस संवेदनशील भाषा: VHDL एक केस संवेदी भाषा नहीं है (अधिकांश भाग के लिए)।

4. टिप्पणी: वीएचडीएल कोड संपादक में एक बयान टिप्पणी करने के लिए, उदाहरण के लिए - के साथ वाक्य शुरू करें:

- यह वीएचडीएल में एक टिप्पणी है।

5. समाप्ति: वीएचडीएल कोड और कोड की हर एक पंक्तियों को अर्धविराम (जब भी आवश्यकता हो) का उपयोग करके समाप्त किया जाता है। 

6. अंतरिक्ष संवेदनशीलता: VHDL सफेद स्थान संवेदनशील नहीं है।

सिंटैक्स और VHDL कोड लिखने के लिए कुछ महत्वपूर्ण VHDL ट्यूटोरियल अवधारणाएं

  1. उदाहरणों के साथ सरणी
  2. उदाहरण के साथ प्रक्रिया
  3. IF - THEN - ELSIF कार्यान्वयन उदाहरण के साथ।
  4. मामला बयान
  5. पाश के लिए

ए अर्रे

एरे स्टोर वैल्यू। यह एक उपयोगकर्ता-परिभाषित डेटा प्रकार है जो मूल्य को संग्रहीत करता है। एक सरणी में संकेत के प्रकार हो सकते हैं, स्थिरांक प्रकार।

एक सरणी घोषित करने के लिए एक सामान्य संरचना नीचे दी गई है:

TYPE array_name IS ARRAY (रेंज) OF डाटा प्रकार;

एक उदाहरण के लिए,

टाइप lambdageeks ARRAY (0 से 9) OF std_logic_vector (0 UPTO 9);

B. प्रक्रिया कथन

प्रक्रिया एक साथ और सिंक्रनाइज़ स्टेटमेंट है। यह कालानुक्रमिक कथनों का परिचय देता है। यदि मॉडल की जरूरत है तो कई प्रक्रियाएं समानांतर रूप से चलती हैं।

एक प्रक्रिया में दो भाग होते हैं। वे प्रक्रिया का निष्पादन हैं और फिर अगली स्थिति की प्रतीक्षा करते हैं।

वाक्य - विन्यास:

प्रक्रिया संवेदनशीलता_सूची

          घोषणाओं

शुरू करना

          कालानुक्रमिक आधार;

प्रक्रिया समाप्त;

C. IF - THEN - ELSIF कार्यान्वयन

इन बयानों का उपयोग किसी शर्त को लागू करने और उनके परिणाम के लिए किया जाता है।

यदि स्थिति में आवश्यकता के अनुसार अनंत शाखाओं की संख्या हो सकती है। एल्सीफ स्थिति की काफी संख्या भी संभव है। लेकिन, ए, अगर लूप में, केवल एक और स्थिति हो सकती है। यदि कथन के अंत में एक लूप समाप्त हो जाता है। यदि शर्त दी गई है, तो यह सच है, तो यह लूप में प्रवेश करेगा और विवरण निष्पादित करेगा। यदि यह विफल हो जाता है, तो अन्य या एल्सिफ़ बयान के लिए जाएं।

बयानों का वाक्य विन्यास नीचे दिया गया है।

वाक्य - विन्यास

          if सशर्त_बुलियन_फैशन फिर

                    कथन १

          एल्सिफ़ सशर्त_बुलियन_फैशन फिर

                    कथन १

          . . .

          अन्य

                    कथन १

          समाप्त if;

डी। CASE स्टेटमेंट

केस स्टेटमेंट से पता चलता है कि किस स्टेटमेंट को निष्पादित किया जाएगा। एक केस स्टेटमेंट को IF-ELSE लूप के रूप में भी शाखित किया जा सकता है।

वाक्य - विन्यास

[लेबल]: मामला < सशर्त-अभिव्यक्ति > is

          कब < चुनाव> =>

                    कथन १

          कब <चुनाव> =>

                    कथन १

          ...

          कब <चुनाव> =>

                    कथन

समाप्त मामला [लेबल];

ई। लूप के लिए

लूप के लिए बाउंडिंग शर्तों के अनुसार बयानों का निरंतर निष्पादन है।

प्रत्येक लूप के लिए, हमें एक पुनरावृत्ति की आवश्यकता होती है जो लूप के लिए ऑपरेशन करेगा। इसे एक पहचानकर्ता के रूप में भी जाना जाता है। यह डिफ़ॉल्ट रूप से एक पूर्णांक है और इसे पुनरावृत्त घोषित करने की आवश्यकता नहीं है। यह जटिल मॉडल बनाने के लिए सबसे अधिक इस्तेमाल किए जाने वाले छोरों में से एक है। यह छोरों की तुलना में अधिक परिचित है।

वाक्य - विन्यास

[लेबल]: एसटी इटरेटर in रेंज पाश

          कथन १

          कथन १

          ...

          कथन n

अंत लूप [लेबल];

VHDL ट्यूटोरियल के लिए VHDL सिमुलेटर

VHDL के कार्यान्वयन के लिए उपयोग किए जाने वाले कुछ प्रसिद्ध VHDL सिमुलेटर नीचे सूचीबद्ध हैं।

  1. ज़िलिनक्स विवाडो: VHDL के लिए सबसे प्रसिद्ध सिम्युलेटर Xilinx Vivado है। Xilinx प्रोग्रामेबल लॉजिक डिवाइस प्रदान करता है। हम इस सिम्युलेटर का उपयोग वीएचडीएल ट्यूटोरियल के अगले भाग के लिए करेंगे। 
  2. ताल प्रोत्साहन: पिछला संस्करण NC-VHDL के रूप में जाना जाता था।
  3. VHDL सिमिलि: सिम्फनी ईडीए इसे विकसित करता है। यह उपभोक्ताओं के लिए मुफ्त है। 
  4. जीएचडीएल: प्रसिद्ध मुफ्त VHDL सिम्युलेटर में से एक। 
  5. बूट: Freerangefactory संगठन ने सिम्युलेटर विकसित किया। 
  6. NVC: Nick Gasson ने ओपन सोर्स VHDL कंपाइलर विकसित किया। 
  7. EDA खेल का मैदान: वेब-ब्राउज़र पर आधारित एक और मुफ्त संस्करण। 
  8. सिनॉप्सिस वीसीएस-एमएक्स।
वीएचडीएल के लिए सिमुलेटर, हम अपने वीएचडीएल ट्यूटोरियल इमेज क्रेडिट के लिए XILINX का उपयोग करेंगे - ™/®Xilinx, Inc., Xilinx लोगोसार्वजनिक डोमेन के रूप में चिह्नित किया गया है, और अधिक विवरण विकिमीडिया कॉमन्स

VHDL का उपयोग करके अपना पहला प्रोजेक्ट बनाएं। VHDL ट्यूटोरियल के अगले भाग को देखें।

अधिक इलेक्ट्रॉनिक्स से संबंधित लेख के लिए, क्लिक करें यहाँ!

एक टिप्पणी छोड़ दो