同步fifo的串并_同步FIFO与异步FIFO

同步FIFO是用来做数据缓存,之前的设计一直将自己绕进了一个死循环,认为要想往外边读取FIFO,就必须先检测FIFO的空满标志,但实际上,对于同步FIFO,如果是同步fifo深度设置成128,你存100个以后再开始读,永远不可能出现空满。因为写入和读取的速度是一样的。两边时钟也一样,位宽也一样怎么可能出现空满。

FIFO核读写不需要指定地址,只要读、写使能信号打开,时钟到来,数据就可以读出和写入。

需要注意的问题是:

1、读时钟和写时钟必须一直存在,不可间断性的提供,否则会造成FIFO无法正常工作

2、读FIFO时钟要和读数据的赋值端的时钟是一个时钟

3、写FIFO的时钟要和将要写的数据的时钟是一个时钟

4、注意满标志和空标志的使用,禁止在FIFO满的情况下写FIFO,禁止在空的时候读FIFO,否则会出现错误

FPGA与上位机之间通过串口发送和接受数据的过程:

接收参数的过程:

1.rxd_en有效

2.如果数据准备好了temp《=rdata,rxd_en无效,否则等待

3.延时326*20ns后开始第二个参数的发送

发送参数过程:

1、tdata《= 要传输的数据,txd_en有效,

2、如果传输完成等待651*20ns,txd_en无效,开始传输下一个数,否则等待直到传输完成

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值