1、好的代码风格
1)代码要跟器件结构相关
2)避免异步复位,异步复位同步化,全局复位局部化
3)层次的边界要加流水寄存
\quad 例如:BRAM中有两级register,第一级在内部,第二级在外部slice里的寄器。不同功能模块内部的寄存器要求的速度也不一样,不同位置的寄存器速度不一样。如ILOGIC中的寄存器对setup要求最高(寄存器最慢),OLOGIC中的寄存器对setup的要求最低(寄存器最快)。Slice中的寄存器速度最快,所以经常在mem,clock模块输出端增加一个slice的register。
4)Block RAM和DRAM的选择
\quad 根据应用需求适当选择
4)流水线技术是提高系统频率的一种方法
2、精准的时序约束
\quad 精简而准确的约束是时序收敛的必要条件,Baseline基线方法是充分条件。
1)检查时序约束命令:
\quad check_timing
2)小技巧:
\quad