对于if-else和case()的设计在静态时序中对设计最大时钟频率的影响。
代码:
if-else对时序的影响:
当用Timequest做静态时序分析时,查看if-else对设计最大时钟的影响,发现最大时钟只能到97.54M。PLL输出是100M,显然没有超过100M。
case()对时序的影响:
当用Timequest做静态时序分析时,查看case()对设计最大时钟的影响,发现最大时钟可以达到100.16M,PLL输出是100M,电路能达到的最大时钟为100.16M,显然设计满足要求。
总结:
case语句会综合出一个较复杂的选择器,而if嵌套会产生多个简单的串联的选择器,在一些情况下,case产生的组合逻辑延时比if-else产生的组合逻辑延时小,从而能够提高设计最大时钟频率。对于一些复杂的选择逻辑,建议采用case语句。