vivado时序方法检查1

TIMING-1 时钟修改块上的时钟波形无效
<cell_type> 输出 <pin_name> 上指定的时钟 <clock_name> 的时钟波形无效 与时钟修改块 (CMB) 设置不匹配。该时钟波形为 <VALUE> 。期望的波形为 <VALUE>
描述
Vivado Design Suite 会根据 CMB 设置和传入主时钟的特性 CMB 输出上自动衍生时钟。如果用户在 CMB 输出上定义生成时钟, 那么 Vivado 不会在同一定义点 信号线或管脚 上自动衍生生成时钟。 DRC 警告报告称用户定义的生成时钟与 Vivado 将自动创建的自动衍生时钟不匹配。这可能导致硬件故障 因为设计的时序约束与器件上所发生的约束不匹配。
解决方案
如果无需用户定义的生成时钟 请移除约束并改为使用自动衍生时钟。如果需要约束 请验证生成时钟约束与自动衍生时钟波形是否匹配, 或者修改 CMB 属性以与期望的时钟波形相匹配。如果要强制设置自动衍生时钟的名称 建议使用仅定义 -name 选项的 create_generated_clock 约束以及定义该时钟的对象 通常为 CMB 的输出管脚 的名称。
示例
在下图中 MMCM 实例管脚 CLKOUT0 上定义了 create_generated_clock 约束 但此约束与 Vivado 从MMCM 属性设置生成的自动衍生波形不匹配。如需仅对自动衍生时钟进行重命名, 请在约束文件中的主时钟定义后使用以下约束
create_generated_clock -name clkName [get_pins clk_gen_i0/clk_core_i0/inst/
mmcme3_adv_inst/CLKOUT0]
TIMING-2 基准时钟源管脚无效
在错误的管脚 <pin_name> 上创建了基准时钟 <clock_name> 。建议仅在适当的时钟根 不含时序弧的输入端口或原语输出管脚) 上创建基准时钟。
描述
基准时钟必须在时钟树的源时钟上定义。例如 源时钟可能是设计的输入端口。如果在逻辑路径中间定义基准时钟 时序分析准确性可能降低, 因为它会忽略位于基准时钟源点之前的插入延迟 从而导致无法正确执行偏差计算。因此 最好不要在内部驱动程序管脚上创建基准时钟。否则可能导致硬件故障。
解决方案
修改 create_clock 约束以使用实际时钟树源。
示例
在下图中 基准时钟定义 create_clock 约束布局在 IBUFCTRL 实例的输出管脚上。如果使用 clk_pin_p 时钟对输入或输出端口路径进行定时, 则裕量将不准确 因为将缺失时钟树插入延迟部分。差分输入缓冲器的基准时钟定义应布局在顶层端口 clk_pin_p 上。
TIMING-3 时钟修改块上的基准时钟无效
在时钟修改块的输出管脚或信号线 <pin/net_name> 上会创建基准时钟 <clock_name>
描述
Vivado 会根据 CMB 设置和传入主时钟的特性 CMB 输出上自动衍生时钟。如果用户在 CMB 输出上定义基准时钟, 那么 Vivado 不会在相同输出上自动衍生时钟。此 DRC 报告显示在 CMB 的输出上已创建基准时钟 导致与传入时钟之间的联系中断, 并阻碍时钟插入延迟的正常计算。不建议如此行为 因为它可能导致时序分析不准确和硬件行为错误。
解决方案
修改约束以移除 CMB 输出上的 create_clock 约束。如需强制设置自动生成时钟的名称 AMD 建议使用create_generated_clock 约束 其中仅含 -name 选项和 CMB 输出管脚。
示例
在下图中 MMCM 实例管脚 CLKOUT0 上已定义 create_clock 约束。这将覆盖由 Vivado 创建的自动衍生时钟, 导致与传入时钟之间的所有关系丢失。如需仅对自动衍生时钟进行重命名, 请在约束文件中的主时钟定义后使用以下约束
create_generated_clock -name clkName [get_pins clk_gen_i0/clk_core_i0/inst/
mmcme3_adv_inst/CLKOUT0]

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

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

相关文章

JavaScript 原生对象

数组对象 构造函数 Array(); 方法 isArray(); 判断某个值是不是一个数组from(); 将一个类数组的形式转换为一个真正的数组of(); 通过参数得到一个数组 实例 Array.prototype();定义的方法 名称作用参数返回值push在数组的末尾添加一个或者多个新值一个或多个值添加之后数组的…

推荐6款本周 火火火火 的开源项目

本周 GitHub项目圈选 节选自微博、知乎、掘金等社区。 &#x1f525;&#x1f525;&#x1f525;本周推荐的开源项目是&#xff1a; kopia 日常备份工具 screenshot-to-code 截屏生成代码 MiniSearch 全文搜索 clone-voice 声音克隆 NvChad 高颜值终端 DB-GPT-Hub 文本到…

Java中子类都继承父类的什么?

1.构造方法 构造方法不可以被继承的&#xff0c;为什么呢&#xff1f;应为名称的定义&#xff0c;构造方法是一类名称与类名一致&#xff0c;无返回值和类型修饰的一种。所以如果子类继承父类的构造方法的话&#xff0c;那么就违背了构造方法的规定。 2.成员属性 成员属性是…

数据结构和算法专题---3、失效算法与应用

本章我们会对失效算法做个简单介绍&#xff0c;包括常用的失效算法&#xff08;先来先淘汰&#xff08;FIFO&#xff09;、最久未用淘汰&#xff08;LRU&#xff09;、最近最少使用&#xff08;LFU&#xff09;&#xff09;的概述、实现方式、典型场景做个说明。 什么是失效算…

Linux下的java环境搭建

1&#xff0c;安装jdk 上传linux使用的jdk到/opt目录下 解压tar -zxvf文件 配置环境变量 vim /etc/profile 在文件中添加 export JAVA_HOME/opt/jdk8 export PATH$PATH:$JAVA_HOME/bin 使文件生效 source /etc/profile 2,安装tomcat 将tomcat包解压&#xff0c;进入bi…

使用gunicorn部署django项目时,发现静态文件加载失败问题

本文主要介绍如何配置Niginx加载Django的静态资源文件&#xff0c;也就是Static 1、首先需要将Django项目中的Settings.py 文件中的两个参数做以下设置&#xff1a; STATIC_URL /static/ STATIC_ROOT os.path.join(BASE_DIR, static) 2、将 STATICFILES_DIRS [ os.p…

上午面了个腾讯拿 38K 出来的,让我见识到了基础的天花板

今年的校招基本已经进入大规模的开奖季了&#xff0c;很多小伙伴收获不错&#xff0c;拿到了心仪的 offer。 各大论坛和社区里也看见不少小伙伴慷慨地分享了常见的面试题和八股文&#xff0c;为此咱这里也统一做一次大整理和大归类&#xff0c;这也算是划重点了。 俗话说得好…

智能优化算法应用:基于金鹰算法无线传感器网络(WSN)覆盖优化 - 附代码

智能优化算法应用&#xff1a;基于金鹰算法无线传感器网络(WSN)覆盖优化 - 附代码 文章目录 智能优化算法应用&#xff1a;基于金鹰算法无线传感器网络(WSN)覆盖优化 - 附代码1.无线传感网络节点模型2.覆盖数学模型及分析3.金鹰算法4.实验参数设定5.算法结果6.参考文献7.MATLAB…

混音编曲软件tudio One 6.5.1 保姆级安装教程

根据软件大数据显示De-Esser驯服人声嘶嘶声和其他高频声音&#xff0c;和其他 Studio One 中新的去实体插件一样高效且直观易用&#xff0c;使用“收听”按钮查找有问题的频率&#xff0c;然后使用相关的旋钮和 S-Mon 功能拨入 S-Reduce 量即可。实际上我们可以这样讲工作流和协…

【深度学习笔记】08 欠拟合和过拟合

08 欠拟合和过拟合 生成数据集对模型进行训练和测试三阶多项式函数拟合&#xff08;正常&#xff09;线性函数拟合&#xff08;欠拟合&#xff09;高阶多项式函数拟合&#xff08;过拟合&#xff09; import math import numpy as np import torch from torch import nn from d…

国产Euler(欧拉)系统安装docker

国产的真™难用呀 生态又差还不开源 血泪经验 解压Docker安装包。 tar zxf docker-19.03.10.tgz 将解压后目录中的文件移动到“/usr/bin”下。 cp docker/* /usr/bin配置docker.service文件。 编辑docker.service文件。 vim /usr/lib/systemd/system/docker.service添加以…

公有云迁移研究——AWS Translate

大纲 1 什么是Translate2 Aws Translate是怎么运作的3 Aws Translate和Google Translate的区别4 迁移任务4.1 迁移原因 5 Aws Translate的Go demo6 迁移中遇到的问题6.1 账号和权限问题&#xff1a;6.2 小语种 1 什么是Translate Translate是一种文本翻译服务&#xff0c;它使…

常用到的设计模式(1)

单例模式 所谓单例模式&#xff0c;就是确保一个类仅有一个实例&#xff0c;并提供一个访问它的全局访问点。单例模式又分为饿汉式单例和懒汉式单例。 饿汉式 第一次引用该类的时候就创建对象实例&#xff0c;而不管实际是否需要创建。 public class Test {private static …

linux 编译安装libzmq

准备工作 sudo apt-get install autoconf automake libtool 下载源码 git clone https://github.com/zeromq/libzmq.git 编译 cd libzmq ./autogen.sh ./configure && make check sudo make install sudo ldconfig测试 cd tests ./test_msg_init结果&#xff1a;…

xcode opencv

1、导入报错 Undefined symbols: linker command failed with exit code 1 (use -v to see invocation) 直接添加如下图内容即可

<JavaEE> synchronized关键字和锁机制 -- 锁的特点、锁的使用、锁竞争和死锁、死锁的解决方法

目录 一、synchronized 关键字简介 二、synchronized 的特点 -- 互斥 三、synchronized 的特点 -- 可重入 四、synchronized 的使用示例 4.1 修饰代码块 - 锁任意实例 4.2 修饰代码块 - 锁当前实例 4.3 修饰普通方法 - 锁方法所在实例 4.4 修饰代码块 - 锁指定类对象 …

【从零开始学习JVM | 第二篇】字节码文件的组成

前言&#xff1a; 字节码作为JAVA跨平台的主要原因&#xff0c;熟练的掌握JAVA字节码文件的组成可以帮助我们解决项目的各种问题&#xff0c;并且在面试中&#xff0c;关于字节码部分的内容却是一大考点和难点&#xff0c;因此我们在这里穿插讲解一下字节码文件的组成。 目录 …

16、观察者模式(Observer Pattern)

观察者&#xff08;Observer Pattern&#xff09; 定义对象间的一种一对多的依赖关系&#xff0c;当一个对象的状态发生改变时&#xff0c;所有依赖于它的对象都得到通知并被自动更新。主要解决一个对象状态改变给其他对象通知的问题&#xff0c;而且要考虑到易用和低耦合&…

关于回收套接字和释放上下文的顺序

关于回收套接字和释放上下文的顺序 回收套接字和释放上下文的顺序是为了确保正确的资源管理和避免悬空指针或内存泄漏等问题。顺序如下&#xff1a; 套接字的回收&#xff1a;在网络编程中&#xff0c;使用套接字进行通信后&#xff0c;应该及时关闭套接字以释放系统资源。这可…

你好!哈希表【JAVA】

1.初识&#x1f3b6;&#x1f3b6;&#x1f3b6; 它基本上是由一个数组和一个哈希函数组成的。哈希函数将每个键映射到数组的特定索引位置&#xff0c;这个位置被称为哈希码。当我们需要查找一个键时&#xff0c;哈希函数会计算其哈希码并立即返回结果&#xff0c;因此我们可以…