异步fifo读空?fifo最后一个数读不出来
- 数据库
- 2023-09-18
- 64
大家好,关于异步fifo读空很多朋友都还不太明白,今天小编就来为大家分享关于fifo最后一个数读不出来的知识,希望对各位有所帮助!硕士生找工作的时候把异步fifo写成一...
大家好,关于异步fifo读空很多朋友都还不太明白,今天小编就来为大家分享关于fifo最后一个数读不出来的知识,希望对各位有所帮助!
硕士生找工作的时候把异步fifo写成一个项目经历,是不是显得很low啊
异步fifo本身不low,一个进程有异步,一台电脑有异步,一个集群有异步,异构集群也有异步,应用场景大了,能做到fifo本身就是本事。以前网络不好的时候,2g环境和wifi经常切换,写聊天软件,udp掉包,粘包,乱序,这种现在很少遇到的问题,那时候解决了也花了很久。不依赖他人的框架,能完成的设计都不low。
fifo寄存器原理
FIFO(FirstInputFirstOutput)是指先进先出。FIFO存储器是一个先入先出的双口缓冲器,即第一个进入其内的数据第一个被移出,其中一个是存储器的输入口,另一个口是存储器的输出口。
FIFO寄存器原理:根据FIFO工作的时钟域分为同步/异步FIFO。同步FIFO是指读时钟和写时钟为同一个时钟在时钟沿来临时同时发生读写。异步FIFO读写时钟不一致,读写相互独立。为了定位读取和写入的位置需要进行读写指针的设置。
读指针:总是指向下一个将要读取的单元,复位时指向第一个单元(编号为0)。
写指针:总是指向当前要被读出的数据,复位时指向第一个单元(编号为0)。
当第一次读写指针相等时,表明FIFO为空,这种情况发生在复位操作时或者当读指针读出FIFO中最后一个字后,追赶上写指针时,此时读空信号有效。
当读写指针再次相等时,表明FIFO为满,这种情况发生在,当写指针转了一圈折回来(wrappedaround)又追上了读指针。
异步电路和同步时序电路的区别
一、原理不同
同步电路利用时钟脉冲使其子系统同步运作,而异步电路不使用时钟脉冲做同步,其子系统是使用特殊的“开始”和“完成”信号使之同步。
二、优点不同
由于异步电路具有下列优点--无时钟歪斜问题、低电源消耗、平均效能而非最差效能、模块性、可组合和可复用性--因此近年来对异步电路研究增加快速,论文发表数以倍增,而IntelPentium4处理器设计,也开始采用异步电路设计。
v异步电路主要是组合逻辑电路,用于产生地址译码器、FIFO或RAM的读写控制信号脉冲,其逻辑输出与任何时钟信号都没有关系,译码输出产生的毛刺通常是可以监控的。
同步电路是由时序电路(寄存器和各种触发器)和组合逻辑电路构成的电路,其所有操作都是在严格的时钟控制下完成的。这些时序电路共享同一个时钟CLK,而所有的状态变化都是在时钟的上升沿(或下降沿)完成的。
三、分析不同
异步时序逻辑电路分析时,还需考略各触发器的时钟信号,当某触发器时钟有效信号到来时,该触发器状态按状态方程进行改变,而无时钟有效信号到来时,该触发器状态将保持原有的状态不变。
扩展资料
同步逻辑有两个主要的缺点:
1、时钟信号必须要分布到电路上的每一个触发器。而时钟通常都是高频率的信号,这会导致功率的消耗,也就是产生热量。即使每个触发器没有做任何的事情,也会消耗少量的能量,因此会导致废热产生。
2、最大的可能时钟频率是由电路中最慢的逻辑路径决定,也就是关键路径。意思就是说每个逻辑的运算,从最简单的到最复杂的,都要在每一个时脉的周期中完成。
一种用来消除这种限制的方法,是将复杂的运算分开成为数个简单的运算,这种技术称为“流水线”。这种技术在微处理器中非常的显著,用来帮处提升现今处理器的时钟频率。
参考资料来源:
参考资料来源:
好了,关于异步fifo读空和fifo最后一个数读不出来的问题到这里结束啦,希望可以解决您的问题哈!
本文链接:http://www.xinin56.com/su/26599.html