欢迎关注微信公共号:小鱼FPGA ,一起学Verilog数字电路设计。
先读文章:《时序逻辑电路的建立,保持时间裕量分析》
先读文章:《寄存器以及建立保持时间,输出延时介绍》
先读文章:《一个实例彻底拿下流水线》
时序逻辑电路示意图如下。前后两级寄存器之间有一个组合逻辑运算电路。

假设寄存器的建立时间要求为tsetup, 保持时间要求为thold, 输出延时为tcq(这些参数只要工艺库或者器件确定了,就是确定的);组合逻辑电路的运算延时为tlogic; 两级寄存器之间的clk线路延时为tclk_delay;clk的随机抖动为tjitter;tcycle为时钟周期。故电路必须满足如下建立时间,保持时间要求:
tsetup_slack = tcycle-(tcq+tlogic) - tsetup+tclk_delay-tjitter>0
thold_slack = tcq+tlogic-thold-tclk_delay-tjitter>0
当tsetup_slack要求不满足时,我们可以选择增大tcycle。当然这就使得电路的整体时钟频率下降,从而速度下降。
从另一个角度考虑,我们可以通过减少tlogic来使得电路的建立时间裕量满足要求。 达到这个目的,只有两个办法:
第一是优化,简化组合逻辑电路,使得电
本文探讨了时序逻辑电路中的时序违例问题,提出通过增大时钟周期或优化组合逻辑来满足建立和保持时间要求。在ASIC设计中,可以通过卡诺图化简和布尔代换优化逻辑电路,而在FPGA设计中,合理利用底层单元实现逻辑优化。流水线技术也被介绍为减少组合逻辑延时的有效方法,通过划分运算任务降低单个阶段的复杂性。
最低0.47元/天 解锁文章
131

被折叠的 条评论
为什么被折叠?



