top of page
Search

VHDL ARTICLE - [Hindi]

Updated: Aug 29

प्रेरणा

सेमीकंडक्टर इंजीनियरिंग आज का उभरता हुआ क्षेत्र है—यानी बड़े पैमाने पर चिप्स बनाना।


 अब तक भारत में अधिकतर चिप डिज़ाइन होता रहा और वेफ़र फैब्रिकेशन (सिलिकॉन पर चिप बनाना) विदेशों की फाउंड्रीज़ में होता था, क्योंकि एक फ़ैब लगाने में कई अरब डॉलर लगते हैं (पुराने नोड्स में भी अरबों, और एडवांस्ड नोड्स में $10–20B से ज्यादा)। अब भारत में फैब्रिकेशन व असेंबली/टेस्ट सुविधाएँ भी स्थापित हो रही हैं, जिससे end-to-end अवसर बढ़ रहे हैं।


Semiconductor Engineering. Describes chip design and manufacturing in English and Hindi. Explains front-end and back-end.
सेमीकंडक्टर इंजीनियरिंग। चिप डिज़ाइन और निर्माण का अंग्रेजी और हिंदी में वर्णन। फ्रंट-एंड और बैक-एंड की व्याख्या।

मुख्य चरण

  • चिप डिज़ाइन (फ़्रंट-एंड व बैक-एंड डिज़ाइन)

    • फ़्रंट-एंड: आर्किटेक्चर, HDL (Verilog/VHDL/SystemVerilog) में RTL कोडिंग, फ़ंक्शनल वेरिफ़िकेशन।

    • बै克-एंड (फ़िज़िकल) डिज़ाइन: सिंथेसिस, प्लेस-एंड-रूट, टाइमिंग/DFT, साइन-ऑफ़।

  • चिप मैन्युफैक्चरिंग

    • फ़ैब के अंदर वेफ़र फैब्रिकेशन (FEOL/BEOL)।

    • बाद में असेंबली, पैकेजिंग और टेस्ट (OSAT)।


अब तक आपने Verilog के बारे में पढ़ लिया होगा और समझ भी लिया होगा। अब बात करते हैं VHDL की, जिसका पूरा नाम है Very High Speed Integrated Circuits Hardware Description Language


HDL (Hardware Description Language) वह भाषा है जिससे हम हार्डवेयर का व्यवहार और उसकी कार्यप्रणाली (functionality) को इस प्रकार वर्णित करते हैं कि उसे गेट-लेवल सर्किट में सिंथेसाइज़ किया जा सके, बशर्ते उसमें कोई violation या syntax error न हो।


Violation कई प्रकार के हो सकते हैं:

  • टाइमिंग वायलेशन (setup और hold समस्याएँ)

  • कंपोनेंट्स के बीच delay, जिससे सही output न मिले

  • क्रिटिकल वार्निंग्स, जिन्हें अनदेखा करने पर synthesis तो हो सकती है, लेकिन परिणाम गलत या असफल भी हो सकता है।


परिचय

किसी भी डिजिटल सिस्टम के निर्माण की पहली प्रक्रिया होती है उसकी स्पेसिफिकेशन लिखना। ये स्पेसिफिकेशन ग्राहक की ज़रूरतों से बनते हैं और मार्केटिंग टीम के माध्यम से ASIC कंपनियों तक पहुँचते हैं।


इसके बाद सिस्टम की ब्लॉक लेवल डिजाइन बनाई जाती है और अंत में उसे RTL (Register Transfer Level) में कोडिंग करके लागू किया जाता है। यह RTL कोडिंग VHDL, Verilog या SystemVerilog किसी भी भाषा में की जा सकती है।


पहले के ज़माने में synthesis और simulation टूल उपलब्ध नहीं थे, इसलिए डिज़ाइन को कागज़ पर ही verify करना पड़ता था। लेकिन आजकल EDA (Electronic Design Automation) टूल्स की वजह से यह काम बहुत तेज़ और आसान हो गया है।


  • Synthesis tools: Quartus (Intel), Vivado (Xilinx)


  • Simulation tools: Questa (Siemens), Xcelium (Cadence)


इन टूल्स ने synthesis और simulation के समय को काफी कम कर दिया है।


जब Verilog है तो VHDL क्यों?

VHDL एक disciplined और strongly typed language है, जिसे मूल रूप से U.S. Department of Defense के लिए बनाया गया था और इसका syntax ADA programming language से प्रेरित है।


वहीं, Verilog को C-like syntax के साथ डिज़ाइन किया गया, ताकि इंजीनियर्स इसे आसानी से और जल्दी सीख सकें।


आज भी अलग-अलग क्षेत्रों में अलग-अलग पसंद है:

  • यूरोप → VHDL को अधिकतर prefer किया जाता है

  • Defense और Aerospace कंपनियाँ → VHDL पर भरोसा करती हैं क्योंकि यह ज्यादा structured और disciplined है


VHDL अपनी खुद की एक सख्त संरचना (जैसे Entity, Architecture, Records, Libraries) लागू करता है। जब तक सभी आवश्यक libraries शामिल न हों, synthesis नहीं हो सकती। इससे डिज़ाइन में अनुशासन, स्पष्टता और भरोसेमंदी बनी रहती है।

मूलभूत अवधारणाएँ (Core Concepts)

सोचिए, हमारे दैनिक जीवन में कितने ही सिस्टम होते हैं जो इनपुट लेते हैं और हमें वांछित आउटपुट देते हैं। 


उदाहरण के लिए, एक टीवी को लीजिए: जब हम रिमोट का वॉल्यूम अप/डाउन बटन दबाते हैं तो आउटपुट के रूप में टीवी की आवाज़ बढ़ या घट जाती है। 


यहाँ:

  • इनपुट = रिमोट से भेजा गया IR कमांड

  • आउटपुट = स्पीकर का वॉल्यूम (dB में)

  • सिस्टम डिज़ाइन = वह आंतरिक लॉजिक जो इनपुट को प्रोसेस करता है और स्पीकर की पावर को नियंत्रित करता है ताकि आवाज़ बढ़ या घट सके।


इस साधारण उदाहरण से आप आसानी से समझ सकते हैं कि — हर डिजिटल सिस्टम इनपुट लेता है और आउटपुट देता है जो हमारी आवश्यकता (स्पेसिफिकेशन) के अनुसार होता है।


अब चलिए डिजिटल डिज़ाइन का एक क्लासिक उदाहरण लेते हैं — अप/डाउन काउंटर (Up/Down Counter)। इसे केवल किताब से रटने की बजाय हम इसे तार्किक ढंग से समझते हैं।


एक काउंटर के सामान्य इनपुट/आउटपुट सिग्नल होते हैं:

  • clk (क्लॉक)

  • rst (रीसेट)

  • counter_in (लोड करने के लिए इनपुट डेटा)

  • load (कंट्रोल सिग्नल जिससे counter_in लोड होता है)

  • enable (गिनती को सक्रिय करने के लिए)

  • counter_out (काउंटर का आउटपुट मान)



ब्लैक बॉक्स

ब्लैक बॉक्स वह मॉड्यूल होता है जिसमें हमें सिर्फ इनपुट और आउटपुट की जानकारी दी जाती है।

इसके अंदर कौन-कौन से कॉम्पोनेन्ट हैं या इसका RTL कैसा है, इसकी जानकारी नहीं होती।

हमें दी गई स्पेसिफिकेशन्स के आधार पर इसका RTL डिज़ाइन करना पड़ता है।


लेबल इनपुट के साथ अप-डाउन काउंटर का आरेख: काउंटर_इन, लोड, सक्षम, अप/डाउन, क्लॉक, और रीसेट (आरएसटी), 4-बिट आउटपुट रेंज (3 से 0 तक) प्रदर्शित करता है।
लेबल इनपुट के साथ अप-डाउन काउंटर का आरेख: काउंटर_इन, लोड, सक्षम, अप/डाउन, क्लॉक, और रीसेट (आरएसटी), 4-बिट आउटपुट रेंज (3 से 0 तक) प्रदर्शित करता है।

RTL Diagram:

इनपुट से आउटपुट तक के प्रवाह को दर्शाने वाले एक अप/डाउन काउंटर सिस्टम का ब्लॉक आरेख, जिसमें एक एडर, सबट्रैक्टर, मल्टीप्लेक्सर (MUX), और पैरेलल इनपुट पैरेलल आउटपुट (PIPO) शिफ्ट रजिस्टर जैसे प्रमुख घटक शामिल हैं। 'counter_in' जैसे इनपुट और 'up/down', 'enable', 'load', 'clock', और 'reset (rst)' जैसे नियंत्रण सिग्नल हाइलाइट किए गए हैं। आउटपुट 'counter_out' 3 से 0 तक होता है।
इनपुट से आउटपुट तक के प्रवाह को दर्शाने वाले एक अप/डाउन काउंटर सिस्टम का ब्लॉक आरेख, जिसमें एक एडर, सबट्रैक्टर, मल्टीप्लेक्सर (MUX), और पैरेलल इनपुट पैरेलल आउटपुट (PIPO) शिफ्ट रजिस्टर जैसे प्रमुख घटक शामिल हैं। 'counter_in' जैसे इनपुट और 'up/down', 'enable', 'load', 'clock', और 'reset (rst)' जैसे नियंत्रण सिग्नल हाइलाइट किए गए हैं। आउटपुट 'counter_out' 3 से 0 तक होता है।

