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

相关阅读

静态时序分析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.rhkb.cn/news/31962.html

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

相关文章

计算机网络--访问一个网页的全过程

文章目录 访问一个网页的全过程应用层在浏览器输入URL网址http://www.aspxfans.com:8080/news/index.aspboardID5&ID24618&page1#r_70732423通过DNS获取IP地址生成HTTP请求报文应用层最后 传输层传输层处理应用层报文建立TCP连接传输层最后 网络层网络层对TCP报文进行处…

从零开发Chrome广告拦截插件:开发、打包到发布全攻略

从零开发Chrome广告拦截插件:开发、打包到发布全攻略 想打造一个属于自己的Chrome插件,既能拦截烦人的广告,又能优雅地发布到Chrome Web Store?别担心,这篇教程将带你从零开始,动手开发一个功能强大且美观…

AI智能眼镜主控芯片:技术演进与产业生态的深度解析

一、AI智能眼镜的技术挑战与主控芯片核心诉求 AI智能眼镜作为XR(扩展现实)技术的代表产品,其核心矛盾在于性能、功耗与体积的三角平衡。主控芯片作为设备的“大脑”,需在有限空间内实现复杂计算、多模态交互与全天候续航&#xf…

elasticsearch 8.17.3部署文档

elasticsearch 8.17.3部署文档 一、架构拓扑 ip主机名角色192.168.241.151slave1master192.168.241.152slave2node1192.168.241.153slave3node2 二、安装包下载——分别下载上传至所有的节点 下载地址https://artifacts.elastic.co/downloads/elasticsearch/elasticsearch-…

PySide(PyQT),QGraphicsItem的pos()和scenePos()区别

在QGraphicsItem中,pos()和scenePos()是两个重要的方法,用于描述图形项的位置,但它们的含义和用途有所不同。理解它们的区别对于正确操作和管理QGraphicsItem的位置至关重要。 1. pos()方法 • 定义:pos()返回的是QGraphicsItem在…

Linux 进程控制:创建、终止、等待与程序替换全解析

亲爱的读者朋友们😃,此文开启知识盛宴与思想碰撞🎉。 快来参与讨论💬,点赞👍、收藏⭐、分享📤,共创活力社区。 目录 1.进程创建 1-1 fork函数初识​ 1-2 fork函数返回值​ 1-3…

GStreamer —— 2.18、Windows下Qt加载GStreamer库后运行 - “播放教程 6:音频可视化“(附:完整源码)

运行效果 介绍 GStreamer 带有一组将音频转换为视频的元素。他们 可用于科学可视化或为您的音乐增添趣味 player 的本教程展示了: • 如何启用音频可视化 • 如何选择可视化元素 启用音频可视化实际上非常简单。设置相应的标志,当纯音频流为 found&#…

Excel多级联动下拉菜单设置

1.问题描述 现有数据表如下图所示: 该表中包括省、市、县三级目录。 现要将其整理成数据表模板,如下图所示: 要求制作成下拉菜单的形式,且每一级目录的下拉菜单列表要根据上一级目录的内容来确定。 如上图所示,只有…

Web基础:HTML快速入门

HTML基础语法 HTML(超文本标记语言) 是用于创建网页内容的 标记语言,通过定义页面的 结构和内容 来告诉浏览器如何呈现网页。 超文本(Hypertext) 是一种通过 链接(Hyperlinks) 将不同文本、图像…

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

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

PostgreSQL学习笔记:PostgreSQL vs MySQL

PostgreSQL 和 MySQL 都是广泛使用的关系型数据库管理系统,它们有以下一些对比: 一、功能特性 1. 数据类型支持 PostgreSQL:支持丰富的数据类型,包括数组、JSON、JSONB、范围类型、几何类型等。对于复杂数据结构的存储和处理非…

Matlab:矩阵运算篇——矩阵

目录 1.定义 实例——创建矩阵 实例——创建复数矩阵 2.矩阵的生成 实例——M文件矩阵 2.利用文本创建 实例——创建生活用品矩阵 3.创建特殊矩阵 实例——生成特殊矩阵 4.矩阵元素的运算 1.矩阵元素的修改 实例——新矩阵的生成 2.矩阵的变维 实例——矩阵维度修…

从0到1入门Docker

一、快速入门 Docker run命令中的常见参数 -d:让容器后台运行--name:给容器命名(唯一)-e:环境变量-p:宿主机端口映射到容器内端口镜像名称结构:Repository :TAG(镜像名&…

Python的浮点数

在 Python 中,有四种内置数值类型,分别是整型整数类型(int)、布尔类型(bool)、浮点数类型(float)和复数类型(complex)。浮点数默认是双精度类型,占…

从零开始 | C语言基础刷题DAY1

❤个人主页:折枝寄北的博客 DAY1[2025.3.11] 1. 求两个数的较大值2.从键盘输入的两个数的大小关系3.一个整数的奇偶性,请判断4. 考试分数是否通过5.考试成绩是否完美,请判断 1. 求两个数的较大值 题目: 写一个函数求两个整数的较…

[pytest] 配置

这里写目录标题 PytestInitRun3. 根据命令行选项将不同的值传递给测试函数 Report1. 向测试报告标题添加信息2. 分析测试持续时间 pytest --durations33. 增量测试 - 测试步骤--junitxml{report}.xml1. testsuite1.1 在测试套件级别添加属性节点 record_testsuite_property 2. …

物联网商业模式

物联网商业模式是一种战略规划,它融合了物联网技术来创造价值并获取收入。它与传统商业模式的不同之处在于,它利用互联设备来改善运营、提升客户体验以及优化服务项目。在当今由科技驱动的世界中,这种商业模式通过利用实时数据来提供创新服务…

springboot432-基于SpringBoot的酒店管理系统(源码+数据库+纯前后端分离+部署讲解等)

💕💕作者: 爱笑学姐 💕💕个人简介:十年Java,Python美女程序员一枚,精通计算机专业前后端各类框架。 💕💕各类成品Java毕设 。javaweb,ssm&#xf…

Manus AI:开启Agent元年的ChatGPT时刻(附赠资料)

1. Manus AI:全球首个通用Agent Manus AI 是全球首个通用人工智能代理,连接思想与行动,不仅思考,还能交付成果。Manus 擅长处理工作和生活中的各种任务,帮助用户完成一切。其核心理念是“less structure, more intell…

vscode接入DeepSeek 免费送2000 万 Tokens 解决DeepSeek无法充值问题

1. 在vscode中安装插件 Cline 2.打开硅基流动官网 3. 注册并登陆,邀请码 WpcqcXMs 4.登录后新建秘钥 5. 在vscode中配置cline (1) API Provider 选择 OpenAI Compatible ; (2) Base URL设置为 https://api.siliconflow.cn](https://api.siliconfl…