定义相对放置的宏
关于相对放置的宏
相对放置宏(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集定义为属性的语法为:
在Verilog中定义RPM集的语法
在Verilog中将RPM集定义为属性的语法如下。
U_SET示例
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设置。