Mục lục:

Integer_Matrix_Solver_UART_SERIAL_VHDL: 3 bước
Integer_Matrix_Solver_UART_SERIAL_VHDL: 3 bước

Video: Integer_Matrix_Solver_UART_SERIAL_VHDL: 3 bước

Video: Integer_Matrix_Solver_UART_SERIAL_VHDL: 3 bước
Video: Mark Geisbrecht "Eigenvalues, invariant and random integer matrices" 2024, Tháng mười một
Anonim
Integer_Matrix_Solver_UART_SERIAL_VHDL
Integer_Matrix_Solver_UART_SERIAL_VHDL

Hướng dẫn có hướng dẫn này chỉ cho bạn cách tạo bộ giải ma trận 2 x 2 bằng cách triển khai mô-đun đầu cuối nối tiếp UART cũng như mô-đun giải ma trận. Người dùng sẽ có thể nhập ma trận 2 x 2 và sau đó thiết kế được triển khai sẽ đưa ra lời giải cho hệ thống tuyến tính.

Để sử dụng mã này, bạn sẽ cần:

- Bảng FPGA A Digilent Basys 3

- Máy tính có Phần mềm Xilinx Vivado (Phiên bản Webpack sẽ hoạt động). Đối với mô-đun này, chúng tôi đã sử dụng phiên bản 2017.2.

- Một dây Micro USB (Có khả năng truyền dữ liệu)

Tác giả: Drew Miller, EE Major, Cal Poly SLO, Sukhdeep Singh, EE Major, Cal Poly SLO Class: Digital Design

- EE / CPE 133 Người hướng dẫn: Joseph Callenes

Nguồn:

  • UART_TX, UART_RX từ:
  • Debounce from:

Hàm chia hai số không dấu:

Bước 1: Bước 1: Cách thức hoạt động

Bước 1: Cách thức hoạt động
Bước 1: Cách thức hoạt động
Bước 1: Cách thức hoạt động
Bước 1: Cách thức hoạt động

Đầu vào: Người dùng nhập một hệ thống tuyến tính vào thiết bị đầu cuối máy tính và sau đó Mô-đun UART chuyển đổi chúng thành một mảng để mô-đun giải ma trận thao tác. Mô-đun UART giao tiếp với người dùng và cho phép họ nhập ma trận thích hợp cũng như hướng dẫn họ nhập dữ liệu đúng cách. Hệ thống cũng có một công tắc đặt lại / bật được ánh xạ tới công tắc ngoài cùng bên trái của bảng Basys3.

Kết quả đầu ra: Kết quả từ bộ giải ma trận được chuyển qua giao diện mô-đun UART và sau đó được hiển thị trên thiết bị đầu cuối máy tính với các giải pháp được liệt kê trên màn hình. Bộ giải ma trận xuất ra các vectơ logic tiêu chuẩn chưa được đánh dấu cho mô-đun UART để chuyển đổi chúng thành các đầu ra thân thiện với người dùng hơn để người dùng đánh giá cao. Trình giải ma trận hiện tại chỉ có thể có các số lên đến 15 được nhập và kết quả đầu ra phải là một số nguyên sạch nếu không chương trình giải ma trận không thể đưa ra giải pháp chính xác.

Mô-đun "Điều khiển nối tiếp" cấp cao nhất: Người dùng nhập hệ thống tuyến tính mong muốn của họ vào mô-đun này thông qua mô-đun UART_TX và UART_RX và nó chuyển đổi các đầu vào từ thiết bị đầu cuối máy tính thành một mảng các vectơ logic tiêu chuẩn được xử lý bởi mô-đun bộ giải ma trận. Sau đó, mô-đun giải ma trận trả về một mảng các vectơ logic tiêu chuẩn sau đó được hiển thị trên màn hình bởi giao diện nối tiếp UART. Việc truyền và nhận dữ liệu thông qua các mô-đun UART được thực hiện thông qua việc sử dụng một FSM rất dài trong mô-đun này.

Mô-đun UART_TX: Người dùng nhập vectơ logic chuẩn 8 bit và tín hiệu gửi để gửi dữ liệu qua giao diện USB. Trong khi nó đang gửi dữ liệu, tín hiệu TX_Active cao. Sau khi nó đã gửi dữ liệu, tín hiệu TX_Done xung.

Mô-đun UART_RX: Người dùng nhận 8 bit dữ liệu cùng một lúc từ giao diện USB. Xung từ RX_DV là một dấu hiệu cho thấy dữ liệu đã được nhận và có thể đọc được logic vectơ RX_Byte.

Mô-đun giải ma trận: Trình giải ma trận nhận một mảng được gán từ mô-đun UART đại diện cho ma trận. Sau đó, trình giải ma trận chuyển đổi mỗi số trong hệ thống tuyến tính thành các số nguyên để giúp dễ dàng thao tác trên chúng hơn. Bên trong mô-đun giải ma trận có một số mô-đun con. Mô-đun con đầu tiên là inverse_matrix_1 lấy ma trận và sau đó đưa ra nghịch đảo của ma trận đã cho. Mô-đun con tiếp theo là hệ số nhân mà nhân tổng_matrix với ma trận nghịch đảo bằng cách sử dụng các phép toán ma trận tiêu chuẩn. Cuối cùng, mô-đun chính ánh xạ chúng với nhau để xuất ra một câu trả lời duy nhất.

Bước 2: Bước 2: Lập trình bảng Basys 3

Khi bạn đã có được mã nguồn từ bên dưới, hãy tải nó lên bảng basys 3 để sử dụng giao diện.

reference.digilentinc.com/basys3/refmanual

Bước 3: Bước 3: Cách sử dụng

Sử dụng giao diện nối tiếp ở 9600 baud để giao tiếp với Basys3 UART. Tôi đã sử dụng màn hình trên linux với lệnh sau:

screen / dev / ttyUSB1 9600

Để thực hiện việc này trên linux, tôi phải thêm người dùng của mình vào nhóm "quay số". Trên Windows, putty sẽ hoạt động và trên MacOSX, nó phải là một quá trình tương tự như linux.

Lật công tắc ngoài cùng bên trái sang vị trí bật sẽ khởi động trình giải ma trận. Chuyển nó thành tắt sẽ đặt lại trình giải ma trận.

Đề xuất: