当前位置:首页 > 开发语言 > 正文

异步fifo 代码 异步fifo跨时钟域处理

异步fifo 代码 异步fifo跨时钟域处理

大家好,今天小编来为大家解答以下的问题,关于异步fifo,异步fifo跨时钟域处理这个很多人还不知道,现在让我们一起来看看吧!异步电路和同步时序电路的区别一、原理不同同...

大家好,今天小编来为大家解答以下的问题,关于异步fifo,异步fifo跨时钟域处理这个很多人还不知道,现在让我们一起来看看吧!

异步电路和同步时序电路的区别

一、原理不同

同步电路利用时钟脉冲使其子系统同步运作,而异步电路不使用时钟脉冲做同步,其子系统是使用特殊的“开始”和“完成”信号使之同步。

二、优点不同

由于异步电路具有下列优点--无时钟歪斜问题、低电源消耗、平均效能而非最差效能、模块性、可组合和可复用性--因此近年来对异步电路研究增加快速,论文发表数以倍增,而IntelPentium4处理器设计,也开始采用异步电路设计。

v异步电路主要是组合逻辑电路,用于产生地址译码器、FIFO或RAM的读写控制信号脉冲,其逻辑输出与任何时钟信号都没有关系,译码输出产生的毛刺通常是可以监控的。

同步电路是由时序电路(寄存器和各种触发器)和组合逻辑电路构成的电路,其所有操作都是在严格的时钟控制下完成的。这些时序电路共享同一个时钟CLK,而所有的状态变化都是在时钟的上升沿(或下降沿)完成的。

三、分析不同

异步时序逻辑电路分析时,还需考略各触发器的时钟信号,当某触发器时钟有效信号到来时,该触发器状态按状态方程进行改变,而无时钟有效信号到来时,该触发器状态将保持原有的状态不变。

扩展资料

同步逻辑有两个主要的缺点:

1、时钟信号必须要分布到电路上的每一个触发器。而时钟通常都是高频率的信号,这会导致功率的消耗,也就是产生热量。即使每个触发器没有做任何的事情,也会消耗少量的能量,因此会导致废热产生。

2、最大的可能时钟频率是由电路中最慢的逻辑路径决定,也就是关键路径。意思就是说每个逻辑的运算,从最简单的到最复杂的,都要在每一个时脉的周期中完成。

一种用来消除这种限制的方法,是将复杂的运算分开成为数个简单的运算,这种技术称为“流水线”。这种技术在微处理器中非常的显著,用来帮处提升现今处理器的时钟频率。

参考资料来源:

参考资料来源:

fifo寄存器原理

FIFO(FirstInputFirstOutput)是指先进先出。FIFO存储器是一个先入先出的双口缓冲器,即第一个进入其内的数据第一个被移出,其中一个是存储器的输入口,另一个口是存储器的输出口。

FIFO寄存器原理:根据FIFO工作的时钟域分为同步/异步FIFO。同步FIFO是指读时钟和写时钟为同一个时钟在时钟沿来临时同时发生读写。异步FIFO读写时钟不一致,读写相互独立。为了定位读取和写入的位置需要进行读写指针的设置。

读指针:总是指向下一个将要读取的单元,复位时指向第一个单元(编号为0)。

写指针:总是指向当前要被读出的数据,复位时指向第一个单元(编号为0)。

当第一次读写指针相等时,表明FIFO为空,这种情况发生在复位操作时或者当读指针读出FIFO中最后一个字后,追赶上写指针时,此时读空信号有效。

当读写指针再次相等时,表明FIFO为满,这种情况发生在,当写指针转了一圈折回来(wrappedaround)又追上了读指针。

异步电路中时钟如何同步的多种方法

第一种情况:

当有多个时钟在同一个数字电路中,且有一个时钟(Clk)的速率大于其它时钟两倍以上。

这种情况最为简单,在接口部分就必须要对其他时钟进行同步化处理,将其处理为与Clk同步的时钟信号。

这样处理的好处是:

便于处理电路内部时序;

时钟间边界条件只在接口部分电路进行处理。

实质上,时钟采样的同步处理方法就是上升沿提取电路,经过上升沿提取输出信息中,带有了系统时钟的信息,所以有利于保障电路的可靠性和可移植性。

第二种情况:

当系统中所有时钟没有一个时钟速率达到其他时钟频率的两倍的情况,也就是系统中多个时钟速率差不多的情况。

这个时候无法满足采样定理,所以在接口部分就必须对其他时钟和数据通过FIFO或者DPRAM进行隔离,并将其他时钟信息转换为和系统时钟同步的允许信号。比如在高速的数据采集系统当中,AD的采集时钟往往比较高,大于系统时钟的一半以上,这时候采用同步化处理无法满足时序设计。

第三种情况:

系统中多个时钟之间存在数据互相采样。

对于这种情况,可使用两级触发器级联采样数据,避免亚稳态发生。

第四种情况:

多级时钟网络处理。

所谓多级时钟网络是指时钟经过超过一级的门电路后连到触发器的时钟输入端。

由于时钟建立-保持时间的限制,FPGA设计中应尽量避免采用多时钟网络,在设计中必须要将时钟网络进行简化,尽量采用使能的方式或者其他简化的电路结构。

主板bios里ring是什么

在主板的BIOS(基本输入/输出系统)中,"ring"是指内存管理中的一种数据结构,也称为"环"(ring)或"环形缓冲区"(ringbuffer)。它是一种先进先出(FIFO)的数据缓冲区,用于临时存储数据。

Ring通常由一块连续的内存区域组成,首尾相连形成一个闭环。当数据写入到Ring时,它会被放置在最后一个空闲的位置,并更新指针以指向下一个可用位置。当需要读取数据时,指针将指向最旧的数据,并按照先进先出的顺序进行读取。

在BIOS中,Ring通常用于存储和传递系统事件、错误日志、中断请求等信息。例如,当系统发生硬件错误或触发某种事件时,相关的信息可以被写入Ring并存储起来,供系统管理员或开发人员进行诊断和处理。

使用Ring可以提高数据传输的效率,特别是在涉及高速数据流、实时数据处理或异步通信的情况下。它允许数据的临时存储和传递,而无需等待处理或等待数据传输完成。

需要注意的是,Ring是计算机系统中的一个概念,在不同的上下文中可能指代不同的数据结构或实现方式。因此,在具体的主板BIOS中,"ring"的功能和用法可能会有所不同。最好查阅相关的主板文档或BIOS手册以获取更详细的信息。

关于异步fifo,异步fifo跨时钟域处理的介绍到此结束,希望对大家有所帮助。

最新文章