• 方案介绍
  • 相关推荐
申请入驻 产业图谱

Basys3开发板实现UART串口发送和接收verilog

05/03 09:14
1260
加入交流群
扫码加入
获取工程师必备礼包
参与热点资讯讨论

Basys3开发板实现串口发送和接收verilog

名称:Basys3开发板实现串口发送和接收(代码在文末付费下载)

软件:VIVADO

语言:Verilog

要求:Basys3开发板实现串口发送和接收,内部实现数据自动递增发送和接收

FPGA代码Verilog/VHDL代码资源下载:www.hdlcode.com

本代码已在Basys3开发板验证,开发板如下,其他开发板可以修改管脚适配:

basys3开发板.png

工程文件

2a320e01-3cc1-471a-b679-85e7ec18fd1d.png

程序文件

ac1ed9c4-97b4-485c-9d41-7b9c29b50c0d.png

程序编译

80d5f70c-a26e-4b41-9c95-d163a24b952e.png

RTL图

4d5ea1a3-143a-4f5f-b78c-a4f5a2b6221a.png

管脚分配

f53be627-6284-4e5c-a6a7-e90b6e705423.png

顶层模块

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

相关推荐