Оглавление:
- Шаг 1: Шаг 1: Как это работает
- Шаг 2: Шаг 2: Программирование платы Basys 3
- Шаг 3: Шаг 3: Как его использовать
Видео: Integer_Matrix_Solver_UART_SERIAL_VHDL: 3 шага
2024 Автор: John Day | [email protected]. Последнее изменение: 2024-01-30 11:53
Это полезное руководство покажет вам, как создать матричный решатель 2 на 2, реализовав модуль последовательного терминала UART, а также модуль матричного решателя. Пользователь сможет ввести матрицу 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: Как это работает
Входы: пользователь вводит линейную систему в компьютерный терминал, а затем модуль UART преобразует их в массив, которым модуль матричного решателя должен манипулировать. Модуль UART взаимодействует с пользователем и позволяет им вводить соответствующую матрицу, а также направляет их для правильного ввода данных. В системе также есть переключатель сброса / включения, связанный с крайним левым переключателем на плате Basys3.
Выходы: результаты решателя матрицы передаются через интерфейс модуля UART и затем отображаются на компьютерном терминале вместе с решениями, перечисленными на экране. Матричный решатель выводит стандартные логические векторы без знака в модуль UART, который преобразует их в более удобные для пользователя выходные данные, чтобы пользователь мог их оценить. Текущий решатель матриц может вводить только числа до 15, а результат вывода должен быть чистым целым числом, иначе программа решателя матриц не сможет вывести правильное решение.
Модуль «последовательного управления» верхнего уровня: пользователь вводит желаемую линейную систему в этот модуль через модули UART_TX и UART_RX, и он преобразует входные данные с компьютерного терминала в массив стандартных логических векторов, которые обрабатываются модулем матричного решателя. Затем модуль решателя матриц возвращает массив стандартных логических векторов, которые затем отображаются на экране последовательным интерфейсом UART. Передача и получение данных через модули UART осуществляется за счет использования в этом модуле очень длинного конечного автомата.
Модуль UART_TX: пользователь вводит 8-битный стандартный логический вектор и сигнал отправки для отправки данных через интерфейс USB. Пока он отправляет данные, уровень сигнала TX_Active высокий. После отправки данных сигнал TX_Done подает импульс.
Модуль UART_RX: пользователь получает 8 бит данных за раз от интерфейса USB. Импульс от RX_DV является индикатором того, что данные были получены и что можно прочитать векторную логику RX_Byte.
Модуль Matrix Solver: Матричный Solver получает вмененный массив от модуля UART, который представляет матрицу. Затем решатель матриц преобразует каждое число в линейной системе в целые числа, чтобы упростить работу с ними. Внутри модуля матричного решателя есть несколько подмодулей. Первый подмодуль - это inverse_matrix_1, который берет матрицу, а затем дает обратную матрицу. Следующий подмодуль - это умножитель, который умножает total_matrix на обратную матрицу с использованием стандартных матричных операций. Наконец, главный модуль сопоставляет их вместе, чтобы вывести один единственный ответ.
Шаг 2: Шаг 2: Программирование платы Basys 3
После того, как вы получили исходный код снизу, загрузите его на плату basys 3, чтобы использовать интерфейс.
reference.digilentinc.com/basys3/refmanual
Шаг 3: Шаг 3: Как его использовать
Используйте последовательный интерфейс на скорости 9600 бод для связи с Basys3 UART. Я использовал screen в Linux со следующей командой:
экран / dev / ttyUSB1 9600
Чтобы сделать это в Linux, мне пришлось добавить своего пользователя в группу «dialout». В Windows шпатлевка должна работать, а в MacOSX процесс должен быть аналогичен процессу в Linux.
Установка крайнего левого переключателя в положение «включено» запускает матричный решатель. Выключение этого параметра сбрасывает решатель матриц.
Рекомендуемые:
Распознавание лиц на Raspberry Pi 4B за 3 шага: 3 шага
Обнаружение лиц на Raspberry Pi 4B за 3 шага: в этом руководстве мы собираемся выполнить обнаружение лиц на Raspberry Pi 4 с помощью Shunya O / S, используя библиотеку Shunyaface. Shunyaface - это библиотека распознавания / обнаружения лиц. Проект направлен на достижение максимальной скорости обнаружения и распознавания с помощью
Как установить плагины в WordPress за 3 шага: 3 шага
Как установить плагины в WordPress за 3 шага: в этом уроке я покажу вам основные шаги по установке плагина wordpress на ваш сайт. В основном вы можете установить плагины двумя разными способами. Первый способ - через ftp или через cpanel. Но я не буду перечислять это, потому что он действительно комп
Прямая трансляция HD-видео 4G / 5G с дрона DJI с малой задержкой [3 шага]: 3 шага
Прямая трансляция HD-видео 4G / 5G с дрона DJI с малой задержкой [3 шага]: следующее руководство поможет вам получать прямые видеопотоки HD-качества практически с любого дрона DJI. С помощью мобильного приложения FlytOS и веб-приложения FlytNow вы можете начать потоковую передачу видео с дрона
Протез руки, напечатанный на 3D-принтере за 4 шага !: 4 шага
Протез руки, напечатанный на 3D-принтере за 4 шага !: Этот проект - протез руки, напечатанный мной, я хочу получить больше знаний о протезировании и 3D-печати. Хотя это не лучший проект, это отличный способ получить практический опыт и научиться создавать
Интерфейс сенсора ADXL335 на Raspberry Pi 4B в 4 шага: 4 шага
Интерфейс датчика ADXL335 на Raspberry Pi 4B за 4 шага: в этом руководстве мы собираемся связать датчик ADXL335 (акселерометр) на Raspberry Pi 4 с Shunya O / S