设计要求
从PC的串口调试助手上发送32bit数据到FPGA,FPGA接收到数据以后把接收的数据返回给串口调试助手显示
115200bps,32bit
顶层架构
比特率产生模块和数据接收模块参考UART串口收发的原理与Verilog实现 代码
数据缓存模块
rxd_flag为数据接收模块数据接收完成信号,每一个8bit数据接收完成的同时,rxd_flag拉高,所以,在数据缓存模块,检测rxd_flag的下降沿作为缓存数据的标志,连续缓存4次,拼接为32bit数据
//接收4个8bit数据
always @ (posedge clk or negedge rst_n)
begin
if(!rst_n)
begin
done_flag <= 1'd0;
para_data <= 32'd0;