Përmbajtje:

Integer_Matrix_Solver_UART_SERIAL_VHDL: 3 hapa
Integer_Matrix_Solver_UART_SERIAL_VHDL: 3 hapa

Video: Integer_Matrix_Solver_UART_SERIAL_VHDL: 3 hapa

Video: Integer_Matrix_Solver_UART_SERIAL_VHDL: 3 hapa
Video: Mark Geisbrecht "Eigenvalues, invariant and random integer matrices" 2024, Nëntor
Anonim
Integer_Matrix_Solver_UART_SERIAL_VHDL
Integer_Matrix_Solver_UART_SERIAL_VHDL

Ky udhëzues udhëzues ju tregon se si të bëni një zgjidhës matricë 2 me 2 duke zbatuar modulin e terminalit UART Serial, si dhe një modul zgjidhës matricash. Përdoruesi do të jetë në gjendje të futë një matricë 2 me 2 dhe më pas dizajni i zbatuar do të pështyjë zgjidhjen në sistemin linear.

Për të përdorur këtë kod, do t'ju duhet:

- Një bord FPGA Digilent Basys 3

- Kompjuter me Softuerin Xilinx Vivado (Webpack Edition do të funksionojë). Për këtë modul, ne përdorëm versionin 2017.2.

- Një kabllo Micro USB (transferimi i të dhënave i aftë)

Autorët: Drew Miller, EE Major, Cal Poly SLO, Sukhdeep Singh, EE Major, Cal Poly SLO Klasa: Dizajn Digjital

- EE/CPE 133 Instruktor: Joseph Callenes

Burimet:

  • UART_TX, UART_RX nga:
  • Deboni nga:

Funksioni për ndarjen e dy numrave të panënshkruar:

Hapi 1: Hapi 1: Si funksionon

Hapi 1: Si funksionon
Hapi 1: Si funksionon
Hapi 1: Si funksionon
Hapi 1: Si funksionon

Hyrjet: Përdoruesi fut një sistem linear në terminalin e kompjuterit dhe më pas një modul UART i konverton ato në një grup për modulimin e modulit të zgjidhjes së matricës. Moduli UART ndërfaqet me përdoruesin dhe i lejon ata të hyjnë në matricën e duhur, si dhe t'i udhëzojnë ata të futin siç duhet të dhënat. Sistemi gjithashtu ka një çelës të rivendosjes/aktivizimit të hartuar në ndërprerësin më të majtë të tabelës Basys3.

Rezultatet: Rezultatet nga zgjidhësi i matricës kalohen përmes ndërfaqes së modulit UART dhe më pas shfaqen në terminalin e kompjuterit me zgjidhjet e listuara në ekran. Zgjidhësi i matricës nxjerr vektorë logjikë standardë të panënshkruar në modulin UART i cili i konverton ato në rezultate më miqësore për përdoruesit që përdoruesi të vlerësojë. Zgjidhësi aktual i matricës mund të ketë vetëm numra deri në 15 dhe rezultati i daljes duhet të jetë një numër i plotë i pastër ose programi i zgjidhjes së matricës nuk është në gjendje të nxjerrë zgjidhjen e duhur.

Moduli i "Kontrollit Serial" i Nivelit të Lartë: Përdoruesi fut sistemin e tij linear të dëshiruar në këtë modul përmes moduleve UART_TX dhe UART_RX dhe konverton hyrjet nga terminali i kompjuterit në një grup vektorësh logjikë standardë që përpunohen nga moduli i zgjidhjes së matricës. Moduli i zgjidhjes së matricës pastaj kthen një sërë vektorësh logjikë standardë që shfaqen më pas në ekran nga ndërfaqja serike UART. Transmetimi dhe marrja e të dhënave përmes moduleve UART realizohet përmes përdorimit të një FSM shumë të gjatë në këtë modul.

Moduli UART_TX: Përdoruesi fut një vektor logjik standard 8 bit dhe një sinjal dërgimi në mënyrë që të dërgojë të dhëna përmes ndërfaqes USB. Ndërsa po dërgon të dhëna, sinjali TX_Active është i lartë. Pasi të ketë dërguar të dhënat, sinjali TX_Done pulmon.

Moduli UART_RX: Përdoruesi merr 8 bit të dhëna në të njëjtën kohë nga ndërfaqja USB. Një impuls nga RX_DV është një tregues se të dhënat janë marrë dhe se logjika vektoriale RX_Byte mund të lexohet.

Moduli i zgjidhjes së matricës: Zgjidhësi i matricës merr një grup të imputuar nga moduli UART që përfaqëson matricën. Zgjidhësi i matricës më pas konverton çdo numër në sistemin linear në numra të plotë për ta bërë më të lehtë funksionimin e tyre. Brenda modulit të zgjidhjes së matricës ka disa nën -module. Nën -moduli i parë është inverse_matrix_1 i cili merr matricën dhe më pas jep të kundërtën e matricës së dhënë. Nën moduli tjetër është shumëzuesi i cili shumëzon matricën total_ me matricën invers duke përdorur operacionet standarde të matricës. Së fundi, moduli master i harton ato së bashku për të nxjerrë një përgjigje të vetme.

Hapi 2: Hapi 2: Programimi i Bordit Basys 3

Pasi të keni marrë kodin burimor nga poshtë, ngarkojeni atë në tabelën basys 3 për të përdorur ndërfaqen.

reference.digilentinc.com/basys3/refmanual

Hapi 3: Hapi 3: Si ta përdorni

Përdorni një ndërfaqe serike në 9600 baud në mënyrë që të komunikoni me Basys3 UART. Kam përdorur ekranin në linux me komandën e mëposhtme:

ekran /dev /ttyUSB1 9600

Për ta bërë këtë në linux, më duhej të shtoja përdoruesin tim në grupin "dialout". Në Windows, stuko duhet të funksionojë, dhe në MacOSX, duhet të jetë një proces i ngjashëm me Linux.

Kthimi i ndërprerësit më të majtë në pozicionin e ndezjes fillon zgjidhësin e matricës. Fikja e tij në çaktivizon zgjidhësin e matricës.

Recommended: