FPGA中的delay与latency

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了FPGA中的delay与latency相关的知识,希望对你有一定的参考价值。

delay和latency都有延迟的意义,在FPGA中二者又有具体的区别。

latency出现在时序逻辑电路中,表示数据从输入到输出有效经过的时间,通常以时钟周期为单位。

delay出现在组合逻辑电路、布线中,表示数据从一端到另一端经过的时间,通常以绝对时间衡量。

引起delay的有线延迟、门延迟等,通常是不希望出现的。

 

latency和电路的逻辑设计有关,如果latency很大,通过提升工作的时钟频率,那么绝对的响应时间不会太长。

而delay很大,那么电路的工作频率会受限,从而影响电路的整体性能。

 

为了减小delay,提升电路的工作频率,主要有两个方法:加时序约束和减少组合逻辑。

通过综合器加适当的时序约束,可以减少时延,但这不是主要的方式,也不能将希望寄托在时序约束上。

减少组合逻辑是主要的方法,能够保证代码的可移植性。减少组合逻辑的主要途径是切割,即将大的组合逻辑切割成小的组合逻辑。

大的组合逻辑是指多个LUT级联,FPGA的组合逻辑实现是基于LUT的(通常是4输入),即电路所有可能输出的结果都存在LUT中,输出是根据输入查表获得的。

如果输入个数大于4,那么需要LUT级联,这样会引入延迟。减小延迟的方法就是想办法将级联消除,比如一个8输入的组合逻辑,可以将8输入拆成2个4输入,同时使用一个寄存器存储中间结果,这样虽然电路的latency增加了,但逻辑延迟减小了,电路的工作频率可以得到提升。

以上是关于FPGA中的delay与latency的主要内容,如果未能解决你的问题,请参考以下文章

语音通信中终端上的时延(latency)及减小方法

FPGA静态时序分析——IO口时序(Input Delay /output Delay)(转载)

REST API 中的 Thread.sleep 与 Task.delay

STM32与FPGA进行SPI通信

详解FPGA中的建立时间与保持时间

6713与FPGA连接时EMIF中的CECTL寄存器如何设置?