VHDL Code:

LIBRARY IEEE;

USE IEEE.std_logic_1164.all;

USE IEEE.numeric_std.all;

ENTITY counter IS

  PORT (

    clock       : IN std_logic;

    rst         : IN std_logic;

    ENABLE      : IN std_logic;

    LOAD        : IN std_logic;

    UP_DOWN     : IN std_logic;

    counter_in  : IN std_logic_vector(3 DOWNTO 0);

    counter_out : OUT std_logic_vector(3 DOWNTO 0)

  );

END counter;

ARCHITECTURE behavioral OF counter IS

  SIGNAL counter_out_tmp : unsigned(3 DOWNTO 0);  -- unsigned type for arithmetic

BEGIN

  counter_proc : PROCESS (rst, clock)

  BEGIN

    IF (rst = '0') THEN

      counter_out_tmp <= (OTHERS => '0');

    ELSIF rising_edge(clock) THEN

      IF (LOAD = '1') THEN

        counter_out_tmp <= unsigned(counter_in);

      ELSIF (ENABLE = '1') THEN

        IF (UP_DOWN = '1') THEN

          counter_out_tmp <= counter_out_tmp + 1;

        ELSE

          counter_out_tmp <= counter_out_tmp - 1;

        END IF;

      END IF;

    END IF;

 END PROCESS;

  counter_out <= std_logic_vector(counter_out_tmp); -- convert back

END behavioral;

VIVADO ELABORATED DIAGRAM

एक डिजिटल सर्किट का ब्लॉक आरेख जो एक कॉन्फ़िगर करने योग्य 4-बिट काउंटर को दर्शाता है। इस सर्किट में अंकगणितीय संक्रियाओं के लिए RTL घटक, डेटा पथ नियंत्रण के लिए मल्टीप्लेक्सर और डेटा संग्रहण के लिए रजिस्टर शामिल हैं। इनपुट में ENABLE, LOAD, UP_DOWN और क्लॉक/रीसेट जैसे नियंत्रण सिग्नल शामिल हैं, जो काउंटर के संचालन मोड और दिशा को निर्धारित करते हैं।
एक डिजिटल सर्किट का ब्लॉक आरेख जो एक कॉन्फ़िगर करने योग्य 4-बिट काउंटर को दर्शाता है। इस सर्किट में अंकगणितीय संक्रियाओं के लिए RTL घटक, डेटा पथ नियंत्रण के लिए मल्टीप्लेक्सर और डेटा संग्रहण के लिए रजिस्टर शामिल हैं। इनपुट में ENABLE, LOAD, UP_DOWN और क्लॉक/रीसेट जैसे नियंत्रण सिग्नल शामिल हैं, जो काउंटर के संचालन मोड और दिशा को निर्धारित करते हैं।

एडवांस्ड लेक्चर्स में हम विस्तार से देखेंगे कि RTL को कैसे डिज़ाइन किया गया और कैसे उसे सिंथेसाइज़ किया गया।


Synthesis

ree

Simulation


ree

अनुप्रयोग (Applications)

  • संचार प्रणालियाँ (Communication systems) → जैसे modems, encoders

  • ऑटोमोबाइल सुरक्षा प्रणालियाँ (Automotive safety systems) → जैसे airbag controllers

  • CPU और DSP डिज़ाइन (CPU & DSP design)

  • अंतरिक्ष और रक्षा उपकरण (Space and defense hardware)

VHDL का भविष्य (Future of VHDL)

  • VHDL-2008 → उन्नत (enhanced) सिंटैक्स, fixed और floating-point सपोर्ट, और बेहतर modeling features.

  • यह अभी भी Verilog और SystemVerilog के साथ प्रासंगिक (relevant) है, क्योंकि यह बहुत मजबूत (robust) भाषा है।



 
 
 

Comments


© Copyright 2025 VLSI Mentor. All Rights Reserved.©

Connect with us

  • Instagram
  • Facebook
  • Twitter
  • LinkedIn
  • YouTube
bottom of page