সুচিপত্র:

ঘেটো প্রোগ্রামেবল লজিক (CPLD) ডেভেলপমেন্ট সিস্টেম: 13 টি ধাপ
ঘেটো প্রোগ্রামেবল লজিক (CPLD) ডেভেলপমেন্ট সিস্টেম: 13 টি ধাপ

ভিডিও: ঘেটো প্রোগ্রামেবল লজিক (CPLD) ডেভেলপমেন্ট সিস্টেম: 13 টি ধাপ

ভিডিও: ঘেটো প্রোগ্রামেবল লজিক (CPLD) ডেভেলপমেন্ট সিস্টেম: 13 টি ধাপ
ভিডিও: ঘেটো 2024, জুলাই
Anonim
ঘেটো প্রোগ্রামেবল লজিক (সিপিএলডি) ডেভেলপমেন্ট সিস্টেম
ঘেটো প্রোগ্রামেবল লজিক (সিপিএলডি) ডেভেলপমেন্ট সিস্টেম

গত কয়েক মাস ধরে আমি AVR প্রসেসরের জন্য ঘেটো ডেভেলপমেন্ট সিস্টেম উপভোগ করছি। প্রকৃতপক্ষে, এই প্রায় শূন্য ডলারের হাতিয়ারটি এত আকর্ষণীয় এবং দরকারী প্রমাণিত হয়েছে যে এটি FPGA/CPLD ডেভেলপমেন্টে ধারণাটি প্রসারিত করা সম্ভব কিনা তা আমি ভাবছিলাম। (FPGA: Field Programmable Gate Array। CPLD: Complex Programmable Logic Device।) তাই আমি ওয়েবে একটু খনন করেছি এবং Atmel CPLDs এর জন্য একটি ডেভেলপমেন্ট সিস্টেম নিয়ে এসেছি। Altera ডিভাইসের সাথে তুলনা তাদের পিনআউটকে একই দেখায় (আমি নীচে সীমাবদ্ধতার মধ্যে), তাই তারাও কাজ করবে। ডেভেলপমেন্ট বোর্ড এবং ইন্টারফেস ক্যাবল তৈরি করে আমি উপস্থাপন করব, তারপর টুলস ডাউনলোড করে, আপনি আপনার নিজস্ব CPLD অ্যাপ্লিকেশন তৈরি করতে পারেন। দয়া করে নিম্নলিখিত সীমাবদ্ধতা এবং বিধিনিষেধগুলি নোট করুন। আমি সামর্থ্য এবং সরলতার ভারসাম্য বজায় রাখার চেষ্টা করেছি যাতে আপনি এমন কিছু তৈরি করতে পারেন যা আপনি উপভোগ করবেন এবং শুধুমাত্র 5V ডিভাইস থেকে শিখবেন। অতিরিক্ত ভোল্টেজ (3.3V, 2.5V, 1.8V একই পরিবারে Atmel ডিভাইস দ্বারা সমর্থিত) coverাকতে সিস্টেমটি প্রসারিত করা কঠিন নয়, তবে এটি উন্নয়ন বোর্ড এবং প্রোগ্রামিং কেবল উভয়কেই জটিল করে তোলে। আপাতত এটা এড়িয়ে যাই। মনে রাখবেন যে আপনাকে বোর্ডে একটি 5V সরবরাহ প্রদান করতে হবে। বিশেষ করে, আমি Atmel ATF1504AS প্রোগ্রাম করেছি। ঘেটো সিপিএলডি ধারণাটি সহজেই অন্যান্য এটমেল ডিভাইসে প্রসারিত করা যেতে পারে, তবে এই ডিভাইসটি দাম, ব্যবহারের সহজতা এবং সক্ষমতার মধ্যে একটি ভাল আপস বলে মনে হয়েছিল। ধারণাটি অন্যান্য ডিভাইস যেমন Altera, Xilinx, Actel, ইত্যাদি থেকেও প্রসারিত হওয়া উচিত। প্রকৃতপক্ষে, Max7000 পরিবার EPM7032 এবং EPM7064 একই সকেটে কাজ করবে যতক্ষণ আপনি 44 পিন PLCC সংস্করণ ব্যবহার করেন। এখন পর্যন্ত আমি শুধুমাত্র Atmel প্রোগ্রামিং কেবল ব্যবহার করেছি, কিন্তু Altera বাইট-ব্লাস্টার Atmel সফটওয়্যার দ্বারা সমর্থিত এবং ভাল কাজ করা উচিত। এটি আসলে Atmel তারের চেয়ে একটু সহজ নকশা। (আমি Atmel সংস্করণ তৈরি করেছি এবং এটি কাজ করে, তাই আমি Altera সংস্করণ চেষ্টা করি নি।) SparkFun Altera তারের একটি $ 15 সংস্করণ অফার করে। যেহেতু এটি Atmel এবং Altera উভয়ের জন্য কাজ করবে, তাই আমি এটি সুপারিশ করি। আপনি যদি Altera অংশগুলির সাথে বিকাশ করতে যাচ্ছেন, আপনি Altera সফটওয়্যারটিও পেতে চান। আমি আসলে এটি চেষ্টা করিনি, কিন্তু কোন কারণ নেই যে আমি মনে করতে পারি যে এটি কাজ করবে না।গতি সীমিত। যেহেতু ঘেটো সিপিএলডি ডেভেলপমেন্ট সিস্টেমটি হ্যান্ড ওয়্যারিং এবং গ্রাউন্ড প্লেন দিয়ে নির্মিত, তাই কিছু মেগাহার্টজ গতিতে নির্ভরযোগ্য অপারেশন আশা করবেন না। এমনকি এটি নিশ্চিত নয় যে আপনার মাইলেজ পরিবর্তিত হতে পারে! অবশ্যই, যদি আপনি প্রোটোটাইপ হার্ডওয়্যার তৈরি করেন যার একটি স্থল সমতল থাকে তবে আপনার CPLD উচ্চ গতিতে ঠিক কাজ করতে পারে। শুধু এটি ঘেটো ডেভেলপমেন্ট সিস্টেমে দ্রুত মাউন্ট করা আশা করবেন না।

ধাপ 1: অংশ অর্ডার যান

অর্ডার পার্টস যান
অর্ডার পার্টস যান

আপনি একটি 44 পিন plcc সকেট, কিছু decoupling ক্যাপ, কিছু unprogrammed CPLDs, breadboard সংযোগের জন্য সকেট, একটি পুল আপ প্রতিরোধক এবং এটি নির্মাণের জন্য কিছু পারফ বোর্ড প্রয়োজন হবে। যদি আপনার জাঙ্ক বক্সে এর কোনটি থাকে তবে আপনি কয়েক টাকা বাঁচাতে পারেন আপনার সুবিধার জন্য, এখানে Digikey অংশ সংখ্যা: CONN PLCC সকেট 44POS টিন PN: 1-822473-4-ND সকেট IC Open ফ্রেম 14POS.3 "PN: 3M5462-ND Qty: 2SOCKET IC OPEN FRAME 18POS.3 "PN: 3M5464-ND Qty: 2CAP ELECT 10UF 50V SU BI-POLAR PN: P1280-ND Qty: 1, C1CAP CER.10UF 50V 20% DISC RAD PN: -4275-1-ND পরিমাণ: 4, C2-C5RES মেটাল ফিল্ম 5.10K OHM 1/4W 1% PN: P5.10KCACT-ND PC BOARD FR4 1-SIDE PPH 4.0X4.0 PN: V2010-ND IC CPLD 64 MACROCELL 10NS 44PLCC PN: ATF1504AS-10JC44-ND কয়েকটি অংশে ন্যূনতম পরিমাণ থাকতে পারে, কিন্তু এখনও বেশ সস্তা হওয়া উচিত। এগুলিও। মনে রাখবেন যে একটি হ্যান্ডলিং চার্জ এড়ানোর জন্য Digikey এর সর্বনিম্ন $ 25 আছে, তাই আপনি অতিরিক্ত আনঅপ্রোগ্রামকৃত CPLDs বা একটি AVR প্রসেসর বা দুটো পেতে পারেন শুধু মজার জন্য। এখানে অংশ সংখ্যা। পাশাপাশি তারের এবং সংযোগকারী পান। (অন্যথায়, দিগিকে থেকে তারের জন্য যন্ত্রাংশ অর্ডার করুন যদি আপনি নিজের তৈরি করেন।)

পদক্ষেপ 2: সফ্টওয়্যার পান এবং ইনস্টল করুন

