INHOUDSOPGAWE:

Integer_Matrix_Solver_UART_SERIAL_VHDL: 3 stappe
Integer_Matrix_Solver_UART_SERIAL_VHDL: 3 stappe

Video: Integer_Matrix_Solver_UART_SERIAL_VHDL: 3 stappe

Video: Integer_Matrix_Solver_UART_SERIAL_VHDL: 3 stappe
Video: Как пользоваться Kies 3 ? Всё просто! 2024, November
Anonim
Integer_Matrix_Solver_UART_SERIAL_VHDL
Integer_Matrix_Solver_UART_SERIAL_VHDL

Hierdie instruksies wys u hoe u 'n 2 -by -2 -matriksoplosser kan maak deur 'n implementering van UART Serial -terminale module sowel as 'n matriksoplossermodule. Die gebruiker sal 'n 2 by 2 matriks kan invoer en dan sal die geïmplementeerde ontwerp die oplossing vir die lineêre stelsel uitspoeg.

Om hierdie kode te gebruik, benodig u:

- 'n Digilent Basys 3 FPGA -bord

- Rekenaar met die Xilinx Vivado -sagteware (Webpack Edition werk). Vir hierdie module het ons die 2017.2 -weergawe gebruik.

- 'n Mikro -USB -koord (in staat om data oor te dra)

Skrywers: Drew Miller, EE Major, Cal Poly SLO, Sukhdeep Singh, EE Major, Cal Poly SLO Klas: Digitale ontwerp

- EE/CPE 133 Instrukteur: Joseph Callenes

Bronne:

  • UART_TX, UART_RX vanaf:
  • Deboneer vanaf:

Funksie vir die verdeling van twee ongetekende nommers:

Stap 1: Stap 1: Hoe dit werk

Stap 1: Hoe dit werk
Stap 1: Hoe dit werk
Stap 1: Hoe dit werk
Stap 1: Hoe dit werk

Insette: Die gebruiker voer 'n lineêre stelsel in die rekenaarterminale in, en dan sit 'n UART -module dit om in 'n skikking wat die matriksoplossermodule kan manipuleer. Die UART -module het 'n koppelvlak met die gebruiker en stel hulle in staat om die toepaslike matriks in te voer en hulle te lei om data korrek in te voer. Die stelsel het ook 'n terugstel/inskakel -skakelaar wat na die skakelaar links van die Basys3 -bord gekoppel is.

Uitsette: Die resultate van die matriksoplosser word deur die UART -module -koppelvlak deurgegee en dan op die rekenaarterminale vertoon met die oplossings wat op die skerm verskyn. Die matriksoplosser lewer ongetekende standaard logiese vektore na die UART -module, wat dit omskakel in meer gebruikersvriendelike uitsette wat die gebruiker kan waardeer. Die huidige matriksoplosser kan slegs getalle tot 15 laat invoer en die uitsetresultaat moet 'n skoon heelgetal wees, of die matriksoplosserprogram kan nie die regte oplossing lewer nie.

'Seriële beheer' -module op die hoogste vlak: die gebruiker voer die gewenste lineêre stelsel in hierdie module in via die UART_TX- en UART_RX -modules en dit skakel die insette van die rekenaarterminale om na 'n verskeidenheid standaard logiese vektore wat deur die matriksoplossermodule verwerk word. Die matriksoplossermodule gee dan 'n reeks standaard logiese vektore terug wat dan deur die UART -seriële koppelvlak op die skerm vertoon word. Die oordrag en ontvang van data deur die UART -modules word bewerkstellig deur die gebruik van 'n baie lang FSM in hierdie module.

UART_TX -module: Die gebruiker voer 'n 8 -bis standaard logika -vektor en 'n stuursein in om data via die USB -koppelvlak te stuur. Terwyl dit data stuur, is die TX_Active -sein hoog. Nadat die data gestuur is, pols die TX_Done -sein.

UART_RX -module: Die gebruiker ontvang 8 stukkies data op 'n slag vanaf die USB -koppelvlak. 'N Puls van RX_DV is 'n aanduiding dat data ontvang is en dat die RX_Byte -vektorlogika gelees kan word.

Matrix Solver Module: Die matriksoplosser ontvang 'n toegerekende skikking van die UART -module wat die matriks voorstel. Die matriksoplosser skakel dan elke getal in die lineêre stelsel om in heelgetalle om dit makliker te laat werk. Binne die matriksoplossermodule is daar verskeie submodules. Die eerste submodule is die inverse_matrix_1 wat die matriks neem en dan die inverse van die gegewe matriks gee. Die volgende submodule is die vermenigvuldiger wat die total_matrix vermenigvuldig met die inverse matriks met behulp van standaardmatriksbewerkings. Uiteindelik karteer die hoofmodule hulle saam om 'n enkele antwoord te lewer.

Stap 2: Stap 2: Programmering van die Basys 3 -bord

Sodra u die bronkode van onder af verkry het, laai dit op na die basys 3 -bord om die koppelvlak te gebruik.

reference.digilentinc.com/basys3/refmanual

Stap 3: Stap 3: Hoe om dit te gebruik

Gebruik 'n seriële koppelvlak op 9600 baud om met die Basys3 UART te kommunikeer. Ek het skerm op Linux gebruik met die volgende opdrag:

skerm /dev /ttyUSB1 9600

Om dit op Linux te kan doen, moes ek my gebruiker by die groep "dialout" voeg. Op Windows behoort stopverf te werk, en op MacOSX behoort dit 'n soortgelyke proses as Linux te wees.

Deur die skakelaar links na die aan -posisie te draai, begin die matriksoplosser. As u dit afskakel, word die matriksoplosser teruggestel.

Aanbeveel: