vivado 创建实施约束

创建实施约束

在您有了一个合成的网表之后,您可以将它与XDC文件一起加载到内存中,或者Tcl脚本已启用以进行实现。当加载XDC以便验证和更正任何不能应用的约束。在某些情况下,合成网表中的对象名称与精心设计。如果是这种情况,则必须使用更正的名称,并将它们保存在仅实现的XDC文件中。在该工具能够正确加载所有XDC文件后,您可以运行时序分析,以便:

•添加缺失的约束,如输入和输出延迟。

•添加定时例外,如假路径、多周期路径和最小/最大延迟限制。

•识别由于设计中的长路径而导致的大型违规行为,并更正RTL描述。

您可以使用与合成期间相同的基本约束,并创建第二个XDC文件来存储所有特定于实施的新约束。您可以选择保存物理和配置单独的XDC文件中的约束。基于网表的XDC迭代如图45所示。

约束和对象查询

包含基于某些物理信息的对象查询的设计约束决不能依赖取决于Vivado P&R命令输入的物理约束,并且仅依赖于物理约束否则当重新加载实现后DCP时,这些约束将显得无效。此要求来自于网表所在的DCP加载序列先读取,然后读取约束和物理数据库。代替使用物理信息,您应该修改查询以依赖于其他设计对象属性(NAME,REF_NAME,…)。

依赖于放置信息的非推荐约束示例(特性LOC):

set_false_path-来自[get_cells-quiet-hier-filter{REF_NAME=~FD*&&LOC=~BLI_*}]

调整合成逻辑复制的约束

在合成过程中,一些寄存器被复制以提高设计性能。用户XDC约束不被合成引擎修改为包括复制的细胞。如果时间约束附加到Vivado Synthesis复制的对象,复制的单元格为并不总是被XDC约束所覆盖,这取决于约束的编写方式以后可能会影响结果的执行质量。使用Vivado Synthesis时,get_cells和get_pins命令提供了一种机制以自动包括复制的对象。例如,set_false_path–from[get_cells–hierarchy*rx_reg]可以是重写如下,以便在实现过程中也安全地包括复制的对象:

set_false_path -from [get_cells -hierarchical *rx_reg -
include_replicated_objects]

命令行选项-includereplicated_objects依赖于属性在已复制对象上设置的ORIG_CELL_NAME。以下查询命令返回具有复制细胞的原始细胞:

get_cells-includereplicated_objects*rx_reg

get_cells-includereplicated_objects[get_cells-hier-filter{NAME=~*rx_reg}]

get_cells-层次结构-筛选器{NAME=~*rx_reg||ORIG_CELL_NAME=~*rx_reg}

-filter选项始终在生成对象集合之后应用。不建议使用当筛选表达式引用-includereplicated_objects时,使用-filter到属性NAME。在这种情况下,复制的对象在返回时不会返回与为NAME指定的模式不匹配。例如,以下语法不返回与*reg_replica*匹配的已复制对象:

get_cells-includereplicated_objects-filter{NAME=~*rx_reg}

AMD建议运行方法检查(report_Methodology)并审查XDCV-1和XDCV-2检查消息。

get_cells / get_pins -include_replicated_objects

在继续实施之前,您必须验证您的设计不包括任何重大时间违规。位置和路线工具可以修复最合理的时间冲突,但是它们无法解决使定时关闭不可能的基本设计问题。

使用黑匣子调整合成约束

当使用上下文外(OOC)合成模式时,OOC模块(IP/BD/DFx/…)为推断为顶层内部的一个黑框。这意味着OOC内部的网表对象顶级约束无法访问模块。这可能需要顶级用于合成的约束与用于实现的约束不同。在项目中模式下,这可以通过创建用于合成的特定XDC文件并设置属性来完成

USED_IN_SYNTHESIS=TRUE&USED_IN_IMPLEMENTATION=FALSE。顶级XDC实现的USED_IN_SYNTHESIS应为FALSE。从黑匣子中可以访问的唯一对象是输入和输出端口。这限制了顶层在引用黑框时可以指定的时间约束类型。OOC综合的顶级约束的一些限制是:

•OOC模块内部生成的自动派生时钟不能重命名。

•OOC模块内部定义的时钟名称不能被引用。传播到的时钟

OOC模块的输出是基于连接到的端口的网络命名的模块,而不是根据模块内部的名称,即使时钟在模块XDC。

•如果顶层约束需要指OOC模块输出的时钟,则应使用诸如'get_clocks-of_objects[get_pins之类的查询<MODULE_oc_OUTPUT_CLOCK_PORT>]'。

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

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

相关文章

每日一题:LeetCode-LCR 016. 无重复字符的最长子串

每日一题系列&#xff08;day 15&#xff09; 前言&#xff1a; &#x1f308; &#x1f308; &#x1f308; &#x1f308; &#x1f308; &#x1f308; &#x1f308; &#x1f308; &#x1f308; &#x1f308; &#x1f308; &#x1f308; &#x1f308; &#x1f50e…

《PySpark大数据分析实战》-14.云服务模式Databricks介绍基本概念

&#x1f4cb; 博主简介 &#x1f496; 作者简介&#xff1a;大家好&#xff0c;我是wux_labs。&#x1f61c; 热衷于各种主流技术&#xff0c;热爱数据科学、机器学习、云计算、人工智能。 通过了TiDB数据库专员&#xff08;PCTA&#xff09;、TiDB数据库专家&#xff08;PCTP…

docker-compose介绍和用法

docker-compose介绍和用法详解 1、docker-compose介绍2、docker-compose build3、docker-compose down4、docker-compose up -d 1、docker-compose介绍 Docker Compose是一个用于快速配置多个Docker容器的工具。它是一个定义和运行多容器的Docker应用工具&#xff0c;通过YAML…

redis之五种基本数据类型

redis存储任何类型的数据都是以key-value形式保存&#xff0c;并且所有的key都是字符串&#xff0c;所以讨论基础数据结构都是基于value的数据类型 常见的5种数据类型是&#xff1a;String、List、Set、Zset、Hash 一) 字符串(String) String是redis最基本的类型&#xff0c;v…

【线性代数】期末速通!

1. 行列式的性质 1.1 求一个行列式的值 特殊地&#xff0c;对角线左下全为0&#xff0c;结果为对角线乘积。行 r 列 c 1.2 性质 某行&#xff08;列&#xff09;加上或减去另一行&#xff08;列&#xff09;的几倍&#xff0c;行列式不变某行&#xff08;列&#xff09;乘 …

C++学习笔记(十二)------is_a关系(继承关系)

你好&#xff0c;这里是争做图书馆扫地僧的小白。 个人主页&#xff1a;争做图书馆扫地僧的小白_-CSDN博客 目标&#xff1a;希望通过学习技术&#xff0c;期待着改变世界。 提示&#xff1a;以下是本篇文章正文内容&#xff0c;下面案例可供参考 文章目录 前言 一、继承关系…

Pipelined-ADC设计一:序言

现在是2023年12月18日&#xff0c;准备开新帖&#xff0c;设计一个 流水线型 模数转换器&#xff08; Pipelined-ADC &#xff09;。记录帖&#xff0c;后续会放在咸鱼。同步记录&#xff0c;谨防盗用。 初定指标&#xff1a;12位50Mhz&#xff0c;采用2.5bit每级结构&#xff…

使用DTS将自建MySQL迁移至PolarDB MySQL引擎,探索DTS全量数据校验

1. 领取免费的ECS和PolarDB资源 一旦您注册了阿里云账号并填写了您的账号和支付信息&#xff0c;您就可以申请免费试用我们的产品&#xff08;如ECS、PolarDB、RDS等服务&#xff09;。 1.1. 申请 ECS 免费试用 1. 在 阿里云免费试用中心&#xff0c;找到ECS&#xff0c;单击…

可视化 | 基于CBDB的唐代历史人物分析

文章目录 &#x1f4da;人口统计&#x1f407;唐朝历年人数统计&#x1f407;唐朝人口金字塔&#x1f407;唐朝历年出生死亡人数统计&#x1f407;唐朝人口分布&#x1f407;享年数据分布 &#x1f4da;唐朝人口迁徙&#x1f407;人口迁徙&#x1f407;生卒地变迁 &#x1f4da…

IDEA代码补全不能导入某个类了

问题 今天写单元测试时&#xff0c;突然发现idea自动补全代码时不能自动导入类了&#xff0c; 比如在编辑器中输入Test&#xff0c;正常情况下通过快捷键atl/智能补全提示后可以自动生成导入import org.junit.Test &#xff0c;但是现在不行了。 解决办法 由于在导入Test时不小…

【JavaWeb学习笔记】11 - WEB工程路径专题

一、工程路径问题 1.引入该问题 通过这几个去访问很麻烦 二、工程路径解决方案 1.相对路径 1.说明:使用相对路径来解决&#xff0c;一 个非常重要的规则:页面所有的相对路径&#xff0c;在默认情况下&#xff0c;都会参考当前浏览器地址栏的路径http:/ /ip:port/工程名/来进…

Go集成elasticsearch8极简demo,光速入门

Go集成elasticsearch8极简demo,光速入门 配置go环境创件go mod工程代码实现配置go环境 编辑器添加goproxy GO111MODULE=on;GOPROXY=https://mirrors.wps.cn/go/,https://goproxy.cn,direct;GOSUMDB=off创件go mod工程 mkdir demo cd demo go mod init demo代码实现 在demo…

JMESPath语言

JMESPath&#xff08;JSON Matching Expression Path&#xff09; 一种查询语言。 主要用于从JSON文档中检索和过滤数据。 通过写表达式提取和处理JSON数据&#xff0c;而无需编写复杂的代码。 功能&#xff1a;数据提取、过滤、转换、排序。 场景&#xff1a;处理API响应…

CentOS7安装Docker及添加阿里云镜像加速详细教程

Docker官方安装教程网站&#xff1a;Install Docker Engine on CentOS | Docker Docs 具体流程如下&#xff1a; 1.确定你是CentOS7及以上版本 cat /etc/redhat-release 2.yum安装gcc相关 yum -y install gcc yum -y install gcc-c 3.安装需要的软件包 3.1安装docker引擎…

MetaSploit工具的使用

在命令行输入&#xff1a;msfconsole 启动msf msfconsole 另外的方式 msfdb init msfdb run 查看数据库连接状态 db_status 扫描端口并存储 db_nmap 查看扫描到的数据信息 services MSF常用的模式和命令 搜索模块 search 模块名字 使用模块 use 编号 查看模块使用 sho…

对偶问题笔记(1)

目录 1 从 Lagrange 函数引入对偶问题2. 强对偶性与 KKT 条件3. 对偶性的鞍点特征 1 从 Lagrange 函数引入对偶问题 考虑如下优化问题 { min ⁡ f 0 ( x ) s . t f i ( x ) ≤ 0 , i 1 , ⋯ , p , h j ( x ) 0 , j 1 , ⋯ , q , x ∈ Ω , \begin{align} \begin{cases}\min…

在linux上基于shell自动部署Java项目

一&#xff0c;安装git yum list git 列出git安装包 yum install git 在线安装git 使用 git -varsion 查看是否安装成功 安装成功 二&#xff0c; Git克隆代码 git clone 远程仓库地址 三&#xff0c;创建shell脚本 touch shell.sh shell脚本 #!/bin/sh echo echo 自动…

健康手表数据洞察台

健康手表数据洞察台 1. 背景介绍2. 数据获取与处理3. Django平台搭建4. 数据可视化5. 整体数据分析6. 数据监控与紧急警报7. 用户界面优化8. 创新点结语 1. 背景介绍 在当今健康意识不断提升的社会&#xff0c;人们越来越关注身体健康。本文将介绍如何使用Pandas进行数据分析&…

NTC和温度的关系

一、NTC介绍 NTC&#xff08;nagative temperature coefficient&#xff09;负温度系数的热敏电阻。随着温度的升高&#xff0c;电阻越来越小 二、NTC和温度的关系 生产NTC的厂家会提供一个RT表格&#xff0c;里面记录了温度和电阻的关系&#xff0c;他们的关系是一一对应的…

C# 使用FluentHttpClient请求WebApi

写在前面 FluentHttpClient 是一个REST API 异步调用 HTTP 客户端&#xff0c;调用过程非常便捷&#xff0c;采用流式编程&#xff0c;可以将所有请求所需的参数一次性发送&#xff0c;并直接获取序列化后的结果。 老规矩从NuGet上安装该类库&#xff1a; 这边一定要认准是 P…