0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看技术视频
  • 写文章/发帖/加入社区
会员中心
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示

降低布线延迟的另一流程

电子工程师 来源:未知 作者:李倩 2018-11-07 11:11 次阅读

布线延迟过大除了拥塞导致之外,还可能是其他因素。下图显示了降低布线延迟的另一流程(因其他因素导致布线延迟过大的处理流程)。

图片来源: page 7, ug1292

首先,通过report_desigan_analysis分析路径特征。有时还需要结合report_utilization和report_failfast两个命令。

第1步:分析路径的Hold Fix Detour是否大于0ps?

HoldFix Detour是工具为了修复保持时间违例而产生的绕线(该数值在design analysis报告中显示,如果没有显示,可在报告标题栏内点击右键,选择HoldFix Detour)。如果该数值大于0,就有可能造成建立时间违例。这时其实应关注的是该路径对应的保持时间报告,诊断为什么工具会通过绕线修复保持时间违例。

第2步:违例路径的各个逻辑单元是否存在位置约束?

通常,设计中不可避免地会有一些物理约束,如管脚分配。除此之外,还可能会有其他位置约束,如通过create_macro或Pblock创建的位置约束。如果设计发生改变,就需要关注这些位置约束是否仍然合理,尤其是那些穿越多个Pblock的路径。

第3步:违例路径是否穿越SLR?

如果目标芯片为多die芯片,那么在设计初期就要考虑到以下几个因素,以改善设计性能。

在设计的关键层次边界上以及跨die路径上插入流水寄存器,尤其是跨die路径,这些寄存器是必需的;

检查每个SLR的资源利用率是否合理,这可通过report_failfast –by_slr实现。-by_slr选项只能在place_design或route_design生成的dcp中使用,这也不难理解,毕竟在布局阶段工具才会把设计单元向相应的SLR内放置;

每个die的设计可以看作一个顶层,因此,要对每个顶层指定一个die,以确保相应的设计单元被正确放置在目标die内。这可通过属性USER_SLR_ASSIGNMENT实现(Vivado 2018.2开始支持);

如果上述属性未能正确工作,可直接画Pblock进行约束;

在布局或布线之后如果仍有时序违例,可尝试使用phys_opt_design -slr_crossing_opt。

第4步:唯一控制集百分比是否大于7.5%?

唯一控制集个数可通过report_failfast查看。如果控制集百分比超过7.5%,可通过如下方法降低控制集。

关注MAX_FANOUT属性:

移除时钟使能、置位或复位信号的MAX_FANOUT属性。这是因为该属性会复制寄存器以降低扇出,但同时也增加了控制集;

在Synthesis阶段:

-提高–control_set_opt_threshold的数值,可使工具将更多同步控制信号搬移到数据路径,从而降低控制集;

-也可采用Block Level Synthesis技术,对指定模块设置该数值;

在opt_design阶段:

-control_set_merge

-merge_equivalent_drivers

这两个选项可帮助降低控制集。但这两个选项不能与-directive同时使用,所以如果是工程模式下,可将其放置在Hook文件中(Tcl.pre或Tcl.post)。非工程模式下,可在执行完-directive之后,再次执行这两个选项;

关注低扇出信号:

对于低扇出的控制信号(同步使能、同步置位/同步复位),可对其连接的寄存器设置CONTROL_SET_REMAP属性,将控制信号搬移到数据路径上,从而降低控制集。

第5步:尝试其他实现策略

Vivado提供了多种实现策略。因此,尝试不同实现策略是达到时序收敛的一个手段。

尝试多种place_design和phys_opt_design,这可通过设置不同的-directive实现;

尝试使用过约束(过约最大0.5ns),这可通过设置Clock Uncertainty实现。需要用到set_clock_uncertainty;

对关键时钟域下的路径设置更高的优先级,使工具对其优先布局布线,这可通过命令group_path实现;

尝试使用增量布局布线,继承之前好的布局布线结果,并缩短编译时间。

声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉
  • 寄存器
    +关注

    关注

    31

    文章

    5281

    浏览量

    119746
  • 布线
    +关注

    关注

    9

    文章

    760

    浏览量

    84263

原文标题:深度解析ug1292(7)

文章出处:【微信号:Lauren_FPGA,微信公众号:FPGA技术驿站】欢迎添加关注!文章转载请注明出处。

收藏 人收藏

    评论

    相关推荐

    IC设计流程简介

    是SetupTime 和 HoldTime),与激励无关。在深亚微米工艺中,因为电路连线延迟大于单元延迟,通常预布局布线反复较多,要多次调整布局方案,对布局布线有指导意义。
    发表于 12-19 16:20

    用PROTEL99SE布线的基本流程

    用PROTEL99SE布线的基本流程
    发表于 08-20 19:42

    PROTEL99SE布线的基本流程

    PROTEL99SE布线的基本流程
    发表于 08-20 20:38

    用PROTEL99SE布线的基本流程

    用PROTEL99SE布线的基本流程
    发表于 03-17 22:41

    protel布线基本流程

    protel布线基本流程PCB打样找华强 http://www.hqpcb.com 样板2天出货
    发表于 04-05 10:09

    protel布线基本流程

    protel布线基本流程PCB打样找华强 http://www.hqpcb.com 样板2天出货
    发表于 04-05 10:11

    怎么降低延迟

    你好。我是PC游戏玩家,我想调整我的英特尔i219-v网卡驱动程序,因为我可以获得更低的延迟..有些设置我可以改变以降低延迟?以上来自于谷歌翻译以下为原文Hi. I am a PC
    发表于 10-29 14:21

    用PROTEL99SE布线的基本流程

    用PROTEL99SE布线的基本流程
    发表于 03-12 01:13 0次下载

    Protel 布线流程

    Protel 布线流程
    发表于 05-28 01:18 0次下载

    用PROTEL99SE布线的基本流程

    用PROTEL99SE 布线的基本流程  01 得到正确的原理图和网络表手工更改网络表将些元件的固定用脚等原理图上没有的
    发表于 01-18 13:18 6752次阅读

    PCB布线技术:布线工程师谈PCB设计的经验

    PCB布线技术:布线工程师谈PCB设计的经验     般PCB基本设计流程如下:前期准备->PCB结构
    发表于 09-02 17:15 1189次阅读

    用PROTEL99SE布线的基本流程

    用PROTEL99SE布线的基本流程
    发表于 12-25 10:43 0次下载

    pcb布线心得(流程详解、元件布局布线与EMC)

    pcb布线技巧,轻松搞定布线、布局,主要包括:、元件布局基本规则;二、元件布线规则;为增加系统的抗电磁干扰能力采取措施;3、降低噪声与电磁
    发表于 11-03 17:02 3952次阅读

    使用PROTEL99SE布线的基本流程详细说明

    本文档的主要内容详细介绍的是使用PROTEL99SE布线的基本流程详细说明。
    发表于 10-11 15:09 0次下载
    使用PROTEL99SE<b class='flag-5'>布线</b>的基本<b class='flag-5'>流程</b>详细说明

    PCB电路设计的基本流程以及布线技巧解析

    般PCB基本设计流程如下:前期准备-》PCB结构设计-》PCB布局-》布线-》布线优化和丝印-》网络和DRC检查和结构检查-》制版。
    发表于 12-06 15:16 2516次阅读