FPGA时序优化
1、面积换速度
这一点其实算不上是时序优化,而是总体的设计思路。例如乒乓设计,改大位宽降时钟频率这种设计思路;
2、使用时序逻辑设计
组合逻辑层级过多会引入较多延迟;
3、降低扇入扇出
例如计数器尽量用小位宽,如果是大位宽计数器建议拆成多级计数;
if的判断条件尽量用小位宽,如果判断条件是cnt,考虑用高bit做条件而不是整个cnt;
扇出过大时考虑复制寄存器;
4、打拍
打拍的思路是在两个距离很远的寄存器中间插一级寄存器,减小线长带来的延迟;
5、低时序要求的地方用低速时钟域
低时钟域对器件压力较小,必须用高时钟的地方才使用高时钟域;注意异步隔离;
6、尽量用硬核
硬核在FPGA资源中是固化资源,不占用通用的lut;相比较于软核速度更快。