静态时序分析:SDC约束命令set_ideal_latency详解

相关阅读

静态时序分析https://blog.csdn.net/weixin_45791458/category_12567571.html?spm=1001.2014.3001.5482


        当使用set_ideal_network命令将当前设计中的一组端口或引脚标记为理想网络源后,理想属性会沿着组合逻辑进行传播,理想网络中的线网和单元的延迟默认为0,可以通过set_ideal_latency命令指定理想网络的延迟(设置了理想网络对象的ideal_latency_max_rise、ideal_latency_max_fall、ideal_latency_max_rise、ideal_latency_max_rise属性)。如果想要移除理想延迟,使用remove_ideal_latency命令。

        建议在阅读本文前,先在下面的博客学习set_ideal_network命令。

静态时序分析:SDC约束命令set_ideal_network详解https://chenzhang.blog.csdn.net/article/details/146082417?spm=1001.2014.3001.5502        本文针对Design Compiler,但该命令同样存在于PrimeTime、IC Compiler等工具中,它们大致相同,略有差别。set_ideal_latency命令的BNF范式(有关BNF范式,可以参考以往文章)为:

set_ideal_latencydelayobject_list[-rise | -fall][-min | -max]//注:该命令的object_list参数一定要放在delay参数后

指定理想延迟值

        指定一个理想的延迟值。它的单位必须和工艺库中指定的负载单位一致,例如工艺库中使用了纳秒,则该参数的单位也为纳秒。

指定理想网络对象

        指定一个理想网络对象列表,包含端口对象、线网对象或叶单元的引脚对象(不可以是层次单元的引脚),如果有多于一个对象,需要使用引号或大括号包围。如果延迟值设置的对象不属于理想网络,则设置无效。如果列表中包含线网对象,理想延迟将添加在驱动该线网的端口/引脚上。

指定上升、下降沿

        -rise选项用于指定延迟值作用于上升沿、-fall选项用于指定延迟值作用于下降沿。如果这两个选项都没有指定,延迟同时作用于上升沿和下降沿,它们不能同时使用。

指定最大、最小条件

        -max选项用于指定延迟值作用于最大延迟分析(一般情况下,如果不开启on_chip_variation,这指的是建立时间检查),-min选项用于指定延迟值作用于最小延迟分析(一般情况下,如果不开启on_chip_variation,这指的是保持时间检查)。如果这两个选项都没有指定,延迟同时作用于最大延迟和最小延迟分析,它们不能同时使用。

理想网络延迟的影响

        理想网络延迟代表了从理想网络源到理想网络终点的延迟,具体参考理想属性的传播规则,所有包含理想网络源的时序路径都会考虑这个延迟并将其记录在对应的Incr列旁用符号^标注。

        多个理想网络延迟可以叠加,这发生在时序路径中定义了多个延迟的情况。

简单使用

        下面以图1为例说明set_ideal_latency命令的使用。

图1 简单的例子

        首先使用create_clock命令以clk端口为源对象创建一个周期为10的时钟。 

create_clock -period 10 [get_port clk]

        接着使用set_input_delay命令在输入端口a、b、c上添加输入延迟,参考时钟为clk,此时经过端口a的时序报告如图2所示(注意,该时序报告使用了-input_pins选项来显示输入引脚)。  

set_input_delay 0.5 {a b c} -clock [get_clock clk]

图1 建立时间时序报告

        然后使用set_ideal_network命令设置端口a为理想网络源,根据理想属性的传播规则,线网a变成了理想线网,此时经过端口a的时序报告如图2所示,其中唯一的不同是线网a的延迟变成了0。 

set_ideal_network [get_port a]

图2 建立时间时序报告

        需要注意的是,此时只有端口a、线网a和引脚u1/A被标记为理想,但理想属性不会穿过单元u1,因为其另一个输入引脚不是理想的。 

         我们可以分别使用下面三个命令,将理想延迟设置在端口a、线网a或引脚u1/A上,相应的时序报告如图3、4、5所示。

set_ideal_latency 0.5 [get_port a]

图3 建立时间时序报告

set_ideal_latency 0.5 [get_net a]

图4 建立时间时序报告

set_ideal_latency 0.5 [get_pin u1/A]

图5 建立时间时序报告

        从上面三个图中可以看出啊,除了理想线网,其他延迟值都是设置在指定的理想网络对象上,出现在该对象的Incr列中,并且使用^进行标记。

        需要注意的是,通过端口b的时序路径并不会包含任何理想对象,因此不含有任何理想延迟。但如果在引脚u1/Y上设置理想延迟呢,是否会出现叠加情况?这是错误的,因为此时引脚u1/Y并不是理想对象,一种方法是使单元u1的所有输入引脚都为理想引脚,这样u1单元就成为理想单元,其输出引脚也就成为理想引脚了,这可以通过将端口b设置为理想网络源来完成。此时经过端口a的时序报告如图6所示。

