最常用的约束有IO管脚位置约束和电平幅度约束,这个很好理解,不多解释了。另外,就是对时钟网络约束。这个是很重要的。比如你的系统中,驱动的电路的时钟是27M的,那么你需要在约束文件中增加类似如下的约束语句( d7 @, |2 |5 x
NET REF_CLK27M TNM_NET = REF_CLK27M_grp;4 _5 |" K) R$ p* b9 B
TIMESPEC TS_REF_CLK27M = PERIOD REF_CLK27M_grp : 37ns HIGH 50 %; 2 V) x0 M; P4 U( E0 R1 d+ Y这样的话,工具在布线的时候,就会知道这个时钟所驱动的所有网络必须满足至少27M速度的要求,占空比为50%。它会任意布线,就有可能出现信号翻转的很慢,或者延时很长,建立时间保持时间不足,在实际中造成timing错误。一般来说,十几兆以上的时钟网络最好都加类似的约束,在时钟上就可以了,工具会帮你把它所驱动的所有网络都加上约束的。 + e, U% J8 a2 C) b& W) E, I