fifo 以及几个信号的理解
2013-12-22 20:11
726 查看
原文:/article/9431721.html
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。
建议在使用二者的数值作为条件时,设定一个范围。
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。
建议在使用二者的数值作为条件时,设定一个范围。
相关文章推荐
- fifo 以及几个信号的理解
- fifo 以及几个信号的理解
- GPU以及CUDA的几个基本概念理解
- 理解信号与系统,以及为什么要傅里叶变换
- 对于可重入、线程安全、异步信号安全几个概念的理解
- 【C/C++】对于可重入、线程安全、异步信号安全几个概念的理解
- 对于可重入、线程安全、异步信号安全几个概念的理解
- [转载]对于可重入、线程安全、异步信号安全几个概念的理解
- 【Linux】信号的理解以及信号集处理函数的使用
- 【UNIX】什么是进程间FIFO通信以及信号通信
- 对于可重入、线程安全、异步信号安全几个概念的理解
- 对理想团队模式构建的设想以及对软件流程的理解
- Android Adapter以及getView()方法的理解
- 关于移位词C语言做法的理解,以及对于字符字符串快排详解
- JavaScript1.6数组新特性介绍以及JQuery的几个工具方法
- 理解几个网络硬件(调制解调器、路由器、交换机)的基本作用
- 用于测试C++/C程序员的基本编程技能、编程质量以及对C++/C的理解程度的一份考卷试题
- 对理想团队模式的设想以及对软件流程的理解。
- 《深入理解mybatis原理》 MyBatis的架构设计以及实例分析
- JAVA:连接池技术说明以及MVC设计模式理解