Isi kandungan:

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 boleh dipelajari ini menunjukkan kepada anda cara membuat pemecah matriks 2 hingga 2 dengan menerapkan modul terminal UART Serial dan juga modul pemecah matriks. Pengguna akan dapat memasukkan matriks 2 by 2 dan kemudian reka bentuk yang dilaksanakan akan mengeluarkan penyelesaian kepada sistem linear.

Untuk menggunakan kod ini, anda memerlukan:

- Papan FPGA Digilent Basys 3

- Komputer dengan Perisian Xilinx Vivado (Webpack Edition akan berfungsi). Untuk modul ini, kami menggunakan versi 2017.2.

- Kabel USB Mikro (Berkemampuan pemindahan data)

Pengarang: Drew Miller, EE Major, Cal Poly SLO, Sukhdeep Singh, EE Major, Cal Poly SLO Kelas: Reka Bentuk Digital

- EE / CPE 133 Pengajar: Joseph Callenes

Sumber:

  • UART_TX, UART_RX dari:
  • Tolak dari:

Fungsi untuk pembahagian dua nombor yang tidak ditandatangani:

Langkah 1: Langkah 1: Bagaimana Ia Berfungsi

Langkah 1: Bagaimana Ia Berfungsi
Langkah 1: Bagaimana Ia Berfungsi
Langkah 1: Bagaimana Ia Berfungsi
Langkah 1: Bagaimana Ia Berfungsi

Input: Pengguna memasukkan sistem linear ke terminal komputer dan kemudian Modul UART mengubahnya menjadi larik untuk dimanipulasi oleh modul pemecah matriks. Modul UART berinteraksi dengan pengguna dan membolehkan mereka memasuki matriks yang sesuai serta membimbing mereka memasukkan data dengan betul. Sistem ini juga mempunyai suis reset / aktif yang dipetakan ke suis paling kiri papan Basys3.

Keluaran: Hasil dari pemecah matriks diteruskan melalui antara muka modul UART dan kemudian dipaparkan di terminal komputer dengan penyelesaian disenaraikan di skrin. Penyelesai matriks mengeluarkan vektor logik standard yang tidak ditandatangani ke modul UART yang mengubahnya menjadi output yang lebih mesra pengguna untuk dihargai oleh pengguna. Penyelesai matriks semasa hanya dapat memasukkan nombor hingga 15 dan hasil output mestilah bilangan bulat bersih atau program pemecah matriks tidak dapat mengeluarkan penyelesaian yang betul.

Modul "Serial Control" Tingkat Atas: Pengguna memasukkan sistem linier yang mereka inginkan ke dalam modul ini melalui modul UART_TX dan UART_RX dan ia menukar input dari terminal komputer kepada pelbagai vektor logik standard yang diproses oleh modul pemecah matriks. Modul pemecah matriks kemudian mengembalikan pelbagai vektor logik standard yang kemudian dipaparkan di skrin oleh antara muka bersiri UART. Penghantaran dan penerimaan data melalui modul UART dicapai melalui penggunaan FSM yang sangat panjang dalam modul ini.

Modul UART_TX: Pengguna memasukkan vektor logik standard 8 bit dan isyarat hantar untuk menghantar data melalui antara muka USB. Semasa menghantar data, isyarat TX_Active tinggi. Setelah menghantar data, isyarat TX_Done berdenyut.

Modul UART_RX: Pengguna menerima 8 bit data sekaligus dari antara muka USB. Nadi dari RX_DV adalah petunjuk bahawa data telah diterima dan logik vektor RX_Byte dapat dibaca.

Modul Penyelesaian Matriks: Penyelesai matriks menerima tatasusunan tersusun dari modul UART yang mewakili matriks. Penyelesai matriks kemudian menukar setiap nombor dalam sistem linear menjadi bilangan bulat untuk memudahkan pengoperasiannya. Di dalam modul pemecah matriks terdapat beberapa sub modul. Sub modul pertama adalah inverse_matrix_1 yang mengambil matriks dan kemudian memberikan kebalikan dari matriks yang diberikan. Sub modul seterusnya adalah pengganda yang mengalikan total_matrix dengan matriks songsang menggunakan operasi matriks standard. Pada akhirnya, modul induk memetakannya bersama untuk menghasilkan satu jawapan.

Langkah 2: Langkah 2: Memprogram Papan Basys 3

Sebaik sahaja anda memperoleh kod sumber dari bawah, muat naik ke papan dasar 3 untuk menggunakan antara muka.

reference.digilentinc.com/basys3/refmanual

Langkah 3: Langkah 3: Cara Menggunakannya

Gunakan antara muka bersiri pada 9600 baud untuk berkomunikasi dengan Basys3 UART. Saya menggunakan skrin pada linux dengan arahan berikut:

skrin / dev / ttyUSB1 9600

Untuk melakukan ini di linux, saya terpaksa menambahkan pengguna saya ke kumpulan "dialout". Pada Windows, dempul mesti berfungsi, dan pada MacOSX, prosesnya serupa dengan linux.

Memusingkan suis paling kiri ke kedudukan hidup memulakan pemecah matriks. Mematikannya mematikan semula pemecah matriks.

Disyorkan: