数字后端实现静态时序分析STA Timing Signoff之min period violation
今天给大家分享一个在高性能数字IC后端实现timing signoff阶段经常遇到的min period violation。大部分时候出现memory min period问题基本上都是需要返工重新生成memory的。这是非常致命的错误,希望大家在做静态时序分析时一定要查看min period violation。
什么是Min Period检查?
在.lib中,触发器、latch、Memory这些时序逻辑cell的clock input pin上会定义min_period属性来规定它上面时钟的最小周期。在这个例子中,时钟到达CLK pin的最小周期是1.258。
pin(CLK) {direction : input;capacitance : 0.046 ;clock : true;min_pulse_width_low : 0.126;min_pulse_width_high : 0.056;min_period : 1.258;
}
minimum_period的定义也可以在时序库lib中通过下面的方式来定义。
minimum_period() {
constraint : 9.5; /* min_period */
when : “SE”;
sdf_cond : “SE == 1’B1”;
}
在Innovus和Tempus中可以用命令report_constraint -check_type clock_period来检查min period问题,如果想得到详细的报告,我们可以加上-verbose选项
tempus > report_constraint -check_type clock_period -verbose
Check type : clock_period
---------------------------
Path 1: MET ClockPeriod Check with Pin ROM_512x16_0_INST/CLK
Ending Clock Edge: ROM_512x16_0_INST/CLK (v) checked with trailing edge of 'm_clk'
Beginning Clock Edge: ROM_512x16_0_INST/CLK (v) triggered by trailing edge of 'm_clk'
Path Groups: {m_clk}
Other End Arrival Time 20.911
- ClockPeriod 1.258
+ Phase Shift 40.000
= Required Time 59.653
- Arrival Time 20.926
= Slack Time 38.727Clock Fall Edge 20.000+ Clock Network Latency (Prop) 0.926= Beginpoint Arrival Time 20.926--------------------------------------------------------Pin Cell Delay Arrival Edge Time --------------------------------------------------------ROM_512x16_0_INST/CLK rom_512x16A - 20.926 v --------------------------------------------------------

Min Period Slack的计算公式如下:
Skew = launch edge arrival – capture edge arrival
Skew = 20.926-20.911=0.015
Slack = Clock_period – min_period constraint – Skew + CPPR
Slack = 40 - 1.258 - (0.926 - 0.911) + 0
Slack = 38.727ns
这个报告也可以通过下面的命令指定Clock pin来得到:
report_timing -check_type clock_period -to $sequetial_cell/CLK
Innovus/Tempus中Pin/port上的clock-period检查
report_constraint命令对于指定Pin/Port的检查只支持DRV的检查,如果report_constraint后边制定了特定的Pin/Port而没有加drv_violation_type 选项,那么工具会报告下面的Warning:
**WARN: (TCLCMD-1470): Pins/ports are only supported with ‘-drv_violation_type’ option
Min Period Violation如何修复?
在STA 阶段如果有clock min period 的violation, 可以从以下几方面入手:
1)check 是否有clock 的分叉点,如果有是否可以尽量把分叉后的path 做短;
2)修clock transition, 更小的transition 对应的clock min period 要求更小;
3)check clock path 上是否有crosstalk, 如果有,修干净;
4)使用HS Memory替代HD Memory(使用Low VT的Memory);
5)把一颗Memory拆成若干颗小的Memory,可以拆地址和数据位
相关文章:
数字后端实现静态时序分析STA Timing Signoff之min period violation
今天给大家分享一个在高性能数字IC后端实现timing signoff阶段经常遇到的min period violation。大部分时候出现memory min period问题基本上都是需要返工重新生成memory的。这是非常致命的错误,希望大家在做静态时序分析时一定要查看min period violation。 什么是…...
phpstorm+phpstudy 配置xdebug(无需开启浏览器扩展)
今天又被xdebug折磨了,忘记了以前咋配置了现在百度发现好多都是各种浏览器扩展而且也没有真正的用到项目上的都是测试的地址怎么样的 我就简单写一下自己实战吧 不支持workerman swoole hyperf等这种服务框架 如果你会请教教我 工具版本phpstudy8.1.xphpstorm2021.x…...
AI赋能安全运营 | 赛宁网安深度参与四川省网络安全沙龙
为促进四川省、市网络安全公共服务领域的经验交流与深入探讨,打通网络安全供需上下游,加速汇聚省、市优质网络安全设备和服务资源,提升巴中市乃至四川省网络安全防护水平,共同推动四川省网络安全事业的蓬勃发展。 2024年10月15日…...
R语言中,.RData 和 .rds 的区别
.RData 和 .rds 是 R 语言中两种不同的数据保存格式,二者有一些关键的区别: 1. 存储内容的类型: .RData 文件:可以同时保存多个对象(如数据框、向量、列表等),当你加载 .RData 文件时…...
python实现录屏功能
python实现录屏功能 将生成的avi文件转为mp4格式后删掉avi文件 参考感谢:https://www.cnblogs.com/peachh/p/16549254.html import os import cv2 import time import threading import numpy as np from PIL import ImageGrab from pynput import keyboard from da…...
酷克数据出席2024金融业数据库技术大会
10月16日,由中国金融电子化集团指导,北京金融信息化研究所主办的“2024金融业数据库技术大会”在京顺利召开。本次大会以“大模型时代下的数据库创新发展”为主题,汇聚了来自管理部门、金融机构、科技企业以及学术研究机构的众多专家学者&…...
find_library、pkg_check_modules、pkg_search_module的区别
在CMake中,find_library、pkg_check_modules和pkg_search_module是用于查找和使用库的三种不同命令。以下是具体介绍: find_library 功能:find_library用于查找指定的库文件(动态库或静态库),不依赖于库提供…...
多jdk版本环境下,jenkins系统设置需指定JAVA_HOME环境变量
一、背景 由于不同项目对jdk版本的要求不同,有些是要求jdk11,有些只需要jdk8即可。 而linux机器上安装jdk的方式又多种多样,最后导致jenkins打包到底使用的是哪个jdk,比较混乱。 1、java在哪 > whereis java java: /usr/bin/…...
Java mybatis day1015
ok了家人们,今天学习了mybatis这个框架,我们一起去看看吧 一.Mybatis简介 1.1 Mybatis概述 MyBatis 最初是 Apache 的一个开源项目 iBatis, 2010 年 6 月 这个项目由 Apache Software Foundation 迁移到了 Google Code 。随着开发团队转投 Google Cod…...
音乐播放器项目专栏介绍
1.简介 本专栏使用Qt QWidget作为显示界面,你将会学习到以下内容: 1.大量ui美化的实例。 2.各种复杂ui布局。 3.常见显示效果实现。 4.大量QSS实例。 5.Qt音频播放,音乐歌词文件加载,展示。 6.播放器界面换肤。 相信学习了本专栏…...
如何修改SpringBoot内置容器默认上下文
引言 默认情况下,Spring boot 应用程序通过上下文路径“/”访问,这是嵌入式服务器的默认设置,即我们可以直接通过http://localhost:8080/访问该应用程序。 但是在生产环境中部署 Spring Boot 应用程序时,指定上下文路径是一个常…...
R语言详解predict函数
R语言中predict函数在建立模型,研究关系时常用。但是不同type得到的结果常常被混为一谈,接下来,探讨predict得到的不同结果。 #数据 set.seed(123) n<-1000 age<-rnorm(n,mean50,sd10) gender<-rbinom(n,1,0.5) disease<-rbinom…...
QT 实现随机码验证
1.界面实现效果 以下是具体的项目需要用到的效果展示,用于验证字母。 2.简介 自定义CaptchaMovableLabel,继承自QLabel类: 中间的4个字母,就是CaptchaMovableLabel类来实例化的对象。 主要功能如下: 1.显示字母&am…...
集合框架12:Set集合概述、Set接口使用
视频链接:13.24 Set接口使用_哔哩哔哩_bilibilihttps://www.bilibili.com/video/BV1zD4y1Q7Fw?spm_id_from333.788.videopod.episodes&vd_sourceb5775c3a4ea16a5306db9c7c1c1486b5&p24 1、Set集合概述 特点:无序、无下标,元素不可…...
如何打开荣耀手机的调试模式?
问题描述: 最近用荣耀手机进行测试,打开开发者选项,打开USB调试,在选择USB配置时,发现仅有选择USB以太网才可以连接Android Studio,也就是打开ADB调试模式。 但是,打开USB以太网后,…...
Meta新模型Dualformer:融合快慢思维,推理能力媲美人脑
Meta 的 FAIR 团队最近推出了一款名为 Dualformer 的全新 Transformer 模型,该模型模仿人类的双重认知系统,能够无缝整合快速和慢速推理模式,在推理能力和计算效率上取得了显著突破。 人类的思维过程通常被认为是由两种系统控制的:系统1快速…...
CDGA|数据治理:如何让传统行业实现数据智能
在当今这个数字化时代,数据已成为推动各行各业转型升级的关键力量。对于传统行业而言,如何从海量、复杂的数据中挖掘价值,实现“数据智能”,成为了提升竞争力、优化运营效率、创新业务模式的重要途径。本文将探讨数据治理如何助力…...
Spring源码5.2.9 编译踩坑
源码编译踩坑 拉取源码 我这块以5.2.9版本为例 spring-projects/spring-framework at v5.2.9.RELEASE (github.com) 版本分析 确定版本 这块将Gradle升级到了5.6.4 ,我们去官网下载即可 Gradle安装 Gradle | Releases 解压 将其解压到你想存放的文件夹 配置环…...
【前端】如何制作一个自己的网页(5)
上节课我们学习了以下知识: 1、网页中常见的文本元素,如标题元素与段落元素; 2、两个通用属性id与class; 3、元素的两种类型——块级元素与行内元素。 其实除了文本内容外,网页还可以包含图片、超链接等各类信息&a…...
Unity实战案例全解析 类宝可梦回合制的初级案例 源码分析(加了注释和流程图)
这是一个老教程了,但是对于没有写过回合制的初级程序同学来讲是比较适合的,也可以直接看源码,半小时内可以解决战斗 当然,我也没写过回合制系统所以就到处找,思路明白了就能自己修改了 视频教程 - 油管链接 Turn-Bas…...
PaveBench:一个用于路面病害感知与交互式视觉语言分析的多功能基准
作者 Dexiang Li, Zhenning Che, Haijun Zhang∗, Dongliang Zhou∗, Zhao Zhang, Yahong Han ∗ 通讯作者 https://arxiv.org/pdf/2604.02804v1 摘要 路面状况评估对道路安全与养护至关重要。现有研究已取得显著进展。然而,大多数研究侧重于分类、检测和分割等传统…...
如何快速制作Windows 11启动盘:Rufus终极USB启动盘制作指南
如何快速制作Windows 11启动盘:Rufus终极USB启动盘制作指南 【免费下载链接】rufus The Reliable USB Formatting Utility 项目地址: https://gitcode.com/GitHub_Trending/ru/rufus Rufus是一款专业级USB启动盘制作工具,专门用于创建可启动的USB…...
MATLAB代码:考虑绿证交易与综合需求响应的综合能源系统优化调度“注意:引号内文字为返回的标题
MATLAB代码:计及绿证交易和综合需求响应的综合能源系统优化调度 关键词:绿证交易 综合需求响应 综合能源系统 优化调度 仿真平台: matlabyalmipcplex 主要内容:代码针对综合能源系统低碳运行和源荷互动,考虑可再生能源电力消纳责…...
ATPG约束C/T/O/DX傻傻分不清?一张图帮你搞定芯片测试中的cell constraint
ATPG约束C/T/O/DX全解析:芯片测试工程师的速查手册 刚接触ATPG工具的新手工程师们,是否曾被手册里那些神秘的字母组合搞得晕头转向?C、T、O、DX...这些看似简单的缩写背后,隐藏着对测试覆盖率的关键影响。本文将用最直观的方式&a…...
如何用快马AI平台十分钟快速构建你的第一个Android应用原型
最近在尝试用AI工具快速构建Android应用原型,发现InsCode(快马)平台特别适合做这种快速验证。今天就用它来演示如何十分钟搭建一个天气应用原型,整个过程比传统开发方式高效太多了。 明确原型需求 首先梳理出这个天气应用需要三个核心模块:首…...
小白也能玩转零售AI:Ostrakon-VL-8B快速上手,实测效果超预期
小白也能玩转零售AI:Ostrakon-VL-8B快速上手,实测效果超预期 1. 零售AI新选择:Ostrakon-VL-8B简介 1.1 什么是Ostrakon-VL-8B? Ostrakon-VL-8B是一款专为零售和餐饮行业设计的智能视觉理解系统。简单来说,它就像是一…...
OpenClaw健康检查方案:千问3.5-35B-A3B-FP8长期运行维护指南
OpenClaw健康检查方案:千问3.5-35B-A3B-FP8长期运行维护指南 1. 为什么需要健康检查? 去年冬天的一个深夜,我被手机警报惊醒——部署在家庭服务器的OpenClaw千问3.5组合突然停止了响应。检查日志发现是显存泄漏导致进程崩溃,而当…...
BetterJoy控制器配置终极指南:从零开始快速掌握Switch手柄PC使用技巧
BetterJoy控制器配置终极指南:从零开始快速掌握Switch手柄PC使用技巧 【免费下载链接】BetterJoy Allows the Nintendo Switch Pro Controller, Joycons and SNES controller to be used with CEMU, Citra, Dolphin, Yuzu and as generic XInput 项目地址: https:…...
NVIDIA Profile Inspector深度调校指南:释放专业显卡潜能的非游戏应用方案
NVIDIA Profile Inspector深度调校指南:释放专业显卡潜能的非游戏应用方案 【免费下载链接】nvidiaProfileInspector 项目地址: https://gitcode.com/gh_mirrors/nv/nvidiaProfileInspector 在专业计算领域,NVIDIA Profile Inspector不仅是游戏玩…...
5个强力步骤实现旧Mac升级:开源工具OpenCore Legacy Patcher全攻略
5个强力步骤实现旧Mac升级:开源工具OpenCore Legacy Patcher全攻略 【免费下载链接】OpenCore-Legacy-Patcher Experience macOS just like before 项目地址: https://gitcode.com/GitHub_Trending/op/OpenCore-Legacy-Patcher 当你的Mac提示"此Mac不支…...