সফটওয়্যার পান এবং ইনস্টল করুন
সফটওয়্যার পান এবং ইনস্টল করুন

আমি বর্তমানে Atmel Prochip Designer 5.0 টুল চেইন ব্যবহার করছি। এই টুলটি প্রয়োজন যে আপনি Atmel- এর সাথে নিবন্ধন করুন এবং তাদের অফিসিয়াল রিকোয়েস্ট ফর্মটি পূরণ করুন। আমি তাদের বলেছিলাম আমি একজন ডিজাইন ইঞ্জিনিয়ার, বর্তমানে বেকার, এবং আমার প্রাথমিক উদ্দেশ্য ছিল তাদের ডিভাইস এবং ভিএইচডিএল (সব সত্য, বিটিডব্লিউ) শেখা। তারা লাইসেন্সের অনুরোধ অনুমোদন করেছে। একমাত্র ধরা হল যে লাইসেন্স মাত্র 6 মাসের জন্য ভাল। আমি একটি পাবলিক ডোমেইন টুল চেইন এর মেয়াদ শেষ হয়ে যাওয়ার আশা করছি। আল্টেরার একটি টুল চেইন আছে যা আমি চেক করতে পারি। কোন পরামর্শ প্রশংসা করা হবে। শেষ ধাপে মন্তব্য এবং লিঙ্ক দেখুন Atmel Prochip Designer 5.0 এখানে। যদি আপনি এটি পান, তবে এটির জন্য সার্ভিস প্যাক 1 পেতে ভুলবেন না।

ধাপ 3: প্রোগ্রামিং কেবল তৈরি করুন

প্রোগ্রামিং ক্যাবল বানান
প্রোগ্রামিং ক্যাবল বানান

এখানে সবচেয়ে সহজ পন্থা হল স্পার্টফুন থেকে Altera Byte-Blaster এর কাজ কেনা (ধাপ 1 দেখুন)। যদি আপনার খরচ করার চেয়ে $ 15 বেশি হয়, তাহলে আপনি স্পার্কফুন আল্টেরা কেবল স্কিম্যাটিক ব্যবহার করতে পারেন বা এটমেল কেবল স্কিম্যাটিক এবং স্ক্র্যাচ-বিল্ড ব্যবহার করতে পারেন। (যদি তারের স্ক্র্যাচ-বিল্ডিংয়ে অনেক আগ্রহ থাকে, আমি কিছু পরামর্শ দিতে পারি, কিন্তু স্পার্কফুন কিটটি আমার কাছে সঠিক উত্তর বলে মনে হচ্ছে।)

ধাপ 4: প্রোগ্রামার ক্র্যাডেল তৈরি করুন

প্রোগ্রামার ক্র্যাডল তৈরি করুন
প্রোগ্রামার ক্র্যাডল তৈরি করুন
প্রোগ্রামার ক্র্যাডল তৈরি করুন
প্রোগ্রামার ক্র্যাডল তৈরি করুন
প্রোগ্রামার ক্র্যাডল তৈরি করুন
প্রোগ্রামার ক্র্যাডল তৈরি করুন

Atmel প্রোগ্রামার এ দেখুন। এটি খুব নমনীয় এবং যদি আপনার টাকা থাকে এবং প্রচুর CPLD ডেভেলপমেন্ট করার পরিকল্পনা থাকে তবে এটি একটি দুর্দান্ত বিকল্প। Altera অনুরূপ কিছু প্রস্তাব, আমি বিশ্বাস করি। কিন্তু আমি একটি সস্তা পদ্ধতির সঙ্গে গিয়েছিলাম - এই সব কি সম্পর্কে! ব্রেডবোর্ড সংযোজক হিসাবে ব্যবহৃত DIP সকেটগুলি লক্ষ্য করুন। প্রতিটি সংযোগকারীর একপাশে সমস্ত পিন মাটির সাথে সংযুক্ত; অন্যদিকে পিনগুলি সিপিএলডিতে সিগন্যাল পিনের সাথে সংযুক্ত। আমি কয়েকটি পাওয়ার সংযোগও অন্তর্ভুক্ত করেছি; এগুলো যেখানে ফিট করে সেখানে রাখুন। ডায়াগ্রামগুলি হল চিত্রিত স্কিম্যাটিক্স; শুধুমাত্র অতিরিক্ত বিদ্যুৎ সংযোগ দেখানো হয় না। এগুলির জন্য ধারণাগুলির জন্য ছবিগুলি দেখুন।

ধাপ 5: দোলনা নির্মাণ - পর্ব 1

দোলনা নির্মাণ - পর্ব 1
দোলনা নির্মাণ - পর্ব 1
দোলনা নির্মাণ - পর্ব 1
দোলনা নির্মাণ - পর্ব 1

আপনি যেখানে চান সেখানে সকেট byুকিয়ে দোল তৈরি করা শুরু করুন। একটি খালি সারি বা দুইটি অনুমতি দিন যাতে ডিকুপলিং ক্যাপগুলির জন্য জায়গা থাকবে। এটি CPLD সিগন্যাল পিনের সাথে সংযোগ স্থাপনকে আরও সহজ করে তোলে। JTAG কানেক্টর এবং পাওয়ার কানেক্টরের জন্য উপরে (CPLD সকেটের পিন 1 এর উপরে) কিছু অতিরিক্ত রুমের অনুমতি দিন। আমার নির্মিত ছবিগুলি পড়ুন একটি স্থল বাসের জন্য সকেটের বাইরে চারপাশে একটি খালি তারের (20 গেজ বা তারও বেশি) রুট করুন। পাওয়ার বাসটিও রুট করুন। (ছবিতে লাল তারের।) কিছু নির্দেশনার জন্য ছবিগুলি দেখুন, কিন্তু আপনার বোর্ড সম্ভবত একটু ভিন্ন হবে - এবং এটি ঠিক ঠিক। এটি বাসের তারে নোঙ্গর করতে সাহায্য করবে।

ধাপ 6: দোলনা নির্মাণ - অংশ 2

দোলনা নির্মাণ - পর্ব 2
দোলনা নির্মাণ - পর্ব 2
দোলনা নির্মাণ - পর্ব 2
দোলনা নির্মাণ - পর্ব 2

Decoupling ক্যাপ ইনস্টল করুন এবং CPLD সকেটের প্রতিটি পাশে মাটি এবং পাওয়ার পিনের সাথে সংযুক্ত করুন। আমি ভেতরের সারিগুলিতে পৌঁছানোর জন্য পিনের বাইরের সারিগুলির উপরে এবং তারের উপর দিয়ে রাউটিং করার পরামর্শ দিই। সঠিক পিন পেতে পিন নম্বর ডায়াগ্রাম দেখুন - CPLD সকেটের পিন -আউট সুস্পষ্ট নয়। আপনি যে কোন পিনের সাথে সংযোগ স্থাপনের জন্য পর্যাপ্ত জায়গা ছেড়ে দিন। একবার ক্যাপ সংযোগ হয়ে গেলে, বিদ্যুৎ এবং স্থল বাস সংযোগ করুন। ডায়াগ্রামের সমস্ত লাল পিনগুলি Vcc এবং সংযুক্ত হওয়া উচিত। কালো পিনগুলি স্থল এবং এটি সংযুক্ত হওয়া উচিত। আবার, বাতাসে এটি রাউটিং একটি ভাল পদ্ধতি। ধারণাগুলির জন্য ছবিগুলি দেখুন।

ধাপ 7: দোলনা নির্মাণ - উপসংহার

দোলনা নির্মাণ - উপসংহার
দোলনা নির্মাণ - উপসংহার
দোলনা নির্মাণ - উপসংহার
দোলনা নির্মাণ - উপসংহার
দোলনা নির্মাণ - উপসংহার
দোলনা নির্মাণ - উপসংহার

সঠিক পিনগুলিতে JTAG সংযোগগুলি রুট করুন। কানেক্টরটি সঠিকভাবে ওরিয়েন্টেড কিনা তা নিশ্চিত করতে আপনার প্রোগ্রামিং কেবলটি দেখুন। TDO পিনে পুল-আপ ভুলবেন না। এটি শুধুমাত্র ছবিতে দেখানো হয়েছে এবং TDO পিন এবং Vcc এর মধ্যে চলে যায়। সংযোগের জন্য ডায়াগ্রামে সংখ্যা ব্যবহার করুন। এটি সবচেয়ে দীর্ঘ সময় নেয়! আপনি যদি আমার নাম্বারিং স্কিম অনুসরণ করেন, তাহলে আপনি আপনার সার্কিটগুলিকে হুক করার সময় টপ ভিউ ডায়াগ্রামকে গাইড হিসেবে ব্যবহার করতে পারেন। আপনাকে সত্যিই এই সবগুলিকে সংযুক্ত করতে হবে না প্রাথমিকভাবে আপনি অপেক্ষা করতে পারেন যতক্ষণ না আপনার ডিজাইন করা সার্কিটগুলির জন্য তাদের প্রয়োজন হয়। আপনার কাজ সাবধানে পরীক্ষা করুন। নিশ্চিত করুন যে শক্তি এবং স্থল সংক্ষিপ্ত নয়!

ধাপ 8: Blinkenlights তৈরি করুন (TTL সংস্করণ)

Blinkenlights করুন (TTL সংস্করণ)
Blinkenlights করুন (TTL সংস্করণ)

আপনি অবশ্যই আপনার সার্কিটগুলি কাজ করতে চাইবেন। সুতরাং আপনি কিছু ঝলকানি আলো (রিয়েল ইলিয়ট দ্বারা বিখ্যাত) চাইবেন। একমাত্র ধরন হল যে সিপিএলডির AVR প্রসেসরের আছে এমন গরুর মাংসের আউটপুট নেই। 10ma জন্য রেট LEDs ব্যবহার করুন এবং 1KOhm সিরিজ প্রতিরোধক ব্যবহার করুন। এগুলি আপনাকে CPLD আউটপুটগুলিকে চাপ না দিয়ে স্পষ্ট আউটপুট সংকেত দেবে।

ধাপ 9: সুইচ তৈরি করুন

সুইচ তৈরি করুন
সুইচ তৈরি করুন
সুইচ তৈরি করুন
সুইচ তৈরি করুন

আপনার সার্কিটগুলির জন্য উদ্দীপনা সরবরাহ করতে, আপনার কিছু সুইচ প্রয়োজন হবে। আপনার এখানে কিছু বিকল্প আছে, কিন্তু প্রয়োজনীয়তা AVR প্রসেসরের চেয়ে ভিন্ন। CPLD আউটপুটে বিল্ট-ইন পুল-আপ থাকে না এবং সফটওয়্যারে ডিবাউন্স করা এত সহজ নয়। (এটা সম্ভব, কিন্তু আপনি সম্ভবত আপনার সার্কিটগুলিতে ব্যবহার করতে চান এমন সম্পদগুলি গ্রহণ করে।) দেখানো ডিআইপি সুইচগুলি সুবিধাজনক প্যাকেজে বেশ কয়েকটি সুইচ প্রদান করে, কিন্তু টানতে হবে। আমি 1K পুল-আপ ব্যবহার করেছি পুশবুটনগুলি সার্কিট ব্যবহার করে তৈরি করা যেতে পারে Atmel তাদের ডেমো বোর্ডের জন্য সুপারিশ করে। স্কিম্যাটিক্স পৃষ্ঠা 36 বা তার উপরে রয়েছে আরেকটি বিকল্প হল উদ্দীপনা প্রদানের জন্য একটি AVR প্রসেসর সংযুক্ত করা - এবং এমনকি প্রতিক্রিয়াগুলি পরীক্ষা করা। কিন্তু এটি একটি ব্যায়াম ছাত্রের জন্য বাকি।

ধাপ 10: আপনার প্রথম সার্কিট তৈরি করুন

আপনার প্রথম সার্কিট তৈরি করুন
আপনার প্রথম সার্কিট তৈরি করুন
আপনার প্রথম সার্কিট তৈরি করুন
আপনার প্রথম সার্কিট তৈরি করুন

এই সময়ের মধ্যে আপনার সফ্টওয়্যারটি পাওয়া এবং ইনস্টল করা উচিত ছিল। আপনার প্রথম সহজ সিপিএলডি সার্কিট তৈরি করতে পুঙ্খানুপুঙ্খ, বিস্তারিত টিউটোরিয়াল অনুসরণ করুন (দুই-ইনপুট এবং গেট; খুব সহজ হয় না)। সঠিক ডিভাইস নির্বাচন করতে ভুলবেন না (44 পিন পিএলসিসি, 5 ভি, 1504 এএস [বিশদ বিবরণ]) এবং পাওয়া যায় এমন আই/ও পিন নম্বরগুলি বেছে নিন (আমি ইনপুট হিসাবে 14 এবং 16 ব্যবহার করেছি; আউটপুট হিসাবে 28)। এই বিবরণগুলি টিউটোরিয়াল থেকে কিছুটা আলাদা, তবে আপনাকে কোনও সমস্যা দেওয়া উচিত নয়।

ধাপ 11: আপনার প্রথম CPLD প্রোগ্রাম করুন

আপনার প্রথম CPLD প্রোগ্রাম করুন
আপনার প্রথম CPLD প্রোগ্রাম করুন
আপনার প্রথম CPLD প্রোগ্রাম করুন
আপনার প্রথম CPLD প্রোগ্রাম করুন

আপনার পিসির প্যারালাল পোর্টে আপনার প্রোগ্রামিং ক্যাবলটি হুক আপ করুন, আপনার প্রোগ্রামার ক্র্যাডেলের সাথে হুক করুন, পাওয়ার কানেক্টরে 5 ভোল্ট যুক্ত করুন এবং আপনার প্রথম সিপিএলডি প্রোগ্রাম করার জন্য টিউটোরিয়ালটি অনুসরণ করুন। তারের সঠিক সংস্করণ নির্বাচন করুন। উল্লেখ্য যে Altera বাইট-ব্লাস্টার বিকল্পগুলির মধ্যে একটি।

ধাপ 12: আপনার প্রোগ্রাম করা অংশটি পরীক্ষা করুন

আপনার প্রোগ্রাম করা অংশ পরীক্ষা করুন!
আপনার প্রোগ্রাম করা অংশ পরীক্ষা করুন!
আপনার প্রোগ্রাম করা অংশ পরীক্ষা করুন!
আপনার প্রোগ্রাম করা অংশ পরীক্ষা করুন!

ক্র্যাডেল থেকে আপনার প্রোগ্রামিং কেবল সংযোগ বিচ্ছিন্ন করুন। সঠিক পিনগুলিতে সুইচ এবং ব্লিংক লাইট লাগান, বিদ্যুৎ চালু করুন এবং এটি ব্যবহার করে দেখুন। যেহেতু আপনি একটি সাধারণ সার্কিট দিয়ে শুরু করছেন, তাই পরীক্ষা একটি বড় চ্যালেঞ্জ নয়। যদি এটি কাজ করে, আপনি বন্ধ এবং চলমান! টপ ভিউ ডায়াগ্রাম আপনাকে পরীক্ষার জন্য আপনার সুইচ এবং ব্লিংক লাইট সংযুক্ত করতে নির্দেশনা দেবে।

ধাপ 13: শেষ এবং কিছু ওয়েব সম্পদ

শেষ এবং কিছু ওয়েব সম্পদ
শেষ এবং কিছু ওয়েব সম্পদ

ভিএইচডিএল কীভাবে ব্যবহার করবেন তা শেখানো এই টিউটোরিয়ালের উদ্দেশ্য নয়। (আমি শুধু শিখতে শুরু করেছি যে কেন আমি প্রোগ্রামার তৈরি করেছি, মনে রাখবেন?) এটি বলেছিল, আমি বেশ কয়েকটি সহায়ক টিউটোরিয়াল এবং কিছু দরকারী সংস্থান পেয়েছি যা আমি আপনাকে নির্দেশ করতে পারি। মতামত এবং অন্যান্য পরামর্শগুলি ব্যাপকভাবে প্রশংসা করা হয়। উল্লেখ্য যে আপনি ভেরিলগ এবং অন্যান্য CPLD প্রোগ্রামিং কৌশলগুলি শিখতে Ghetto CPLD ডেভেলপমেন্ট সিস্টেম ব্যবহার করতে পারেন হার্ডওয়্যার যত্ন নেয় না। বিনামূল্যে সরঞ্জাম আমি পছন্দ করি টিউটোরিয়ালগুলি এখানে এবং এখানে, কিন্তু আপনি অন্যদের অনেক খুঁজে পাবেন শেষ পর্যন্ত (আপাতত), আপনি আলোচনা গোষ্ঠীটি দেখতে চান আনন্দ করুন, অনেক কিছু শিখুন এবং আপনি যা জানেন তা ভাগ করুন।

প্রস্তাবিত: