vivado 错误路径

错误路径

假路径是指拓扑上存在于设计中的路径,但有以下两种情况之一:(1)不起作用;或(2)不需要定时。因此,在定时期间应忽略错误路径分析。

错误路径的示例包括:

•添加了双同步器逻辑的时钟域交叉

•通电时可能写入一次的寄存器

•重置或测试逻辑

•忽略异步分布式的写入和异步读取时钟之间的路径RAM(如适用)

下图显示了一个非功能路径的示例。因为两个多路复用器都是由相同的选择信号驱动,从Q到D的路径不存在,应定义为错误路径。

从时序分析中删除错误路径的原因包括:

•减少运行时间:当从时序分析中删除错误路径时,该工具不需要对那些非功能路径进行计时或优化。具有非功能路径对定时和优化引擎可见可能导致大的运行时损失。

•提高结果质量(QOR):消除错误路径可以大大提高结果(QOR)。综合、放置和优化设计的质量大大提高受到工具试图解决的时间问题的影响。

如果某些非功能路径存在时间冲突,该工具可能会尝试修复这些路径而不是在真正的功能路径上工作。不仅设计可能不必要增加了大小(如逻辑克隆),但该工具可能会跳过修复实际问题,因为非功能路径具有更大的违规行为,会掩盖其他实际违规行为。最佳结果总是通过一组现实的约束来实现。

错误路径是使用XDC命令set_False_path在工具内部定义的:

set_false_path [-setup] [-hold] [-from <node_list>] [-to <node_list>] \ [-
through <node_list>]

可以对命令使用以下附加选项来微调路径规范。

有关所有支持的命令行选项的详细信息,请参阅Vivado Design SuiteTcl命令参考指南(UG835)。

•-from选项的节点列表应该是有效起点的列表。有效的起点是时钟对象、顺序元件的时钟引脚或输入(或输出)主端口。多个可以提供元件。

•-to选项的节点列表应该是有效端点的列表。有效的终结点是时钟对象、输出(或inout)主端口或顺序元件输入数据引脚。倍数可以提供元件。

•直通选项的节点列表应该是有效引脚、端口或网络的列表。可以提供多个元件。

through选项的顺序很重要。请参阅以下示例。例如以下两个命令不同:

set_false_path -through cell1/pin1 -through cell2/pin2
set_false_path -through cell2/pin2 -through cell1/pin1

以下示例删除了从重置端口到所有寄存器的定时路径:

set_false_path -from [get_port reset] -to [all_registers]

以下示例禁用两个异步时钟域之间的定时路径(用于例如从时钟CLKA到时钟CLKB):

set_false_path -from [get_clocks CLKA] -to [get_clocks CLKB]

前面的例子禁用了从时钟CLKA到时钟CLKB的路径。来自时钟CLKB的路径至时钟CLKA不被禁用。因此,禁用两个时钟之间的所有路径任一方向上的域都需要两个set_false_path命令:

set_false_path -from [get_clocks CLKA] -to [get_clocks CLKB]
set_false_path -from [get_clocks CLKB] -to [get_clocks CLKA]
set_clock_groups -group CLKA -group CLKB

在图81所示的非功能路径示例中,可以使用-through选项,而不是使用-from或-to选项。见图82。

这确保了无需选择通过上述路径的所有路径以查找起点和终点的特定模式。

set_false_path -through [get_pins MUX1/a0] -through [get_pins MUX2/a1]
另一个常见的例子是异步双端口分布式RAM。文字操作与时钟RAM同步,但读取操作可以是异步的在设计允许的情况下。在这种情况下,可以安全地将写入和读取时钟。

有两种方法可以做到这一点:

•定义从RAM之前的写入寄存器到RAM之后的寄存器的错误路径接收所述读取时钟:

set_false_path -from [get_cells <write_registers>] -to [get_cells
<read_registers>]

关于Vivado Design Suite示例项目WAVEGen(HDL):

set_false_path -from [get_cells -hier -filter {NAME =~
*gntv_or_sync_fifo.gl0.wr*reg[*]}] -to [get_cells -hier -filter {NAME=~
*gntv_or_sync_fifo.mem*gpr1.dout_i_reg[*]}]

•定义从RAM引脚WE开始的错误路径

set_false_path -from [get_cells -hier -filter {REF_NAME =~ RAM* &&
IS_SEQUENTIAL && NAME =~ <PATTERN_FOR_DISTRIBUTED_RAMS>}]

关于Vivado Design Suite示例项目WAVEGen(HDL):

set_false_path -from [get_cells -hier -filter {REF_NAME =~ RAM* &&
IS_SEQUENTIAL && NAME =~ *char_fifo*}]

下图说明了WAVE(HDL)中分布式RAM的驱动方式示例项目。

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

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

相关文章

渗透测试——1.4主动扫描

主动扫描是别人可以发觉的情报收集 一、nmap的使用 1.nmap<目标主机>:最常用的扫描方式 有nmap版本、扫描时间 “host is up”表示目标主机处于开机状态、“not shown”未开放端口 有四个端口是开的&#xff08;135.139.445.912&#xff09; 2.nmap -p<端口范围…

ASP.NET Core 使用Log4Net写文本日志和数据库日志

1&#xff0c;先安装依赖 2&#xff0c;在项目目录新建Log4Net.config配置文件&#xff0c;必须要安装System.Data.SqlClient&#xff0c;不然日志存不进去数据库 <?xml version"1.0" encoding"utf-8"?> <log4net><!-- Define some outpu…

Spring实战系列(三)了解容器的基本实现

我们可以通过GitHub或者码云下载spring-framework源码&#xff0c;这边是基于5.X版本进行下载学习的。 地址&#xff1a;https://github.com/spring-projects/spring-framework 分析Spring源码是非常一件的难的事情&#xff0c;只能一步步学习&#xff0c;一步步记录。 前面在…

LeetCode day31

LeetCode day31 被创新实践的机器学习大作业和数据库作业折磨力&#xff0c;临近期末&#xff0c;各种大作业以及ddl&#xff0c;搞的咱只能偶尔刷刷力扣&#xff0c;但是csdn就挺难去发布了,大家期末也好好复习过个好年啦&#xff0c;O(∩_∩)O 409. 最长回文串 给定一个包含…

Unity中Shader裁剪空间推导(在Shader中实现)

文章目录 前言一、在Shader中&#xff0c;手动把正交相机的坐标转化到裁剪空间1、我们在属性面板定义一个变量&#xff0c;用于传入摄像机的信息2、获取h、r、w、n、f3、获取OpenGL下的转化矩阵4、 获取DirectX下的转化矩阵5、手动将观察空间下的坐标转换到裁剪空间下6、这里为…

MR实战:统计总分与平均分

文章目录 一、实战概述二、提出任务三、完成任务&#xff08;一&#xff09;准备数据1、在虚拟机上创建文本文件2、上传文件到HDFS指定目录 &#xff08;二&#xff09;实现步骤1、创建Maven项目2、添加相关依赖3、创建日志属性文件4、创建成绩映射器类5、创建成绩驱动器类6、启…

JavaScript基础知识点总结:从零开始学习JavaScript(三)

如果大家感感兴趣也可以去看&#xff1a; &#x1f389;博客主页&#xff1a;阿猫的故乡 &#x1f389;系列专栏&#xff1a;JavaScript专题栏 &#x1f389;ajax专栏&#xff1a;ajax知识点 &#x1f389;欢迎关注&#xff1a;&#x1f44d;点赞&#x1f64c;收藏✍️留言 学习…

2024重新洗牌“IT界”,是谁给它的底气?

​在2023年下半年" IT界"最引发程序员关注的热点话题就是鸿蒙了。 就今年9月25日&#xff0c;从华为发布会宣布明年2024将推出HarmonyOS NEXT版本后&#xff0c;这意味着”鸿蒙不再与android兼容“。鸿蒙将与安卓、ios形成”三足鼎立“之势。 鸿蒙激起千层浪 12月…

2023安洵杯-秦岭防御军wp

reverse 感觉有点点简单## import base64 def ba64_decode(str1_1):mapp "4KBbSzwWClkZ2gsr1qAQu0FtxOm6/iVcJHPY9GNp7EaRoDf8UvIjnL5MydTX3eh"data_1 [0] * 4flag_1 [0] * 3for i in range(32, 127):for y in range(32, 127):for k in range(32, 127):flag_1[0]…

【RocketMQ笔记02】安装RocketMQ可视化工具rocketmq-dashboard

这篇文章&#xff0c;主要介绍如何安装RocketMQ可视化工具rocketmq-dashboard。 目录 一、RocketMQ可视化界面 1.1、下载rocketmq-dashboard 1.2、修改配置文件 1.3、打包工程 1.4、启动rocketmq-dashboard 一、RocketMQ可视化界面 1.1、下载rocketmq-dashboard rocketm…

TYPE C 接口知识

1、Type C 概述 Type-C口有4对TX/RX分线&#xff0c;2对USBD/D-&#xff0c;一对SBU&#xff0c;2个CC&#xff0c;另外还有4个VBUS和4个地线。 当Type-C接口仅用作传输DP信号时&#xff0c;则可利用4对TX/RX&#xff0c;从而实现4Lane传输&#xff0c;这种模式称为DPonly模式…

【Leetcode】重排链表、旋转链表、反转链表||

目录 &#x1f4a1;重排链表 题目描述 方法一&#xff1a; 方法二&#xff1a; &#x1f4a1;旋转链表 题目描述 方法&#xff1a; &#x1f4a1;反转链表|| 题目描述 方法&#xff1a; &#x1f4a1;总结 &#x1f4a1;重排链表 题目描述 给定一个单链表 L 的头节…

软件测试/测试开发丨Python 装饰器常见的报错信息、原因和解决方案

Python 装饰器简介 装饰器&#xff08;Decorator&#xff09;是 Python 非常实用的一个语法糖功能。装饰器本质是一种返回值也是函数的函数&#xff0c;可以称之为“函数的函数”。其目的是在不对现有函数进行修改的情况下&#xff0c;实现额外的功能。 在 Python 中&#xf…

ueditor富文本编辑器中图片上传地址配置以及抓取远程图片地址的配置

一&#xff1a;图片上传保存地址配置 打开文件ueditor.php,找到imagePathFormat进行修改即可 一&#xff1a;远程抓取图片配置 打开文件ueditor.config.js,找到catchRemoteImageEnable&#xff0c;取消注释即可

2024年元旦节放假通知

致尊敬的客户以及全体同仁&#xff1a; 旧岁已展千重锦&#xff0c;新年再进百尺竿。在这辞旧迎新之际&#xff0c;易天光通信提前祝您元旦快乐&#xff01;生意兴隆&#xff0c;身体健康&#xff0c;万事如意&#xff01;根据国家法定假期的规定&#xff0c;并结合公司实际情…

开源verilog模拟 iverilog verilator +gtkwave仿真及一点区别

开源的 iverilog verilator 和商业软件动不动几G几十G相比&#xff0c;体积小的几乎可以忽略不计。 两个都比较好用&#xff0c;各有优势。 iverilog兼容性好。 verilator速度快。 配上gtkwave 看波形&#xff0c;仿真工具基本就齐了。 说下基本用法 计数器 counter.v module…

【接口测试】Postman(一)--接口测试知识准备 _

1.0 前言 ​ 应用程序编程接口&#xff08;Application Programming Interface, API&#xff09;是这些年来最流行的技术之一&#xff0c;强大的Web应用程序和领先的移动应用程序都离不开后端强大的API。API技术的应用给系统开发带来了便利&#xff0c;但也对测试人员提出了更高…

VMware16 pro 安装openEuler-23.09-x86_64,详细操作流程+详图。

1.环境&#xff1a; win11, vmware16 pro, openEuler-23.09-x86_64-dvd.iso 社区版openEuler 23.09官方下载地址&#xff1a; openEuler下载 | 欧拉系统ISO镜像 | openEuler社区官网欧拉操作系统(openEuler, 简称“欧拉”)是面向数字基础设施的操作系统,支持服务器、云计算、…

【教学类-35-07】17号的字帖(二)班级字帖“大4”(A4竖版1份)

作品展示 背景需求&#xff1a; 大4班17号孩子练习数字书写&#xff0c;上一次是“17”号&#xff0c;这次是大“4”。 【教学类-35-05】17号的学号字帖&#xff08;A4竖版1份&#xff09;-CSDN博客文章浏览阅读440次&#xff0c;点赞6次&#xff0c;收藏7次。【教学类-35-05…

Vue2从源码角度来回答一些常见的问题

1.请说一下Vue2响应式数据的理解&#xff08;先知道基本的问题在哪里&#xff0c;源码的角度来回答&#xff0c;用的时候会有哪些问题&#xff09; 可以监控一个数据的修改和获取操作。针对对象格式会给每个对象的属性进行劫持 Object.defineProperty 源码层面 initData ->…