جدول المحتويات:

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

يوضح لك هذا البرنامج التعليمي التعليمي كيفية إنشاء محلل مصفوفة 2 × 2 من خلال تنفيذ الوحدة الطرفية UART التسلسلية بالإضافة إلى وحدة حل المصفوفة. سيتمكن المستخدم من إدخال مصفوفة 2 × 2 ثم التصميم المنفذ سوف يبصق الحل إلى النظام الخطي.

لاستخدام هذا الرمز ، ستحتاج إلى:

- لوحة Digilent Basys 3 FPGA

- جهاز كمبيوتر مزود ببرنامج Xilinx Vivado (سيعمل إصدار Webpack). بالنسبة لهذه الوحدة ، استخدمنا إصدار 2017.2.

- سلك USB صغير (قابل لنقل البيانات)

المؤلفون: 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: يقوم المستخدم بإدخال متجه منطقي قياسي 8 بت وإرسال إشارة لإرسال البيانات عبر واجهة USB. أثناء إرسال البيانات ، تكون إشارة TX_Active عالية. بعد إرسال البيانات ، تنبض إشارة TX_Done.

وحدة UART_RX: يتلقى المستخدم 8 بتات من البيانات في المرة الواحدة من واجهة USB. النبضة من RX_DV هي إشارة إلى أن البيانات قد تم استلامها وأنه يمكن قراءة منطق متجه RX_Byte.

وحدة Matrix Solver Module: يتلقى محلل المصفوفة صفيفًا محتسبًا من الوحدة النمطية UART التي تمثل المصفوفة. يقوم حلال المصفوفة بعد ذلك بتحويل كل رقم في النظام الخطي إلى أعداد صحيحة لتسهيل العمل عليها. يوجد داخل وحدة حلال المصفوفة عدة وحدات فرعية. الوحدة الفرعية الأولى هي inverse_matrix_1 التي تأخذ المصفوفة ثم تعطي معكوس المصفوفة المعطى. الوحدة الفرعية التالية هي المضاعف الذي يضرب إجمالي المصفوفة بالمصفوفة العكسية باستخدام عمليات المصفوفة القياسية. بشكل أساسي ، تقوم الوحدة الرئيسية بتعيينهم معًا لإخراج إجابة واحدة.

الخطوة 2: الخطوة 2: برمجة لوحة Basys 3

بمجرد حصولك على الكود المصدري من الأسفل ، قم بتحميله إلى لوحة basys 3 لاستخدام الواجهة.

reference.digilentinc.com/basys3/refmanual

الخطوة 3: الخطوة 3: كيفية استخدامه

استخدم واجهة تسلسلية على 9600 باود للتواصل مع Basys3 UART. لقد استخدمت screen on linux بالأمر التالي:

شاشة / ديف / ttyUSB1 9600

من أجل القيام بذلك على لينكس ، كان علي إضافة المستخدم الخاص بي إلى المجموعة "dialout". على نظام التشغيل Windows ، يجب أن يعمل المعجون ، وعلى نظام MacOSX ، يجب أن تكون عملية مماثلة لنظام التشغيل Linux.

يؤدي قلب المفتاح الموجود في أقصى اليسار إلى وضع التشغيل إلى بدء تشغيل أداة حل المصفوفة. يؤدي التبديل إلى وضع إيقاف التشغيل إلى إعادة تعيين حلال المصفوفة.

موصى به: