引用b站大佬rong晔手册
1.速度优化包括:FPGA 的结构特性、HDL 综合器性能、系统电路特性、 PCB 制版情况等,也包括 Verilog 的编程风格。
2.电路结构方面的速度优化方法:
1)流水线设计
流水线(Pipelining)是一种在复杂组合逻辑之间添加寄存器的方法,是最常用的速度优化技术
之一。它能显著地提高设计电路的运行速度上限。
2)寄存器配平 (Register Balancing)
寄存器配平是使较长路径缩短,较短路径加长,使其达到平衡从而提高工作频率的一种技术。若设计中,若两个组合逻辑块的延时差别过大,若 T1>T2,则总体的工作频率 fmax 取决于T1, 即最大的延时模块。对不合理设计进行改进,即将原本设计中的组合逻辑 1 的部分逻辑转移到组合逻辑 2 中,使 t1≈t2,且 T1+T2=t1+t2, T1>t1 则总体的工作频率 fmax 提高。
3) 关键路径法
关键路径:指设计中从输入到输出经过的延时最长的逻辑路径。优化关键路径是提高设计工作速度的有效方法。
EDA 工具中的综合器及设计分析器都提供关键路径的信息以便设计者改进设计。 Quartus 中
的静态时序分析工具可以帮助找到延时最长的关键路径。
4) 乒乓操作法
乒乓操作法是 FPGA 开发中的一种数据缓冲优化设计技术,可视作另一种形式的流水线技术。乒乓操作本质是使用 2 倍的硬件资源,通过将数据产生时间和数据使用时间重叠,解决一个数据生产效率低于数据使用效率的问题。是一种拿面积换性能的方法。通过“输入数据流选择单元”和“输出数据流选择单元”按节拍、相互配合的切换,将经过缓冲的数据流“无缝”地送到“数据流运算处理块。
5)树形结构法
若要实现 A+B+C+D。首先实现 AB=A+B, CD=C+D,将 AB/CD 锁存一个时钟周期再相加。树形结构法和面积优化提到的串行化是相反的。