Verilog写一个简单的UART发送模块
johncheapon 于 2017年07月23日 发表在 电路设计与调试 ,2004次阅读,暂无评论

UART差不多是最简单的通信协议,非常适合用来练习FPGA编程。

笔者根据UART协议,尝试按照自己的思路去写一个UART发送功能模块,波特率完全固定,无奇偶校验,数据位为固定的8bit。这算是最简单的通信了,但笔者从构思到RTL实现还是花了约两个小时才完成。

状态机(FSM)在verilogHDL数字逻辑设计中用的很多,但笔者采用了便于理解的计数器的方式,其核心部分无非是一个比特计数器和一个帧计数器,其余的逻辑所做的就是在适当的时刻控制它们增减,非常容易读懂。

这个模块笔者已在FPGA中完成验证,在SecureCRT或MiniCom中能打印"HELLO"