首页 | 新闻 | 新品 | 文库 | 方案 | 视频 | 下载 | 商城 | 开发板 | 数据中心 | 座谈新版 | 培训 | 工具 | 博客 | 论坛 | 百科 | GEC | 活动 | 主题月 | 电子展
返回列表 回复 发帖

FPGA Design Flow 学习笔记(4)--参加年度达人

FPGA Design Flow 学习笔记(4)--参加年度达人

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