vivado 定义相对放置的宏

定义相对放置的宏

关于相对放置的宏

相对放置宏(RPM)是一组基本逻辑元件(BEL)的列表。

逻辑元件的示例包括:

•FF

•LUT

•DSP

•闸板

RPM主要用于将小组逻辑紧密地放在一起,以改进资源效率并实现更快的互连。

定义设计元素集

定义具有U集(U_Set)或HU集(HU_Set)约束的设计元素集。

•集合中的每个元素都是通过Relative相对于集合中的其他元素放置的位置(RLOC)约束。

•具有RLOC约束和通用集合名称的逻辑元件在RPM中关联。U_SET、HU_SET和RLOC约束:

•必须定义为HDL设计文件中的属性。

•Xilinx设计约束格式(XDC)不支持。

提示:可以使用create_macro和update_macro命令在中定义宏对象AMD Vivado™ 设计套件,其作用类似于设计中的RPM。请参阅XDC宏。有关U_SET、HU_SET和RLOC约束的更多信息,请参阅Vivado Design Suite属性参考指南(UG912)。

创建RPM

要创建RPM:

1.将单元格分组为一组。

2.定义RPM集中单元格的相对位置。

3.在RPM单元上指定RLOC_ORIGIN约束或LOC约束以固定的位置目标设备上的RPM。

注意:此步骤是可选的。

将单元格分配给RPM集分层模块中被分配RLOC约束的设计元素是自动的分组为RPM集合。通过使用H_SET约束进行分组,该约束由以下各项的组合隐式定义设计层次结构和RLOC约束。设计层次结构的单个块中具有RLOC约束的所有设计元素是被认为是在同一个H_SET中,除非它们被另一个集合约束标记,例如U_ SET或HU_SET。

显式分组设计元素

虽然基于设计层次结构和RLOC约束的存在隐含了H_ SET,也可以使用U_SET和HU_SET将设计元素显式分组到RPM集中约束。

用U_SET显式分组设计元素

U_SET允许对单元进行分组,而不管它们在设计中的层次结构或位置如何。所有单元格具有相同set_name的是相同RPM集的成员。用U_SET约束标记的设计元素可以是基元符号,也可以是非基元符号。当附加到非基元符号时,U_SET约束向下传播通过将层次结构分配给其下面被分配RLOC约束的所有基元符号。

使用HU_SET显式分组设计元素

HU_SET有一个明确的用户定义和层次结构限定的集合名称。这让你创建分层RPM,其中RLOC约束可以放置在不同级别的单元上层次结构。具有相同层次限定集名称的所有单元格都是同一集的成员。

VHDL中定义RPM集的语法

在VHDL中将RPM集定义为属性的语法为:

attribute U_SET : string;
attribute HU_SET : string;
...
attribute U_SET of my_reg : label is "uset0";
attribute HU_SET of other_reg : label is "huset0";

在Verilog中定义RPM集的语法

在Verilog中将RPM集定义为属性的语法如下。

U_SET示例

(* U_SET = "uset0", RLOC = "X0Y0" *) FD my_reg (.C(clk), .D(d0), .Q(q0));
HU_SET Example
(* HU_SET = "huset0", RLOC = "X0Y0" *) FD other_reg
(.C(clk), .D(d1), .Q(q1));
“物理约束”窗口中的RPM定义

RPM集必须作为属性嵌入到HDL源文件中。合成后,RPM相关属性在网表对象上显示为只读属性,供AMD Vivado使用集成设计环境(IDE)放置器。

查看RPM定义

在“物理约束”窗口中查看RPM定义。见图96。查看RPM定义:

1.展开RPM文件夹以显示RPM列表。

2.选择RPM以查看其属性或选择相关单元格。

提示:可以通过从“物理约束”拖动到设备来放置和锁定RPM窗RPM作为单个形状移动,而不是逐单元移动。

通过opt_design保持RPMopt_design可以自由地优化和删除属于RPM的一些LUT,尽管RLOC约束。为了防止opt_design优化RPM内部的逻辑在属于RPM的所有单元上将属性DONT_TOUCH设置为TRUE所必需的。DONT_TOUCH属性可以通过RTL或XDC设置。

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

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

相关文章

