FPGA中latency与delay概念的区别

2013-06-17 21:09:26

最近学习流水线以及状态机,总遇到注入加入寄存器可以分割组合逻辑,从而提高电路的运行频率的说法;还有流水线可以提高速度的说法,刚开始很是疑惑,觉得流水线的方法,输出与输入之间的延时更大了,怎么会提高频率呢?

现在才明白是latency与delay的区别,按照自己的理解整理一下。

latency:

  1. 输入数据与该数据经过处理后的结果输出之间的延时,是时钟延迟
  2. 一般以时钟为单位,指的是相对于某个时钟起始位置的1个或多个时钟后数据才有效
  3. 决定信号处理的响应速度 

delay:

  1. 时序器件之间的逻辑延时,主要指器件延时、布线延时
  2. 是绝对的时间,指的是相对于时钟边沿的某个时间后数据才有效
  3. 决定电路的时钟频率,即运行频率 

举个简单的例子:

数据din经过一个与门and、一个三态门tri,到达触发器d的输入端d,d在时钟clk的作用下,输出q。

那么din到d之间的时间就是delay,决定了电路的运行频率,即clk的大小,delay越小,clk可以取得越高;反之,delay越大,clk就会受限制。

q与d之间的时间就是latency,此处是一个clk周期的时间。

 

PS:个人理解,欢迎补充指正。

posted @ 2013-06-17 21:34  永不止步,永无止境  阅读(11572)  评论(0编辑  收藏  举报