Taula de continguts:

Integer_Matrix_Solver_UART_SERIAL_VHDL: 3 passos
Integer_Matrix_Solver_UART_SERIAL_VHDL: 3 passos

Vídeo: Integer_Matrix_Solver_UART_SERIAL_VHDL: 3 passos

Vídeo: Integer_Matrix_Solver_UART_SERIAL_VHDL: 3 passos
Vídeo: Mark Geisbrecht "Eigenvalues, invariant and random integer matrices" 2024, Octubre
Anonim
Integer_Matrix_Solver_UART_SERIAL_VHDL
Integer_Matrix_Solver_UART_SERIAL_VHDL

Aquest tutorial instructiu us mostra com fer un solucionador de matriu 2 per 2 implementant el mòdul de terminal sèrie UART i un mòdul de resolució de matriu. L'usuari podrà introduir una matriu de 2 per 2 i després el disseny implementat escopirà la solució al sistema lineal.

Per utilitzar aquest codi, necessitareu:

- Una placa FPGA Digilent Basys 3

- Ordinador amb el programari Xilinx Vivado (Webpack Edition funcionarà). Per a aquest mòdul, hem utilitzat la versió 2017.2.

- Un cable micro USB (compatible amb la transferència de dades)

Autors: Drew Miller, EE Major, Cal Poly SLO, Sukhdeep Singh, EE Major, Cal Poly SLO Classe: Disseny digital

- EE / CPE 133 Instructor: Joseph Callenes

Fonts:

  • UART_TX, UART_RX de:
  • Retirada de:

Funció per a la divisió de dos números sense signar:

Pas 1: Pas 1: Com funciona

Pas 1: Com funciona
Pas 1: Com funciona
Pas 1: Com funciona
Pas 1: Com funciona

Entrades: l’usuari introdueix un sistema lineal al terminal de l’ordinador i després un mòdul UART els converteix en una matriu perquè el mòdul de resolució de matrius pugui manipular-lo. El mòdul UART s’interface amb l’usuari i els permet introduir la matriu adequada, així com guiar-los a introduir dades adequadament. El sistema també té un commutador de reinici / habilitació assignat a l’interruptor més esquerre de la placa Basys3.

Sortides: els resultats del solucionador de matrius es passen per la interfície del mòdul UART i es mostren al terminal de l'ordinador amb les solucions que apareixen a la pantalla. El solucionador de matrius emet vectors lògics estàndard sense signar al mòdul UART que els converteix en sortides més fàcils d’utilitzar perquè l’usuari els pugui apreciar. El solucionador de matrius actual només pot introduir números de fins a 15 i el resultat de sortida ha de ser un enter net o el programa de resolució de matrius no pot generar la solució correcta.

Mòdul de "control serial" de nivell superior: l'usuari introdueix el sistema lineal desitjat en aquest mòdul a través dels mòduls UART_TX i UART_RX i converteix les entrades del terminal de l'ordinador en una matriu de vectors lògics estàndard que processen el mòdul de resolució de matriu. El mòdul de resolució de matrius retorna una matriu de vectors lògics estàndard que la interfície sèrie UART mostra a la pantalla. La transmissió i recepció de dades a través dels mòduls UART s’aconsegueix mitjançant l’ús d’un FSM molt llarg en aquest mòdul.

Mòdul UART_TX: l’usuari introdueix un vector lògic estàndard de 8 bits i un senyal d’enviament per tal d’enviar dades a través de la interfície USB. Mentre envia dades, el senyal TX_Active és alt. Després d'enviar les dades, el senyal TX_Done polsarà.

Mòdul UART_RX: l’usuari rep 8 bits de dades a la vegada des de la interfície USB. Un impuls de RX_DV és una indicació que s'han rebut dades i que es pot llegir la lògica vectorial RX_Byte.

Mòdul de resolució de matrius: el solucionador de matrius rep una matriu imputada del mòdul UART que representa la matriu. A continuació, el solucionador de matrius converteix cada número del sistema lineal en enters per facilitar la seva operació. Dins del mòdul de resolució de matrius hi ha diversos sub mòduls. El primer sub mòdul és la matriu_inversa_1 que pren la matriu i dóna la inversa de la matriu donada. El següent sub mòdul és el multiplicador que multiplica la matriu_total per la matriu inversa mitjançant operacions de matriu estàndard. Finalment, el mòdul mestre els assigna per obtenir una resposta única.

Pas 2: Pas 2: Programació de la placa Basys 3

Quan hàgiu adquirit el codi font des de baix, pengeu-lo al tauler basys 3 per utilitzar la interfície.

reference.digilentinc.com/basys3/refmanual

Pas 3: Pas 3: Com utilitzar-lo

Utilitzeu una interfície sèrie a 9600 bauds per comunicar-vos amb el Basys3 UART. He utilitzat screen a Linux amb l'ordre següent:

screen / dev / ttyUSB1 9600

Per fer-ho a Linux, vaig haver d'afegir el meu usuari al grup "marcatge telefònic". Al Windows, la massilla hauria de funcionar i al MacOSX, hauria de ser un procés similar al de Linux.

Posant l'interruptor més a l'esquerra a la posició d'encès s'inicia el solucionador de matrius. En apagar-lo, es reinicia el solucionador de matrius.

Recomanat: