সুচিপত্র:

Integer_Matrix_Solver_UART_SERIAL_VHDL: 3 ধাপ
Integer_Matrix_Solver_UART_SERIAL_VHDL: 3 ধাপ

ভিডিও: Integer_Matrix_Solver_UART_SERIAL_VHDL: 3 ধাপ

ভিডিও: Integer_Matrix_Solver_UART_SERIAL_VHDL: 3 ধাপ
ভিডিও: Mark Geisbrecht "Eigenvalues, invariant and random integer matrices" 2024, নভেম্বর
Anonim
Integer_Matrix_Solver_UART_SERIAL_VHDL
Integer_Matrix_Solver_UART_SERIAL_VHDL

এই নির্দেশযোগ্য টিউটোরিয়ালটি আপনাকে দেখায় কিভাবে UART সিরিয়াল টার্মিনাল মডিউল এবং ম্যাট্রিক্স সলভার মডিউল প্রয়োগ করে 2 বাই 2 ম্যাট্রিক্স সলভার তৈরি করতে হয়। ব্যবহারকারী একটি 2 বাই 2 ম্যাট্রিক্স প্রবেশ করতে সক্ষম হবে এবং তারপর বাস্তবায়িত নকশা রৈখিক সিস্টেমের সমাধান বের করে দেবে।

এই কোডটি ব্যবহার করতে আপনার প্রয়োজন হবে:

- একটি ডিজিলেন্ট বেসিস 3 এফপিজিএ বোর্ড

- Xilinx Vivado সফটওয়্যার সহ কম্পিউটার (ওয়েবপ্যাক সংস্করণ কাজ করবে)। এই মডিউলের জন্য, আমরা 2017.2 সংস্করণ ব্যবহার করেছি।

- একটি মাইক্রো ইউএসবি কর্ড (ডেটা ট্রান্সফার সক্ষম)

লেখক: Drew Miller, EE Major, Cal Poly SLO, Sukhdeep Singh, EE Major, Cal Poly SLO Class: Digital Design

- EE/CPE 133 প্রশিক্ষক: জোসেফ ক্যালেনেস

সূত্র:

  • UART_TX, UART_RX থেকে:
  • ডিবাউন্স:

দুটি স্বাক্ষরবিহীন সংখ্যা বিভাজনের কাজ:

ধাপ 1: ধাপ 1: এটি কিভাবে কাজ করে

ধাপ 1: এটি কিভাবে কাজ করে
ধাপ 1: এটি কিভাবে কাজ করে
ধাপ 1: এটি কিভাবে কাজ করে
ধাপ 1: এটি কিভাবে কাজ করে

ইনপুট: ব্যবহারকারী কম্পিউটার টার্মিনালে একটি রৈখিক সিস্টেম ইনপুট করে এবং তারপর একটি UART মডিউল তাদের ম্যাট্রিক্স সলভার মডিউল ম্যানিপুলেট করার জন্য একটি অ্যারে রূপান্তর করে। UART মডিউল ব্যবহারকারীর সাথে ইন্টারফেস করে এবং তাদের যথাযথ ম্যাট্রিক্স প্রবেশ করানোর পাশাপাশি তথ্য সঠিকভাবে ইনপুট করার জন্য নির্দেশ দেয়। সিস্টেমটিতে একটি রিসেট/সক্ষম সুইচ রয়েছে যা Basys3 বোর্ডের বামদিকের সুইচে ম্যাপ করা আছে।

আউটপুট: ম্যাট্রিক্স সলভারের ফলাফলগুলি UART মডিউল ইন্টারফেসের মাধ্যমে পাস করা হয় এবং তারপর স্ক্রিনে তালিকাভুক্ত সমাধানগুলির সাথে কম্পিউটার টার্মিনালে প্রদর্শিত হয়। ম্যাট্রিক্স সলভার UART মডিউলে স্বাক্ষরবিহীন স্ট্যান্ডার্ড লজিক ভেক্টর আউটপুট করে যা ব্যবহারকারীর প্রশংসা করার জন্য তাদের আরও ব্যবহারকারী বান্ধব আউটপুটে রূপান্তর করে। বর্তমান ম্যাট্রিক্স সলভার শুধুমাত্র 15 পর্যন্ত সংখ্যা প্রবেশ করতে সক্ষম এবং আউটপুট ফলাফল একটি পরিষ্কার পূর্ণসংখ্যা হতে হবে অথবা ম্যাট্রিক্স সলভার প্রোগ্রাম সঠিক সমাধান আউটপুট করতে অক্ষম।

