fifo 以及几个信号的理解
2011-09-09 16:18
281 查看
Altera provides FIFO functions through the parameterizable single-clock FIFO(SCFIFO) and dual-clock FIFO (DCFIFO) megafunctions
![](https://oscdn.geek-share.com/Uploads/Images/Content/202007/13/8878cb941ef280936a6754e8dd71dbff.gif)
用Quartus II的MegaFunction中的FIFO时,通常会用到wrusedw或rdusedw这两个信号,前者标志当前FIFO已经被使用了多少Word,后者表示当前FIFO还有多少Word可供读取。需要注意的是,若在二者已经达到了最大值时继续进行相应的读写操作,则二者均会溢出,并非保持最大值或某一数值。例如:设置FIFO有16个Word,则二者均有4位(4位二进制数刚好可以表示16个数值),假设现在只写不读,则当wrusedw等于15时,FIFO已经写满,此时若继续写入数据,则wrusedw在下一个有效时钟边沿到来时,会等于0,而并非保持15这个数值。相应的,在该FIFO中读数时,若rdusedw等于0后仍然继续读数,则下一个有效时钟边沿到来时,rdusedw会等于15而并非保持0。
建议在使用二者的数值作为条件时,设定一个范围。
![](https://oscdn.geek-share.com/Uploads/Images/Content/202007/13/8878cb941ef280936a6754e8dd71dbff.gif)
用Quartus II的MegaFunction中的FIFO时,通常会用到wrusedw或rdusedw这两个信号,前者标志当前FIFO已经被使用了多少Word,后者表示当前FIFO还有多少Word可供读取。需要注意的是,若在二者已经达到了最大值时继续进行相应的读写操作,则二者均会溢出,并非保持最大值或某一数值。例如:设置FIFO有16个Word,则二者均有4位(4位二进制数刚好可以表示16个数值),假设现在只写不读,则当wrusedw等于15时,FIFO已经写满,此时若继续写入数据,则wrusedw在下一个有效时钟边沿到来时,会等于0,而并非保持15这个数值。相应的,在该FIFO中读数时,若rdusedw等于0后仍然继续读数,则下一个有效时钟边沿到来时,rdusedw会等于15而并非保持0。
建议在使用二者的数值作为条件时,设定一个范围。
相关文章推荐
- fifo 以及几个信号的理解
- fifo 以及几个信号的理解
- 对于可重入、线程安全、异步信号安全几个概念的理解
- GPU以及CUDA的几个基本概念理解
- 理解信号与系统,以及为什么要傅里叶变换
- 对于可重入、线程安全、异步信号安全几个概念的理解
- 【C/C++】对于可重入、线程安全、异步信号安全几个概念的理解
- [转载]对于可重入、线程安全、异步信号安全几个概念的理解
- 【UNIX】什么是进程间FIFO通信以及信号通信
- 对于可重入、线程安全、异步信号安全几个概念的理解
- 【Linux】信号的理解以及信号集处理函数的使用
- 单例理解以及我们为什么要使用单例
- 深度理解Android InstantRun原理以及源码分析
- 关于自定义tableviewcell的注意点以及用到的几个比较有用的函数
- OPENGL中简单点的理解以及关于照相机的简单理解
- mysql 中 character set 与 collation 的点滴理解(collation即比对方法,用于对应字符集的数据集如何排序以及字符串的比对规则)
- Qt4.7中,线程,信号,事件的一点理解
- 最大似然估计(MLE)最大后验概率估计(MAP)以及贝叶斯公式的理解
- unity3d 理解刚体(Rigidbody)和碰撞体(Collider)以及触发器(Is Trigger),边学边更新
- [ULK11]信号(二):几个信号生成函数