Docker中的核心概念

1.镜像 Image 一个镜像就代表一个软件。mysql镜像、redis镜像、mq镜像 2.容器 Container 一个镜像运行一次就会生成一个容器,容器就是一个运行的软件服务。 3.远程仓库 Repository 远程仓库用来存储所有软件的镜像,Docker Hub 4.本地仓库 用来存储…

Vue.js 3.4版本发布:解析速度提升2倍,双向绑定革新等新功能

引言 随着2024年的来临,Vue团队的领军人物Evan You宣布了Vue.js 3.4的发布。这个版本不仅仅是修复了一些bug,还带来了一些非常实用的新功能和性能提升。 解析速度提升2倍 这次更新中,Vue.js 3.4实现了解析速度的大幅提升。尤其是在构建模板和脚本的源代码映射时,单文件组…

HarmonyOS-ArkTS基本语法及声明式UI描述

初识ArkTS语言 ArkTS是HarmonyOS优选的主力应用开发语言。ArkTS围绕应用开发在TypeScript(简称TS)生态基础上做了进一步扩展,继承了TS的所有特性,是TS的超集。因此,在学习ArkTS语言之前,建议开发者具备TS语…

12月,全国各地电子签推广应用政策汇总

12月,国务院及各地政府办公厅、市监局、住建委等机关部门,持续推动电子印章、电子合同等功能在“政府采购、工程项目审批、企业开办等”领域深化应用,加快实现电子签章互信互认,不断简化办事流程,让越来越多高频常办事…

Node.js本地搭建简单页面小游戏

文章目录 前言1.安装Node.js环境2.创建node.js服务3. 访问node.js 服务4.内网穿透4.1 安装配置cpolar内网穿透4.2 创建隧道映射本地端口 5.固定公网地址 前言 Node.js 是能够在服务器端运行 JavaScript 的开放源代码、跨平台运行环境。Node.js 由 OpenJS Foundation&#xff0…

【LeetCode每日一题】1154. 一年中的第几天(直接计算+调用库函数)

2023-12-31 文章目录 [1154. 一年中的第几天](https://leetcode.cn/problems/day-of-the-year/)方法一:直接计算思路: 方法二:调用库函数思路 1154. 一年中的第几天 方法一:直接计算 思路: 1.根据所给的字符串&#…

计算机网络(8):因特网上的音频/视频服务

概述 计算机网络最初是为传送数据设计的。因特网 IP 层提供的 “尽最大努力交付” 服务以及每一个分组独立交付的策略,对传送数据信息十分合适。因特网使用的 TCP 协议可以很好地解决P层不能提供可靠交付这一问题。 音频/视频常称为多媒体信息 多媒体信息&#xff…

开源MIT协议软件 - ChatGPT Admin Web

ChatGPT Admin Web 在团队和组织内共享使用人工智能的一站式解决方案。 ​编辑 ​编辑 ​编辑 CAW 是一个自托管网络应用程序,提供开箱即用的用户管理,包括后台界面以及可配置的支付计划和相关支付界面。 GitHub Sponsor / 爱发电 功能 Features …

Docker与虚拟机的比对

在Windows操作系统上的对比: 但是官方还是建议我们尽量不要将Docker直接安装到Windows操作系统上。

学习JavaEE的日子 day08 方法的重载,递归,万年历

day08 1.方法的重载 >理解:方法与方法之间的关系> 条件:> 1.方法必须在同一个类中> 2.方法名必须一致> 3.参数列表的个数或者类型不一致> 4.与返回值无关> 好处:系统会根据具体实参类型自动匹配到对应的方法…

SQL窗口函数大小详解

窗口大小 OVER 子句中的 frame_clause 选项用于指定一个滑动的窗口。窗口总是位于分区范围之内,是分区的一个子集。指定了窗口之后,分析函数不再基于分区进行计算,而是基于窗口内的数据进行计算。 指定窗口大小的语法如下: ROWS…

旧电脑搭建NAS

旧电脑可以搭建NAS吗? 可以! 性能好吗? 完全没问题! 简单吗? 轻松上手! 怎吗搭建? 这里:用旧电脑搭建NAS在您的家庭中,通过将旧 PC 转变为NAS服务器,您…