静态时序分析:无法满足的生成时钟(TIM-255警告、UITE-461或PTE-075错误)

news2025/3/12 17:19:14

相关阅读

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


        在阅读本文前,强烈建议首先阅读介绍生成时钟的文章,尤其是其中关于时钟极性和反相的相关内容。

静态时序分析:SDC约束命令create_generated_clock详解(上)https://chenzhang.blog.csdn.net/article/details/134236547        有时在Design Compiler中创建生成时钟并将主时钟设置为传播时钟后,使用update_timing或report_timing命令时会出现如下警告:

Warning: Sense relationship for generated clock (*** with source pin ***) (rise_edge) is not satisfied. (TIM-255)
Warning: Sense relationship for generated clock (*** with source pin ***) (fall_edge) is not satisfied. (TIM-255)

        这个警告在PrimeTime被升级为了如下两类更加细化的错误:

Error: Generated clock 'clk1' has no path to its master clock. (PTE-075)
Error: Generated clock '*** with source pin ***' 'rise_edge' is not satisfiable; zero source latency will be used. (UITE-461)
Error: Generated clock '*** with source pin ***' 'fall_edge' is not satisfiable; zero source latency will be used. (UITE-461)

        首先回顾一下create_generated_clock命令的-source选项,这个选项指明生成时钟是由哪个引脚或端口上的时钟派生的,这个原时钟被称为master clock(注意,这里不一定要master clock的源对象是该引脚或端口,该引脚或端口也不需要是生成时钟源的扇入,唯一的要求是:master clock要能传播至该引脚或端口,这里需要注意的是时钟无法穿过寄存器进行传播),该选项只是用于确定master clock及其极性。

第一种可能

图1 第一种情况

        第一种情况是最简单的,如图1所示。由于创建生成时钟并未要求master clock能传播至生成时钟的源对象,如果使用下面的命令创建时钟和生成时钟,创建时钟时并不会有任何问题,此时的时钟报告如图2所示。

create_clock -period 10 [get_port clk]
create_generated_clock -source [get_port out] -divide_by 2 [get_port clk1]

图2 时钟报告

        但这是有问题的,因为显然master clock源对象并不存在任何时序弧到生成时钟源对象(这里我们避免使用传播这个词,因为时钟无法穿过寄存器进行传播,但计算延迟可以穿过寄存器)。用set_propagated_clock命令将master clock设置为传播时钟后,静态时序分析器会尝试计算master clock到生成时钟的延迟,此时如果使用update_timing或report_timing命令时会出现警告或错误,对于Design Compiler,会出现TIM-255警告;而对于PrimeTime,则会出现PTE-075错误。

第二种可能

图3 第二种情况

        在第二中情况下,时钟路径上存在一个反相器,这就会导致出现时钟极性的翻转,此时-source选项指定的引脚或端口就会产生影响,如果使用端口clk,则使用了正极性的master clock;如果使用引脚U5/Y或引脚out1_reg/CK,则使用了负极性的master clock。

        这里存在一个隐性要求,如果使用了正极性的master clock,则要求从master clock源对象上升沿开始存在时序弧到生成时钟源对象;如果使用了负极性的master clock,则要求从master clock源对象下降沿开始存在时序弧到生成时钟源对象。

        使用下面的命令,使用正极性的master clock。

create_clock -period 10 [get_port clk]
create_generated_clock -source [get_port clk] -divide_by 2 [get_pin out1_reg/Q]

        但从图3中可得,master clock源对象上升沿并不能触发out1_reg。用set_propagated_clock命令将master clock设置为传播时钟后,静态时序分析器会尝试计算master clock到生成时钟的延迟,此时如果使用update_timing或report_timing命令时会出现警告或错误,对于Design Compiler,会出现TIM-255警告;而对于PrimeTime,则会出现UITE-461错误。

        使用下面的命令,使用负极性的master clock,则不会有任何问题。

create_clock -period 10 [get_port clk]
create_generated_clock -source [get_port U5/Y] -divide_by 2 [get_pin out1_reg/Q]

        需要注意的是,以上的讨论仅针对触发器为上升沿触发的情况,如果触发器为下降沿触发,则情况完全相反。 

        顺带一提,report_transitive_fanout -clock_tree命令可以显示时钟树的的传播过程及其中的极性。

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

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

相关文章

VSTO(C#)Excel开发2:Excel对象模型和基本操作

初级代码游戏的专栏介绍与文章目录-CSDN博客 我的github:codetoys,所有代码都将会位于ctfc库中。已经放入库中我会指出在库中的位置。 这些代码大部分以Linux为目标但部分代码是纯C的,可以在任何平台上使用。 源码指引:github源…

途游游戏25届AI算法岗内推

熟悉常用的编程语言,如Python、R等,具有良好的编码和调试能力;对常用的机器学习算法和深度学习框架(如TensorFlow、PyTorch等)有深入理解,对大型语言模型有一定了解,具备模型部署和微调的实践经…

【数据分析大屏】基于Django+Vue汽车销售数据分析可视化大屏(完整系统源码+数据库+开发笔记+详细部署教程+虚拟机分布式启动教程)✅

目录 一、项目背景 二、项目创新点 三、项目功能 四、开发技术介绍 五、项目功能展示 六、权威视频链接 一、项目背景 汽车行业数字化转型加速,销售数据多维分析需求激增。本项目针对传统报表系统交互性弱、实时性差等痛点,基于DjangoVue架构构建…

OpenCV应用:三种图像风格化案例

OpenCV 本身主要用于计算机视觉任务,例如图像处理、边缘检测、物体识别等,虽然它并不直接提供像 Photoshop 或其他艺术设计软件那样的 "风格化" 功能,但你可以通过一些图像处理技术在 OpenCV 中实现不同风格化效果。 1. 卡通化效果…

【Axure资料】110套优质可视化大屏模板+图表组件+科技感元件等

本作品集包含110套高保真可视化大屏模板,以及丰富的图表组件和科技感元件,旨在满足各行业对数据可视化展示的需求。所有模板和组件均基于Axure RP 9软件设计,确保高质量的交互体验和视觉效果。 作品类型:Axure原型模板 兼容版本&…

VanillaVueSvelteReactSolidAngularPreact前端框架/库的简要介绍及其优势

VanillaVueSvelteReactSolidAngularPreact前端框架/库的简要介绍及其优势。以下是这些前端框架/库的简要介绍及其优势: 1. Vanilla 定义:Vanilla 并不是一个框架,而是指 原生 JavaScript(即不使用任何框架或库)。优势…

Oracle 字符类型对比

本文以 Oracle12c 为例 1.主要区别对比 类型存储方式最大长度字符集支持适用场景备注​CHAR(M)固定长度空格填充2000 字节,M 代表字节长度默认字符集固定长度编码实际存储长度固定为定义长度(如 CHAR(10) 始终占 10 字节)​VARCHAR2(M)可变长…

阿里云操作系统控制台实战评测:提升云资源管理与监控效率

文章目录 前言产品介绍操作系统控制台体验阿里云操作系统开通 帮助与总结建议 前言 随着云计算和虚拟化技术的发展,操作系统控制台作为运维管理的核心工具之一,在现代IT环境中发挥着越来越重要的作用。它提供了一种更加直观、高效的方式来管理操作系统&…

Linux本地部署deepseek及SpringBoot集成deepseek

一、ollama安装 本文以linux安装为例(服务器主机ip:192.168.109.210) 1、自动安装(方式一) curl -fsSL https://ollama.com/install.sh | sh 2、手动安装(方式二) (1)下载二进制文件 curl -L https://ollama.com/download/ollama-linux-amd64.tgz -o ollama-linu…

用物理信息神经网络(PINN)解决实际优化问题:全面解析与实践

摘要 本文系统介绍了物理信息神经网络(PINN)在解决实际优化问题中的创新应用。通过将物理定律与神经网络深度融合,PINN在摆的倒立控制、最短时间路径规划及航天器借力飞行轨道设计等复杂任务中展现出显著优势。实验表明,PINN相比…

RabbitMQ之旅(1)

相信自己,终会成功 目录 主流MQ产品 1.kafaka 2.RocketMQ 3.RabbitMQ 在xshell上安装RabbitMQ RabbitMQ七种工作模式 1.简单模式 ​编辑 2.工作队列模式 3.发布/订阅模式 4.路由模式 5.通配符模式 6.RPC模式 AMQP.BasicProperties 设置消息属性的类 7.发布确认模…

HTML-网页介绍

一、网页 1.什么是网页: 网站是指在因特网上根据一定的规则,使用 HTML 等制作的用于展示特定内容相关的网页集合。 网页是网站中的一“页”,通常是 HTML 格式的文件,它要通过浏览器来阅读。 网页是构成网站的基本元素&#xf…

【C#学习笔记03】进制转换与反码、补码、原码

1. 进制转换 计算机中的数据通常以二进制形式存储,但在编程和调试过程中,我们经常需要与十进制、八进制和十六进制打交道。因此,掌握进制转换是C语言学习中的重要一环。 1.1 进制的基本概念 二进制(Binary)&#xff…

python学智能算法(七)|KNN邻近算法

【1】引言 前述学习进程中,已经了解了一些非常经典的智能算法,相关文章包括且不限于: python学智能算法(三)|模拟退火算法:深层分析_模拟退火 动画演示-CSDN博客 python学智能算法(四&#x…

Java数据结构第二十二期:Map与Set的高效应用之道(一)

专栏:Java数据结构秘籍 个人主页:手握风云 目录 一、Map和Set 1.1. 概念 二、搜索树 2.1. 概念 2.2. 查找操作 2.2. 插入操作 2.3. 删除操作 2.4. 性能分析 三、搜索 3.1. 概念及场景 3.2. 模型 四、Map 4.1. Map的说明 3.2. Map的使用 五…

兴达易控modbusTCP转profinet接防撞雷达测试

modbusTCP转profinet接防撞雷达测试 随着工业自动化程度的不断提高,现场设备之间的通信需求日益增长。ModbusTCP作为一种广泛应用的工业通信协议,因其简单、可靠的特点,被广泛应用于各种自动化设备中。而Profinet作为工业以太网的一种&#…

flutter实践:断点调试踩坑

问题:使用VSCode开发flutter,最近突然开始打断点不生效,程序可以attach,修改有日志输出,但是断点处怎么都停不了,程序异常断点会停。 分析:开始误以为是flutterSDK出了问题折腾了一天,后来又怀疑是lauch.j…

STM32——GPIO介绍

GPIO(General-Purpose IO ports,通用输入/输出接口)模块是STM32的外设接口的核心部分,用于感知外界信号(输入模式)和控制外部设备(输出模式),支持多种工作模式和配置选项。 1、GPIO 基本结构 STM32F407 的每个 GPIO 引脚均可独立配置,主要特性包括: 9 组 GPIO 端口…

Photo Works在线图片编辑器:一键修复老照片,轻松焕新记忆

★【概况介绍】 今天突然收到我的朋友电脑出故障了,截图给我,我一看就知道这个是缺少必要的组件引起的故障。结合这个问题,我来谈谈自己的解决思路和方法,希望能够帮助到大家。帮助大家是我最开心的事情。以前只是帮朋友解决问题,没有记录下来,刚刚接触到这个平台,刚好可…

SQLiteStudio:一款免费开源跨平台的SQLite管理工具

目录 1.简介 2.下载与安装 3.实现分析 4.总结 1.简介 SQLiteStudio 是一款专门用于管理 SQLite 数据库的图形化工具,由波兰开发者开发并维护。由于 SQLite 以其轻量级、零配置、嵌入式等特性被广泛应用于各种小型项目、移动应用和桌面应用中,而 SQLi…