set_ideal_network [get_port b]
set_ideal_latency 0.6 [get_pin u1/Y] 

图6 建立时间时序报告

        从图6中可以看出,引脚u1/A到引脚u1/Y的单元延迟此时已经不是之前的0.1567221,而是理想延迟0.6,并且两个理想延迟叠加了。

        如果我不将端口b设置为理想网络源,也可以直接设置引脚u1/Y为理想网络源,但此时经过端口a的时序报告如图7所示,这可能会令人疑惑。

set_ideal_network [get_pin u1/Y]
set_ideal_latency 0.6 [get_pin u1/Y] 

图7 建立时间时序报告

        引脚u1/A到引脚u1/Y的单元延迟似乎并不是设置的理想延迟0.6,而是奇怪的0.6217709,这是因为单元u1此时并不是理想单元,所以其单元延迟不为0,而是真实延迟叠加理想延迟。

        这也说明上一种方法中的单元延迟为0.6应该看作是0+0.6,其中0是理想单元的延迟,而0.6是理想延迟,而因为理想延迟恰好设置在引脚u1/Y上,所以进行了累加,读者可以尝试将理想延迟设置在u2/A上,看看此时引脚u1/A到引脚u1/Y的单元延迟是否为0。

        回到正题,如果这么说,那此时的单元延迟应该为之前的0.1567221加上0.6才对,这还是对不上。其实这是因为此时线网and_out为理想线网,其电容为0导致与之前电容不为0得到的单元延迟不同,可以使用report_delay_calculation命令查看单元延迟的计算方法,如图8所示。

图8 单元延迟计算

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

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

相关文章

C语言(队列)

1、队列的原理和作用 1、1 队列的原理 队列的原理其实就像一个管道,如果我们不断的往管道里塞乒乓球,每个乒乓球在管道里就会排列一条队列,先进去的乒乓球会先出来,这个就是队列先进先出的规则 球从左边进去的动作叫入列&#xf…

十七、从0开始卷出一个新项目之瑞萨RZN2L定时器(GPT)+DMA生成PWM的运动控制

一、概述 嵌入式科普(34)通过对比看透DMA的本质 分享瑞萨RZN2L使用DMA生成PWM的运动控制的例程源码 rzn2l必要的外设资源: rzn2l拥有32-bit timer General PWM Timer (GPT) with 18 channels CPU、GPT最高频率400Mhz DMAC0 and DMAC1 8 channels 8 channels 还…

无人机推流/RTMP视频推拉流:EasyDSS无法卸载软件的原因及解决方法

视频推拉流/直播点播EasyDSS平台支持音视频采集、视频推拉流、播放H.265编码视频、存储、分发等视频能力服务,在应用场景中可实现视频直播、点播、转码、管理、录像、检索、时移回看等。此外,平台还支持用户自行上传视频文件,也可将上传的点播…

树莓派5首次开机保姆级教程(无显示器通过VNC连接树莓派桌面)

第一次开机详细步骤 步骤一:树莓派系统烧录1 搜索打开烧录软件“Raspberry Pi Imager”2 选择合适的设备、系统、SD卡3 烧录配置选项 步骤二:SSH远程树莓派1 树莓派插电2 网络连接(有线或无线)3 确定树莓派IP地址 步骤三&#xff…

关于 QPalette设置按钮背景未显示出来 的解决方法

若该文为原创文章,转载请注明原文出处 本文章博客地址:https://hpzwl.blog.csdn.net/article/details/146047054 长沙红胖子Qt(长沙创微智科)博文大全:开发技术集合(包含Qt实用技术、树莓派、三维、OpenCV…

文献分享: ConstBERT固定数目向量编码文档

😂图放这了,大道至简的 idea \text{idea} idea不愧是 ECIR \text{ECIR} ECIR 👉原论文 1. ConstBERT \textbf{1. ConstBERT} 1. ConstBERT的原理 1️⃣模型的改进点:相较于 ColBERT \text{ColBERT} ColBERT为每个 Token \text{Tok…

DeepSeek 医疗大模型微调实战讨论版(第一部分)

DeepSeek医疗大模型微调实战指南第一部分 DeepSeek 作为一款具有独特优势的大模型,在医疗领域展现出了巨大的应用潜力。它采用了先进的混合专家架构(MoE),能够根据输入数据的特性选择性激活部分专家,避免了不必要的计算,极大地提高了计算效率和模型精度 。这种架构使得 …

使用marked.min.js编写Markdown文档页面,可做知识库、技术文档、使用文档、教程文档等!

摘要 marked.min.js 是一个高效的 JavaScript Markdown 解析器,它能够将 Markdown 格式的文本转换为 HTML。作为一个轻量级的库,marked 在处理大规模的 Markdown 内容时表现出色,并且具备广泛的兼容性和可定制性。 本文将深入探讨如何使用 …

智慧城市智慧社区项目建设方案

一、项目背景 在全球化进程加速的今天,城市化问题日益凸显,传统的城市管理模式已难以满足现代社会对高效、智能化管理的需求。智慧城市和智慧社区的概念应运而生,其核心目标是通过信息技术手段,提升城市资源的利用效率&#xff0…

中性点直接接地电网接地故障Simulink仿真

1.模型简介 本仿真模型基于MATLAB/Simulink(版本MATLAB 2017Ra)软件。建议采用matlab2017 Ra及以上版本打开。(若需要其他版本可联系代为转换) 2.系统仿真图: 3.中性点直接接地电网接地故障基本概念(本仿…

IDEA Commit 模态提交界面关闭VS开启对比

IDEA Commit 模态提交界面关闭VS开启对比 前言开启模态提交界面优点快捷且灵活的选择需要commit文件显示文件修改内容多(主观) 缺点在模态提交界面选择文件,临时关闭模态框重新打开会重置选择的commit文件 关闭模态提交界面优点允许在commit选择文件时查看其它没有修…

Docker基础篇——Ubuntu下Docker安装

大家好我是木木,在当今快速发展的云计算与云原生时代,容器化技术蓬勃兴起,Docker 作为实现容器化的主流工具之一,为开发者和运维人员带来了极大的便捷 。下面我们一起进行Docker安装。 Docker的官方Ubuntu安装文档,如…

3D数字化:家居行业转型升级的关键驱动力

在科技日新月异的今天,家居行业正经历着一场前所未有的变革。从传统的线下实体店铺到线上电商平台的兴起,再到如今3D数字化营销的广泛应用,消费者的购物体验正在发生翻天覆地的变化。3D数字化营销不仅让购物变得更加智能和便捷,还…

【水调歌头·排序篇】--体验快排与归并的奥妙

快排算法篇 一、快排1 .1颜色分类1.2数组中第k个最大元素 二、归并排序2.1排序数组2.2翻转对2.3交换逆序对总数 一、快排 使用快排的思想就是 将一段区域分为3段,在选取一个基准元素key。让这三段分别小于key,等于key,大于key. 1 .1颜色分类 颜色分类 …

【CV001】归一化互相关模板匹配matlab实现

Normalized Cross-Correlation (NCC) 的原理 Normalized Cross-Correlation (NCC) 是一种衡量两个信号或图像之间相似度的度量方法。它在图像处理、计算机视觉和信号处理等领域应用广泛,特别是在模板匹配(template matching)中。NCC 的目标是…

基于DeepSeek实现PDF嵌入SVG图片无损放大

1. PDF中效果图 2. 询问Deepseek进行代码书写,不断优化后结果 /*** SVG工具类,用于生成价格趋势的SVG图表*/ public class SvgUtils {// SVG画布尺寸private static final int WIDTH 800;private static final int HEIGHT 500;private static final i…

linyu-im

linyu-mini-server&#xff1a;springboot vue mysql。一款非常漂亮的linyu-im&#xff0c;它的mini版本&#xff0c;仅使用了mysql数据库 1、数据库有sqlite和mysql&#xff0c;这里修改为mysql 2、User类的badge徽章字段中使用了JacksonTypeHandler转为字符串为List<S…

提升数据库性能与可靠性:深入解析MySQL主从复制

在当今数据驱动的世界中&#xff0c;无论是初创公司还是大型企业&#xff0c;都面临着如何高效管理和保护其宝贵数据的挑战。随着业务的增长和用户需求的增加&#xff0c;单点数据库往往难以承受日益增长的负载压力&#xff0c;这就需要一种更加灵活、可靠的解决方案来确保系统…

【CVPR2025】 EVSSM:用状态空间模型高效去模糊

Efficient Visual State Space Model for Image Deblurring 论文信息 题目&#xff1a; Efficient Visual State Space Model for Image Deblurring 用于图像去模糊的高效视觉状态空间模型 源码&#xff1a;https://github.com/kkkls/EVSSM 创新点 提出了高效视觉状态空间模型…

Ubuntu虚拟机中使用QEMU搭建ARM64环境

Ubuntu虚拟机中使用QEMU搭建ARM64环境 通过本实验学习如何编译一个 ARM64 版本的内核 image&#xff0c;并且在QEMU 上运行起来。 文章目录 Ubuntu虚拟机中使用QEMU搭建ARM64环境一、安装aarch64交叉编译工具二、安装QEMU三、制作根文件系统1、根文件系统简介2、BusyBox构建根…