关于用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 要產生一個週期性的頻率去取資料,我想這個部分你可能需要研究一下。
下载开源核看看
