Mündəricat:

Integer_Matrix_Solver_UART_SERIAL_VHDL: 3 addım
Integer_Matrix_Solver_UART_SERIAL_VHDL: 3 addım

Video: Integer_Matrix_Solver_UART_SERIAL_VHDL: 3 addım

Video: Integer_Matrix_Solver_UART_SERIAL_VHDL: 3 addım
Video: Mark Geisbrecht "Eigenvalues, invariant and random integer matrices" 2024, Noyabr
Anonim
Integer_Matrix_Solver_UART_SERIAL_VHDL
Integer_Matrix_Solver_UART_SERIAL_VHDL

Bu təlimatlı dərs, UART Serial terminal modulunu və matris həlli modulunu tətbiq etməklə 2 -dən 2 -ə qədər matris həll edənin necə ediləcəyini göstərir. İstifadəçi 2 ilə 2 matrisə daxil ola biləcək və sonra tətbiq olunan dizayn xətti sistemin həllini tüpürəcək.

Bu kodu istifadə etmək üçün sizə lazım olacaq:

- Digilent Basys 3 FPGA lövhəsi

- Xilinx Vivado Proqramı olan kompüter (Webpack Edition işləyəcək). Bu modul üçün 2017.2 versiyasını istifadə etdik.

- Mikro USB Kabeli (Məlumat ötürmə qabiliyyəti)

Müəlliflər: Drew Miller, EE Major, Cal Poly SLO, Sukhdeep Singh, EE Major, Cal Poly SLO Class: Rəqəmsal Dizayn

- EE/CPE 133 Təlimatçı: Joseph Callenes

Mənbələr:

  • UART_TX, UART_RX:
  • Https://eewiki.net/pages/viewpage.action?pageId=4…

İmzasız iki ədədin bölünməsi funksiyası:

Addım 1: Adım 1: Necə Çalışır

Addım 1: Necə Çalışır
Addım 1: Necə Çalışır
Addım 1: Necə Çalışır
Addım 1: Necə Çalışır

Girişlər: İstifadəçi kompüter terminalına xətti bir sistem daxil edir və sonra UART Modulu onları matris həlli modulunun manipulyasiya etməsi üçün bir sıra halına çevirir. UART modulu istifadəçi ilə əlaqə qurur və müvafiq matrisə girməsinə, həmçinin məlumatların düzgün daxil edilməsinə istiqamət verməsinə imkan verir. Sistemin ayrıca Basys3 lövhəsinin ən sol açarı ilə əlaqəli sıfırlama/aktivləşdirmə açarı da var.

Çıxışlar: Matris həll edəndən alınan nəticələr UART modul interfeysindən keçir və sonra ekranda göstərilən həllər ilə birlikdə kompüter terminalında göstərilir. Matris həlli, UART moduluna işarəsiz standart məntiq vektorlarını çıxarır ki, bu da istifadəçinin qiymətləndirməsi üçün daha çox istifadəçi dostu çıxışlara çevrilir. Mövcud matris həlledicisi yalnız 15 -ə qədər ədəd daxil edə bilər və çıxış nəticəsi tam bir tam ədəd olmalıdır və ya matris həlli proqramı düzgün həll edə bilmir.

Üst Səviyyə "Serial Nəzarət" Modulu: İstifadəçi UART_TX və UART_RX modulları vasitəsi ilə istədiyi xətti sistemini bu modula daxil edir və kompüter terminalından girişləri matris həlli modulu tərəfindən işlənən bir sıra standart məntiq vektorlarına çevirir. Matris həll modulu daha sonra UART seriyalı interfeysi ilə ekranda görünən bir sıra standart məntiq vektorlarını qaytarır. UART modulları vasitəsi ilə məlumatların ötürülməsi və qəbul edilməsi bu modulda çox uzun bir FSM istifadə etməklə həyata keçirilir.

UART_TX Modulu: İstifadəçi USB interfeysi vasitəsilə məlumat göndərmək üçün 8 bit standart məntiq vektoru və göndərmə siqnalını daxil edir. Məlumat göndərərkən TX_Active siqnalı yüksəkdir. Məlumat göndərildikdən sonra, TX_Done siqnalı daralır.

UART_RX Modulu: İstifadəçi USB interfeysindən bir anda 8 bit məlumat alır. RX_DV -dən bir nəbz, məlumatların alındığını və RX_Byte vektor məntiqinin oxunmasının göstəricisidir.

Matrix Çözücü Modulu: Matris həll edən, UART modulundan matrisi təmsil edən bir ehtimal olunan bir sıra alır. Matris həll edən daha sonra xətti sistemdəki hər bir ədədin işini asanlaşdırmaq üçün tam ədədlərə çevirir. Matris həlli modulunun içərisində bir neçə alt modul var. Birinci alt modul, matrisi alan və sonra verilən matrisi tərsini verən inverse_matrix_1 moduludur. Növbəti alt modul, standart matris əməliyyatlarından istifadə edərək total_matrixi tərs matrislə vuran çarpandır. Birincisi, əsas modul bir cavabı çıxarmaq üçün onları bir araya gətirir.

Adım 2: Adım 2: Basys 3 lövhəsinin proqramlaşdırılması

Mənbə kodunu aşağıdan əldə etdikdən sonra interfeysdən istifadə etmək üçün basys 3 lövhəsinə yükləyin.

reference.digilentinc.com/basys3/refmanual

Addım 3: Adım 3: Necə istifadə olunur

Basys3 UART ilə əlaqə qurmaq üçün 9600 baudda ardıcıl interfeys istifadə edin. Aşağıdakı əmr ilə linuxda ekran istifadə etdim:

ekran /dev /ttyUSB1 9600

Bunu linuxda etmək üçün istifadəçimi "dialout" qrupuna əlavə etməli oldum. Windows -da macun işləməlidir və MacOSX -də linuxa bənzər bir proses olmalıdır.

Sol tərəfdəki açarı açıq vəziyyətə çevirmək matris həlledicisini işə salır. Onu söndürmək matris həllçisini sıfırlayır.

Tövsiyə: