MAX_FANOUT指示Vivado合成寄存器和信号的扇出限制。你可以在RTL中或将其指定为项目的输入。该值是一个整数。此属性仅适用于寄存器和组合信号。为了实现扇出复制驱动组合信号的寄存器或驱动器。可以设置此属性仅在RTL中。
注:不支持输入、黑匣子、EDIF(EDF)和本地通用电路(NGC)文件。
重要!用于UltraScale设备的Vivado Design Suite不支持NGC格式文件。它是建议您使用本机的Vivado Design Suite IP自定义工具重新生成IP输出产品。或者,您可以使用NGC2EDIF命令将NGC文件迁移到EDIF用于导入的格式。然而,AMD建议使用原生Vivado IP,而不是XST生成的NGC格式化文件。
建议:在全局高扇出信号上使用MAX_FANOUT属性会导致次优合成中的复制。因此,AMD建议仅在层次结构中使用MAX_FANOUT在具有中等到低扇出的本地信号上。
PARALLEL_CASE指定CASE语句必须构建为并行结构。逻辑是不是为if-elsif结构创建的。因为此属性会影响编译器和设计的逻辑行为,它只能在RTL中设置。
RAM_DECOMP属性指示该工具推断太大而无法放入的RTL RAM单块RAM原语,以使用更省电的配置。例如,指定为2Kx36的RAM通常会配置为两个2Kx18块RAM并排排列。这是产生最快设计的配置。通过设置RAM_DECOMP,则RAM将被配置为两个1Kx36块RAM。这是更多电源友好,因为在读取或写入过程中,只有一个使用该地址的RAM忙碌的它是以时间为代价的,因为Vivado合成必须使用地址解码。这个RAM_DECOMP将强制该RAM的第二配置。RAM_DECOMP可接受的值为“功率”。此属性可以在RTL或XDC中设置。将属性放置在RAM实例本身上。
RAM_STYLE指示Vivado合成工具如何推断内存。可接受的值为:
•块:指示工具推断RAMB类型的组件。
•分布式:指示工具推断LUT RAM。
•寄存器:指示工具推断寄存器而不是RAM。
•ultra:指示该工具使用AMD UltraScale+™URAM原语。
•混合:指示工具推断RAM类型的组合,以最大限度地减少未使用的空间量。
•auto:让合成工具决定如何实现RAM。此值主要用于必须为RAM_STYLE选择一个值的XPM。这与默认行为相同。那个必须为RAM_STYLE选择一个值。默认情况下,该工具根据启发法选择要推断的RAM,这些启发法可以为大多数设计。将此属性放置在为RAM或层次结构级别声明的数组上。
•如果在信号上设置,则该属性会影响该特定信号。
•如果设置在层次级别上,则会影响该层次级别中的所有RAM。的子级别层次结构不受影响。
这可以在RTL或XDC中设置。
RETIMING_BACKWARD属性指示工具将寄存器向后移动通过更接近顺序驱动元件的逻辑。与重定时全局设置不同,此属性为不受定时驱动,无论重定时全局设置是否处于活动状态,都能正常工作甚至是时间限制。如果全局重定时设置处于活动状态,则retiming_BACKWARD步骤首先发生,全局重定时可以增强该寄存器,使其进一步向后移动链条但是,它不会干扰属性,并将寄存器移回原始位置。
注意:具有DONT_TOUCH/MARK_DEBUG属性的单元格,具有定时异常的单元格(false_path,multicycle_path),并且用户实例化的单元阻止该属性。RETIMING_BACKWARD属性采用一个整数作为值。此值描述允许寄存器交叉的逻辑量。较大的值允许寄存器交叉更多思维方式0将关闭该属性。
RETIMING_FORWARD属性指示工具通过逻辑向前移动寄存器更靠近被驱动的顺序元件。与重定时全局设置不同,此属性不是计时驱动,无论重定时全局设置是否处于活动状态或是否存在甚至时间限制。如果全局重定时设置处于活动状态,则retiming_FORWARD步骤首先发生,全局重定时可以增强寄存器,使其进一步向上移动。但是,它不会干扰属性,并将寄存器移回原来的位置地方
注意:具有DONT_TOUCH/MARK_DEBUG属性的单元格,具有定时异常的单元格(false_path,multicycle_path),并且用户实例化的单元阻止该属性。RETIMING_FORWARD属性采用一个整数作为值。此值描述金额允许寄存器的逻辑交叉。较大的值允许寄存器跨越更多的逻辑。0将关闭该属性。