FPGA Design Flow 学习笔记(4)--参加年度达人
- UID
- 1023229
- 来自
- 中国
|
FPGA Design Flow 学习笔记(4)--参加年度达人
寄存器复制
• 过高的扇出(fan-out)既存在布线的困难,又因为需要保持相同的时序约束而使得最大运行频率减小
• 复制寄存器可减少高扇出的问题:
••••••减少的扇出数量缩短了时钟延时
••••••复制的寄存器可以扇出到片上不同的区域,从而减小布线的复杂度(减小拥塞congestion)
• 另一方面,复制寄存器使得资源占有率增大
• 取舍:因素布线难易程度、系统性能、资源占用率、是否会造成其它节点的扇出增加(因为在平面上布线,无法交叉)
寄存器复制的提示
• 命名复制后的寄存器原则为_a, _b,而不是NOT _1, _2(这条资料上很少提到)
–_1, _2这种方式命名的寄存器会被默认映射到同一个slice里面
– 复制的寄存器应当分开,才有减小扇出和方便布线的可能
– 特别是在负载分散于芯片多个位置的时候更需注意
• 在HDL编程时,显式地复制寄存器,原因是
– 大多数综合工具都有自动控制扇出的功能(一般在属性里面可以设置最大扇出数目)
• 但是它们并不总是选择最合适的负载分配(综合算法的问题;造成的扇出不是最优)
• 其次,综合工具复制的寄存器一般按照_1, _2的原则命名
– 许多综合工具会将重复的寄存器自动优化掉
• 设置综合工具的属性,以保留冗余逻辑(redundant logic)
• 不要复制异步信号驱动的寄存器:复制之后难以控制同步性
– 优先使用同步逻辑Synchronize the signal first
– 将同步信号供给所复制的多重寄存器 |
|
|
|
|
|