শীর্ষ স্তরের "সিরিয়াল কন্ট্রোল" মডিউল: ব্যবহারকারী তাদের পছন্দসই রৈখিক সিস্টেমটি এই মডিউলে UART_TX এবং UART_RX মডিউলের মাধ্যমে ইনপুট করে এবং এটি কম্পিউটার টার্মিনাল থেকে ইনপুটগুলিকে স্ট্যান্ডার্ড লজিক ভেক্টরগুলির একটি অ্যারেতে রূপান্তরিত করে যা ম্যাট্রিক্স সলভার মডিউল দ্বারা প্রক্রিয়া করা হয়। ম্যাট্রিক্স সলভার মডিউল তারপর স্ট্যান্ডার্ড লজিক ভেক্টরগুলির একটি অ্যারে প্রদান করে যা UART সিরিয়াল ইন্টারফেস দ্বারা স্ক্রিনে প্রদর্শিত হয়। UART মডিউলগুলির মাধ্যমে ডেটা প্রেরণ এবং গ্রহণ করা এই মডিউলে খুব দীর্ঘ FSM ব্যবহারের মাধ্যমে সম্পন্ন হয়।

UART_TX মডিউল: ইউএসবি ইন্টারফেসের মাধ্যমে ডেটা পাঠানোর জন্য ব্যবহারকারী একটি bit বিট স্ট্যান্ডার্ড লজিক ভেক্টর এবং একটি সেন্ড সিগন্যাল ইনপুট করে। যখন এটি ডেটা পাঠাচ্ছে, TX_Active সংকেত বেশি। এটি ডেটা পাঠানোর পরে, TX_Done সিগন্যাল ডাল।

UART_RX মডিউল: ব্যবহারকারী ইউএসবি ইন্টারফেস থেকে এক সময়ে 8 বিট ডেটা গ্রহণ করে। RX_DV থেকে একটি নাড়ি একটি ইঙ্গিত যে তথ্য প্রাপ্ত হয়েছে এবং RX_Byte ভেক্টর যুক্তি পড়া যেতে পারে।

ম্যাট্রিক্স সলভার মডিউল: ম্যাট্রিক্স সমাধানকারী UART মডিউল থেকে একটি অভিযুক্ত অ্যারে গ্রহণ করে যা ম্যাট্রিক্সকে প্রতিনিধিত্ব করে। ম্যাট্রিক্স সমাধানকারী তারপর রৈখিক পদ্ধতিতে প্রতিটি সংখ্যাকে পূর্ণসংখ্যায় রূপান্তরিত করে যাতে তাদের উপর কাজ করা সহজ হয়। ম্যাট্রিক্স সলভার মডিউলের ভিতরে বেশ কয়েকটি সাব মডিউল রয়েছে। প্রথম সাব মডিউল হল inverse_matrix_1 যা ম্যাট্রিক্স নেয় এবং তারপর প্রদত্ত ম্যাট্রিক্সের বিপরীত দেয়। পরবর্তী সাব মডিউল হল গুণক যা মোট ম্যাট্রিক্সকে বিপরীত ম্যাট্রিক্স দ্বারা স্ট্যান্ডার্ড ম্যাট্রিক্স অপারেশন ব্যবহার করে গুণ করে। শেষ পর্যন্ত, মাস্টার মডিউল একটি একক উত্তর আউটপুট তাদের একসঙ্গে মানচিত্র।

ধাপ 2: ধাপ 2: বেসিস 3 বোর্ড প্রোগ্রামিং

একবার আপনি নীচের থেকে সোর্স কোডটি অর্জন করলে ইন্টারফেসটি ব্যবহার করতে বেসিস 3 বোর্ডে আপলোড করুন।

reference.digilentinc.com/basys3/refmanual

ধাপ 3: ধাপ 3: এটি কীভাবে ব্যবহার করবেন

Basys3 UART এর সাথে যোগাযোগ করার জন্য 9600 baud এ একটি সিরিয়াল ইন্টারফেস ব্যবহার করুন। আমি নিম্নলিখিত কমান্ড দিয়ে লিনাক্সে স্ক্রিন ব্যবহার করেছি:

স্ক্রিন /dev /ttyUSB1 9600

লিনাক্সে এটি করার জন্য, আমাকে আমার ব্যবহারকারীকে "ডায়ালআউট" গ্রুপে যুক্ত করতে হয়েছিল। উইন্ডোজে, পুটি কাজ করা উচিত, এবং ম্যাকওএসএক্স -এ, এটি লিনাক্সের অনুরূপ প্রক্রিয়া হওয়া উচিত।

বামদিকের সুইচ অন পজিশনে উল্টানো ম্যাট্রিক্স সলভার শুরু করে। এটিকে বন্ধ করে দিলে ম্যাট্রিক্স সলভার রিসেট হয়।

প্রস্তাবিত: