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]可以是重写如下,以便在实现过程中也安全地包括复制的对象:
命令行选项-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检查消息。
在继续实施之前,您必须验证您的设计不包括任何重大时间违规。位置和路线工具可以修复最合理的时间冲突,但是它们无法解决使定时关闭不可能的基本设计问题。
使用黑匣子调整合成约束
当使用上下文外(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>]'。
相关文章:
vivado 创建实施约束
创建实施约束 在您有了一个合成的网表之后,您可以将它与XDC文件一起加载到内存中,或者Tcl脚本已启用以进行实现。当加载XDC以便验证和更正任何不能应用的约束。在某些情况下,合成网表中的对象名称与精心设计。如果是这种情况,则必…...
【代码分析】MPI
代码解读 问题 model/AdaMPI.py:21 为什么下降分辨率model.CPN.unet.FeatMaskNetwork 为什么用的是mask,unet? MPI class MPIPredictor(nn.Module):def __init__(self,width384,height256,num_planes64,):super(MPIPredictor, self).__init__()self.…...
数字孪生Web3D智慧机房可视化运维云平台建设方案
前言 进入信息化时代,数字经济发展如火如荼,数据中心作为全行业数智化转型的智慧基座,重要性日益凸显。与此同时,随着东数西算工程落地和新型算力网络体系构建,数据中心建设规模和业务总量不断增长,机房管理…...
飞天使-docker知识点12-docker-compose
文章目录 docker-compose命令启动单个容器重启容器停止和启动容器停止和启动所有容器演示一个简单示范 docker-compose 部署有依赖问题 Docker Compose 是一个用于定义和运行多容器 Docker 应用程序的工具。它允许您使用简单的 YAML 文件来配置应用程序的服务、网络和存储等方…...
快速排序(一)
目录 快速排序(hoare版本) 初级实现 问题改进 中级实现 时空复杂度 高级实现 三数取中 快速排序(hoare版本) 历史背景:快速排序是Hoare于1962年提出的一种基于二叉树思想的交换排序方法 基本思想:…...
GO的sql注入盲注脚本
之间学习了go的语法 这里就开始go的爬虫 与其说是爬虫 其实就是网站的访问如何实现 因为之前想通过go写sql注入盲注脚本 发现不是那么简单 这里开始研究一下 首先是请求网站 这里貌似很简单 package mainimport ("fmt""net/http" )func main() {res, …...
写好ChatGPT提示词原则之:清晰且具体(clear specific)
ChatGPT 的优势在于它允许用户跨越机器学习和深度学习的复杂门槛,直接利用已经训练好的模型。然而,即便是这些先进的大型语言模型也面临着上下文理解和模型固有局限性的挑战。为了最大化这些大型语言模型(LLM)的潜力,关…...
Java实现快速排序及其动图演示
快速排序(Quicksort)是一种基于分治思想的排序算法。它通过选择一个基准元素,将数组分为两个子数组,其中一个子数组的所有元素都小于基准元素,另一个子数组的所有元素都大于基准元素,然后递归地对这两个子数…...
iClient3D 图元操作
1. S3MTilesLayer,S3M(Spatial 3D Model)图层类 S3MTilesLayer,S3M(Spatial 3D Model)图层类,通过该图层实现加载三维切片缓存,包括倾斜摄影模型、BIM模型、点云数据、精细模型、矢量数据、符号等。 那S3MTilesLayer中针对图元的…...
从0到1!开发小白快速入门腾讯云数据库
在这个海量数据大爆发的时代,一个单一的开源数据库产品往往很难直接满足企业的业务需求,在某些场景下,无论是性能、安全还是稳定性,都面临着各种各样的问题。 你在工作中也有这样的烦恼的话,一定是因为你还没有使用过…...
Golang清晰代码指南
发挥易读和易维护软件的好处 - 第一部分 嗨,开发者们,清晰的代码是指编写易于阅读、理解和维护的软件代码。它是遵循一组原则和实践,优先考虑清晰性、简单性和一致性的代码。清晰的代码旨在使代码库更易管理,减少引入错误的可能性…...
C语言 文件I/O(备查)
所有案列 跳转到其他。 文件打开 FILE* fopen(const char *filename, const char *mode); 参数:filename:指定要打开的文件名,需要加上路径(相对、绝对路径)mode:指定文件的打开模式 返回值:成…...
web(HTML之表单练习)
使用HTML实现该界面: 要求如下: 用户名为文本框,名称为 UserName,长度为 15,最大字符数为 20。 密码为密码框,名称为 UserPass,长度为 15,最大字符数为 20。 性别为两个单选按钮&a…...
通过对象轮换实现 LRU 缓存结构
文章目录 通过两个对象轮换,按照是否访问实现内容长久保存rollup 的缓存实现 export default function (max) { //max 缓存容量var num, curr, prev;var limit max || 1;function keep(key, value) {if (num > limit) {prev curr; // 超过容量时当前对象变成缓…...
【Unity动画】综合案例完结-控制角色动作播放+声音配套
这个案例实现的动作并不复杂,主要包含一个 跳跃动作、攻击动作、还有一个包含三个动画状态的动画混合树。然后设置三个参数来控制切换。 状态机结构如下: 完整代码 using System.Collections; using System.Collections.Generic; using UnityEngine;pu…...
【工作流Activiti】任务组
1、Candidate-users候选人 1.1、需求 在流程定义中在任务结点的assignee固定设置任务负责人,在流程定义时将参与者固定设置在.bpmn文件中,如果要临时变更任务负责人则需要修改流程定义,系统扩展性很差,针对这种情况,我…...
桌面概率长按键盘无法连续输入问题
问题描述:概率性长按键盘无法连续输入文本 问题定位: 系统按键流程分析 图一 系统按键流程 按键是由X Server接收的,这一点只要明白了X Window的工作机制就不难理解了。X Server在接收到按键后,会转发到相应程序的窗口中。在窗…...
用23种设计模式打造一个cocos creator的游戏框架----(十九)备忘录模式
1、模式标准 模式名称:备忘录模式 模式分类:行为型 模式意图:在不破坏封装性的前提下捕获一个对象的内部状态,并在对象之外保存这个状态。这样以后就可以将对象恢复到原先保存的状态 结构图: 适用于: …...
动手学深度学习-自然语言处理-预训练
词嵌入模型 将单词映射到实向量的技术称为词嵌入。 为什么独热向量不能表达词之间的相似性? 自监督的word2vec。 word2vec将每个词映射到一个固定长度的向量,这些向量能更好的表达不同词之间的相似性和类比关系。 word2vec分为两类,两类…...
力扣200. 岛屿数量(java DFS解法)
Problem: 200. 岛屿数量 文章目录 题目描述思路解题方法复杂度Code 题目描述 思路 该问题可以归纳为一类遍历二维矩阵的题目,此类中的一部分题目可以利用DFS来解决,具体到本题目: 1.我们首先要针对于二维数组上的每一个点,尝试展…...
ThreadLocal内存泄漏警告!多线程MDC使用必须知道的3个避坑点
ThreadLocal内存泄漏实战:多线程MDC避坑指南与深度解决方案 当你在凌晨三点被报警电话惊醒,发现生产环境因为内存溢出而崩溃时,排查结果指向一个看似无害的MDC日志组件——这种场景在过去两年里我已经经历了三次。ThreadLocal作为MDC的底层实…...
AI开发不再卡顿:RTX4090D 24G镜像解决环境冲突全攻略
AI开发不再卡顿:RTX4090D 24G镜像解决环境冲突全攻略 1. 为什么选择RTX4090D 24G深度学习镜像? 深度学习开发者最头疼的问题莫过于环境配置。不同框架版本、CUDA版本、依赖库之间的冲突常常让人望而却步。传统环境搭建方式需要: 手动安装C…...
开源像素艺术生成工具上手指南:像素幻梦2.0-Stable镜像免配置部署
开源像素艺术生成工具上手指南:像素幻梦2.0-Stable镜像免配置部署 1. 像素幻梦简介 像素幻梦(Pixel Dream Workshop)是一款基于FLUX.1-dev扩散模型构建的下一代像素艺术生成工具。它采用16-bit像素工坊风格的视觉设计,为创作者提供沉浸式的AI绘图体验。…...
保姆级教程:在Windows 11上完美运行STM32CubeMX 6.9.0(附旧版本资源整理)
在Windows 11上完美运行STM32CubeMX历史版本的终极指南 最近升级到Windows 11后,我发现手头几个老项目使用的STM32CubeMX 6.9.0版本完全无法正常运行。每次启动不是闪退就是卡在初始化界面,而项目又必须使用这个特定版本才能保证代码兼容性。经过一周的…...
电力电子顶刊投稿避坑指南:TIE与TPEL审稿流程、周期及常见误区全解析
电力电子顶刊投稿策略全解析:从TIE到TPEL的实战避坑指南 在电力电子与电机驱动领域,IEEE Transactions on Industrial Electronics (TIE)和IEEE Transactions on Power Electronics (TPEL)无疑是研究者梦寐以求的发表平台。这两本期刊不仅代表着行业内的…...
Ludusavi:你的游戏进度守护神,三分钟搞定跨平台存档备份
Ludusavi:你的游戏进度守护神,三分钟搞定跨平台存档备份 【免费下载链接】ludusavi Backup tool for PC game saves 项目地址: https://gitcode.com/gh_mirrors/lu/ludusavi 你是否曾在电脑崩溃后,发现数百小时的游戏进度瞬间归零&…...
FPGA商用级ISP:动态坏点校正(DPCC)的滑窗架构与并行判决实现
【写在前面:为什么要写这个专栏?】在数字图像处理领域,ISP(图像信号处理器)的算法原理并不罕见,但真正能够支持 4K60fps 实时处理、并经过商用验证的 Verilog 硬核实现思路 却往往秘和封装在黑盒之中。我手…...
爆款AI写教材工具登场!一键生成低查重教材,轻松开启编写之旅
编写教材的困境与AI的解决方案 在编写教材时,如何准确地满足多样化的需求呢?不同年级的学生在认知能力上存在显著差异,教材内容若过于深奥或过于简单都无法达到效果;而课堂教学和自主学习等不同的环境对教材的要求各不相同&#…...
大模型私有化不是选型,是生存!Python工程师必须在Q3前掌握的5类国产化适配方案,否则明年项目全卡审批
第一章:大模型私有化是Python工程师的生存分水岭当企业开始将大语言模型从公有云API转向本地GPU集群部署,Python工程师的角色正经历一次静默但深刻的重构——不再只是调用requests.post()封装接口,而是要亲手构建模型加载、推理服务、权限控制…...
python-flask-djangol框架的校园餐厅菜品自选系统
目录 技术选型核心功能模块数据库设计开发流程部署方案关键代码示例测试重点 项目技术支持源码获取详细视频演示 :文章底部获取博主联系方式!同行可合作 技术选型 使用Python的Flask或Django框架作为后端基础。Flask适合轻量级快速开发,Djan…...
