当前位置: 首页 > news >正文

DONT_TOUCH

DONT_TOUCH
DONT_TOUCH指示工具不优化用户层次结构、实例化组件或
信号,以便优化不会跨模块边界发生,或者消除
对象虽然这可以帮助进行布图规划、分析和调试,但它可以抑制
优化,导致更大、更慢的设计。
重要提示:Xilinx建议在RTL源文件中设置此属性。需要的信号
keep经常在读取XDC文件之前进行优化。因此,在RTL中设置此属性可确保
使用该属性。
DONT_TOUCH属性的工作方式与KEEP或KEEP_HIERARCHY相同;然而
与KEEP和KEEP_HIERARCHY不同,DONT_TOUCH被前向注释为位置和路线
以防止实现过程中的逻辑优化。DONT_TOUCH对的影响
各种对象如下:
•基本实例:不要删除该实例。但是,该工具可以连接或
断开实例的引脚。
•分层实例:不要删除实例或添加或删除的任何引脚
例子该工具可以连接或断开引脚,并优化内部的逻辑
hiearchical模块。但是,优化不能将逻辑移入或移出
分层模块。这是对实例的层次边界的约束。
提示:使用DONT_TOUCH应用程序注册层次实例的所有输出。
•分层网络:不要移除网络,也不要连接或断开网络上的任何引脚。
提示:在分层网络上,DONT_TOUCH将只保留它所连接的分层段,
因此,您需要将其附加到要保留的所有线段上。
在模块或实体的各个端口中不支持DONT_TOUCH。如果需要
保留将DONT_TOUCH放在模块本身上的特定端口,或者使用以下Vivado
合成设置:
flatten_hierarchy=“无”
使用DONT_TOUCH、KEEP或KEEP_HIERARCHY时要小心。在其他情况下
属性与DONT_TOUCH冲突时,DONT_TOUCH属性优先。
适用对象
•此属性可以放置在任何信号、层次模块或基元实例上。
°单元格(get_Cells)
°网络(get_Nets)
价值观
•FALSE:允许跨层次结构进行优化。这是默认设置。
•TRUE:通过不允许跨层次结构进行优化来保留层次结构
边界保留实例化的组件或网络以防止其
优化出了设计。

Syntax
Verilog Syntax
Place the Verilog attribute immediately before the user hierarchy instantiation:
(* DONT_TOUCH = "{TRUE|FALSE}" *)
Verilog Syntax Example
// Preserve the hierarchy of instance CLK1_rst_sync
(* DONT_TOUCH = "TRUE" *) reset_sync #(
.STAGES(5)
) CLK1_rst_sync (
.RST_IN(RST | ~LOCKED),
.CLK(clk1_100mhz),
.RST_OUT(rst_clk1)
);
Wire Example
(* dont_touch = "true" *) wire sig1;
assign sig1 = in1 & in2;
assign out1 = sig1 & in2;
Module Example
(* DONT_TOUCH = "true|yes" *)
module example_dt_ver
(clk,
In1,
In2,
out1);
Instance Example
(* DONT_TOUCH = "true|yes" *) example_dt_ver U0
(.clk(clk),
.in1(a),
.in2(b),
out1(c));
VHDL Syntax
Declare the VHDL attribute as follows:
attribute DONT_TOUCH : string;
Specify the VHDL attribute as follows:
attribute DONT_TOUCH of name: label is "{TRUE|FALSE}";
Where
name is the instance name of a user defined instance.
VHDL Syntax Example
attribute DONT_TOUCH : string;
-- Preserve the hierarchy of instance CLK1_rst_sync
attribute DONT_TOUCH of CLK1_rst_sync: label is "TRUE";
CLK1_rst_sync : reset_sync
PORT MAP (
RST_IN => RST_LOCKED,
CLK => clk1_100mhz,
RST_OUT => rst_clk1
);
XDC Syntax
set_property DONT_TOUCH {TRUE|FALSE} [get_cells < instance_name >]
set_property DONT_TOUCH {TRUE|FALSE} [get_nets < net_name >]
Where:
instance_name is a leaf cell or hierarchical cell.
net_name is the name of a hierarchical net.
XDC Syntax Example
# Preserve the hierarchy of instance CLK1_rst_sync
set_property DONT_TOUCH TRUE [get_cells CLK1_rst_sync]
# Preserve all segments of the hierarchical net named by the Tcl variables
set_property DONT_TOUCH [get_nets -segments $hier_net]

相关文章:

  • 北京网站建设多少钱?
  • 辽宁网页制作哪家好_网站建设
  • 高端品牌网站建设_汉中网站制作
  • yolov5:Conv类参数量计算
  • 视觉导航和激光导航哪个更准确
  • 计算理论复习
  • Linux 利用命名空间创建一个自己的“容器“
  • C#反射基本应用
  • Spring框架配置进阶_自动装配(XML和注解)
  • 【C++知识点总结全系列 (08)】:面向对象编程OOP
  • 新火种AI|OpenAI的CEO又有新动作?这次他成立了AI健康公司
  • 如何利用java依赖jave-all-deps实现视频格式转换
  • 中英双语介绍美国的州:阿肯色州(Arkansas)
  • 在make类构建系统配置文件中定义函数宏
  • Laravel5+mycat 报错 “Packets out of order”
  • CTF-PWN-kernel-栈溢出(retuser rop pt_regs ret2dir)
  • EUC 2024 I. Disks
  • golang 项目打包部署环境变量设置
  • [译] React v16.8: 含有Hooks的版本
  • C++入门教程(10):for 语句
  • eclipse的离线汉化
  • es6要点
  • Linux gpio口使用方法
  • nodejs:开发并发布一个nodejs包
  • php中curl和soap方式请求服务超时问题
  • Python爬虫--- 1.3 BS4库的解析器
  • SegmentFault 社区上线小程序开发频道,助力小程序开发者生态
  • Travix是如何部署应用程序到Kubernetes上的
  • vue自定义指令实现v-tap插件
  • 测试开发系类之接口自动化测试
  • 从零开始在ubuntu上搭建node开发环境
  • 强力优化Rancher k8s中国区的使用体验
  • 深度学习在携程攻略社区的应用
  • 学习Vue.js的五个小例子
  • 自制字幕遮挡器
  • 长三角G60科创走廊智能驾驶产业联盟揭牌成立,近80家企业助力智能驾驶行业发展 ...
  • ​什么是bug?bug的源头在哪里?
  • #gStore-weekly | gStore最新版本1.0之三角形计数函数的使用
  • #stm32驱动外设模块总结w5500模块
  • (C++)栈的链式存储结构(出栈、入栈、判空、遍历、销毁)(数据结构与算法)
  • (二)Pytorch快速搭建神经网络模型实现气温预测回归(代码+详细注解)
  • (附源码)spring boot基于小程序酒店疫情系统 毕业设计 091931
  • (附源码)基于SpringBoot和Vue的厨到家服务平台的设计与实现 毕业设计 063133
  • (附源码)计算机毕业设计SSM在线影视购票系统
  • (官网安装) 基于CentOS 7安装MangoDB和MangoDB Shell
  • (简单有案例)前端实现主题切换、动态换肤的两种简单方式
  • (蓝桥杯每日一题)love
  • (数据结构)顺序表的定义
  • (四) Graphivz 颜色选择
  • (转)人的集合论——移山之道
  • (轉)JSON.stringify 语法实例讲解
  • ***详解账号泄露:全球约1亿用户已泄露
  • *上位机的定义
  • .net core Swagger 过滤部分Api
  • .net core webapi Startup 注入ConfigurePrimaryHttpMessageHandler
  • .NET 中什么样的类是可使用 await 异步等待的?
  • .NET6 开发一个检查某些状态持续多长时间的类
  • .Net程序猿乐Android发展---(10)框架布局FrameLayout