فهرست مطالب:

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 Serial و همچنین یک ماژول حل کننده ماتریس ، یک حل کننده ماتریس 2 در 2 بسازید. کاربر می تواند ماتریس 2 در 2 را وارد کند و سپس طرح اجرا شده راه حل را به سیستم خطی تف می کند.

برای استفاده از این کد ، شما نیاز دارید:

- تخته FPGA Digilent Basys 3

- رایانه با نرم افزار Xilinx Vivado (نسخه Webpack کار می کند). برای این ماژول ، ما از نسخه 2017.2 استفاده کردیم.

- یک سیم میکرو USB (قابلیت انتقال داده)

نویسندگان: درو میلر ، EE Major ، Cal Poly SLO ، Sukhdeep Singh ، EE Major ، Cal Poly SLO کلاس: طراحی دیجیتال

- 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: کاربر یک بردار منطقی استاندارد 8 بیتی و یک سیگنال ارسال را به منظور ارسال داده از طریق رابط USB وارد می کند. هنگام ارسال داده ، سیگنال TX_Active زیاد است. پس از ارسال داده ها ، سیگنال TX_Done ضربان می کند.

ماژول UART_RX: کاربر 8 بیت داده را همزمان از رابط USB دریافت می کند. نبض RX_DV نشان می دهد که داده ها دریافت شده اند و منطق بردار RX_Byte قابل خواندن است.

ماژول حل کننده ماتریس: حل کننده ماتریس یک آرایه دلخواه از ماژول UART دریافت می کند که ماتریس را نشان می دهد. سپس حل کننده ماتریس هر عدد در سیستم خطی را به عدد صحیح تبدیل می کند تا کار بر روی آنها آسان تر شود. در داخل ماژول حل کننده ماتریس چندین زیر ماژول وجود دارد. اولین زیر ماژول inverse_matrix_1 است که ماتریس را گرفته و سپس معکوس ماتریس داده شده را می دهد. زیر ماژول بعدی ، ضرب کننده ای است که با استفاده از عملیات استاندارد ماتریس ، مجموع ماتریس را در ماتریس معکوس ضرب می کند. در نهایت ، ماژول اصلی آنها را با هم ترسیم می کند تا یک پاسخ واحد تولید شود.

مرحله 2: مرحله 2: برنامه نویسی برد Basys 3

وقتی کد زیر را بدست آوردید ، آن را در صفحه basys 3 بارگذاری کنید تا از رابط کاربری استفاده کنید.

reference.digilentinc.com/basys3/refmanual

مرحله 3: مرحله 3: نحوه استفاده از آن

برای برقراری ارتباط با Basys3 UART ، از رابط سریال 9600 baud استفاده کنید. من از صفحه روی لینوکس با دستور زیر استفاده کردم:

screen /dev /ttyUSB1 9600

برای انجام این کار در لینوکس ، مجبور شدم کاربر خود را به گروه "dialout" اضافه کنم. در ویندوز ، بتونه باید کار کند ، و در MacOSX ، باید مشابه فرآیند لینوکس باشد.

چرخاندن سمت چپ سوئیچ به موقعیت روشن ، حل کننده ماتریس را شروع می کند. خاموش کردن آن حل کننده ماتریس را بازنشانی می کند.

توصیه شده: