সুচিপত্র:
- ধাপ 1: উপকরণ
- ধাপ 2: ইনপুট এবং আউটপুট সেট করা
- ধাপ 3: ঘড়ি তৈরি করা
- ধাপ 4: দশ গণনা
- ধাপ 5: সংখ্যা প্রদর্শন
- ধাপ 6: স্টপওয়াচ কিভাবে প্রদর্শন করবেন
- ধাপ 7: সব একসাথে আনা
- ধাপ 8: সীমাবদ্ধতা
- ধাপ 9: পরীক্ষা
ভিডিও: ভিএইচডিএল এবং বেসিস 3 বোর্ড ব্যবহার করে বেসিক স্টপওয়াচ: 9 টি ধাপ
2024 লেখক: John Day | [email protected]. সর্বশেষ পরিবর্তিত: 2024-01-30 08:01
বেসিক ভিএইচডিএল এবং বেসিস 3 বোর্ড ব্যবহার করে কীভাবে স্টপওয়াচ তৈরি করতে হয় তার নির্দেশনাতে স্বাগতম। আমরা আপনার সাথে আমাদের প্রকল্প শেয়ার করতে পেরে উচ্ছ্বসিত! ২০১ 2016 সালের শরত্কালে ক্যাল পলি, এসএলও -তে কোর্স সিপিই 133 (ডিজিটাল ডিজাইন) এর জন্য এটি একটি চূড়ান্ত প্রকল্প ছিল। আমাদের তৈরি করা প্রকল্পটি একটি সহজ স্টপওয়াচ যা শুরু, রিসেট এবং সময় বিরতি দেয়। এটি ইনপুট হিসাবে Basys3 বোর্ডে তিনটি পুশ বোতাম নেয় এবং সময়টি বোর্ডের চার-অঙ্কের সাত-সেগমেন্ট ডিসপ্লেতে প্রদর্শিত হয়। অতিবাহিত সময় একটি সেকেন্ডে প্রদর্শিত হয়: সেন্টিসেকেন্ড বিন্যাসে। এটি অতিবাহিত সময়ের উপর নজর রাখার জন্য ইনপুট হিসাবে বোর্ডের সিস্টেম ঘড়ি ব্যবহার করে এবং সাত-সেগমেন্ট ডিসপ্লের চারটি অঙ্কে সময় বের করে।
ধাপ 1: উপকরণ
এই প্রকল্পের জন্য আপনার প্রয়োজনীয় উপকরণগুলি:
- Xilinx থেকে ইনস্টল করা Vivado ডিজাইন স্যুট ওয়েবপ্যাক সহ 1 কম্পিউটার (সংস্করণ 2016.2 পছন্দ করুন)
- 1 Digilent Basys3 Xilinx Artix-7 FPGA বোর্ড
- 1 ইউএসবি পোর্ট কেবল
ধাপ 2: ইনপুট এবং আউটপুট সেট করা
উপরের চিত্রটি প্রধান স্টপওয়াচ মডিউলের একটি শীর্ষ স্তরের ব্লক চিত্র দেখায়। স্টপওয়াচ "CLK" (ঘড়ি), "S1" (স্টার্ট বাটন), "S2" (বিরতি বোতাম), এবং "RST" (রিসেট) ইনপুট নেয় এবং 4-বিট আউটপুট "Anodes", 7-বিট আউটপুট "সেগমেন্ট," এবং একটি একক-বিট আউটপুট "ডিপি" (দশমিক বিন্দু)। যখন ইনপুট "S1" বেশি হয়, স্টপওয়াচ সময় গণনা শুরু করে। যখন "S2" কম, স্টপওয়াচ সময় বিরতি দেয়। যখন "আরএসটি" বেশি হয়, স্টপওয়াচ থেমে যায় এবং সময়টি পুনরায় সেট করে। সার্কিটের মধ্যে চারটি সাবমডিউল রয়েছে: ক্লক ডিভাইডার, ডিজিট কাউন্টার, সেভেন সেগমেন্ট ডিসপ্লে ড্রাইভার এবং সেভেন সেগমেন্ট ডিসপ্লে এনকোডার। স্টপওয়াচ প্রধান মডিউল সমস্ত সাবমডিউলগুলিকে একসাথে এবং ইনপুট এবং আউটপুটগুলির সাথে সংযুক্ত করে।
ধাপ 3: ঘড়ি তৈরি করা
ঘড়ি বিভাজক মডিউল একটি সিস্টেম ঘড়ি নেয় এবং সিস্টেম ঘড়ির চেয়ে বড় কোনো গতিতে একটি ঘড়ি তৈরি করতে একটি বিভাজক ইনপুট ব্যবহার করে। স্টপওয়াচ দুটি ভিন্ন ঘড়ি মডিউল ব্যবহার করে, একটি যা 500 Hz ঘড়ি তৈরি করে এবং অন্যটি 100 Hz ঘড়ি তৈরি করে। ঘড়ি বিভাজক জন্য পরিকল্পিত উপরের চিত্রে দেখানো হয়েছে। ক্লক ডিভাইডার একটি সিঙ্গেল-বিট ইনপুট "CLK", এবং একটি 32-বিট ইনপুট "Divisor" এবং সিঙ্গল-বিট আউটপুট "CLKOUT" নেয়। "CLK" হল সিস্টেম ক্লক এবং "CLKOUT" হল ফলিত ঘড়ি। মডিউলটিতে একটি NOT গেটও অন্তর্ভুক্ত রয়েছে, যা গণনাটি ভাজকের মান পৌঁছানোর সময় "CLKTOG" সংকেত টগল করে।
ধাপ 4: দশ গণনা
ডিজিট কাউন্টার প্রতিটি অঙ্ক 0 থেকে 10 পর্যন্ত গণনা করে এবং গণনা 10 এ পৌঁছানোর পর পরবর্তী সংখ্যার জন্য কাজ করার জন্য আরেকটি ঘড়ি তৈরি করে। "এবং একটি একক-বিট আউটপুট" এন "এবং 4-বিট আউটপুট" ডি "। ইনপুট "এস" হল ইনপুট ইনাবল। "এস" বেশি হলে এবং "এস" কম হলে ঘড়ি চালু হয়। "RST" হল রিসেট ইনপুট তাই "RST" বেশি হলে ঘড়ি রিসেট হয়। "CLK" হল ডিজিট কাউন্টারের ক্লক ইনপুট। "N" হল ঘড়ির আউটপুট যা পরবর্তী সংখ্যার জন্য ইনপুট ঘড়ি হয়ে যায়। আউটপুট "ডি" কাউন্টারে যে অঙ্ক আছে তার বাইনারি মান উপস্থাপন করে।
ধাপ 5: সংখ্যা প্রদর্শন
সাত-সেগমেন্ট ডিসপ্লে এনকোডার সাত-সেগমেন্ট ডিসপ্লে ড্রাইভার মডিউল থেকে প্রাপ্ত বাইনারি নম্বর এনকোড করবে এবং এটি বিটগুলির একটি প্রবাহে পরিণত করবে যা ডিসপ্লের প্রতিটি সেগমেন্টের জন্য '1' বা '0' মান হিসাবে ব্যাখ্যা করা হবে। বাইনারি সংখ্যাটি মডিউল দ্বারা 4-বিট ইনপুট "ডিজিট" হিসাবে প্রাপ্ত হয় এবং 7-বিট আউটপুট "সেগমেন্ট" এর ফলাফল হয়। মডিউলটিতে একটি একক কেস প্রসেস ব্লক রয়েছে যা 0 থেকে 9 পর্যন্ত প্রতিটি সম্ভাব্য ইনপুট মানের জন্য একটি নির্দিষ্ট 7-বিট স্ট্রিম বরাদ্দ করে। প্রবাহের বিভাগগুলির ক্রম হল "abcdefg" যার সাথে 0 এর প্রতিনিধিত্ব করা অংশগুলি প্রদত্ত সংখ্যার জন্য আলোকিত হয়।
ধাপ 6: স্টপওয়াচ কিভাবে প্রদর্শন করবেন
সাত-সেগমেন্ট ডিসপ্লে ড্রাইভার মডিউলে, চারটি 4-বিট ইনপুট "D0", "D1", "D2", এবং "D3" রয়েছে, প্রত্যেকটি চারটি সংখ্যা প্রদর্শন করে। ইনপুট "CLK" হল সিস্টেমের ক্লক ইনপুট। একক-বিট আউটপুট "ডিপি" সাত-সেগমেন্ট ডিসপ্লেতে দশমিক বিন্দু প্রতিনিধিত্ব করে। 4-বিট আউটপুট "Anodes" নির্ধারণ করে যে সাত-সেগমেন্ট ডিসপ্লেতে কোন অঙ্ক দেখানো হয়েছে এবং 4-বিট আউটপুট "টেম্প" 2-বিট কন্ট্রোল ইনপুট "SEL" এর অবস্থার উপর নির্ভর করে। মডিউল 4 টি মাল্টিপ্লেক্সার ব্যবহার করে নিয়ন্ত্রণ ইনপুট "SEL" এবং তিনটি আউটপুট; "Anodes", "temp", এবং "DP"।
ধাপ 7: সব একসাথে আনা
500Hz ঘড়ির একটি 'if' প্রসেস ব্লক স্টার্ট এবং পজ বাটন তৈরি করতে ব্যবহৃত হয়। তারপর প্রতিটি সাবমডিউলের উপাদানগুলি ঘোষণা করে এবং বিভিন্ন সংকেত ব্যবহার করে স্টপওয়াচ মেইন মডিউলে সমস্ত সাবমডিউলগুলিকে একসাথে সংযুক্ত করুন। ডিজিটের সাবমডিউলগুলি আগের ডিজিটের সাবমডিউলের ঘড়ির আউটপুট নেয় এবং প্রথমটি 100Hz ঘড়িতে নেয়। ডিজিট সাবমডিউলের "D" আউটপুটগুলি তখন সাত সেগমেন্ট ডিসপ্লে ড্রাইভার মডিউলের "D" ইনপুট হয়ে যায়। এবং সবশেষে সাত সেগমেন্ট ডিসপ্লে ড্রাইভার মডিউলের "টেম্প" আউটপুট সাত সেগমেন্ট এনকোডার মডিউলের "টেম্প" ইনপুট হয়ে যায়।
ধাপ 8: সীমাবদ্ধতা
"RST", "S1", এবং "S2" ইনপুটগুলির জন্য 3 টি পুশ বোতাম (W19, T17, এবং U18) ব্যবহার করুন। W19 হল রিসেট বাটন, T17 হল স্টার্ট বাটন (S1), এবং U18 হল বিরতি বাটন (S2)। পোর্ট W5 ব্যবহার করে ঘড়ির ইনপুট ইনপুটের জন্য একটি সীমাবদ্ধতাও প্রয়োজন। এছাড়াও, ঘড়ির সীমাবদ্ধতায় এই লাইনটি যোগ করতে ভুলবেন না:
create_clock -add -name sys_clk_pin -period 10.00 -waveform {0 5} [get_ports {CLK}]
এছাড়াও বোর্ডে অ্যানোড এবং বিভাগগুলিকে লিঙ্ক করুন যাতে স্টপওয়াচ সাত সেগমেন্ট ডিসপ্লেতে প্রদর্শিত হয় যেমন সীমাবদ্ধতা ফাইলে দেখা যায়।
ধাপ 9: পরীক্ষা
নিশ্চিত করুন যে আপনার ডিভাইসটি তিনটি বোতামের সাথে খেলে কাজ করে: আপনার কোডের সাথে সম্ভাব্য সমস্যাগুলি খুঁজে পেতে প্রতিটি সম্ভাব্য ক্রমে তাদের ধাক্কা এবং ধরে রাখা।
প্রস্তাবিত:
বেসিস 3 বোর্ড ব্যবহার করে Dimmable LED: 5 টি ধাপ
বেসিস 3 বোর্ড ব্যবহার করে Dimmable LED: এই নির্দেশিকায় আমরা একটি বহিরাগত LED ডিমিং সিস্টেম তৈরি এবং নিয়ন্ত্রণ করতে যাচ্ছি। উপলব্ধ বোতামগুলির সাহায্যে, ব্যবহারকারী LED বাল্বকে যে কোন কাঙ্ক্ষিত উজ্জ্বলতায় কমিয়ে দিতে পারেন। সিস্টেমটি বেসিস 3 বোর্ড ব্যবহার করে এবং এটি একটি ব্রেডবোর্ডের সাথে সংযুক্ত থাকে যা রয়েছে
একটি Arduino বোর্ড ব্যবহার করে একটি AVR বোর্ড প্রোগ্রাম কিভাবে: 6 ধাপ
আরডুইনো বোর্ড ব্যবহার করে কীভাবে একটি এভিআর বোর্ড প্রোগ্রাম করবেন: আপনার কি একটি এভিআর মাইক্রোকন্ট্রোলার বোর্ড রয়েছে? এটা প্রোগ্রাম করা চতুর? ভাল, আপনি সঠিক জায়গায় আছেন। এখানে, আমি আপনাকে দেখাব কিভাবে একটি Atmega8a মাইক্রোকন্ট্রোলার বোর্ডকে প্রোগ্রামার হিসাবে একটি Arduino Uno বোর্ড ব্যবহার করে প্রোগ্রাম করা যায়। তাই বিনা বাধায়
ভিএইচডিএল এবং একটি জাইবো ব্যবহার করে ভিডিও প্রসেসিং: 10 টি ধাপ
ভিএইচডিএল এবং একটি জাইবো ব্যবহার করে ভিডিও প্রসেসিং: এফপিজিএগুলি প্রক্রিয়া করার জন্য সিপিইউগুলির চেয়ে দ্রুততর, কারণ তারা সমান্তরালভাবে অনেক হিসাব করতে পারে নোট: এই প্রকল্পটি এখনও নির্মাণাধীন এবং উন্নত হতে চলেছে (যত তাড়াতাড়ি আমার সময় আছে)। এদিকে আমি বিশ্ব ভ্রমণ করছি
ভিএইচডিএল এক মিনিট স্টপওয়াচ: 5 টি ধাপ
ভিএইচডিএল ওয়ান মিনিট স্টপওয়াচ: এটি ভিএইচডিএল এবং বেসিস 3 বোর্ড ব্যবহার করে কীভাবে এক মিনিটের স্টপওয়াচ তৈরি করা যায় তার একটি টিউটোরিয়াল। এই জাতীয় ডিভাইস গেমগুলির জন্য আদর্শ যেখানে প্রতিটি খেলোয়াড় তাদের চলাচলের জন্য সর্বোচ্চ এক মিনিট সময় পায়। স্টপওয়াচ সঠিকভাবে সেকেন্ড এবং মিলিসেকেন্ড প্রদর্শন করে
ভিএইচডিএল স্টপওয়াচ: 8 টি ধাপ (ছবি সহ)
ভিএইচডিএল স্টপওয়াচ: এটি ভিএইচডিএল এবং এফপিজিএ সার্কিট বোর্ড ব্যবহার করে কীভাবে একটি স্টপওয়াচ তৈরি করতে হয় তার একটি বেসিস 3 এট্রিক্স -7 বোর্ডের মতো একটি টিউটোরিয়াল। স্টপওয়াচ 00.00 সেকেন্ড থেকে 99.99 সেকেন্ড পর্যন্ত গণনা করতে সক্ষম। এটি দুটি বোতাম ব্যবহার করে, একটি স্টার্ট/স্টপ বাটনের জন্য এবং আরেকটি থের জন্য