Sadržaj:

Integer_Matrix_Solver_UART_SERIAL_VHDL: 3 koraka
Integer_Matrix_Solver_UART_SERIAL_VHDL: 3 koraka

Video: Integer_Matrix_Solver_UART_SERIAL_VHDL: 3 koraka

Video: Integer_Matrix_Solver_UART_SERIAL_VHDL: 3 koraka
Video: По Законам Военного Времени 3. 1-4 Серии. Военно-историческая драма. StarMedia 2024, Listopad
Anonim
Integer_Matrix_Solver_UART_SERIAL_VHDL
Integer_Matrix_Solver_UART_SERIAL_VHDL

Ovaj vodič koji vas može poučiti pokazat će vam kako napraviti matrični rješavač 2 po 2 primjenom UART serijskog terminalnog modula, kao i modula rješavača matrica. Korisnik će moći unijeti matricu 2 x 2, a zatim će implementirani dizajn ispljunuti rješenje u linearni sustav.

Za korištenje ovog koda trebat će vam:

- Digilent Basys 3 FPGA ploča

- Računalo sa softverom Xilinx Vivado (Webpack Edition će raditi). Za ovaj modul koristili smo verziju 2017.2.

- Micro USB kabel (moguć prijenos podataka)

Autori: Drew Miller, EE Major, Cal Poly SLO, Sukhdeep Singh, EE Major, Cal Poly SLO Klasa: digitalni dizajn

- EE/CPE 133 Instruktor: Joseph Callenes

Izvori:

  • UART_TX, UART_RX s:
  • Odbijte od:

Funkcija podjele dva nepotpisana broja:

Korak 1: Korak 1: Kako to funkcionira

Korak 1: Kako to radi
Korak 1: Kako to radi
Korak 1: Kako to radi
Korak 1: Kako to radi

Ulazi: Korisnik unosi linearni sustav u terminal računala, a zatim ih UART modul pretvara u niz za upravljanje modulom matričnog rješavača. UART modul sučeljava se s korisnikom i omogućuje mu unos odgovarajuće matrice te ih vodi do ispravnog unosa podataka. Sustav također ima prekidač za poništavanje/omogućavanje preslikan na krajnji lijevi prekidač ploče Basys3.

Izlazi: Rezultati iz matričnog rješavača prolaze kroz sučelje UART modula i zatim se prikazuju na terminalu računala s rješenjima navedenim na ekranu. Matrični rješavač daje nepotpisane standardne logičke vektore u UART modul koji ih pretvara u izlaz prilagođeniji korisniku kako bi ga korisnik mogao cijeniti. Trenutni matrični rješavač može unijeti samo do 15 brojeva, a izlazni rezultat mora biti čist cijeli broj ili program za rješavanje matrica ne može prikazati ispravno rješenje.

Modul "Serijska kontrola" najviše razine: Korisnik unosi svoj željeni linearni sustav u ovaj modul putem modula UART_TX i UART_RX i pretvara ulaze s računalnog terminala u niz standardnih logičkih vektora koje obrađuje modul rješavanja matrice. Modul za rješavanje matrica tada vraća niz standardnih logičkih vektora koje zatim prikazuje UART serijsko sučelje na ekranu. Prijenos i primanje podataka putem UART modula postiže se upotrebom vrlo dugotrajnog FSM -a u ovom modulu.

UART_TX modul: Korisnik unosi 8 -bitni standardni logički vektor i signal za slanje kako bi poslao podatke putem USB sučelja. Dok šalje podatke, signal TX_Active je visok. Nakon što pošalje podatke, signal TX_Done pulsira.

UART_RX modul: Korisnik prima 8 bitova podataka odjednom s USB sučelja. Impuls iz RX_DV pokazatelj je da su podaci primljeni i da se vektorska logika RX_Byte može pročitati.

Modul Matrix Solver: Matrix Solver prima imputirani niz od UART modula koji predstavlja matricu. Matrični rješavač zatim pretvara svaki broj u linearnom sustavu u cijele brojeve radi lakšeg rada s njima. Unutar modula za rješavanje matrica postoji nekoliko podmodula. Prvi podmodul je inverzna_matrica_1 koja uzima matricu, a zatim daje inverznost zadane matrice. Sljedeći podmodul je multiplikator koji pomnoži total_matrix s inverznom matricom koristeći standardne matrične operacije. Konačno, glavni modul ih preslikava kako bi se dobio jedan jedini odgovor.

Korak 2: Korak 2: Programiranje ploče Basys 3

Nakon što ste kupili izvorni kod odozdo, prenesite ga na ploču basys 3 za korištenje sučelja.

reference.digilentinc.com/basys3/refmanual

Korak 3: Korak 3: Kako ga koristiti

Za komunikaciju s Basys3 UART -om koristite serijsko sučelje na 9600 bauda. Koristio sam zaslon na linuxu sa sljedećom naredbom:

zaslon /dev /ttyUSB1 9600

Da bih to napravio na linuxu, morao sam dodati svog korisnika u grupu "dialout". U sustavu Windows kit bi trebao djelovati, a u sustavu MacOSX trebao bi biti sličan proces kao i u sustavu Linux.

Pokretanjem krajnjeg lijevog prekidača u položaj uključeno pokreće se rješavanje matrice. Isključivanjem se resetira matrični rješavač.

Preporučeni: