天天看点

FPGA中建立时间和保持时间不满足如何解决问题: 建立时间和保持时间不满足如何解决

问题: 建立时间和保持时间不满足如何解决

回答一:

setup violation

主要就是设法剪掉critical path的delay,要么pipeline,要么retiming,要么把combination往前后级挪一挪。

hold time violation

hold time violation是clock tree的skew引起的。主要的宗旨就是设法加前面一级combination的delay,比如加buffer什么的。这时候hold time不满足必须让前前面延迟大一些,并大到比clock period还大出至少一个hold time来。也可以适当把clock period缩小。不过hold time并不是自己能控制的,挺闹心的。

在综合时,综上所述,

setup violation是由于前级组合的延迟过大引起的,因此要用set_max_delay来限制,

hold violation是由于前级组合延迟国小引起的,因此不能让他太小,要用set_min_delay来限制。

回答二:

setup violation是由于前级组合的延迟过大引起的,因此要用set_max_delay来限制,

hold violation是由于前级组合延迟国小引起的,因此不能让他太小,要用set_min_delay来限制。

胡扯,这个是例外约束。不是路径延时。这个只能改变指定路径发射沿和锁存沿的关系,就是他会用你设置的值来分析。根本起不到约束延时的目的!