微波EDA网,见证研发工程师的成长!
首页 > 研发问答 > 嵌入式设计讨论 > FPGA,CPLD和ASIC > 关于用Verilog写一个UART模块的问题

关于用Verilog写一个UART模块的问题

时间:10-02 整理:3721RD 点击:
想请教一下用Verilog写一个UART时应该有多少个子模块,还有就是FIFO应该怎么写。关于里面的好多标志位有点头晕。



   应该由rx、tx、波特率模块组成


感觉fifo即进既出就可以啦不用那末复杂

写成component 就可以了

真的码


感觉rx tx的移位寄存器 缓冲寄存器 和fifo的功能类似啊


在FIFO里考虑到uart的各种中断如RDA CTI这些应该怎么去实现啊。



   能再具体点吗 谢谢。

接收:串行转并行模块->接收FIFO模块->数据使用模块
发送:产生数据->发送FIFO->并行转串行模块

RDA CTI的实现跟设置的触发深度有关,只要有个FIFO数据的计数,知道FIFO里有多少个数据跟触发深度比较,立相关标志,处理器查询或产生中断就行



    谢谢



    我现在实验了数据输出的功能 ,但是对于rxd上的串行数据的接受还有点问题,我在仿真波形下由rxd接收的数据 经过shift reg和fifo后去到databus_out
但databus[7:0]波形一直是不定态。

膜拜,学习~

Ok, very good.

baudrate 要產生一個週期性的頻率去取資料,我想這個部分你可能需要研究一下。

下载开源核看看

Copyright © 2017-2020 微波EDA网 版权所有

网站地图

Top