FPGA实现简单的串口通信

1.根据功能需要设计模块,自上而下不断细化,确定端口、子模块、连线,最好就是画图出来,这里是设计的是把收到的串口数据重新发送出去

2.根据自己画的图,转换成verilo代码,并描述出来

//---------------------------------------------------------------------------
//--	文件名		:	Uart_Test_Top.v
//--	作者		:	LIZIYI
//--	描述		:	串口收发测试顶层文件
//--	修订历史	:	2018-7-23
//---------------------------------------------------------------------------
module	Uart_Test
(
	//输入端口
	RST,CLK,UART_RX,
	//输出端口
	UART_TX
);

//---------------------------------------------------------------------------
//--	外部端口声明
//---------------------------------------------------------------------------
input					RST;				//复位
input					CLK;				//时钟50M
input					UART_RX;			//串口接收
output				UART_TX;			//串口发送

//---------------------------------------------------------------------------
//--	内部端口声明
//---------------------------------------------------------------------------
wire		[7:0]		data;				//八位数据线
wire					tx_start;		//串口发送标志
wire					rx_bps_start;	//Rx波特率启动
wire					rx_bps_flag;	//Rx读取标志
wire					tx_bps_start;	//Tx波特率启动
wire					tx_bps_flag;	//Tx读取标志

//---------------------------------------------------------------------------
//--	逻辑功能实现	
//---------------------------------------------------------------------------
//例化RX波特率模块
Bps_Module			Rx_Bps_Module_Init
(
	.CLK				(CLK),
	.RST				(RST),
	.bps_start		(rx_bps_start),
	.bps_flag		(rx_bps_flag)
);

//例化TX波特率模块
Bps_Module			Tx_Bps_Module_Init
(
	.CLK				(CLK),
	.RST				(RST),
	.bps_start		(tx_bps_start),
	.bps_flag		(tx_bps_flag)
);

//例化Rx模块
Rx_Module			Rx_Module_Init
(
	.CLK				(CLK),
	.RST				(RST),
	.UART_RX			(UART_RX),
	.rx_bps_start	(rx_bps_start),
	.rx_bps_flag	(rx_bps_flag),
	.tx_start		(tx_start),
	.out_rx_data	(data)
);

//例化Tx模块
Tx_Module			Tx_Module_Init
(
	.CLK				(CLK),
	.RST				(RST),
	.UART_TX			(UART_TX),
	.tx_bps_start	(tx_bps_start),
	.tx_bps_flag	(tx_bps_flag),
	.tx_start		(tx_start),
	.out_tx_data	(data)
);

endmodule






//---------------------
  • 19
    点赞
  • 111
    收藏
    觉得还不错? 一键收藏
  • 4
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 4
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值