名称:Basys3开发板实现串口发送和接收(代码在文末付费下载)
软件:VIVADO
语言:Verilog
要求:Basys3开发板实现串口发送和接收,内部实现数据自动递增发送和接收
FPGA代码Verilog/VHDL代码资源下载:www.hdlcode.com
本代码已在Basys3开发板验证,开发板如下,其他开发板可以修改管脚适配:
工程文件
程序文件
程序编译
RTL图
管脚分配
顶层模块
module uart_top
(
input clk_100m,
input UART_rx,//串口输入
input reset,? ?//复位信号 高有效
output UART_tx//串口输出
);
wire data_receive_en;? ? ? ?//接收完成指示位
wire [7:0] data_receive;? ? //接收到的数据
wire [7:0]uart_tx_data;? ? ?//要发送的数据
wire uart_tx_en;? ? ? ? ? ? //发送使能指示位
//计算模块
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)? ?//计算结束信号
);
//串口接收模块
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)
);
//串口发送模块
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