विषयसूची:

वीएचडीएल और बेसिस3 बोर्ड का उपयोग कर बुनियादी स्टॉपवॉच: 9 कदम
वीएचडीएल और बेसिस3 बोर्ड का उपयोग कर बुनियादी स्टॉपवॉच: 9 कदम

वीडियो: वीएचडीएल और बेसिस3 बोर्ड का उपयोग कर बुनियादी स्टॉपवॉच: 9 कदम

वीडियो: वीएचडीएल और बेसिस3 बोर्ड का उपयोग कर बुनियादी स्टॉपवॉच: 9 कदम
वीडियो: Implementing a VHDL design on the Basys 3 development board 2024, जुलाई
Anonim
Image
Image

बेसिक वीएचडीएल और बेसिस 3 बोर्ड का उपयोग करके स्टॉपवॉच बनाने के निर्देश में आपका स्वागत है। हम आपके साथ अपनी परियोजना साझा करने के लिए उत्साहित हैं! फॉल 2016 में कैल पॉली, एसएलओ में पाठ्यक्रम सीपीई 133 (डिजिटल डिज़ाइन) के लिए यह एक अंतिम परियोजना थी। हमने जो परियोजना बनाई है वह एक साधारण स्टॉपवॉच है जो समय शुरू करती है, रीसेट करती है और रुकती है। यह इनपुट के रूप में बेसिस3 बोर्ड पर तीन पुश बटन लेता है, और समय बोर्ड के चार-अंकीय सात-खंड डिस्प्ले पर प्रदर्शित होता है। बीता हुआ समय एक सेकंड में प्रदर्शित होता है: सेंटीसेकंड प्रारूप। यह बीता हुआ समय का ट्रैक रखने के लिए इनपुट के रूप में बोर्ड की सिस्टम घड़ी का उपयोग करता है और समय को सात-खंड डिस्प्ले के चार अंकों में आउटपुट करता है।

चरण 1: सामग्री

इनपुट और आउटपुट सेट करना
इनपुट और आउटपुट सेट करना

इस परियोजना के लिए आपको जिन सामग्रियों की आवश्यकता होगी:

  • Xilinx से स्थापित विवाडो डिज़ाइन सूट वेबपैक वाला 1 कंप्यूटर (संस्करण 2016.2 को प्राथमिकता दें)
  • 1 Digilent Bassys3 Xilinx Artix-7 FPGA बोर्ड
  • 1 यूएसबी पोर्ट केबल

चरण 2: इनपुट और आउटपुट सेट करना

ऊपर दिया गया आंकड़ा मुख्य स्टॉपवॉच मॉड्यूल का एक शीर्ष स्तरीय ब्लॉक आरेख दिखाता है। स्टॉपवॉच "CLK" (घड़ी), "S1" (स्टार्ट बटन), "S2" (पॉज़ बटन), और "RST" (रीसेट) इनपुट लेती है और इसमें 4-बिट आउटपुट "एनोड्स", 7-बिट होता है। आउटपुट "सेगमेंट," और सिंगल-बिट आउटपुट "डीपी" (दशमलव बिंदु)। जब इनपुट "S1" अधिक होता है, तो स्टॉपवॉच समय गिनना शुरू कर देती है। जब "S2" कम होता है, तो स्टॉपवॉच समय को रोक देती है। जब "RST" अधिक होता है, तो स्टॉपवॉच रुक जाती है और समय को रीसेट कर देती है। सर्किट के भीतर चार सबमॉड्यूल हैं: क्लॉक डिवाइडर, डिजिट काउंटर, सात-सेगमेंट डिस्प्ले ड्राइवर, और सात-सेगमेंट डिस्प्ले एनकोडर। स्टॉपवॉच मुख्य मॉड्यूल सभी सबमॉड्यूल को एक साथ और इनपुट और आउटपुट से जोड़ता है।

चरण 3: घड़ियाँ बनाना

घड़ियां बनाना
घड़ियां बनाना

क्लॉक डिवाइडर मॉड्यूल एक सिस्टम क्लॉक में लेता है और सिस्टम क्लॉक की तुलना में किसी भी गति की घड़ी बनाने के लिए डिवाइडर इनपुट का उपयोग करता है। स्टॉपवॉच दो अलग-अलग घड़ी मॉड्यूल का उपयोग करता है, एक जो 500 हर्ट्ज घड़ी बनाता है और दूसरा जो 100 हर्ट्ज घड़ी बनाता है। क्लॉक डिवाइडर के लिए योजनाबद्ध ऊपर की आकृति में दिखाया गया है। क्लॉक डिवाइडर सिंगल-बिट इनपुट "CLK", और 32-बिट इनपुट "डिवाइसर" और सिंगल-बिट आउटपुट "CLKOUT" लेता है। "CLK" सिस्टम क्लॉक है और "CLKOUT" परिणामी क्लॉक है। मॉड्यूल में एक NOT गेट भी शामिल होता है, जो काउंट के भाजक के मान तक पहुंचने पर "CLKTOG" सिग्नल को टॉगल करता है।

चरण 4: दस तक गिनना

दस तक गिनती
दस तक गिनती

अंक काउंटर प्रत्येक अंक को 0 से 10 तक गिनता है और अगले अंक के लिए एक और घड़ी बनाता है जब गिनती 10 तक पहुंच जाती है। मॉड्यूल 3 सिंगल-बिट इनपुट "एस", "आरएसटी" और "सीएलके" लेता है। " और एक सिंगल-बिट आउटपुट "N" और 4-बिट आउटपुट "D" में परिणाम देता है। इनपुट "एस" इनपुट में सक्षम है। "S" के उच्च होने पर घड़ी चालू हो जाती है और "S" कम होने पर बंद हो जाती है। "RST" रीसेट इनपुट है इसलिए "RST" अधिक होने पर घड़ी रीसेट हो जाती है। "सीएलके" अंक काउंटर के लिए घड़ी इनपुट है। "एन" क्लॉक आउटपुट है जो अगले अंक के लिए इनपुट क्लॉक बन जाता है। आउटपुट "डी" उस अंक के बाइनरी मान को प्रस्तुत करता है जिस पर काउंटर है।

चरण 5: नंबर प्रदर्शित करना

नंबर प्रदर्शित करना
नंबर प्रदर्शित करना

सात-खंड डिस्प्ले एन्कोडर सात-खंड डिस्प्ले ड्राइवर मॉड्यूल से प्राप्त बाइनरी नंबर को एन्कोड करेगा और इसे बिट्स की एक धारा में बदल देगा जिसे डिस्प्ले के प्रत्येक सेगमेंट के लिए '1' या '0' मानों के रूप में व्याख्या किया जाएगा। बाइनरी नंबर मॉड्यूल द्वारा 4-बिट इनपुट "डिजिट" के रूप में प्राप्त किया जाता है और परिणाम 7-बिट आउटपुट "सेगमेंट" में होता है। मॉड्यूल में एक एकल केस प्रोसेस ब्लॉक होता है जो 0 से 9 तक प्रत्येक संभावित इनपुट मान के लिए एक विशिष्ट 7-बिट स्ट्रीम प्रदान करता है। सात-बिट स्ट्रीम में प्रत्येक बिट डिस्प्ले पर अंकों के सात खंडों में से एक का प्रतिनिधित्व करता है। धारा में खंडों का क्रम "abcdefg" है जिसमें '0' उन खंडों का प्रतिनिधित्व करता है जो दी गई संख्या के लिए प्रकाश डालते हैं।

चरण 6: स्टॉपवॉच कैसे प्रदर्शित करें

स्टॉपवॉच कैसे प्रदर्शित करें
स्टॉपवॉच कैसे प्रदर्शित करें

सात-खंड डिस्प्ले ड्राइवर मॉड्यूल में, चार 4-बिट इनपुट "D0", "D1", "D2", और "D3" हैं, प्रत्येक प्रदर्शित किए जाने वाले चार अंकों का प्रतिनिधित्व करते हैं। इनपुट "सीएलके" सिस्टम का क्लॉक इनपुट है। सिंगल-बिट आउटपुट "डीपी" सात-सेगमेंट डिस्प्ले पर दशमलव बिंदु का प्रतिनिधित्व करता है। 4-बिट आउटपुट "एनोड्स" यह निर्धारित करता है कि सात-सेगमेंट डिस्प्ले पर कौन सा अंक दिखाया गया है और 4-बिट आउटपुट "टेम्प" 2-बिट कंट्रोल इनपुट "एसईएल" की स्थिति पर निर्भर करता है। मॉड्यूल नियंत्रण इनपुट "एसईएल" और तीन आउटपुट के लिए 4 मल्टीप्लेक्सर्स का उपयोग करता है; "एनोड्स", "अस्थायी", और "डीपी"।

चरण 7: यह सब एक साथ लाना

500Hz क्लॉक से चलने वाले 'if' प्रोसेस ब्लॉक का उपयोग स्टार्ट और पॉज़ बटन बनाने के लिए किया जाता है। फिर प्रत्येक व्यक्तिगत सबमॉड्यूल के घटकों को घोषित करके और विभिन्न संकेतों का उपयोग करके स्टॉपवॉच मुख्य मॉड्यूल में सभी सबमॉड्यूल को एक साथ लिंक करें। डिजिट सबमॉड्यूल पिछले डिजिट सबमॉड्यूल के क्लॉक आउटपुट में लेते हैं, जिसमें पहले वाला 100Hz क्लॉक में होता है। अंक सबमॉड्यूल के "डी" आउटपुट तब सात सेगमेंट डिस्प्ले ड्राइवर मॉड्यूल के "डी" इनपुट बन जाते हैं। और अंत में सात खंड डिस्प्ले ड्राइवर मॉड्यूल का "अस्थायी" आउटपुट सात खंड एन्कोडर मॉड्यूल का "अस्थायी" इनपुट बन जाता है।

चरण 8: बाधाएं

प्रतिबंध
प्रतिबंध

"RST", "S1", और "S2" इनपुट के लिए 3 पुश बटन (W19, T17, और U18) का उपयोग करें। W19 रीसेट बटन है, T17 स्टार्ट बटन (S1) है, और U18 पॉज़ बटन (S2) है। पोर्ट W5 का उपयोग करके घड़ी इनपुट इनपुट के लिए एक बाधा भी आवश्यक है। साथ ही, इस लाइन को घड़ी की बाधा में जोड़ना याद रखें:

create_clock -add -name sys_clk_pin -पीरियड 10.00 -वेवफॉर्म {0 5} [get_ports {CLK}]

एनोड्स और सेगमेंट को बोर्ड से भी लिंक करें ताकि स्टॉपवॉच सात-खंड डिस्प्ले पर प्रदर्शित हो जैसा कि बाधाओं फ़ाइल में देखा गया है।

चरण 9: परीक्षण

परिक्षण
परिक्षण

सुनिश्चित करें कि आपका डिवाइस तीन बटनों के साथ खेलकर काम करता है: अपने कोड के साथ किसी भी संभावित समस्या को खोजने के लिए उन्हें हर संभव क्रम में दबाकर रखें।

सिफारिश की: