一、FPGA设计规范
1. 设计规则
-
尽量避免使用异步复位,且尽量使用一个复位作为全局复位,复位准则如下图:
-
尽量减少时钟网络;
-
在TOP层,除了内部的互连和模块的调用外,尽量避免再做逻辑,如不能再出现对reg变量赋值等。这样做的目的是为了更有效的综合,因为在顶层模块中出现中间逻辑,Synopsys 的design compiler 就不能把子模块中的逻辑综合到最优;
-
在module内不能存在没有驱动的输入信号,更不能存在没有驱动的输出信号;
-
在一个设计中,尽量不要有上升沿采样和下降沿采样同时存在;如必须使用上升沿和下降沿,则应分成两个模块设计,在顶层将下降沿采样的时钟做一个非门,然后在模块内都使用posedge clk……。这样的好处是有利于综合,基于时钟的综合策略;
-
对所有模块的输出加以寄存,使得输出驱动强度和输入的延时可以预测&#