Basys3開發(fā)板實現(xiàn)串口發(fā)送和接收verilog
名稱:Basys3開發(fā)板實現(xiàn)串口發(fā)送和接收(代碼在文末付費下載)
軟件:VIVADO
語言:Verilog
要求:Basys3開發(fā)板實現(xiàn)串口發(fā)送和接收,內(nèi)部實現(xiàn)數(shù)據(jù)自動遞增發(fā)送和接收
FPGA代碼Verilog/VHDL代碼資源下載:www.hdlcode.com
本代碼已在Basys3開發(fā)板驗證,開發(fā)板如下,其他開發(fā)板可以修改管腳適配:
工程文件
程序文件
程序編譯
RTL圖
管腳分配
頂層模塊
module uart_top
(
input clk_100m,
input UART_rx,//串口輸入
input reset,? ?//復位信號 高有效
output UART_tx//串口輸出
);
wire data_receive_en;? ? ? ?//接收完成指示位
wire [7:0] data_receive;? ? //接收到的數(shù)據(jù)
wire [7:0]uart_tx_data;? ? ?//要發(fā)送的數(shù)據(jù)
wire uart_tx_en;? ? ? ? ? ? //發(fā)送使能指示位
//計算模塊
num_adder num_adder_top(
.clk(clk_100m),
.rst(reset),
.adder_en(data_receive_en),? ? ?//計算使能信號
.data_in(data_receive),
.data_out(uart_tx_data),
. adder_done(uart_tx_en)? ?//計算結(jié)束信號
);
//串口接收模塊
uart_rx_module uart_rx_module_top
(
.clk(clk_100m),
.rst_p(reset),
.uart_rx(UART_rx),
.data_receive_en(data_receive_en),
.data_receive(data_receive)
);
//串口發(fā)送模塊
uart_tx_module uart_tx_module_top(
.clk(clk_100m),
.rst_p(reset),
.send_en_data(uart_tx_data),
.send_en(uart_tx_en),
.uart_tx(UART_tx)
);
點擊鏈接獲取代碼文件:http://www.hdlcode.com/index.php?m=home&c=View&a=index&aid=134