五、布局布线约束、系统优化参数、时序优化收敛 关键技术点

在实际的工程当中,出现了时序违例的情况如何解决呢?

本章内容将介绍例外约束、布局布线的具体操作,实现系统参数的优化。

**前言:**通过约束时钟,比如基准时钟,和生成时钟,让我们的综合工具知道我们的时序要求标准是多少,那么分析工具会根据布局布线之后的网络表进行分析,如果存在时序违例会给我们通过报告形式打印,另外布线的算法也会根据我们设置的时钟周期约束进行努力布线满足我们的时序要求。

这里写目录标题

    • 一、时序分析优化总体流程
    • 二、查看总体时序报告,追踪时序违例路径
      • 1.查看时序报告
      • 2.时序约束之例外约束
        • 1.先以Intra-clock为例,处理同时钟域时序违例问题:
          • Set false path
          • Set multicycle path
            • 1.什么样的路径是 multicycle?
            • 2.Set multicycle path 建立时间的约束
            • 3.Set multicycle path 保持时间的约束
        • 2.以Inter-clock为例,处理跨时钟时序违例问题:
      • 3.布局布线约束优化
        • 1.以div_timing工程为例,进行优化操作。
        • 2.更多电路优化内容补充
      • 4.设置 implementation 的 strategy 策略优化时序
      • 5.通过插入流水线寄存器提高时序余量

一、时序分析优化总体流程

在这里插入图片描述

二、查看总体时序报告,追踪时序违例路径

1.查看时序报告

打开 check Timing
在这里插入图片描述
打印时序报告 (report timing summary
这个报告会把所有约束和没有约束的路径时序报告都打印出来,这样可以看到那些路径出现时序违例了,方便我们观察。
在这里插入图片描述
报告如下,其中:
==Intra-clock paths ==同时钟域时序报告
Inter-clock path 跨时钟域时序报告(此部分一般我们需要直接设置 false path)
在这里插入图片描述

2.时序约束之例外约束

1.先以Intra-clock为例,处理同时钟域时序违例问题:

在这里插入图片描述
通过 from to 来看,源端:ini_reg ,目的端:RST 复位,属于复位信号时序违例
一般有两种处理方法:

  1. Set false path 因为本身复位没有办法保证到达每一个寄存器保证延迟一致时
    序不出现违例,这里约束是忽略对此路径的时序分析。
  2. Set multi cycle 约束我们的建立时间或者保持时间余量大于 1 个时钟周期。
Set false path

右击某条路径,设置 set false path 选择 startpoint to endpoint,然后点击ok即可。
(如果选择source clock to destination clock 会把这两个时钟域间交互的所有路径忽略掉,一般用于处理跨时钟域的时序违例(Inter-clock path))
在这里插入图片描述
在这里插入图片描述
连续设置几条以后re run一下,更新一下时序报告。

下面学习一下set multicycle的设置。

Set multicycle path
1.什么样的路径是 multicycle?

在这里插入图片描述

如上所示:
两级寄存器之间有复杂的组合逻辑,比如与或非等等组合逻辑运算, 这样此处的组合逻辑延迟可能超过一个时钟周期,直接套用之前我们学习的两级 寄存器的时序分析模型,一定会报时序错误。
有时候我们采集此信号未必需要在发射沿的下一个时钟周期采样,我们可能需要经过多个时钟周期采集数据,这样就形成了上图所描述 的:CE信号是一个时钟有效信号,经过 N 拍的延迟到达控制接收端寄存器的 CE 端,这样就会延迟 N 拍去采样。

2.Set multicycle path 建立时间的约束

选择某条路径,例如path101进行如下设置:
在这里插入图片描述
options默认选择下为建立时间设置
在这里插入图片描述

3.Set multicycle path 保持时间的约束

同样是对path101进行如下设置:
在这里插入图片描述
全部设置完成后 ** rerun ** 一下,重新查看时序报告。发现时序违例依然存在。如何进一步调整?
答: 我们之前设置的hold为2,但hold余量仍然不足,我们可以将hold继续向前调整。原理图如下:

在这里插入图片描述
重新rerun后,无时序违例情况。

2.以Inter-clock为例,处理跨时钟时序违例问题:

如下图所示,都是跨时钟域路径
在这里插入图片描述
这种时序违例,我们直接通过设置set false path源时钟到目的时钟的即可。

最终的时序报告如下:
在这里插入图片描述
时序报告没有问题后保存生成xdc文件,然后重新综合工程。若综合完成后还存在时序违例问题,则继续进行set false path 或者set multicycle 设置。
下一步进行布局布线

3.布局布线约束优化

完成上述的综合流程后,下面开始进行布局布线的约束。这里我们主要采用物理优化的方式,包括:

  • 布局后优化(post-place)
  • 布线后优化(post-route)
1.以div_timing工程为例,进行优化操作。

① 先观察工程的时序报告:
在这里插入图片描述

② 在工程中打开物理优化设置,并进行设置
在这里插入图片描述
③ 更改完 phy opt 参数后优化结果如下
在这里插入图片描述
④LOG 的报告如下
在这里插入图片描述

2.更多电路优化内容补充

图下的表提供了多种电路优化的方式。
在这里插入图片描述

  • 高扇出信号优化(high-fanout )
    可以明显看到:右侧的图片中白色的线已经被分割为多个起点然后扇出,这样使扇出延迟减小了,蓝色的线为优化前的效果。
    在这里插入图片描述
  • 布局优化效果(placement )
    使能了物理优化后,如果一些较长的关键路径存在,布局工具会自动的进行从新规划布局方案使得路径变短,从而优化时序。
    在这里插入图片描述
  • 重新分配布线连线(Rewiring )
    蓝色部分是慢速路径,绿色部分是快速路径,通过合理分配布线进行路径优化。
    在这里插入图片描述
    第二种情况:
    在这里插入图片描述
  • 关键逻辑组件的复制
    在这里插入图片描述
    -hold fix的优化
    例一:
    在这里插入图片描述
    例二:
    在这里插入图片描述
  • retiming 优化
    在这里插入图片描述

4.设置 implementation 的 strategy 策略优化时序

这里包含了很多的策略,哪种优化策略适合需要结合工程具体分析,通常来讲会尝试很多种优化策略对比观察时序变化。
在这里插入图片描述

5.通过插入流水线寄存器提高时序余量

这里以修改除法器ip的latency为例:
在这里插入图片描述
原理:
插入流水前:
在这里插入图片描述
插入流水线后:
在这里插入图片描述
插入流水线之后增加了 latency 但是换取了把两级 lut 延迟变为了 1 级 lut 延迟,这样时序就会变好。
此外还可以通过代码的方式插入流水。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/723866.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

嵌入式系统是什么?Linux应用开发是开发什么的?

第一篇: 原文链接:https://www.zhihu.com/question/464205608/answer/3358027187 一、什么是嵌入式系统 嵌入式系统是以应用为中心,以计算机技术为基础,软硬件可裁剪,适用于应用系统,对功能、可靠性、…

Redis之事务(详细解析)

请直接看原文:不能回滚的Redis事务还能用吗 - 知乎 (zhihu.com) ------------------------------------------------------------------------------------------------------------------------------ 1、Redis事务的概念: Redis 事务的本质是一组命令的集合。…

Linux编程3.3 进程-进程的终止

1、正常终止 从main函数返回调用exit(标准C库函数)调用_exti或_Exit(系统调用)最后一个线程从其启动例程返回最后一个线程调用 pthread exit 2、异常终止 调用abort接受到一个信号并终止最后一个线程对取消请求做处理响应 3、进程返回 通常程序运行…

电子邮件营销的优势包括?邮件营销的利弊?

电子邮件营销的优势及特点?电子邮件营销策略的好处? 电子邮件营销不仅是一种经济高效的营销方式,更是企业与潜在客户之间建立长期关系的桥梁。那么,电子邮件营销的优势具体有哪些呢?接下来,让蜂邮EDM来探讨…

【Web安全靶场】upload-labs-master 1-21

upload-labs-master 其他靶场见专栏… 文章目录 upload-labs-masterPass-01-js前端校验Pass-02-MIME校验Pass-03-其他后缀绕过黑名单Pass-04-.hatccess绕过Pass-05-点空格点代码逻辑绕过Pass-06-大小写绕过Pass-07-空格绕过Pass-08-点号绕过Pass-09-::$DATA绕过Pass-10-点空格…

【Redis】Redis持久化模式AOF

目录 引言 AOF持久化模式​编辑​编辑 AOF与RDB的混合持久化(4.x后的新特性) AOF的优缺点 修复破损aof文件 到底用RDB还是AOF 引言 AOF就相当于上面的日志形式。是追加式备份。所有发生的写操作,新增啊,修改啊,删除啊,这些命…

pdf电子准考证查询下载系统(实证效果可照片)V1.0

CSDNpdf电子准考证查询下载系统(实证效果可照片)V1.0 使用场景: 教育机构比如学校用pdf准考证查询下载系统(实证效果可照片,最适合准考证打印); 也可自定义图片及坐标用于各种优秀党员三好学生等荣誉证书、聘书授权代理pdf电子证书查询与下载。 推荐Linux PHP5.5-7.3使用使…

第七篇 - 人工智能与机器学习技术VS量测(Measurement)- 我为什么要翻译介绍美国人工智能科技巨头IAB公司 - 它是如何赋能数字化营销生态的?

IAB平台,使命和功能 IAB成立于1996年,总部位于纽约市。 作为美国的人工智能科技巨头社会媒体和营销专业平台公司,互动广告局(IAB- the Interactive Advertising Bureau)自1996年成立以来,先后为700多家媒…

鸿蒙Harmony应用开发—ArkTS声明式开发(通用属性:鼠标光标控制)

控制鼠标光标的显示样式。 说明: 从API Version 11开始支持。后续版本如有新增内容,则采用上角标单独标记该内容的起始版本。 cursorControl setCursor setCursor(value: PointerStyle): void 方法语句中可使用的全局接口,调用此接口可以更…

增肌_锻炼

目录 练第一步 有氧运动关节活动度 第二步 脊柱侧弯吃 练 https://www.bilibili.com/video/BV14v4y1G7A3 第一步 有氧运动 有氧运动锻炼心肺 最大心率保持在50% - 60% 关节活动度 髋关节活动 亚足背屈   绕肩,肩环绕肩   第二步 高频的中等强度&#xf…

ubuntu_定制文件系统[2]-清理日志log

1.问题现象 系统长时间运行, 产生大量的系统日志 ubuntu/debian 系统日志如下 /var/log$ du -sh * 31M syslog # syslog日志 61M syslog.1 2.5G journal/ # systemd service日志 当日志文件过大, 硬盘空间占用100%时, 导致各种异常 命令按tab补全无响应服务/进程启动异常服务…

Google Play上架:自查封号政策解析(高风险行为之不允许破坏Google Play生态系统中用户信任度的应用或应用内容)

本文章提供给近期被封号的开发者们,希望能带来帮助,有其他的自查方向后续也会发布出来。 ——————————————————————————————————————— 用户数据设备和网络滥用 用户数据 设备和网络滥用

redis 缓存击穿问题(互斥锁,逻辑过期)

1、缓存击穿问题 缓存击穿问题:一个被高并发访问并且缓存重建业务较复杂的key突然失效了,无数的请求访问会在瞬间给数据库带来巨大的冲击。 场景:假设线程1在查询缓存之后,本来应该去查询数据库,然后把这个数据重新加…

堆以及堆的实现

文章目录 堆的概念堆的实现HeapPushHeapPop HeapTop HeapSize HeapEmpty堆的应用 堆的概念 堆是一颗完全二叉树每个结点的值都小于子结点的值,这颗二叉树为小根堆每个结点的值都大于子结点的值,这颗二叉树为大根堆堆的定义如下:n个元素的序列…

开展庆2024年“三八”国际妇女节系列纪念活动怎样向媒体投稿?

为了向媒体投稿,庆祝2024年“三八”国际妇女节系列纪念活动,你可以遵循以下步骤: 策划与准备: 确定纪念活动的主题和目标,例如提升女性权益、表彰女性成就、促进性别平等。 策划一系列活动,如研讨会、表彰仪式、展览、讲座等,确保内容丰富多样。 准备相关的背景资料、活动介…

Linux Watchdog 机制是什么

当涉及到Linux操作系统的稳定性和可靠性时,Linux Watchdog机制是一个至关重要的议题。该机制旨在监控系统状态,确保在出现问题时采取适当的措施以维持系统的正常运行。本文将深入探讨Linux Watchdog机制的工作原理、应用范围以及如何配置和使用该机制来提…

WebGIS开发0基础必看教程:WebGIS中的要素(Feature)

1.前言 在GIS中元素一般分为点元素,线元素,面元素以及symbol元素(特殊的点元素)等。与此对应,图层可以分为点图层,线图层,面图层以及标注图层等。从第9章到第10章,我给大家讲解了什…

力扣大厂热门面试算法题 - 动态规划

爬梯子、跳跃游戏、最小路径和、杨辉三角、接雨水。每题做详细思路梳理,配套Python&Java双语代码, 2024.03.05 可通过leetcode所有测试用例。 目录 70. 爬楼梯 解题思路 完整代码 Python Java 55. 跳跃游戏 解题思路 完整代码 Python 代码…

kafka高水位和leader epoch

什么是高水位? 高水位表示分区下副本消息到哪里是算正常提交的。比如如下图:leader副本写到8了,follower副本也写到8,那么这个8就代表要求的副本都写入了。消息到8这里才算提交成功,后面的15写入了也不算提交成功&…

【Leetcode 2673】使二叉树所有路径值相等的最小代价 —— 贪心法

2673. 使二叉树所有路径值相等的最小代价 给你一个整数n表示一棵 满二叉树 里面节点的数目,节点编号从1到n。根节点编号为1,树中每个非叶子节点i都有两个孩子,分别是左孩子2 * i和右孩子2 * i 1。 树中每个节点都有一个值,用下…