KEEP_HIERARCHY

KEEP_HIERACHY指示工具保留用户层次结构,以便优化不会
跨越其边界。虽然这有助于布局规划、分析和调试,但它
会抑制优化,导致更大、更慢的设计。
建议:为了避免这些负面影响,请注册一个模块实例的所有输出,其中
KEEP_HIERACHY附后。为了达到最佳效果,请在合成之前应用此属性。
KEEP_HIERACHY用于防止沿层次结构边界进行优化。这个
Vivado合成工具试图保持RTL中指定的相同的通用层次结构,
但为了提高结果质量(QoR),它可以使其变平或修改。
如果将KEEP_HIERACHY放置在实例上,则合成工具会将边界保持在该实例上
水平静态。这可能会影响QoR,也不应用于描述
3态输出和I/O缓冲器的控制逻辑。KEEP_HIERACHY可以放置在
模块或架构级别,

Architecture Support
All architectures.
Applicable Objects
• Hierarchical modules ( get_cells )
Values
TRUE : Preserves the hierarchy by not allowing optimization across the hierarchy
boundary.
FALSE : Allows optimization across the hierarchy (default).
Syntax
Verilog Syntax
Place the Verilog attribute immediately before the user hierarchy instantiation:
(* KEEP_HIERARCHY = "{TRUE|FALSE}" *)
Verilog Syntax Example
// Preserve the hierarchy of instance CLK1_rst_sync
(* KEEP_HIERARCHY = "TRUE" *) reset_sync #(
.STAGES(5)
) CLK1_rst_sync (
.RST_IN(RST | ~LOCKED),
.CLK(clk1_100mhz),
.RST_OUT(rst_clk1)
);
On Module:
(* keep_hierarchy = "yes" *) module bottom (in1, in2, in3, in4, out1, out2);
On Instance:
(* keep_hierarchy = "yes" *)bottom u0 (.in1(in1), .in2(in2), .out1(temp1));
VHDL Syntax
Declare the VHDL attribute as follows:
attribute KEEP_HIERARCHY : string;
Specify the VHDL attribute as follows:
attribute KEEP_HIERACHRY of name: label is "{TRUE|FALSE}";
Where
name is the instance name of a user defined instance.
VHDL Syntax Example
attribute KEEP_HIERARCHY : string;
-- Preserve the hierarchy of instance CLK1_rst_sync
attribute KEEP_HIERARCHY 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
);
On a module:
attribute keep_hierarchy : string;
attribute keep_hierarchy of beh : architecture is "yes";
On an instance:
attribute keep_hierarchy : string;
attribute keep_hierarchy of u0 : label is "yes";
XDC Syntax
set_property KEEP_HIERARCHY {TRUE|FALSE} [get_cells instance_name]
Where
instance_name is a hierarchical module.
XDC Syntax Example
# Preserve the hierarchy of instance CLK1_rst_sync
set_property KEEP_HIERARCHY TRUE [get_cells CLK1_rst_sync]

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

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

相关文章

使用【Easypoi】实现百万数据导出

本文使用easypoi实现百万级数据导出 文章目录 前言一、一般情况下导出二、解决思路三、实现步骤导入依赖重写方法调用实现 结束 前言 下文实现了通过easypoi实现将百万级数据导出 一、一般情况下导出 一般导出流程(简单导出): 创建对应的…

智能制造的规划之路线部分

作为新建FAB厂的智能制造负责人,实现智能制造是一个系统工程,需要从战略规划到具体实施的各个层面进行考虑。以下是初稿。。。 1. |明确目标和需求|: - 确定智能制造的目标,比如提高生产效率、降低成本、提升产品质量等。 …

数据库安全综合治理方案(54页PPT)附下载

方案介绍: 数据库安全综合治理方案是一个综合性的策略,旨在确保数据库系统的完整性、保密性和可用性,防止未经授权的访问、数据泄露、篡改及滥用。该方案涉及多个层面,包括访问控制、数据加密、审计与监控、备份与恢复、以及安全…

Dreambooth on Stable Diffusion

Dreambooth on Stable Diffusion 1.DreamBooth: Fine Tuning Text-to-Image Diffusion Models for Subject-Driven Generation 2.[论文简析]DreamBooth: Fine Tuning Text-to-Image Diffusion Models…[2208.12242] 3.sd_dreambooth_extension 4.stable-dreambooth 对3-5张特定…

17.5【C语言】static的补充说明

static &#xff08;静态的) 作用&#xff1a;修饰局部变量&#xff0c;修饰全局变量&#xff0c;修饰函数 对比两段代码 #include <stdio.h> void test() {int a 5;a;printf("%d ", a); } int main() {int i 0;for(i0; i<5; i){test();}return 0; } …

HarmonyOS 质量、测试、上架速浏

1.应用质量要求&#xff1a; 1. 应用体验质量建议: 功能数据完备 功能完备 数据完备 基础体验要求 基础约束 兼容性 稳定性 性能 功耗 安全…

IPython的Bash之舞:%%bash命令全解析

IPython的Bash之舞&#xff1a;%%bash命令全解析 IPython的%%bash魔术命令为Jupyter Notebook用户提供了一种在单元格中直接执行Bash脚本的能力。这个特性特别适用于需要在Notebook中运行系统命令或Bash特定功能的场景。本文将详细介绍如何在IPython中使用%%bash命令&#xff…

reduceByKey 函数详解

reduceByKey 函数详解 实现原理 reduceByKey 函数主要用于处理分布式数据集。它接收两个操作符作为参数&#xff1a; keySelector&#xff1a;这是一个映射函数&#xff0c;用于从输入元素中提取键。 valueReducer&#xff1a;这是另一个函数&#xff0c;用于将具有相同键的…

网格布局 HTML CSS grid layout demo

文章目录 页面效果代码 (HTML CSS)参考 页面效果 代码 (HTML CSS) <!DOCTYPE html> <html lang"en"> <head><meta charset"UTF-8"><meta name"viewport" content"widthdevice-width, initial-scale1.0"…

高速传输新体验:探索最新USB-C移动硬盘盒的无限可能

在数字化时代&#xff0c;数据存储的重要性不言而喻&#xff0c;而硬盘盒作为连接外部硬盘与计算机的关键设备&#xff0c;其功能也在不断进化。近年来&#xff0c;随着技术的创新与发展&#xff0c;市场上出现了一种新型硬盘盒——它不仅能安全、高效地存储和传输数据&#xf…

安装VMware Workstation Pro

一、下载 通过百度网盘分享的文件&#xff1a;VMware-workstation-full-16.2.4-2008... 链接&#xff1a;https://pan.baidu.com/s/1mDnFhLQErBlpeX_KjsgtzA 提取码&#xff1a;0bw7 二、安装 &#xff08;1&#xff09;双击exe文件 &#xff08;2&#xff09;安装软件 &…

Docker搭建Flink

Docker搭建Flink环境的步骤&#xff1a; 1. 安装Docker 确保你的系统已经安装了Docker。如果没有安装&#xff0c;可以参考以下命令进行安装&#xff1a; # 对于Ubuntu系统 sudo apt-get update sudo apt-get install docker-ce docker-ce-cli containerd.io # 对于CentOS系…

算法-bfs-八数码

题目一 解题思路 将每一串字符都想象成一个点&#xff0c;已知起点和终点,每一次更新相邻的节点&#xff0c;采用bfs得到到达终点的最短路径。 数据结构&#xff1a; unordered_map&#xff08;哈希表&#xff09;来存储每种字符串对应情况需要移动的次数。 queue(队列)存储…

刷题计划 day4 【双指针、快慢指针、环形链表】链表下

⚡刷题计划day4继续&#xff0c;可以点个免费的赞哦~ 下一期将会开启哈希表刷题专题&#xff0c;往期可看专栏&#xff0c;关注不迷路&#xff0c; 您的支持是我的最大动力&#x1f339;~ 目录 ⚡刷题计划day4继续&#xff0c;可以点个免费的赞哦~ 下一期将会开启哈希表刷题…

vuex学习day01-vuex简述、基于脚手架创建项目、基于脚手架创建项目

1、vuex简述 之所以采用vuex是因为当我们有多个公共状态的组件时&#xff0c;vue的简单性容易崩溃 &#xff08;1&#xff09;概念 Vuex 是Vue.js 应用程序的状态管理模式库。简单讲&#xff0c;vuex是vue的一个状态管理工具。 &#xff08;2&#xff09;作用 管理vue中的…

w30-python02-pytest入门

代码如下&#xff1a; import pytest class Test_Obj:"""测试类"""#用例级别前后置def setup(self):print(用例级别------的前置处理)def teardown(self):print("用例级别--------的后置处理")# 用例def test_case1(self):print(&quo…

自动驾驶-机器人-slam-定位面经和面试知识系列05之常考公式推导(02)

这个博客系列会分为C STL-面经、常考公式推导和SLAM面经面试题等三个系列进行更新&#xff0c;基本涵盖了自己秋招历程被问过的面试内容&#xff08;除了实习和学校项目相关的具体细节&#xff09;。在知乎和牛客&#xff08;牛客上某些文章上会附上内推码&#xff09;也会同步…

mfc100u.dll 文件缺失?两种方法快速修复丢失mfc100u.dll 文件难题

您的电脑是否遭遇了 mfc100u.dll 文件缺失的问题&#xff1f;这种情况通常由多种原因引起。在本文中&#xff0c;我们将介绍两种修复 mfc100u.dll 文件丢失问题的策略——一种是手动方法&#xff0c;另一种是自动修复的使用。我们将探讨如何有效地解决 mfc100u.dll 文件缺失的几…

Linux中基本目录介绍

/bin: bin是Binary的缩写, 这个目录存放着最基本的程序。/boot: 这里存放的是启动Linux时使用的一些核心文件&#xff0c;包括一些连接文件和映像文件。&#xff08;不要动&#xff09;/dev: dev是Device(设备)的缩写, 存放的是Linux的外部设备&#xff0c;在Linux中访问这些设…

vscode 调试web后端

1、调试环境配置 一、安装python环境管理器 其中要先在vscode选择对应的python环境&#xff0c;最方便的是按照环境管理器后从中选择。其中在【externsions】里面安装python即可。 如下&#xff1a; 二、编写launch.json文件 其中如下&#xff1a; {// Use IntelliSense …