数字后端设计实现之自动化useful skew技术(Concurrent Clock Data)

在数字IC后端设计实现过程中,我们一直强调做时钟树综合要把clock skew做到最小。原因是clock skew的存在对整体设计的timing是不利的。

数字IC后端时序分析clock skew对timing的影响

但是具体到某些timing path,可能它的local clock skew对timing是有帮助的,比如如下图所示。

useful skew技术改善timing时序

第一级FF到第二级FF的setup原来存在-1ns的violation。经过借用后一级的timing margin把第二个FF的tree做长1ns后这条timing path的setup slack变成0ns,即meet了。而且我们发现第二级FF到第三级FF的setup slack虽然从原来的2ns slack变成1ns的slack,但依然还是正的slack。

所以,这个人为引入的clock skew对我们的setup是有利的,所以把这个技术称作usefu skew。

所以EDA工具无论是Synopsys还是Cadence的,在时序优化阶段都支持clock和data的同步优化功能。

在没有这个功能时,我们需要一个个去分析到底哪些点的sink需要做长做短。现在我们可以直接通过模式和选项的设置让工具自己帮助我们来利用好useful skew。

在这里插入图片描述

ICC2:

set_app_options -name clock_opt.flow.enable_ccd_route_clock -value true
set_app_options -name clock_opt.flow.enable_ccd_route_clock_eco -value true
设置useful skew可利用区间
set_app_options -list “ccd.max_postpone 0.06”
set_app_options -list “ccd.max_prepone 0.06”
限制CCD应用在boundary
set ccd.optimize_boundary_timing false
set ccd.optimize_boundary_timing_upstream false

Innovus:

在数字IC后端实现innovus PR过程中一般建议全流程打开useful skew。对于高性能 ARM CPU设计,建议结合early clock flow来使用,效果最佳。

在这里插入图片描述

setOptMode -usefulSkew true
setOptMode -usefulSkewPreCTS true
setOptMode -usefulSkewCCOpt extreme
setOptMode -usefulSkewPostRoute true

setUsefulSkewMode -maxAllowedDelay 0.06

setOptMode -usefulSkew是主开关,它控制optDesign在整个Flow的useful skew。如果设置为false,则无论其他控制开关的设置如何,flow中的任何位置都不会利用Useful skew。该选择在工具里面默认是true。

setDesignMode -flowEffort是一个design level的控制开关,用于根据设计目标来调节优化的力度。
新的setOptMode -usefulSkewCCOpt控制命令替换了早期的参数-usefulSkewCTS和-usefulSkewPostCTS,以及命令set_ccopt_effort。

innovus也支持对某些特殊的sink点施加特殊的约束,告知工具不使用useful skew技术。

setOptMode -skewClockPreserveLatencyTermList $special_clk_pin_name
setOptMode -usefulSkewPreCTSPreserveLatencyTermList $special_clk_pin_name

set_ccopt_property schedule off -pin $special_clk_pin_name

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

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

相关文章

简单易懂的PyTorch激活函数大全详解

目录 torch.nn子模块Non-linear Activations nn.ELU 主要特点与注意事项 使用方法与技巧 示例代码 图示 nn.Hardshrink Hardshrink函数定义 参数 形状 示例代码 图示 nn.Hardsigmoid Hardsigmoid函数定义 参数 形状 示例代码 图示 nn.Hardtanh HardTanh函数…

windows系统升级

问题 windows系统升级 详细问题 笔者手边有台电脑,操作系统版本为windowsXP,现需要升级至windows较新版本 解决方案 1、 内容备份 若C盘有重要数据文件 ,对于C盘(重要数据文件)进行备份 2、下载软件天猫一键重装…

【数据结构】数据结构中应用题大全(完结)

自己在学习过程中总结了DS中几乎所有的应用题,可以用于速通期末考/考研/各种考试。很多方法来源于B站大佬,底层原理本文不做过多介绍,建议自己研究。例题大部分选自紫皮严书。pdf版在主页资源 一、递归时间/空间分析 1.时间复杂度的分析 设…

MySQL之子查询、连接查询(内外)以及分页查询(实操)

文章目录 前言一、SQL脚本二、实操以及实现思路 前言 续上篇博主MySQL之视图&索引&执行计划这篇给大家讲解MySQL之子查询、连接查询(内&外)以及分页查询 一、SQL脚本 /*Navicat Premium Data TransferSource Server : localhostSource Server Type :…

Koodo Reader : 一个开源免费的电子书阅读器

今天在浏览 GitHub 的时候,偶然发现了一个非常有趣的开源项目——Koodo Reader。这个项目是一款开源免费的电子书阅读器,支持多种格式。它具有一些非常独特的功能,深深地吸引了我的注意。在接下来的内容中,我将为大家详细介绍一下…

07、Kafka ------ 消息生产者(演示 发送消息) 和 消息消费者(演示 监听消息)

目录 Kafka --- 消息生产者★ 消息★ 消息的分发机制★ 分发到哪个分区★ 轮询策略(round-robin)★ 使用命令行工具发送消息演示添加消息 Kafka --- 消息消费者★ 消息消费者命令▲ 监听 【指定主题】 的所有消息:▲ 监听 【指定主题、指定分区】的所有消…

LED电平显示驱动电路图

LB1409九位LED电平显示驱动电路 如图所示为LBl409九位LED电平显示驱动电路。图(a)是用LB1409做电平显示驱动电路,图(b)是应用基准电压电平显示驱动电路。LB1409是日本东京互洋电机株式会社生产的产品,与其…

开启Android学习之旅-5-Activity全屏

Android 两种方式设置全屏: 1. 第一行代码中的方法 通过 getWindow().getDecorView()方法拿到当前Activity的DecorView,再调用 setSystemUiVisibility() 方法来改变系统UI的显示,这里传入了 View.SYSTEM_UI_FLAG_LAYOUT_FULLSCREEN 和 View.SYSTEM_UI_…

上海雏鸟科技无人机灯光秀跨年表演点亮三国五地夜空

2023年12月31日晚,五场别开生面的无人机灯光秀跨年表演在新加坡圣淘沙、印尼雅加达、中国江苏无锡、浙江衢州、陕西西安等五地同步举行。据悉,这5场表演背后均出自上海的一家无人机企业之手——上海雏鸟科技。 在新加坡圣淘沙西乐索海滩,500架…

设计模式的艺术P1基础—2.2 类与类的UML图示

设计模式的艺术P1基础—2.2 类与类的UML图示 在UML 2.0的13种图形中,类图是使用频率最高的两种UML图之一(另一种是用于需求建模的用例图),它用于描述系统中所包含的类以及它们之间的相互关系,帮助人们简化对系统的理解…

Avalonia学习(二十一)-自定义界面演示

今天开始继续Avalonia练习。 本节&#xff1a;自定义界面 在网上看见一个博客&#xff0c;根据需要演示一下。 前台代码 <Window xmlns"https://github.com/avaloniaui"xmlns:x"http://schemas.microsoft.com/winfx/2006/xaml"xmlns:vm"using:…

系列三十五、获取Excel中的总记录数

一、获取Excel中的总记录数 1.1、概述 使用EasyExcel开发进行文件上传时&#xff0c;通常会碰到一个问题&#xff0c;那就是Excel中的记录数太多&#xff0c;使用传统的方案进行文件上传&#xff0c;很容易就超时了&#xff0c;这时可以通过对用户上传的Excel中的数量进行限制…

vue3+echarts应用——深度遍历html的dom结构并用树图进行可视化

文章目录 ⭐前言&#x1f496;vue3系列文章 ⭐html数据解析&#x1f496; html字符串转为html对象&#x1f496; 深度遍历html对象内容 ⭐echarts 树图的渲染&#x1f496; 处理html内容为树状结构&#x1f496; 渲染树状图&#x1f496; inscode代码块 ⭐总结⭐结束 ⭐前言 大…

CentOS 7 安装私有平台OpenNebula

目录 一、配置yum源 二、配置数据库MySQL 2.1 安装MySQL 2.2 修改MySQL密码 2.3 创建项目用户和库 三、安装配置前端包 四、设置oneadmin账号密码 五、验证安装 5.1 命令行验证安装 5.2 数据存放位置 5.3 端口介绍 5.4 命令介绍 六、访问 6.1 设置语言 6.2 创建主…

C语言中的预处理

欢迎关注博主 Mindtechnist 或加入【Linux C/C/Python社区】一起学习和分享Linux、C、C、Python、Matlab&#xff0c;机器人运动控制、多机器人协作&#xff0c;智能优化算法&#xff0c;滤波估计、多传感器信息融合&#xff0c;机器学习&#xff0c;人工智能等相关领域的知识和…

Git将本地项目上传到Gitee仓库

1.右键点击文件&#xff0c;点击Git Bash Here,进入git窗口 2.初始化本地仓库 git init3.将本地仓库与远程仓库建立连接 git remote add origin 远程仓库地址远程仓库地址在gitee仓库复制即可 4.将远程仓库的文件拉到本地仓库中 git pull origin master5.将本地文件全部上传…

《PCI Express体系结构导读》随记 —— 第I篇 第2章 PCI总线的桥与配置(11)

接前一篇文章&#xff1a;《PCI Express体系结构导读》随记 —— 第I篇 第2章 PCI总线的桥与配置&#xff08;10&#xff09; 2.3 PCI桥与PCI设备的配置空间 PCI设备都有独立的配置空间&#xff0c;HOST主桥通过配置读写总线事务访问这段空间。PCI总线规定了三种类型的PCI配置…

油烟机灯泡更换

油烟机自带两个小灯&#xff0c;开始两个都亮&#xff0c;后来只有一个亮&#xff0c;再后来都不亮了 这个感觉是旋转卡尺打开&#xff0c;用剪子卡主转不动&#xff0c;打不开&#xff0c;可能是油烟粘住了。使用螺丝刀直接撬开。 发现果真是旋转卡扣。灯泡已经烧黑。 换上新…

uniapp微信小程序投票系统实战 (SpringBoot2+vue3.2+element plus ) -投票创建页面实现

锋哥原创的uniapp微信小程序投票系统实战&#xff1a; uniapp微信小程序投票系统实战课程 (SpringBoot2vue3.2element plus ) ( 火爆连载更新中... )_哔哩哔哩_bilibiliuniapp微信小程序投票系统实战课程 (SpringBoot2vue3.2element plus ) ( 火爆连载更新中... )共计21条视频…

【Emgu.CV教程】4.2、无缝融合应用之IlluminationChange()函数去除高亮区域

上一篇讲的是ColorChange()函数&#xff0c;今天讲IlluminationChange()函数&#xff0c;它可以去除图片中的高亮区域。试想一下&#xff0c;下面是一张反光背心的夜间照片&#xff0c;反光条颜色特别亮&#xff0c;如果想只把反光的部分变暗一点&#xff0c;其余部分不变&…