Sisällysluettelo:

Integer_Matrix_Solver_UART_SERIAL_VHDL: 3 vaihetta
Integer_Matrix_Solver_UART_SERIAL_VHDL: 3 vaihetta

Video: Integer_Matrix_Solver_UART_SERIAL_VHDL: 3 vaihetta

Video: Integer_Matrix_Solver_UART_SERIAL_VHDL: 3 vaihetta
Video: Gentlemen Of Fortune (comedy, dir. Alexander Sery, 1971) 2024, Marraskuu
Anonim
Integer_Matrix_Solver_UART_SERIAL_VHDL
Integer_Matrix_Solver_UART_SERIAL_VHDL

Tämä opettavainen opetusohjelma näyttää, kuinka voit tehdä 2 x 2 -matriisiratkaisun käyttämällä UART -sarjapäätemoduulia ja matriisinratkaisumoduulia. Käyttäjä voi syöttää 2 x 2 -matriisin ja sitten toteutettu malli sylkee ratkaisun lineaariseen järjestelmään.

Tämän koodin käyttämiseen tarvitset:

- Digilent Basys 3 FPGA -levy

- Tietokone, jossa on Xilinx Vivado -ohjelmisto (Webpack Edition toimii). Tässä moduulissa käytimme versiota 2017.2.

- Micro USB -johto (tiedonsiirto -yhteensopiva)

Tekijät: Drew Miller, EE Major, Cal Poly SLO, Sukhdeep Singh, EE Major, Cal Poly SLO Class: Digital Design

- EE/CPE 133 Kouluttaja: Joseph Callenes

Lähteet:

  • UART_TX, UART_RX täältä:
  • Poistu osoitteesta:

Toiminto kahden allekirjoittamattoman numeron jakamiseen:

Vaihe 1: Vaihe 1: Näin se toimii

Vaihe 1: Näin se toimii
Vaihe 1: Näin se toimii
Vaihe 1: Näin se toimii
Vaihe 1: Näin se toimii

Tulot: Käyttäjä syöttää lineaarisen järjestelmän tietokoneen päätelaitteeseen ja sitten UART -moduuli muuntaa ne matriisinratkaisumoduulin matriisiksi käsiteltäväksi. UART -moduuli on rajapinnassa käyttäjän kanssa ja antaa hänelle mahdollisuuden syöttää asianmukainen matriisi sekä ohjata heitä syöttämään tietoja oikein. Järjestelmässä on myös nollaus/käyttöönotto -kytkin, joka on yhdistetty Basys3 -kortin vasemmanpuoleiseen kytkimeen.

Lähdöt: Matriisinratkaisun tulokset viedään UART -moduuliliitännän läpi ja näytetään sitten tietokoneen päätelaitteessa näytössä lueteltujen ratkaisujen kanssa. Matriisinratkaisija lähettää allekirjoittamattomat standardilogiikkavektorit UART -moduuliin, joka muuntaa ne käyttäjäystävällisempiksi lähdöiksi, joita käyttäjä voi arvostaa. Nykyinen matriisinratkaisija voi syöttää vain numeroita enintään 15, ja tulostuloksen on oltava puhdas kokonaisluku, tai matriisinratkaisuohjelma ei pysty tuottamaan oikeaa ratkaisua.

Huipputason "sarjaohjaus" -moduuli: Käyttäjä syöttää haluamansa lineaarijärjestelmän tähän moduuliin UART_TX- ja UART_RX -moduulien kautta ja se muuntaa tietokoneen päätelaitteen tulot matriisinratkaisumoduulin käsittelemiksi vakiomuotoisiksi logiikkavektoreiksi. Matriisinratkaisumoduuli palauttaa sitten joukon vakioloogisia vektoreita, jotka UART -sarjaliitäntä näyttää sitten näytöllä. Tietojen lähettäminen ja vastaanottaminen UART -moduulien kautta tapahtuu käyttämällä erittäin pitkää FSM: ää tässä moduulissa.

UART_TX -moduuli: Käyttäjä syöttää 8 -bittisen vakiologiikkavektorin ja lähetyssignaalin lähettääkseen tietoja USB -liitännän kautta. Kun se lähettää dataa, TX_Active -signaali on korkea. Kun se on lähettänyt tiedot, TX_Done -signaali pulssi.

UART_RX -moduuli: Käyttäjä vastaanottaa 8 bittiä dataa kerrallaan USB -liitännästä. RX_DV: n pulssi osoittaa, että data on vastaanotettu ja että RX_Byte -vektorilogiikka voidaan lukea.

Matriisinratkaisumoduuli: Matriisinratkaisija vastaanottaa laskennallisen matriisin UART -moduulilta. Matriisinratkaisija muuntaa sitten lineaarijärjestelmän jokaisen luvun kokonaisluvuiksi, jotta niiden käyttäminen olisi helpompaa. Matriisinratkaisumoduulin sisällä on useita alimoduuleja. Ensimmäinen alimoduuli on käänteinen_matriisi_1, joka ottaa matriisin ja antaa sitten annetun matriisin käänteisen. Seuraava alimoduuli on kerroin, joka kertoo total_matrix -käänteismatriisin käyttämällä standardimatriisioperaatioita. Lopuksi päämoduuli kartoittaa ne yhteen ja antaa yhden vastauksen.

Vaihe 2: Vaihe 2: Basys 3 -levyn ohjelmointi

Kun olet hankkinut lähdekoodin alta, lataa se basys 3 -levylle käyttääksesi käyttöliittymää.

reference.digilentinc.com/basys3/refmanual

Vaihe 3: Vaihe 3: Kuinka sitä käytetään

Käytä sarjaliitäntää 9600 baudilla kommunikoidaksesi Basys3 UART: n kanssa. Käytin linux -näyttöä seuraavalla komennolla:

screen /dev /ttyUSB1 9600

Voidakseni tehdä tämän linuxilla minun täytyi lisätä käyttäjäni "dialout" -ryhmään. Windowsissa kitin pitäisi toimia, ja MacOSX: ssä sen pitäisi olla samanlainen prosessi kuin linux.

Kääntämällä vasemmanpuoleisin kytkin ON -asentoon, matriisinratkaisu käynnistyy. Sen kytkeminen pois päältä nollaa matriisinratkaisun.

Suositeltava: