关键路径
关键路径是指同步逻辑电路中,组合逻辑延时最大的路径,包括布线延迟,关键路径是对设计性能起决定性影响的时序路径。
优化关键路径
对关键路径进行时序优化,可以直接提高设计性能。
对同步逻辑来说,常用的时序优化方法包括 逻辑复制,加法/乘法树,关键信号后移,消除优先级等。
静态时序分析可以找出逻辑电路的关键路径。通过查看静态时序分析报告,可以查看关键路径。
在vivado中通过report Timing summary 来查看。 WNS worst negative slack 对应最大延迟分析的所有时序路径的最差裕量( Setup ) 。
总的延时=逻辑延时+布线延时
1 在组合逻辑中插入寄存器,即插入流水线 Pipelining
组合逻辑延时过长,就会成为关键路径,考虑在该路径中插入额外的寄存器,这种方法称为插入流水线。 额外插入寄存器增加的时钟周期并不会违反整个设计的规范要求,从而不会影响设计的总体功能性实现,插入额外的寄存器在保证吞吐量不变的情况下改善了设计的时序性能。当然,其不可避免地会带来部分面积的增加。
2 寄存器平衡,重定时retiming。 retiming
在不增加寄存器个数的前提下,通过改变寄存器的位置来优化关键路径,可以对比和流水线插入寄存器的不同。
3 操作符平衡,即加法树,乘法树。 加法树 乘法树
平衡前,a 和 b 均经过 3 个乘法器带来的延时,c 经历 2 个,d 经历 1 个,最长延时为 3 个乘法器延时。 平衡后,树形结构,a、b、c、d 均经历 2 个乘法器延时,最长延时为 2 个乘法器延时。
树状结构平衡乘法器。 减少乘法器个数。
4 消除代码优先级 以case代替if else
不需要优先级的地方,用case代替if else。 使得顺序执行的语句并行执行。
5 逻辑复制
当某个信号的扇出比较大时,会造成该信号到各个目的逻辑节点的路径变长,从而成为设计中的关键路径。通过对该信号进行复制,来降低扇出。
6 关键信号后移
即将关键信号移动到if-else - if的第一级,这样会减小最长路径延迟
扇出 fan-out
扇出是定义单个逻辑门能够驱动的数字信号输入最大量。
大多数TTL逻辑门能够为10个其他数字门或驱动器提供信号。因而,一个典型的TTL逻辑门有10个扇出信号。
一个模块的扇出数过大或过小都不理想,过大比过小更严重。
什么叫数字 IC
IC 就是半导体元件产品的统称,IC 按功能可分为:数字 IC、模拟 IC、微波 IC 及其他 IC。数字 IC 就是传递、加工、处理数字信号的 IC,是近年来应用最广、发展最快的 IC 品种,可分为通用数字 IC 和专用数字 IC。
通用 IC:是指那些用户多、使用领域广泛、标准型的电路,如存储器(DRAM)、微处理器(MPU)及微控制器(MCU)等,反映了数字 IC 的现状和水平。
专用 IC(ASIC):是指为特定的用户、某种专门或特别的用途而设计的电路。
FPGA
FPGA 是一种可以重构电路的芯片,是一种硬件可重构的体系结构。
现场可编程 门队列。
通过编程,用户可以随时改变它的应用场景,它可以模拟 CPU、GPU 等硬件的各种并行运算。通过与目标硬件的高速接口互联,FPGA 可以完成目标硬件运行效率比较低的部分,从而在系统层面实现加速。