Мазмұны:

Integer_Matrix_Solver_UART_SERIAL_VHDL: 3 қадам
Integer_Matrix_Solver_UART_SERIAL_VHDL: 3 қадам

Бейне: Integer_Matrix_Solver_UART_SERIAL_VHDL: 3 қадам

Бейне: Integer_Matrix_Solver_UART_SERIAL_VHDL: 3 қадам
Бейне: Mark Geisbrecht "Eigenvalues, invariant and random integer matrices" 2024, Қараша
Anonim
Integer_Matrix_Solver_UART_SERIAL_VHDL
Integer_Matrix_Solver_UART_SERIAL_VHDL

Бұл нұсқаулық сізге UART Serial терминал модулін және матрицаны шешуші модульді енгізу арқылы 2 -ден 2 -ге дейін матрицаны қалай шешуге болатынын көрсетеді. Пайдаланушы 2 -ден 2 -ге дейінгі матрицаны енгізе алады, содан кейін енгізілген дизайн сызықтық жүйенің шешімін шығарады.

Бұл кодты пайдалану үшін сізге қажет:

- Digilent Basys 3 FPGA тақтасы

- Xilinx Vivado бағдарламалық жасақтамасы бар компьютер (Webpack Edition жұмыс істейді). Бұл модуль үшін біз 2017.2 нұсқасын қолдандық.

- Micro USB сымы (деректерді тасымалдау мүмкіндігі бар)

Авторлары: Дрю Миллер, EE Major, Cal Poly SLO, Sukhdeep Singh, EE Major, Cal Poly SLO сыныбы: Цифрлық дизайн

- EE/CPE 133 Нұсқаушы: Джозеф Калленес

Дереккөздер:

  • UART_TX, UART_RX:
  • Шығу:

Қол қойылмаған екі санды бөлу функциясы:

1 -қадам: 1 -қадам: Бұл қалай жұмыс істейді

1 -қадам: Бұл қалай жұмыс істейді
1 -қадам: Бұл қалай жұмыс істейді
1 -қадам: Бұл қалай жұмыс істейді
1 -қадам: Бұл қалай жұмыс істейді

Кірістер: пайдаланушы компьютерлік терминалға сызықтық жүйені енгізеді, содан кейін UART модулі оларды матрицаны шешуші модуль басқаратын массивке түрлендіреді. UART модулі пайдаланушымен интерфейс жасайды және оларға сәйкес матрицаны енгізуге мүмкіндік береді, сонымен қатар оларды деректерді дұрыс енгізуге бағыттайды. Сондай -ақ, жүйеде Basys3 тақтасының сол жақтағы қосқышымен салыстырылған қалпына келтіру/қосу қосқышы бар.

Шығу: матрицаны шешушіден алынған нәтижелер UART модулінің интерфейсі арқылы өтеді, содан кейін экранда көрсетілген шешімдермен бірге компьютер терминалында көрсетіледі. Матрицаны шешуші UART модуліне қол қойылмаған стандартты логикалық векторларды шығарады, ол оларды пайдаланушы бағалайтын қолайлы нәтижеге айналдырады. Ағымдағы матрицалық шешуші тек 15 -ке дейінгі сандарды енгізе алады, ал нәтиже таза бүтін сан болуы керек немесе матрицаны шешуші бағдарлама дұрыс шешімді шығара алмайды.

Жоғарғы деңгейдегі «Сериялық басқару» модулі: Пайдаланушы UART_TX және UART_RX модульдері арқылы осы модульге қалаған сызықтық жүйесін енгізеді және ол компьютер терминалынан кірістерді матрицалық шешуші модульмен өңделетін стандартты логикалық векторлардың массивіне түрлендіреді. Матрицаны шешуші модуль содан кейін UART сериялық интерфейсімен экранда көрсетілетін стандартты логикалық векторлардың жиынын қайтарады. UART модульдері арқылы деректерді беру және қабылдау осы модульде өте ұзақ FSM қолдану арқылы жүзеге асады.

UART_TX модулі: USB интерфейсі арқылы деректерді жіберу үшін пайдаланушы 8 биттік стандартты логикалық вектор мен жіберу сигналын енгізеді. Ол деректерді жіберген кезде TX_Active сигналы жоғары. Деректерді жібергеннен кейін TX_Done сигналы импульсті болады.

UART_RX модулі: пайдаланушы USB интерфейсінен бір уақытта 8 бит дерек алады. RX_DV импульсі - бұл деректер алынғанын және RX_Byte векторлық логикасын оқуға болатындығының көрсеткіші.

Матрицаны шешуші модуль: матрицаны шешуші UART модулінен матрицаны көрсететін есептелген массив алады. Содан кейін матрицаны шешуші сызықтық жүйенің әрбір санын бүтін сандарға айналдырады, олармен жұмыс істеуді жеңілдетеді. Матрицаны шешуші модульдің ішінде бірнеше қосалқы модульдер бар. Бірінші қосалқы модуль - матрицаны қабылдайтын, содан кейін берілген матрицаның кері мәнін беретін inverse_matrix_1. Келесі қосалқы модуль - бұл жалпы матрицаны стандартты матрицалық операциялардың көмегімен кері матрицаға көбейтетін мультипликатор. Біріншіден, негізгі модуль бір жауапты шығару үшін оларды біріктіреді.

2 -қадам: 2 -қадам: Basys 3 тақтасын бағдарламалау

Бастапқы кодты төменнен алғаннан кейін интерфейсті пайдалану үшін оны basys 3 тақтасына жүктеңіз.

reference.digilentinc.com/basys3/refmanual

3 -қадам: 3 -қадам: Оны қалай қолдану керек

Basys3 UART -пен байланысу үшін 9600 bod жүйелі сериялық интерфейсті қолданыңыз. Мен Linux -те экранды келесі пәрменмен қолдандым:

экран /dev /ttyUSB1 9600

Мұны Linux -те жасау үшін мен өз пайдаланушымды «dialout» тобына қосуым керек болды. Windows -де замазка жұмыс істеуі керек, ал MacOSX -те бұл Linux -ке ұқсас процесс болуы керек.

Ең сол жақ қосқышты қосулы күйге жылжыту матрицаны шешушіні бастайды. Оны өшіру матрицаның шешушісін қалпына келтіреді.

Ұсынылған: