Daftar Isi:

Integer_Matrix_Solver_UART_SERIAL_VHDL: 3 Langkah
Integer_Matrix_Solver_UART_SERIAL_VHDL: 3 Langkah

Video: Integer_Matrix_Solver_UART_SERIAL_VHDL: 3 Langkah

Video: Integer_Matrix_Solver_UART_SERIAL_VHDL: 3 Langkah
Video: Mark Geisbrecht "Eigenvalues, invariant and random integer matrices" 2024, Oktober
Anonim
Integer_Matrix_Solver_UART_SERIAL_VHDL
Integer_Matrix_Solver_UART_SERIAL_VHDL

Tutorial yang dapat diinstruksikan ini menunjukkan kepada Anda cara membuat pemecah matriks 2 kali 2 dengan mengimplementasikan modul terminal UART Serial serta modul pemecah matriks. Pengguna akan dapat memasukkan matriks 2 kali 2 dan kemudian desain yang diimplementasikan akan mengeluarkan solusi untuk sistem linier.

Untuk menggunakan kode ini, Anda memerlukan:

- Papan FPGA Basys 3 yang Digilent

- Komputer dengan Perangkat Lunak Xilinx Vivado (Edisi Webpack akan berfungsi). Untuk modul ini, kami menggunakan versi 2017.2.

- Kabel Micro USB (Mampu mentransfer data)

Penulis: Drew Miller, EE Major, Cal Poly SLO, Sukhdeep Singh, EE Major, Cal Poly Kelas SLO: Desain Digital

- Instruktur EE/CPE 133: Joseph Callenes

Sumber:

  • UART_TX, UART_RX dari:
  • Debounce dari:

Fungsi pembagian dua bilangan tak bertanda:

Langkah 1: Langkah 1: Cara Kerja

Langkah 1: Cara Kerjanya
Langkah 1: Cara Kerjanya
Langkah 1: Cara Kerjanya
Langkah 1: Cara Kerjanya

Input: Pengguna memasukkan sistem linier ke terminal komputer dan kemudian Modul UART mengubahnya menjadi array untuk modul pemecah matriks untuk dimanipulasi. Modul UART berinteraksi dengan pengguna dan memungkinkan mereka untuk memasukkan matriks yang sesuai serta memandu mereka untuk memasukkan data dengan benar. Sistem ini juga memiliki sakelar reset/aktifkan yang dipetakan ke sakelar paling kiri dari papan Basys3.

Keluaran: Hasil dari pemecah matriks dilewatkan melalui antarmuka modul UART dan kemudian ditampilkan di terminal komputer dengan solusi yang tercantum di layar. Pemecah matriks mengeluarkan vektor logika standar yang tidak ditandatangani ke modul UART yang mengubahnya menjadi keluaran yang lebih ramah pengguna untuk dihargai pengguna. Pemecah matriks saat ini hanya dapat memasukkan angka hingga 15 dan hasil keluaran harus bilangan bulat bersih atau program pemecah matriks tidak dapat menampilkan solusi yang benar.

Modul "Kontrol Serial" Tingkat Atas: Pengguna memasukkan sistem linier yang diinginkan ke dalam modul ini melalui modul UART_TX dan UART_RX dan ini mengubah input dari terminal komputer ke larik vektor logika standar yang diproses oleh modul pemecah matriks. Modul pemecah matriks kemudian mengembalikan larik vektor logika standar yang kemudian ditampilkan di layar oleh antarmuka serial UART. Mengirim dan menerima data melalui modul UART dilakukan melalui penggunaan FSM yang sangat panjang dalam modul ini.

Modul UART_TX: Pengguna memasukkan vektor logika standar 8 bit dan sinyal kirim untuk mengirim data melalui antarmuka USB. Saat mengirim data, sinyal TX_Active tinggi. Setelah mengirim data, sinyal TX_Done berdenyut.

Modul UART_RX: Pengguna menerima 8 bit data sekaligus dari antarmuka USB. Pulsa dari RX_DV merupakan indikasi bahwa data telah diterima dan logika vektor RX_Byte dapat dibaca.

Modul Matrix Solver: Pemecah matriks menerima array diperhitungkan dari modul UART yang mewakili matriks. Pemecah matriks kemudian mengubah setiap angka dalam sistem linier menjadi bilangan bulat untuk memudahkan pengoperasiannya. Di dalam modul matrix solver terdapat beberapa sub modul. Sub modul pertama adalah inverse_matrix_1 yang mengambil matriks dan kemudian memberikan invers dari matriks yang diberikan. Sub modul berikutnya adalah multiplier yang mengalikan total_matrix dengan matriks invers menggunakan operasi matriks standar. Akhirnya, modul master memetakannya bersama-sama untuk menghasilkan satu jawaban tunggal.

Langkah 2: Langkah 2: Pemrograman Basys 3 Board

Setelah Anda memperoleh kode sumber dari bawah, unggah ke papan basys 3 untuk menggunakan antarmuka.

reference.digilentinc.com/basys3/refmanual

Langkah 3: Langkah 3: Cara Menggunakannya

Gunakan antarmuka serial pada 9600 baud untuk berkomunikasi dengan UART Basys3. Saya menggunakan layar di linux dengan perintah berikut:

layar /dev/ttyUSB1 9600

Untuk melakukan ini di linux, saya harus menambahkan pengguna saya ke grup "dialout". Di Windows, dempul seharusnya berfungsi, dan di MacOSX, prosesnya harus mirip dengan linux.

Membalik sakelar paling kiri ke posisi aktif akan memulai pemecah matriks. Mengalihkannya ke off akan mengatur ulang pemecah matriks.

Direkomendasikan: