数字后端实现静态时序分析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,可以拆地址和数据位

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

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

相关文章

RabbitMQ 发布确认模式

RabbitMQ 发布确认模式 一、原理 RabbitMQ 的发布确认模式(Publisher Confirms)是一种机制,用于确保消息在被 RabbitMQ 服务器成功接收后,发布者能够获得确认。这一机制在高可用性和可靠性场景下尤为重要,能够有效防止…

数据结构——顺序表的基本操作

前言 介绍 🍃数据结构专区:数据结构 参考 该部分知识参考于《数据结构(C语言版 第2版)》24~28页 补充 此处的顺序表创建是课本中采用了定义方法为SqList Q来创建,并没有使用顺序表指针的方法,具体两个…

TCL中环开工率下滑,员工集体要求解约赔偿

“ 尽管中环的市占率有所提高,但是高开工率也带来了巨量硅片库存,严重拖累了公司业绩。 ” 转载:科技新知 原创 作者丨依蔓 编辑丨蕨影 因大幅下调开工率,光伏硅片龙头TCL中环疑似遭遇员工“离职潮”? 近日&…

[云] 创建 Docker 镜像,将其推送到 Amazon Elastic Container Registry (ECR),并对已部署的应用程序进行负载测试

在此作业中,您将学习如何使用 AWS Lambda 和 API Gateway 将机器学习模型部署为无服务器应用程序。您将创建 Docker 镜像,将其推送到 Amazon Elastic Container Registry (ECR),并对已部署的应用程序进行负载测试。此外,您还将分析…

【KEIL那些事 4】CMSIS缺失!!!!导致不能编译!!!!软件自带芯片下载缓慢!!!!!!快速下载芯片包!!!!!

安装了keli发现emmm,CMSIS缺失!!!!不能编译,,,自带下载芯片缓慢,,,官网下载emmm,竟然不带动的!!!&…

数据库集群

主从复制 作用: 1.做数据的热备,作为后备数据库,主数据库服务器故障后,可切换到从数据库继续工作,避免数据丢失。 2.架构的扩展。业务量越来越大,I/O访问频率过高,单机无法满足,此…

基于node.js宜家宜业物业管理系统【附源码】

基于node.js宜家宜业物业管理系统 效果如下: 系统首页界面 业主登录界面 停车位页面 小区公告页面 管理员登录界面 管理员功能界面 物业管理员管理界面 缴费信息管理界面 物业管理员功能界面 研究背景 近年来互联网技术飞速发展,给人们的生活带来了极…

《云计算网络技术与应用》实训6-1:配置KVM虚拟机使用NAT网络

任务1、计算节点基础环境准备 1. 使用VMware安装CentOS 7虚拟机,安装时记得开启CPU虚拟化,命名为“KVMC6”。 2. (网卡配置和之前的一样,都用100网段)网关设置为192.168.100.1,地址段为192.168.100.10-25…

excel将文本型数字转变为数值型数字

问题导入:复制数字到excel表格中,但是表格中数字显示为文本,且无法通过常规方法转变为可进行四则运算的数字。例如:在i3单元格中输入常规的转换方法仍然报错。在j3单元格中输入ISTEXT(H3)显示h3单元格确实为文本。 解决办法&#…

Chrome DevTools 三: Performance 性能面板扩展—— 性能优化

Performance 性能 (一)性能指标 首次内容绘制 (First Contentful Paint,FCP): 任意内容在页面上完成渲染的时间 最大内容绘制 (Largest Contentful Paint,LCP): 最大内容在页面上完成渲染的时间 第一字节…

【经管】比特币与以太坊历史价格数据集(2014.1-2024.5)

一、数据介绍 数据名称:比特币与以太坊历史价格数据集 频率:逐日 时间范围: BTC:2014/9/18-2024/5/1 ETH:2017/11/10-2024/5/1 数据格式:面板数据 二、指标说明 共计7个指标:Date、Open…

天润融通大模型文本机器人,让客服迈入“无人化”的第一步

明明很着急,但客服机器人总是答非所问? 相信很多人都经历过这样的尴尬时刻,问题的关键,是传统文本机器人还在通过关键词和基础语义分析回答问题。 △传统机器人处理问题流程示意 要知道在客户咨询与服务过程中,用户的…

架构师备考-背诵精华(系统架构评估)

系统架构评估是在对架构分析、评估的基础上,对架构策略的选取进行决策。它利用数学或逻辑分析技术,针对系统的一致性、正确性、质量属性、规划结果等不同方面,提供描述性、预测性和指令性的分析结果。 重要概念 敏感点:敏感点是…

Linux系统基础-进程间通信(4)_模拟实现进程池

个人主页:C忠实粉丝 欢迎 点赞👍 收藏✨ 留言✉ 加关注💓本文由 C忠实粉丝 原创 Linux系统基础-进程间通信(4)_模拟实现进程池 收录于专栏[Linux学习] 本专栏旨在分享学习Linux的一点学习笔记,欢迎大家在评论区交流讨论&#x1f4…

Claude 3.5 Sonnent(new)发布,编程能力反超o1

目录 1、近期OpenAI的重磅更新2、Claude 3.5深夜迎来重磅升级3、为什么这么大的更新却连模型版本号都不改一下?4、升级后的Claude 3.5 Sonnet:不只是“更快更强”5、Claude 3.5 Sonnet(new)适配更多场景(1)…

[实时计算flink]作业开发上线流程及规范

随着数据量的爆炸性增长和业务需求的日益复杂化,企业对实时数据处理能力的需求愈发迫切。Flink作为一种强大的流处理框架已经成为实时计算标准,其规范化的开发和运维流程对于企业提升数据处理效率、确保系统稳定性至关重要,旨在提升研发效率&…

力扣困难题汇总(16道)

题4(困难): 思路: 找两数组中位数,这个看起来简单,顺手反应就是数第(mn)/2个,这个难在要求时间复杂度为log(mn),所以不能这样搞,我的思路是:每次切割长度为较…

pdf怎么合并在一起?pdf合并的简单方法

pdf怎么合并在一起?在现代办公和学习环境中,PDF(便携式文档格式)文件因其兼容性强、易于分享和保持格式稳定而广泛应用。然而,在日常工作中,我们经常会遇到需要处理多个PDF文件的情况,例如&…

【uniapp】实现触底加载数据

前言:实现界面触底数据加载。后端接口得支持翻页传参(本案例使用django) 1、后端接口 1.1 封装翻页公共方法standardPagination.py # -*- coding: utf-8 -*- # Time : 2024/10/15 13:15 # Author : super # File : standardPaginat…

[Hbase]一 HBase基础

1. HBase简介 1.1 HBase定义 HBase数据模型的关键在于 稀疏、分布式、多维、排序 的映射。其中映射 map指代非关系型数据库的 key-Value结构。 1.2 HBase数据模型 1)Name Space 命名空间,类似于关系型数据库的database 概念,每个命名空间下有多个表。HBase 两个自…