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:个⼈理解,欢迎补充指正。